0% found this document useful (0 votes)
14 views1 page

Berkeley Clock Synchronization in Distributed Systems

The document outlines an assignment on distributed systems, focusing on clock synchronization using the Berkeley algorithm among four computers. It includes questions on the suitability of transactions in distributed computations, default DNS name server addresses, end-to-end security in emailing systems, and the positioning of middleware in distributed systems. The assignment is worth 25 marks and consists of multiple parts requiring explanation and diagrammatic representation.

Uploaded by

Clint Mukarakate
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views1 page

Berkeley Clock Synchronization in Distributed Systems

The document outlines an assignment on distributed systems, focusing on clock synchronization using the Berkeley algorithm among four computers. It includes questions on the suitability of transactions in distributed computations, default DNS name server addresses, end-to-end security in emailing systems, and the positioning of middleware in distributed systems. The assignment is worth 25 marks and consists of multiple parts requiring explanation and diagrammatic representation.

Uploaded by

Clint Mukarakate
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Distributed Systems: Assignment 2(25 marks)

1. Consider a network consisting of 4 computers: A (coordinator), B, C, and D. At 14:


35 the coordinator decides to synchronize the clock of all computers in the network.
At that moment, the clock of every computer in the network shows the following.

Computer Clock

A 14:35

B 14:37

C 14:39

D 14:24

Apply the Berkeley clock synchronisation algorithm to this situation, show the
stages of computation, and write what will be the outcome of the synchronisation.
Assume that the time needed for computation and for network communication is
negligible. [7]

2. A distributed computation may involve related operations on a number of objects


which reside at different nodes of a distributed system. Briefly explain why the
concept of transaction is suitable for modelling such a computation. [6]
3. Which name server addresses do DNS name servers hold by default, and why? [4]
4. Using an emailing system as an example, define what end-to-end security is. [4]
5. Use a diagram to show the positioning of the middleware in a distributed system. [4]

Common questions

Powered by AI

The Berkeley clock synchronization algorithm works by having the coordinator, in this case, computer A, poll all the computers (A, B, C, D) to obtain their current time. The time readings are: A - 14:35, B - 14:37, C - 14:39, D - 14:24. The differences are calculated relative to the coordinator: A (0 minutes), B (+2 minutes), C (+4 minutes), D (-11 minutes). The coordinator disregards any outliers if needed, computes the average difference, and adjusts the clocks accordingly. Here, the average is (-11 + 2 + 4 + 0) / 4 = -1.25 minutes. Each clock is adjusted by this average offset to achieve synchronization. Thus, after applying this, all clocks would be set to approximately 14:33:45 (depending on rounding policies).

Designing middleware for a distributed system requires consideration of factors such as interoperability, ensuring the middleware can operate across diverse hardware and software platforms; scalability to handle varying loads without performance degradation; and security to protect data integrity and confidentiality. Additionally, it should provide robustness to handle faults gracefully, and offer extensibility for future enhancements without requiring significant re-architecting .

The concept of a transaction is suitable for modeling distributed computations because it ensures atomicity, consistency, isolation, and durability (ACID properties) across operations on different nodes. Transactions can effectively handle failures and maintain consistency in distributed systems by ensuring that either all operations are completed successfully, or none at all, thus preventing partial updates which could lead to inconsistency .

Transactions in distributed computing could be adapted by utilizing distributed consensus protocols like two-phase commit or Paxos to enhance reliability. Optimizations such as optimistic concurrency control or hybrid logical clocks can be implemented to improve performance by reducing lock contention and managing concurrent transactions more efficiently. These adaptations ensure that distributed systems remain highly available and consistent even under high-load scenarios .

Without proper clock synchronization, distributed systems can encounter several issues such as inconsistent data states, erroneous timestamp-based ordering of events, and coordination problems across nodes. These issues can lead to failures in tasks requiring chronological coherence, inaccurate logs, and problems in systems relying on time-sensitive operations like distributed databases and real-time applications .

Name servers in the DNS play a crucial role by translating human-readable domain names into IP addresses required for locating and identifying computer services and devices. They impact internet stability and performance by enabling efficient domain resolution, reducing query times, and ensuring reliability through redundancy and distribution. Any malfunction or inefficiency in these servers can lead to increased lookup times or even failure to resolve domains, affecting the internet's overall usability .

A diagram representing middleware positioning would typically show middleware as an intermediary layer between the client and server application layers. It should illustrate how middleware provides services such as communication, authentication, and logging, facilitating interaction between distributed components. This layer abstracts the complexity of interactions over the network and simplifies application design and interaction .

End-to-end security in an emailing system ensures that the messages are encrypted from the sender's device to the receiver's device, preventing unauthorized access or tampering during transmission. It is crucial as it protects sensitive information from interception and alterations by malicious entities while being transmitted through potentially insecure networks like the internet .

DNS name servers hold root name server addresses by default. These servers are crucial for resolving domain names as they serve as a starting point in the hierarchical DNS system, directing queries to the appropriate top-level domain (TLD) servers and eventually to authoritative servers that can provide the required domain's IP address .

Choosing a synchronization algorithm involves several trade-offs: accuracy vs. overhead, where highly accurate algorithms may impose higher computational and communication costs; and scalability, where an algorithm's effectiveness and efficiency diminish as the number of nodes increase. For instance, simpler algorithms like Network Time Protocol (NTP) offer good enough accuracy with low overhead but might not scale well in very large systems without hierarchical structuring. Conversely, more complex algorithms like the Precision Time Protocol (PTP) provide better accuracy at the cost of higher overhead, making them less feasible for large-scale deployments .

You might also like