• 沒有找到結果。

II、 Related Work

2.1 CoolStreaming

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

5

Different spanning tree algorithm constructs trees with different criterions and thus forms unique structure characteristics. The typical two spanning tree algorithm are minimum spanning tree and shortest-path spanning tree.

A minimum spanning tree has a minimum total cost. It often generates a long tail in the tree [17]. A long tail may cause a large hop count and long delay as well as higher packet loss rate.

As for single-source shortest path algorithms, which also generate spanning trees, their objective is to find a shortest path from the source to all other nodes. The node degree in the resulting spanning tree is unbounded. Large node degree will increase the processing time within a node and thus increase total delay.

This paper proposes to model the problem into a Minimum Loss Diameter Spanning Tree (MLDST) problem which can meet stringent delay requirement and minimize the data loss. The rest of this section will briefly review some existing solutions of peer-to-peer streaming services, especially for ZIGZAG system, which will serve the benchmark in the evaluation of our solution, and a few constrained spanning tree problems.

2.1 CoolStreaming

Different from tree-shaped overlay, Tree-push systems, in which video is pushed from original source to peers, peers of Mesh-pull system form a mesh-shaped overlay and pull contents from each other.

CoolStreaming [12] and PPLive are two well-known Mesh-pull systems. In Mesh-pull system, a video is divided into media chunks for users to request from channel server. Apart from channel server, tracker server maintains a list of hosts

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

6

who are interested in watching the same video. Hosts on the list establish TCP/UDP connections to deliver video chunks cooperatively.

The message which hosts use to communicate with each other is called Buffer Map. Buffer Maps indicate available video chunks that a host has and willing to share. Once a host receives a Buffer Maps from another host, it can request for what it needs, the requested chunks will then be scheduled to be delivered to it. Figure 3 illustrates a CoolStreaming system.

Figure 3 Architecture of a CoolStreaming system

In CoolStreaming, playback progresses of the peers are semi-synchronized and any segment downloaded after its playback time will be useless. For failure recovery, CoolStreaming maintains a stable number of peers in the member list since peers accidentally either depart or crash. It also allows each node periodically establish new partnership with randomly selected nodes; as a result, nodes have better chance to find partners of great quality.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

7

2. 2 Chunkyspread

Chunkyspread [17] is a Tree-push approach and constructs a single-source multicast group among a set of end users. To disseminate a video to end users, it splits video into M pieces and each piece is transmitted through one multicast tree.

That is, there will be M multicasting trees, which need not to be node disjoint.

Using multiple trees for data dissemination provides fine-grained control over member load, reacts quickly to membership changes, scales well and has low overhead.

The rest part of Chunkyspread focuses on load balance and the quick reaction to peer churn, which is not our concern, so that we will not discuss them further.

2. 3 ZIGZAG

ZIGZAG [15] is a single source Tree-push streaming application which had been proved to be height logarithmic and able to bound node degree in a constant. This helps reduce the number of processing hops on the delivery path to each client while avoiding network bottleneck and long end-to-end delay. ZIGZAG organizes members into a hierarchy of bounded-size clusters and builds a multicast tree rooted at a media server. The administrative organization of peers is depicted in Figure 4.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

8

Figure 4 Administrative organization of peers in ZIGZAG

Peers in Figure 4 are organized in a multi-layer hierarchy of clusters and defined recursively according to following rules (where H is the number of layers and k > 3 is a constant):

〃Layer 0 contains all peers.

〃Peers in layer j < H-1 are partitioned into clusters of size of [k, 3k]. Layer

H-1 has only one cluster which has a size of [2, 3k].

〃A peer in a cluster at layer j < H is selected to be the head of that cluster. This head becomes a member of layer j + 1 if j < H – 1. The server S is the head of any cluster it belongs to.

The cluster size is upper-bounded by 3k. The above structure implies where N is the number of peers. Any peer at a layer j > 0 must be the head of the cluster it belongs to at every lower layer.

This administrative organization does not infer a data delivery topology.

Instead, a multicast tree with some given rules for transmission is depicted in Figure 5.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

9

Figure 5 The multicast tree of ZIGZAG

Notice that cluster members do not receive contents from their heads but from heads of other clusters. A peer, when not at its highest layer, cannot have any link to or from any other peer. It can only link to peers which belong to other cluster at the lower layer, as one may see in the figure. This mapping structure is one of the major contributions of ZIGZAG.

This paper also proved several theorems, including the worst case node degree, the height of the multicast tree and other worst case control overhead. Similar to our consideration that node degree must be bounded, ZIGZAG limits its worst case node degree to be O (k2) where k is a constant. On the other hand, letting the height of multicast tree to be logarithmic is also a constraint to transmission path length, which proved to be O ( ) where N is the number of peers.

相關文件