Bar Gossip Aleksander Jurkowski University of Warsaw aj262944@students.mimuw.edu.pl October 18, 2010 Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 1 / 25
Introduction Goal Provide p2p data streaming system usable for live podcasts. There is no competitive solution so far... Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 2 / 25
Introduction Goal Provide p2p data streaming system usable for live podcasts. There is no competitive solution so far... Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 2 / 25
Motivation Why BAR Gossip? Benefitting from p2p systems robustness, scalability and adaptivity Shifting costs (e.g. bandwidth) to clients Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 3 / 25
Motivation Why BAR Gossip? Benefitting from p2p systems robustness, scalability and adaptivity Shifting costs (e.g. bandwidth) to clients Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 3 / 25
Key features Difference from other solutions provides stable, reliable throughput focuses on short intervals does not optimize overall download speed small amount of data at given time robust agains Byzantine and Rational clients no purely local, long term based reputation Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 4 / 25
Key features Difference from other solutions provides stable, reliable throughput focuses on short intervals does not optimize overall download speed small amount of data at given time robust agains Byzantine and Rational clients no purely local, long term based reputation Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 4 / 25
Key features Difference from other solutions provides stable, reliable throughput focuses on short intervals does not optimize overall download speed small amount of data at given time robust agains Byzantine and Rational clients no purely local, long term based reputation Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 4 / 25
Vocabulary BAR ? Byzantine - arbitrary malitious client Altruistic - implementing protocol exactly as described Rational - self-serving client Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 5 / 25
Vocabulary BAR ? Byzantine - arbitrary malitious client Altruistic - implementing protocol exactly as described Rational - self-serving client Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 5 / 25
Vocabulary BAR ? Byzantine - arbitrary malitious client Altruistic - implementing protocol exactly as described Rational - self-serving client Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 5 / 25
Security basis Assumptions Digital signatures - each of the clients signs sent messages Dynamic membership - non-Byzantine clients remain in the system until end of the broadcast Single identity for each of the clients Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 6 / 25
Security basis Assumptions Digital signatures - each of the clients signs sent messages Dynamic membership - non-Byzantine clients remain in the system until end of the broadcast Single identity for each of the clients Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 6 / 25
Security basis Assumptions Digital signatures - each of the clients signs sent messages Dynamic membership - non-Byzantine clients remain in the system until end of the broadcast Single identity for each of the clients Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 6 / 25
Vocabulary POM Proof Of Misbehavior - a sequence of signed messages proving that a client violates the protocol Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 7 / 25
Broadcast Broadcast consists of rounds , each T + δ long T - time interval sufficient to complete message communication for one round Update expires deadline rounds after being sent by broadcaster. It is delivered to the media player after expiration. The update is considered delivered timely when it is received before the deadline Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 8 / 25
Broadcast Broadcast consists of rounds , each T + δ long T - time interval sufficient to complete message communication for one round Update expires deadline rounds after being sent by broadcaster. It is delivered to the media player after expiration. The update is considered delivered timely when it is received before the deadline Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 8 / 25
Broadcast Broadcast consists of rounds , each T + δ long T - time interval sufficient to complete message communication for one round Update expires deadline rounds after being sent by broadcaster. It is delivered to the media player after expiration. The update is considered delivered timely when it is received before the deadline Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 8 / 25
Broadcast Broadcast consists of rounds , each T + δ long T - time interval sufficient to complete message communication for one round Update expires deadline rounds after being sent by broadcaster. It is delivered to the media player after expiration. The update is considered delivered timely when it is received before the deadline Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 8 / 25
Connecting to the broadcast Client generates a session public and private key Client sends the keys to the broadcaster Broadcaster verifies the keys Broadcaster publishes a list of clients (identity, address, public key) Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 9 / 25
Connecting to the broadcast Client generates a session public and private key Client sends the keys to the broadcaster Broadcaster verifies the keys Broadcaster publishes a list of clients (identity, address, public key) Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 9 / 25
Connecting to the broadcast Client generates a session public and private key Client sends the keys to the broadcaster Broadcaster verifies the keys Broadcaster publishes a list of clients (identity, address, public key) Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 9 / 25
Connecting to the broadcast Client generates a session public and private key Client sends the keys to the broadcaster Broadcaster verifies the keys Broadcaster publishes a list of clients (identity, address, public key) Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 9 / 25
Round Broadcaster sends the update to nSeeds randomly selected clients nSeeds must be high enough for at least one non-Byzantine client to receive the update Every client cannot receive the update from the broadcaster, delivery to the rest is based on protocols: Balanced Exchange Optimistic Push Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 10 / 25
Round Broadcaster sends the update to nSeeds randomly selected clients nSeeds must be high enough for at least one non-Byzantine client to receive the update Every client cannot receive the update from the broadcaster, delivery to the rest is based on protocols: Balanced Exchange Optimistic Push Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 10 / 25
Round Broadcaster sends the update to nSeeds randomly selected clients nSeeds must be high enough for at least one non-Byzantine client to receive the update Every client cannot receive the update from the broadcaster, delivery to the rest is based on protocols: Balanced Exchange Optimistic Push Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 10 / 25
Balanced Exchange The idea The updates are traded one by one, meaning that each of the clients sends exactly the same number of updates. Problems This protocol itself is insufficient for unlucky (rarely chosen by broadcaster) or facing network failures clients. Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 11 / 25
Balanced Exchange The idea The updates are traded one by one, meaning that each of the clients sends exactly the same number of updates. Problems This protocol itself is insufficient for unlucky (rarely chosen by broadcaster) or facing network failures clients. Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 11 / 25
Optimistic push Push In Optimistic Push the client can send more updates than he receives, allowing the fallen behind client to get the data. Optimistic This mechanism is considered optimistic because it is based on hope that the benefitting client will do the same favor in return later. Such behavior is not enforced by the protocol. Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 12 / 25
Optimistic push Push In Optimistic Push the client can send more updates than he receives, allowing the fallen behind client to get the data. Optimistic This mechanism is considered optimistic because it is based on hope that the benefitting client will do the same favor in return later. Such behavior is not enforced by the protocol. Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 12 / 25
Balanced Exchange and Optimistic Push Aleksander Jurkowski (MIM UW) Bar Gossip October 18, 2010 13 / 25
Recommend
More recommend