220 likes | 311 Views
Lecture XV: Real P2P Systems. CMPT 431 Dr. Alexandra Fedorova. Outline. Skype BitTorrent. Skype. IP telephony system Allows users to make phone calls to Skype users to regular phone users Calls are routed via Skype nodes Central login server Super-nodes
E N D
Lecture XV: Real P2P Systems CMPT 431 Dr. Alexandra Fedorova
Outline • Skype • BitTorrent
Skype • IP telephony system • Allows users to make phone calls • to Skype users • to regular phone users • Calls are routed via Skype nodes • Central login server • Super-nodes • Nodes that know about location of other nodes
Skype P2P Network • Super-nodes are nodes with powerful CPU and network bandwidth • One has to qualify to become a super-node • Super-nodes know about locations of other nodes • Ordinary nodes contact super-nodes to place calls
Skype Components • Skype client – the client program used to make phone calls • Host cache – list of other known Skype users, maintained at each Skype client • Skype login server – a centralized component. Processes account information, authentication
Skype Bootstrap Procedure • Skype client depends on host cache to find other users • How does a new Skype client populate its host cache? • There is a list of bootstrap supernodes hard-coded into the Skype client • Skype client contacts them to • Find the login server • Find names of other Skype peers • Skype client continues maintaining and refreshing its host cache throughout its lifetime • It’s a good idea to let Skype running for a while before making a phone call!
Skype User Search Procedure • A Skype client making a phone call needs to find other users • It contacts super-nodes from its host cache, asking them to help find the user • Super-nodes return a list of nodes to contact • The client contacts those nodes • If unsuccessful, the client asks for more nodes • Guarantees to find any user that has logged in within the last 72 hours • Not much specific information on Skype protocol is available…
Outline • Skype • BitTorrent
BitTorrent Overview • Website allowing peers to share music, video and other media files • Central server helps users find initial set of peers that have pieces of the file • Tracker server keeps track of peers possessing content of individual files • Users download the file by participating in exchange: • They exchange pieces that they have • for pieces that they don’t have • Therefore, for the system to work, users must have incentive to give • Users who just get, but do not give are called free riders • Protocol must discourage free riding
BitTorrent Download Mechanism • Peers download pieces they need and upload pieces they have • Keep track of download rates from all links • Keep those with highest rate • Keep uploading to those peers • Choke the others (stop upload) fatter link = higher rate
Selective Unchoking • Once in a while selectively unchoke one of the links • Allow some time (30 sec.) to see if the download rate will increase • If the download rate becomes greater than the rate at one of the existing links, choke the slowest of the existing links
Game Theory on Exchange • Two traders A and B simultaneously exchange goods • They have to decide whether to participate in the exchange without knowing the other person’s decision • If a trader makes the exchange, he cooperates • If a trader does not make the exchange, he defects • Possible outcomes: • A cooperates, B cooperates – both benefit from receiving the other trader’s good • A cooperates, B defects – B benefits by receiving A’s good, by not giving away his own good • A defects, B defects – none receives the other trader’s good, but each gets to keep his own good
Incentives • P – payoff • P(C) – payoff to cooperating player • P(D) – payoff to defecting player
Strategies Encouraged By Incentives • Best individual strategy is to defect • But if both traders defect they are worse off than if they both co-operated • So the best strategy is to co-operate, but only if the other player co-operates
Winning the Exchange Game: TIT-FOR-TAT • The exchange game: • Repeat rounds of exchanges with other players • Remember what other players did in previous rounds • Goal: maximize personal payoff • The winning strategy: TIT-FOR-TAT • Cooperate in the first round • In subsequent rounds do that which the other player did • Properties of the winning player: • Nice – he begins by cooperating • Retaliatory – he won’t cooperate with players that do not cooperate with him • Forgiving – will cooperate again if bad players fix their behavior • Clear – clearly communicates his intentions
Analogy With BitTorrent • Goods exchange: exchange the piece of file that you have for the piece that you don’t have • Cooperate: upload the piece you have in exchange for downloading the piece you need • Defect: download the piece you need, but don’t upload (free riding) • Payoff: • The piece you download • minus the cost of uploading the file
Is BitTorrent Using the Winning Strategy? • Is BitTorrent player NICE? • No, it may choke an existing link upon finding a faster one • Is BitTorrent player RETALIATORY? • No, it uses optimistic unchoking • Is BitTorrent player FORGIVING? • Not necessarily – unchoked links are chosen arbitrarily • Is BitTorrent player CLEAR? • No, unchoked links are chosen arbitrarily
Improved Incentive Mechanism • For each link, maintain: • Download amount d • Upload amount u • Upload to the peer as long as: u – d ≤ f * c • c – the fragment size • f – some constant • If u – d is large, the other peer is not cooperating • So you stop cooperating in return d u
Comparison of the Mechanisms • Old mechanism: everyone experiences the same download time, regardless of the upload rate they provide • New mechanism: nodes that upload more enjoy faster completion time
Comparison of the Mechanisms (cont.) • FO – free riders + old players • FN – free riders + new players • FNO – free riders + new players + old players
Summary • Skype • IP telephony system • Relies on super-nodes, recorded in host cache • Skype client learns about initial super-nodes from bootstrap super-nodes • Centralized login server • BitTorrent • Media sharing network • File location is found in a centralized fashion (central server + tracker) • File download is P2P • System must encourage co-operation, discourage free riding • The right incentive mechanism is key