BE Computer Engineering (IOE, TU) Distributed System (IOE, CT 702 / ENCT 411) Question Paper 2079
This is the official BE Computer Engineering (IOE, TU) Distributed System (IOE, CT 702 / ENCT 411) question paper for 2079, as set in the regular annual examination. It carries 80 full marks and a time allowance of 180 minutes, across 11 questions. On Kekkei you can attempt this Distributed System (IOE, CT 702 / ENCT 411) past paper online with a timer, get instant AI feedback and step-by-step solutions, and track the topics where you lose marks — completely free. Whether you are revising for your BE Computer Engineering (IOE, TU) Distributed System (IOE, CT 702 / ENCT 411) exam or solving previous years' question papers, this 2079 paper is a great way to practise under real exam conditions.
Section A: Long Answer Questions
Attempt all / any as specified.
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.
(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]
(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]
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?
Section B: Short Answer Questions
Attempt all / any as specified.
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.
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.
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.
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.
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?
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?
List and briefly explain any four types of transparency (access, location, replication, failure, concurrency, migration) that a distributed system should provide to its users.