Distributed Computing CSE
Distributed Computing CSE
Unit-1 : Fundamentals ---- First Week Assignment 1) a) What are the main software components that may fail when a client process invokes a method in a server object, giving an example of a failure in each case? To what extent are these failures independent of one another? Suggest how the components can be made to tolerate one anothers failures b) A server program written in one language (for example C++) provides the implementation of a BLOB object that is intended to be accessed by clients that may be written in a different language (for example Java). The client and server computers may have different hardware, but all of them are attached to an internet. Describe the problems due to each of the five aspects of heterogeneity that need to be solved to make it possible for a client object to invoke a method on the server object.
2)
a) What are the differences between buffering and caching ? b) Describe and illustrate the client-server architecture for the Web, E-mail and Netnews Internet applications?
a) A client sends a 200 byte request message to a service, which produces a response containing 5000 bytes. Estimate the total time to complete the request in each of the following cases, with the performance assumptions listed below: i) Using connectionless (datagram) communication (for example, UDP); ii) Using connection-oriented communication (for example, TCP); iii) The server process is in the same machine as the client. [Latency per packet (local or remote, incurred on both send and receive):5 milliseconds Connection setup time (TCP only):5 milliseconds Data transfer rate:10 megabits per second MTU:1000 bytes Server request processing time:2 milliseconds Assume that the network is lightly loaded.] b) Compare connectionless (UDP) and connection-oriented (TCP) communication for the implementation of each of the following application-level or presentation-level protocols: i) virtual terminal access (for example, Telnet); ii) file transfer (for example, FTP); iii) user location (for example, rwho, finger); iv) information browsing (for example, HTTP); v) remote procedure call
3)