Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Public Locker


Published on

application level data indexing

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Public Locker

  1. 1. Lijiang Chen<br />Decade Algorithms for Live Streaming—public locker<br />1<br />
  2. 2. Motivation<br />to efficiently utilize data existing in the same locker server<br />Without specific peer selection algorithm <br />Without data scheduling algorithm<br />How to do application coordination<br />2<br />Application level data indexing<br />
  3. 3. Constraint<br />A Peer have no authorization to know what else data exist (outside its own locker) in the locker server<br />Only way to know is a token from another peer (can not fully utilize available data)<br />3<br />Constraint<br />
  4. 4. Difficulty<br />Data available information (bitmap) to be collected by “indexing server” (or DHT network)<br />Too much message to be sent<br />Peering with same-locker-server peers<br />Lose topology flexible<br />Reduce speed of data be fetched into the locker server <br />4<br />Difficulty <br />
  5. 5. Public Locker can be a summarized index of all available data in a specific application <br />5<br />Example of Public Locker<br />Locker Server<br /><ul><li>How to use the public locker
  6. 6. Who and how to fill up the public locker</li></ul>Public Locker <br />Locker A<br />Locker B<br />Peer B<br />Locker C<br />
  7. 7. One way: <br />The application provider can assign the public locker to a peer<br />For a specific period of time <br />get only<br />The peer get all needed pieces from public locker<br />Another way:<br />“public locker” maintain by a normal peer in a locker server<br />it periodically generate a token ( can get all data it buffered) and send it to the tracker.<br />If a peer B needs help from the system, the tracker give this token to peer B directly.<br />6<br />How to Use Public Locker<br />
  8. 8. With public locker, we can easily use decade in a way as the traditional CDN be used.<br />Provide application level, fine-grain data sharing<br />Avoid privacy issue : data only provide by application providers, can have access control (get only, expire time), authority control(only provide to partial peers(who pay more))<br />To fully utilize resources within locker server<br />Help to improve peer performance<br />7<br />Benefits of Public Locker<br />
  9. 9. Two ways can be considered<br />Select a peer to be responsible for the task<br />A peer can download from source<br />At the same time, it put a block in its own locker, it stores a pointer in the public locker.<br />Collect blocks from peers using the same locker server<br />Give peers rights to write a index of their data to the public locker<br />Peers can write arbitrary data (can easily attack other peers)<br />The public locker holder aggressively collect blocks from peers<br />Currently no mechanism to support<br />Do we really allow a peer to read other peers’ locker (even though this peer is highly trusted?)<br />8<br />How to fill up the public locker<br />
  10. 10. virtual peer<br />Select a peer to be virtual peer in the locker server <br />to aggressively download from outside (source or other locker servers)<br />No duplicate requests<br />9<br />Solution -- Select a peer to be responsible for the task<br />
  11. 11. Virtual Peer promotion<br />Tracker select one good performance peer to be a virtual peer in the locker server <br />PPlive running a peer as virtual peer<br />The locker server give higher priority to that virtual peer <br />Scheduling in Super Peer<br />Peering with peers not in the same locker server<br />Connect to the source (if necessary)<br />10<br />Virtual Peer<br />
  12. 12. 11<br />Virtual Peer<br />Locker Server<br />Locker Server<br />Locker A<br />Locker A<br />Locker B<br />Locker B<br />Locker C<br />Locker C<br />Virtual Peer<br />Peer C<br />
  13. 13. Enterprise <br />The key issue is sharing bottleneck <br />No way to control data duplicate. <br />Locker server <br />the key problem is how to get one copy as fast as possible <br />we already have data de-duplicate algorithm (remote-get) <br />the sharing bottleneck problem is not important for us. assume has bottleneck:<br />if bottleneck < streaming rate, we dead; <br />if bottleneck > streaming rate, we don't care, cause we only download one copy. <br />Why we need to select one as “virtual peer”<br />to avoid the problem of duplicate requests. <br />though it would not cause duplicate data download happen, <br />it delays the streaming copy being retrieved into the locker server. <br />12<br />Different to Enterprise Coordination<br />
  14. 14. Thank You !<br />13<br />