home search a-z help
University of Cambridge Computer Laboratory
Student Projects (2006)
Computer Laboratory > Research > Systems Research Group > NetOS > Student Projects (2006)

Netos

  • peer-to-peer online netflix (lovefilm)

    Contact: Jon Crowcroft

    Net2netflix (name subject to change)

    Discussion document v0 
     

    Solution has 2 parts

    1. delivery network: The plan is to use an off-the-shelf structured p2p solution. Siddhu is looking at different approaches, bittorrent, vidtorrent, zigzag for delivery tree, etc. and evaluating the pros and cons of each one. Initial report to be discussed around the end of September or so.
    2. superpeer overlay: where most of our “new stuff” will come in to play, allowing
      1. the deployment (push model) of superpeers on chosen xenoservers
      2. the selection of “movie lists” by clients
      3. admission control based on available resources, movies, and the probability of meeting the delivery guarantee for a given movie list
      4. recommendations of alternative movies etc
      5. prediction of delivery time based on available copies of each move in the list and the estimated bandwidth to/from the nodes
      6. management and monitoring of downloads, including the superpeer “stepping in” when it looks like a guarantee will not be met
     

    The operation of the system could be summarised as follows:

    • a client contacts the closest (or a close enough) superpeer, providing a list of movies he or she wishes to view in the next few days

        challenge 1: how does a client find the closest superpeer? 

    • the superpeer looks in its own cache of movies as well as in the peers around it, to see which movies (and how many copies of each one) are available in the client’s vicinity

        challenge 2: how do superpeers know which files are available in nearby peers?  

    • the superpeer combines its own statistics with client-side measurements (?) to come up with a prediction in terms of the probability of a successful download within a given time for the first few movies in the list, based on
      • availability of movie copies in the superpeer’s vicinity
      • availability of the movie in the superpeer’s cache
      • bandwidth availability between the client and the peers that hold the movie
      • bandwidth availability between the superpeer and the client
      • ?
     

        challenge 3: what is the probability distribution of delivery time vs. number of copies available (and the available bandwidth by each one) 
         

    • based on the feasibility of transmitting one of the selected movies to the client in the required time, and a “probability threshold”, the superpeer’s admission control system accepts or denies the client movie list request
     
    • the superpeer monitors all downloads, and if a download looks like it is not going to meet the delivery guarantee (in terms of time) it steps in, allowing the movie to be downloaded directly from its own cache (at a relatively predictable and stable throughput). This costs resources to the superpeer and is a “fallback” plan.

      Other implementation issues

      could use planetlab for a start – latency and throughput very stable 
      eric: there is a good chance we can do fairly ok

         challenge 4:  work around firewalls?