CMPSCI 677 (Spring 2007): Homework 3
Due: In-Class, Thursday, Mar 15 2007
Off-campus students: one week from when you view Lecture ?
Web posted: Tuesday, Mar 8 2007
- In many layered protocols, each layer has its own header. Surely it would
be more efficient to have a single header at the front of each message with all
the control in it than all these separate headers. Why is this not done?
- C has a construction called a union, in which a field of a record (called a
struct in C) can hold any one of several alternatives. At run time, there is no
sure-fire way to tell which one is in there. Does this feature of C have any
implications for remote procedure call? Explain your answer.
- Describe how connectionless communication between a client and a server
proceeds when using sockets.
- Suppose that you could make use of only transient synchronous communication
primitives. How would you implement primitives for transient asynchronous
communication?
- Does it make sense to implement persistent asynchronous communication
by means of RPCs?
- Explain why transient synchronous communication has inherent scalability
problems, and how these could be solved.
- What is a major drawback of recursive lookups when resolving a key in a
DHT-based system?
- A special form of locating an entity is called anycasting, by which a service
is identified by means of an IP address (see, for example, Sending a request to
an anycast address, returns a response from a server implementing the service
identified by that anycast address. Outline the implementation of an anycast
service based on the hierarchical location service described in Sec. 5.2.4
(Sec. 4.2.4 for the old version).
- How is a mounting point looked up in most UNIX systems?