Distributed Systems - Assignment 4 - Due Date: April 27, 2013
1. Support the following with specific examples: implementing the highest level of transparency in a distributed system is not always desirable.
2. Discuss, using specific examples, how the end-to-end argument supports the design of the Internet.
3. A potential problem with distributed objects is the implementation of a server object in one type of language and the use of that object by a client in a second type of language. As well, it is possible that the client and server exist on a different hardware and OS architecture. Given that the server and client are connected on some network, provide an explanation why the client and server may share objects and methods under the previously stated constraints.
4. A particular information service, available to applications on the Internet, manages a set of resources. A user may use a client application to retrieve data about a particular resource using this information service. Provide a design that addresses the following focal points:
a) Resource names such that the solution provides the least amount of performance degradation as resources in the service increase in number.
b) The deployment of this service in the Internet, such that performance does not degrade when the number of users of this service grows to a very large number.
5. There are 10 server processes running on 10 different machines and 100 client processes (each on a different machine as well) in a particular network. One of the server processes will always answer every request with a fact (IE when presented with a request, the reply will describe a factual answer). The nine other server processes will alternate between fact and fiction (example: fact, fiction, fact..., where fact is as previously described and fiction would be a fictitious response to the clientÃ¢â‚¬â„¢s request). However it is not known to a client if any of these nine server processes will begin with a fact or fiction. After a server process has responded to the first request, it will alternate between fact and fiction or fiction and fact depending on how the first request was answered (example: if the server processes first response was fact, it will next respond
with fiction, fact, ...). All server processes must know the identity of the server process that always reports a fact when presented with a request.
You must develop an application protocol (that uses a connectionless protocol) that
will determine which server process will always report a fact to a client. Your protocol must use as few requests as possible. A client process may only send each request to a single server process (although all requests may be sent to the same server process). The same request may be sent to a different server, but it will count as an additional request. As well, only the server process that was queried will answer the request.
For this question you must include a detailed discussion of your client and server solution.