Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

pptx - SFU Computing Science Home Page






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    pptx - SFU Computing Science Home Page pptx - SFU Computing Science Home Page Presentation Transcript

    • CMPT 401 2008
      Dr. Alexandra Fedorova
      Lecture XV: Real P2P Systems
    • Outline
    • 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
      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 supernodeshard-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
    • 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:
      Acooperates, Bcooperates – both benefit from receiving the other trader’s good
      Acooperates, 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)
      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
    • 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
      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
      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