Comments on multicast protocols – We need protocols for overlapping groups, as applications need to subscribe to multiple groups – definitions of “global FIFO ordering,” etc. page 450 and some references to the documents on them – Multicast in synchronous and asynchronous systems – All of our algorithms work in both reliable and fully ordered multicasts can be implemented in a synchronous system – but is impossible in an asynchronous system (reasons in Consensus Section discussed – Fischer`s paper et al.) – 27 33 Coordination and agreementConsknowency and related problems Agreement in a distributed manner mutual exclusion: who can enter the critical region of the completely ordered multiplication: the order of transmission of communications Byzantine Generals: attack or withdrawal? Consensus (agreement) Problem Defining a value after one or more of the processes suggested what value should introduce in Multicast – Many projects – Amoeba, Isis, Transis, Horus (Refs s 436) What under [the term Broadcast? – Multicast communication requires coordination and agreement. The goal is for group members to receive copies of people sent – many different delivery guarantees are possible – z.B. Agreement on the set of messages received or during the ordering – A process can be multiplied by the use of a single operation instead of sending to each member – For example, in IP multicast aSocket.send (aMessage) – The individual operation allows: – Efficiency I.e. Send once on each link, with multicast hardware, if available, z.B. Multicast from a computer in London to two in Beijing – Delivery guarantees cannot give a guarantee. B, for example, if the multicast is implemented as multiple sends and the sender breaks down. Can also order 3 global command ISIS – Accord of sequenced numbers – Each process, q holds: Aqgdie the largest agreed sequence number he has seen and Pqg his largest proposed sequence number – 1. pB-Multicasts process g, i being a unique identifier for m.
2. Each q process responds to the sender p by offering the agreed sequenced number of the message – Pqg: Max (Aqg, Pqg) – 1. Assigns the proposed sequenced number to the message and places it in its queue – 3. p collects all proposed sequential numbers and selects the nearest agreed sequence number, a. Es B-Multicasts to g. Recipients put Aqg: Max (Aqg, a) , add to message and re-order Hold-back-file waiting. 22 23 Coordination and agreementCoordination and agreement in the Communication Algorithms groups for coordination and agreement in the Group Communication Basic Multicastable Multicastable Multicastable MulticastEd Figure 1.9 Open and Closed Groups Does it support open and closed groups? Closed Groups – Only members can send to groups, a member engages to himself – they are useful for coordinating groups of cooperating servers – Open – They are useful for reporting events to interested process groups – 5 Summary – Multicast communication can specify reliability and order requirements, in terms of integrity, validity and agreement – B-Multicast – a correct process will eventually provide a message, provided the multicaster does not crash – reliable multicast – we have shown two implementations: via B-Multicast and IP-Multicast – Delivery Order – FIFO, total and causal delivery. FIFO command using sequential transmitter numbers – Total order by sequencer or sequential number agreement between single-group processes – Order of causal series using vector time stamps – Queue is a useful element for the implementation of multicast protocols – 28 188.8.131.52 Multicast reliable – Protocol is correct, even if the multicaster crashes – it meets the criteria of validity, integrity and agreement – it provides R-Multicast and R-Deliver operations – Integrity – a correct process, p book m once at most.