60 likes | 183 Vues
This project explores consensus algorithms in distributed systems, focusing on reliable multicast communication. It ensures that every client receives each packet only once and that all clients agree on the order of messages through their Lamport timestamps. Key features include adjustable dimensions and win conditions, consistent message ordering, and dynamic participation. The system allows for voluntary and involuntary membership changes, utilizing heartbeats to track client status. The architecture ensures robust operation even under client crashes while maintaining a color spectrum for visual outputs.
E N D
Project: Gedistribueerde Systemen Bart Stukken Bjorn Schobben Wietse Jorissen
Consensus • Basis : reliablemulticast • Iedereen krijgt elk pakket slechts 1 keer • Alle clients akkoord (hun Lamport) • Enkel request of agree sturen • N pakketten per request = dicide • Max alle Lamports = ordering • N² pakketten totaal op netwerk • Smart heartbeatsniet geordend, wel consensus • View = session-id
Ordering • Eigen logische klok • Lamport te weinig (happend before) • Vector te groot (N clients) • minLamport = consensus set • maxLamport = netwerk afgesproken ordering • Random = collisiondecision • Iedereen gelijke kansen • Ring object • Zodat … < 254 < 255 < 0 < 1 < 2 < …
Membership • Vrijwillige participatie • Join/Leave request (niet consensus) • Changeview bericht (consensus) • Onvrijwillig vertrekken • Heartbeats • Antwoord: Client nog aanwezig • Geen antwoord: Client crash/dc • Changeview bericht (consensus)
Features • ReliableMulticast • Geen speler limiet • Instelbare dimensie en winconditie • Volledig kleurenspectrum • Pauzeren • Consistente volgorde van berichten • Dynamisch deelnemen • Vrijwillig en onvrijwillig (+/-) vertrekken