Part 1: In a two-phase, total-ordermulticast system, messages are sent in the following sequence from node S to G1 and G2. G1 and G2 are the members of the group.
- S sends m1 to G1
- S sends m1 to G2
- S sends m2 to G2
- S sends m2 to G1
Use the basicimplementation of the Lamport clock. The clock s at each node start at: S: 4, G1: 6, G2: 1
Show the exchange of messages and their acknowledgmentsin a clock diagram using the basic implementation of Lamport’s clock.
In which order and at what times are m1 and m2 delivered?
Part 2.Draw a state diagram of Maekawa’s voting algorithm on the slide “Maekawa’s algorithm” in the “Distributed mutual exclusion” slide set. Note that the state diagram is from the point of view of any oneof the nodes, called "this" node below. The state diagram cannot show the states of other nodes.
- i) Start with the basic case where "this" node wants the lock, gets it, and then releases it, and no other node wants the lock at the same time. In this case, "this" node goes through all the states in this order:
Released and not voted
Wanted and not voted
Wanted and voted
Held and voted
Released and voted
(Back to) Released and not voted
acquire for when “this” node wants the lock
releasefor when “this” node gives up the lock.
request_received, reply_received, and release_received when a message from any node arrives at “this” node.
The state diagram is similar the one of Ricart and Agrawala’s state machine (in the Distributed Mutual Exclusion PowerPoint deck) but has more states.
*** If you do parti) more or less correctly, you will earn most of the points.***
- ii) The complete solution includes the situations where "this" node votes on requests from other nodes