CMPSCI 677: Homework 3

Due: March 22, 2011, 5pm

Web posted: March 8, 2011

General Instructions:
  1. Consider the following last-one call semantics for RPCs: A caller repeatedly calls the server until a response is received.
    1. Give an example of a service for which this semantics is appropriate.
    2. Give an example of a service for which this semantics is NOT appropriate. Explain why. Indicate the semantics that IS appropriate for your example.

  2. A company's sales brochure touts that its software libaries provide support for atmost-once multicast RPC
    1. Give an example of an application where such an RPC might be useful.
    2. Suggest how such an RPC might be realized.

  3. To complete its task, a client has to invoke RPCs on three different servers one after another. However, the client desires to leave no trace of any of its calls if even one of the servers is unable to respond successfully. What must the client do to achieve this? How much the servers be designed to satisfy the client needs?

  4. Java and other languages support exceptions, which are raised when an error occurs. How would you implement exceptions in RPCs and RMIs?

  5. Consider a leaky bucket policer discussed in class. The leaky bucket constrains the average rate and burst size of a packet flow. We now want to police the peak rate p as well. Show how you can employ a sequence of two leaky bucket policers to police the average rate r, burst size b and the peak rate p. Be sure to give the bucket size and token generation rate for each policer.

  6. A packet flow is said to conform to a leaky bucket specification (r,b) with burst size b and average rate r if the number of packets that arrive at the leaky bucket is less that rt+b in every interval of length t for all t. Will a packet flow that conforms to a leaky bucket specification (r,b) ever wait at a leaky bucket policer with parameters r and b? Justify your answer.

  7. A distributed system may have multiple, independent critical regions. Imagine that process 0 wants to enter critical region A and process 1 wants to enter critical region B. Can Ricart and Agrawala's algorithm lead to deadlocks? Explain your answer.

  8. Consider a type-1 hypervisor that can support up to n virtual machines at the same time. Many PCs and servers do not support more than four primary partitions on disk. In that case, can n be larger than 4? If so where can the data be stored?

  9. Explain why a LDAP naming service is a generalization of the service offered by DNS?

  10. Consider an entity moving from location A to B, while passing several intermediate locations where it will reside for only a relatively short time. When arriving at B, it settles down for a while. Changing an address in a hierarchical location service may still take a relatively long time to complete, and should therefore be avoided when visiting an intermediate location. How can the entity be located at an intermediate location?

  11. Lamport clocks do not capture causality. Describe with example how will you capture causality using vector clocks.


    Last modified: Tue Mar 8 21:24:09 EST 2011