Browse papers
A

Section A: Long Answer Questions

Attempt all / any as specified.

4 questions
1long12 marks

What is a distributed system? Explain its characteristics and the key challenges (heterogeneity, openness, scalability, failure handling, concurrency, transparency) faced in designing one. With suitable diagrams, differentiate between the client-server model and the peer-to-peer model of distributed systems, stating one practical application of each.

distributed-system-modelssystem-architecture
2long12 marks

(a) Why is clock synchronization necessary in a distributed system? Explain Cristian's algorithm for synchronizing a client's clock with a time server, deriving the expression for the estimated time and the error bound. [7]

(b) Define Lamport's happened-before relation. For the following events, assign Lamport logical timestamps and explain why logical clocks alone cannot capture causality, motivating the use of vector clocks. [5]

clock-synchronizationlogical-clocks
3long12 marks

(a) Describe the Ricart–Agrawala distributed algorithm for mutual exclusion. State the number of messages required per critical-section entry and compare it with the centralized and token-ring approaches in terms of message complexity and fault tolerance. [7]

(b) Explain the Bully election algorithm with an example of 5 processes when the current coordinator (highest-id process) crashes. How many messages are exchanged in the worst case? [5]

mutual-exclusionelection-algorithms
4long12 marks

Discuss the architecture and design goals of the Sun Network File System (NFS). Explain the role of the Virtual File System (VFS), stateless server design, and the use of mount protocol. How does NFS differ from the Andrew File System (AFS) with respect to caching, callbacks, and scalability?

distributed-file-systemsreplication
B

Section B: Short Answer Questions

Attempt all / any as specified.

7 questions
5short8 marks

Explain the working of a Remote Procedure Call (RPC) with a neat diagram showing the role of client stub, server stub, and marshalling/unmarshalling. List the different RPC call semantics (at-least-once, at-most-once, exactly-once) and state when each is appropriate.

remote-procedure-callmiddleware
6short8 marks

Differentiate between connection-oriented (TCP) and connectionless (UDP) interprocess communication. Explain the request-reply protocol and the problems of message loss, duplication, and ordering in IPC, along with the mechanisms used to handle them.

interprocess-communicationsockets
7short6 marks

What is replication in a distributed system? Explain the difference between active replication and passive (primary-backup) replication, and discuss how each handles a replica failure.

replicationfault-tolerance
8short6 marks

Describe the token-ring algorithm for distributed mutual exclusion. What happens when (a) the token is lost and (b) a process holding the token crashes? Suggest recovery mechanisms for each case.

mutual-exclusiondistributed-algorithms
9short6 marks

Explain the Berkeley algorithm for internal clock synchronization with an example. How does it differ from Cristian's algorithm, and why is it suitable when no machine has an accurate UTC source?

clock-synchronizationberkeley-algorithm
10short6 marks

Define Remote Method Invocation (RMI). Explain the role of the proxy, the remote reference module, and the object registry. How does RMI differ from conventional RPC?

remote-method-invocationrmi
11short4 marks

List and briefly explain any four types of transparency (access, location, replication, failure, concurrency, migration) that a distributed system should provide to its users.

distributed-system-modelstransparency