200 likes | 368 Views
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
E N D
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 • 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
Issues of Peer-to-Peer Streaming • Bound the end-to-end delay • Deal with unpredictable users’ behavior • Efficient use of network resources
Administrative Organization S LH-1 LH-2 LH-3 L0 Head Cluster size: for any positive constant k in the bound [ k, 3k ]
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
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.
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)
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.
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
Client Join (cont.) join request Join overhead: O(max degree × height of multicast tree) = O(k*logkN)
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’
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)
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)
Experiment Results -- Failure free 3240 node-transit-stub 2000 clients K=5
Experiment Result -- NICE comparison NICE: Adapt hierarchical peer clusters, but always receive content from head.
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.