1 / 20

ZIGZAG: An Efficient Peer-to-Peer Scheme for Media Streaming

ZIGZAG: An Efficient Peer-to-Peer Scheme for Media Streaming. Duc A. Tran, Kien A. Hua, Tai Do University of Central Florida INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications Societies. Chu Yi-Cheng. Outline. Issues of Peer-to-Peer Streaming

Télécharger la présentation

ZIGZAG: An Efficient Peer-to-Peer Scheme for Media Streaming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ZIGZAG: An Efficient Peer-to-Peer Scheme for Media Streaming Duc A. Tran, Kien A. Hua, Tai Do University of Central Florida INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications Societies. Chu Yi-Cheng

  2. Outline • Issues of Peer-to-Peer Streaming • Application-layered Structure • Administrative Organization • Multicast Tree • Apply the Mechanism • Control Protocol • Join and Departure of a Client • Split and Merge of Clusters • Experiment Results • Conclusion

  3. Issues of Peer-to-Peer Streaming • Bound the end-to-end delay • Deal with unpredictable users’ behavior • Efficient use of network resources

  4. Administrative Organization S LH-1 LH-2 LH-3 L0 Head Cluster size: for any positive constant k  in the bound [ k, 3k ]

  5. Multicast Tree -- Terms used • Subordinate: • Non-head peers of cluster headed by X • Foreign head: • Clustermates of X, X is the head of the peer at layer j-1 • Foreign subordinate: • Subordinates of clustermates • Foreign cluster: • Clusters of clustermates

  6. Multicast Tree -- Definition • Concept: • Receive content from foreign heads instead of its head. • Rules: • If a peer isn’t at its highest layer, it cannot has a link. • A peer at its highest layer can only link to its foreign head. • The server links to each of its subordinates.

  7. Example of Multicast Tree k = 4, H (number of layers) = 3 Bound node degree to O((3k-1)*(3k-1)+(3k-1)) = O(k2) Bound tree height to O(H) = (logkN)

  8. For a peer which highest layer is j, Worst case: need O((j+1)*(3k-1)) + O(k2) = O(k*logkN) Amortized worst-cast: Control Protocol • Maintain the positions and connections in the multicast tree and the administrative organization. • Periodically communicate with: • Clustermates - Subordinates: (position, degree) set of X - Head: (foreign cluster head, degree to foreign cluster) list of X • Parent - Reachable(X): exist a path from X to a layer-0 peer - Addable(X): X is reachable, and the cluster size of the layer-0 peer is in [k, 3k-1] • Children Y - Receive Reachable(Yi), Addable(Yi) from children.

  9. Control Protocol (cont.) k = 4, H (number of layers) = 3, size bound in [4,12] Node 2: send (2, 6) to 1, 3, 4 send {(1, 3), (3, 3)} list to head 4 send Reachable(2)=1, Addable(2)=1 to parent S receive Reachable(), Addable() from children

  10. Client Join

  11. Client Join (cont.) join request Join overhead: O(max degree × height of multicast tree) = O(k*logkN)

  12. Client Departure 1. Peer X fail 2. Aware of failure of X (i). Parent of X delete link of X. (ii). Head of children of X select new parent with minimum degree for them. (iii). Subordinates of X at layer 0~j-1 adapt new head X’ selected from layer 0. Lj+1 X” Lj Z X Lj-1 X L0 X’ X Failure recovery overhead: O(children number) + O(1) + O(1) = O(degree) = O(k2) Should be O(k*logkN) considering control overhead of X’

  13. Lj+2 Lj+1 Lj Lj-1 Split Operation • Split into U, V, where X U with • 2. Delete links of layer j-1 whose parent and head are in different clusters in layer j. • 3. Choose new parents other than X for 2. • 4. Select head Y of cluster V with minimum degree. • (i). Choose new parent for children of Y. • (ii). Place Y into layer j+1 and link to X”. X” X X’ U V Split overhead: step 2: step 4: O(degree of Y) = O(k2) => O(k2)

  14. Merge Operation 1. Choose new head between X, Y which are heads of two sets being merged. (may use larger degree one) 2. Delete link from parent of lost head at layer j+1, and remove the node. 3. Select new parent of non-head members in U+V. 4. Delete links point to the same cluster at layer j+1. 5. Select new parent different from the new head with minimum degree. Merge overhead: step 2: O(2*(3k-1)) step 3: O(degree) = O(k2) => O(k2)

  15. Experiment Results -- Failure free 3240 node-transit-stub 2000 clients K=5

  16. Experiment Results -- Failure free (2)

  17. Experiment Results -- Failure free (3)

  18. Experiment Result -- Failure recovery

  19. Experiment Result -- NICE comparison NICE: Adapt hierarchical peer clusters, but always receive content from head.

  20. Conclusion • With O(logN) tree height, O(k2) nodes degree, the scheme maintains relative short end-to-end delay. • Obtain control overhead to O(k2) on average. • Join a client can be accomplished within O(logN) downward relay. • Departure a client cost O(k2). • Use merge, split to maintain efficient use of the network need O(k2) periodically invoked.

More Related