1. Using the symbolic constants defined below, provide formulas for computing the following quantities. All protocols must work if packets get dropped, however, you may assume in your formulas the best case where packets are never dropped. Also, you may assume acknowledgments are carried in minimum size packets.
    1. Round trip time for sending a packet of size (sz) and getting an acknowlegement.

    2.  
    3. Realized throughput (in MB/sec) for the alternating bit protocol, assuming information is sent in packets of size (sz).

    4.  
    5. Minimum window size for achieving the maximum possible bandwidth for a given packet size (sz).

    6.  
    7. Realized throughput (in MB/sec) for window-based protocol using the window size from part (c) and sending 1000 packets (assume 1000 > window size).

    8.  

       
       

      o = overhead (CPU time at sender/receiver  to handle one packet/ack, in msec)
      l = latency (time for minimum size packet to traverse wire, in msec.)
      bw = bandwidth (link transfer rate, once first bit has been put on the wire, in MBytes/sec)
      sz = packet size in bytes
      ack = ack size in bytes
       

  2. To build a robust distributed system, you must know what kinds of failures can occur.
    1. List possible types of failure in a distributed system.

    2. Specify which items in your list also are applicable to a centralized system.

     
  3. Consider a distributed system with two sites, A and B. Consider whether site A can distinguish among the following:
    1. B goes down.
    2. The link between A and B goes down.
    3. B is extremely overloaded and response time is 100 times longer than normal.

    What implications do your answers have for recovery in distributed systems?