Thursday, April 16, 2015

Total Order Multicast

This one of the most useful primitives for group communication. This ensures that messages sent to a group will be delivered to all members in the same order.
Assume process A sends messages x and y to processes B and C.
In total order multicast, processes B and C will receive the messages in the same order as process A send them.
This is also called as locally total multicast.



Total order multicast can be implemented,
                1. Using a sequencer
                                   – One dedicated “sequencer” that orders all messages
                                   – Everyone else follows.
                2. ISIS system
                                   – Similar to having a sequencer, but the responsibility is distributed to each                                             sender.

Total Ordering Using a Sequencer 



ISIS algorithm for total ordering

 • Sender multicast message to everyone
 • Reply with proposed priority (sequence no.)
           – Larger than all observed agreed priorities
           – Larger than any previously proposed (by self) priority
• Store message in priority queue
           – Ordered by priority (proposed or agreed)
           – Mark message as undeliverable
• Sender chooses agreed priority, re-multicast message with agreed priority
           – Maximum of all proposed priorities
• Upon receiving agreed (final) priority
           – Mark message as deliverable
           – Deliver any deliverable messages at the front of priority queue






No comments:

Post a Comment