• 沒有找到結果。

支援 P2P 通訊服務品質之傳輸層及網路層協定之研究 (III)

N/A
N/A
Protected

Academic year: 2021

Share "支援 P2P 通訊服務品質之傳輸層及網路層協定之研究 (III)"

Copied!
65
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

支援 P2P 通訊服務品質之傳輸層及網路層協定之研究(第 3

年)

研究成果報告(完整版)

計 畫 類 別 : 個別型 計 畫 編 號 : NSC 97-2221-E-004-002-MY3 執 行 期 間 : 99 年 08 月 01 日至 100 年 07 月 31 日 執 行 單 位 : 國立政治大學資訊科學系 計 畫 主 持 人 : 連耀南 計畫參與人員: 碩士班研究生-兼任助理人員:邵育晟 碩士班研究生-兼任助理人員:祁立誠 碩士班研究生-兼任助理人員:黃玉潔 碩士班研究生-兼任助理人員:丁諭祺 碩士班研究生-兼任助理人員:王彥嵩 碩士班研究生-兼任助理人員:黃智杰 碩士班研究生-兼任助理人員:黃冠傑 碩士班研究生-兼任助理人員:黃郁翔 報 告 附 件 : 出席國際會議研究心得報告及發表論文 公 開 資 訊 : 本計畫可公開查詢

中 華 民 國 100 年 11 月 02 日

(2)

中文摘要: 由於近年來基於 P2P 技術的網路應用蓬勃發展成為網路上佔 用最大流量的應用,這些應用以多媒體的應用為主,例如 BitTorrent、VoIP、 YouTube、與 IPTV,各大網路服務公司原 本還算充裕的頻寬逐漸承受不住如此大量的訊務需求而影響其 服務品質,紛紛採取各種手段限制 BT 等應用的訊務。 在有限的頻寬下,如何提升服務品質便成為一個非常關鍵的問 題。本計畫旨在研究傳輸層及網路層的協定,增加支援服務品 質的機制,所研發的技術除了提供網路多媒體通訊之運用之 外,更於 MANET 上加上 P2P 技術,提出 P2Pnet 架構,可供群 組行動通訊網路之用,並將 P2Pnet 應用於大型災區救災緊急 通訊系統之建構。 以下是本計畫研究的議題: •服務品質差異化的 TCP/UDP 傳輸通訊協定 •運用差異化傳輸協定及語音辨認技術提升語音及影像通訊之 品質 •能提升服務品質的路由器排程 •應用系統 -大型網路語音會談

•應用系統 - P2P Streaming Over P2Pnet •應用系統 – 災區救難緊急通訊資訊系統

我們運用 Partial-Reliable TCP 於傳輸 Video 影像,對重要 影格 (I-Frame)提供遞送保證,而對其他不重要影格提供有條 件的遞送保證, 如此,在有限頻寬下,可提升即時影像傳輸的 效能。此外,針對 MANET 及 Sensor Network 不可靠之特性, 提出 Hop-by-Hop TCP 可提升 MANET 及 Sensor Network 在資 料傳輸上的效能。我們也對 DCCP 協定進行研究,發覺 DCCP 雖 然立意良好,但在 VoIP 等即時性網路應用上無法爭取足夠頻 寬,仍無法支援 VoIP 之應用。其原因是因為 DCCP 在啟動控制 壅塞時會延後送出封包,影響聲音品質,我們提出調整編碼速 率的方法控制壅塞,但可以維持聲音品質。 此外,有鑑於 TCP 的壅塞控制非常複雜,初學者常常花了很多 時間仍然無法窺得門逕,我們特地設計了一個 TCP 壅塞控制模 擬器讓使用者可以很輕鬆的學習 TCP 壅塞控制機制。 在大型 VoIP 會議方面,我們發展出一個混合 Full-Mesh Cluster 及 Multicasting Tree 的語音傳輸架構,可以有效的 支援大型 VoIP 會議,此外我們以語音之能量作為分辨語音與 噪音的基礎,發展出利用 VAD (Voice Activity Detection)控 制回音/噪音的技術,可以有效過濾困擾 VoIP 會議的回音問 題,使得大型網路語音會議成為可行。在網路層,因為 MANET/P2Pnet 很容易推行新的網路層機制,我們研發 QoS-Aware 的排程機制,可以提升服務品質。 在 P2Pnet 的建構上,我們開發了一個行動學習網路,與政大 外語中心合作進行實地驗證,測試系統的可用性,效能,及研

(3)

究分析使用者需求。根據這個實驗,我們歸納出災區救難緊急 通訊系統的功能及效能需求,並根據需求實作了 Walkie-Talkie-Like 系統可供大型災區救災緊急通訊系統之用。最 後,根據我們在災區緊急通訊系統上多年的研究,我們提出了 一個更有效,能支援更多使用者的「應急行動通訊系統」,利 用無線 P2P 技術將災區內斷訊但未受損的基地台串連起來服務 災區內的手機用戶,這個系統所能發揮的功效將遠遠超過其他 所有緊急通訊系統。

英文摘要: Internet applications that use P2P Technology become the traffic hog of Internet. Most of these

applications, such as BitTorrent, YouTube, Skype, and IPTV, are multimedia applications. The plenty network capacity has been exhaustively consuming by these traffic hogs so that many network operators begin to limit the use of this type of applications in order to avoid the performance degradation of their services. How to enhance service quality without increasing network capacity has become an important research issues. This project is to incorporate QoS support into transport and network layer protocols. In this project, we investigate the following issues:

•Partial-Reliable TCP/UDP protocol

•Integrated VoIP Quality Enhancement Mechanisms •QoS aware scheduling for routers

•Applications - Mass VoIP Conference •Applications - P2P Streaming Over P2Pnet

•Applications – Emergency Communication System for large scale natural disaster

(4)

i

行政院國家科學委員會補助專題研究計畫成果報告

計畫類別: ■ 個別型計畫

計畫編號:NSC 97-2221-E-004-002-MY3

執行期間: 97 年 8 月 1 日至 100 年 7 月 31 日

計畫主持人:連耀南

計畫參與人員:

邵育晟、祁立誠、林怡萱、邱威中、黃玉潔、丁諭祺、王彥 嵩、游筱慈、黃智杰、黃郁翔、黃冠傑

期末報告類型:□完整報告

處理方式:得立即公開查詢

執行單位:國立政治大學資訊科學系

中 華 民 國 100 年 10 月 31 日

(5)

ii

摘要

由於近年來基於 P2P 技術的網路應用蓬勃發展成為網路上佔用最大流量的應用, 這些應用以多媒體的應用為主,例如 BitTorrent、VoIP、 YouTube、與 IPTV,各 大網路服務公司原本還算充裕的頻寬逐漸承受不住如此大量的訊務需求而影響 其服務品質,紛紛採取各種手段限制 BT 等應用的訊務。 在有限的頻寬下,如何提升服務品質便成為一個非常關鍵的問題。本計畫旨在研 究傳輸層及網路層的協定,增加支援服務品質的機制,所研發的技術除了提供網 路多媒體通訊之運用之外,更於 MANET 上加上 P2P 技術,提出 P2Pnet 架構, 可供群組行動通訊網路之用,並將 P2Pnet 應用於大型災區救災緊急通訊系統之 建構。 以下是本計畫研究的議題:  服務品質差異化的 TCP/UDP 傳輸通訊協定  運用差異化傳輸協定及語音辨認技術提升語音及影像通訊之品質  能提升服務品質的路由器排程  應用系統 -大型網路語音會談

 應用系統 - P2P Streaming Over P2Pnet

 應用系統 – 災區救難緊急通訊資訊系統

我們運用 Partial-Reliable TCP 於傳輸 Video 影像,對重要影格 (I-Frame)提供遞 送保證,而對其他不重要影格提供有條件的遞送保證, 如此,在有限頻寬下,可 提升即時影像傳輸的效能。此外,針對 MANET 及 Sensor Network 不可靠之特性, 提出 Hop-by-Hop TCP 可提升 MANET 及 Sensor Network 在資料傳輸上的效能。 我們也對 DCCP 協定進行研究,發覺 DCCP 雖然立意良好,但在 VoIP 等即時性網 路應用上無法爭取足夠頻寬,仍無法支援 VoIP 之應用。其原因是因為 DCCP 在啟 動控制壅塞時會延後送出封包,影響聲音品質,我們提出調整編碼速率的方法控 制壅塞,但可以維持聲音品質。 此外,有鑑於 TCP 的壅塞控制非常複雜,初學者常常花了很多時間仍然無法窺 得門逕,我們特地設計了一個 TCP 壅塞控制模擬器讓使用者可以很輕鬆的學習 TCP 壅塞控制機制。

在大型 VoIP 會議方面,我們發展出一個混合 Full-Mesh Cluster 及 Multicasting Tree 的語音傳輸架構,可以有效的支援大型 VoIP 會議,此外我們以語音之能量 作為分辨語音與噪音的基礎,發展出利用 VAD (Voice Activity Detection)控制回音/ 噪音的技術,可以有效過濾困擾 VoIP 會議的回音問題,使得大型網路語音會議

(6)

iii 成為可行。在網路層,因為 MANET/P2Pnet 很容易推行新的網路層機制,我們研 發 QoS-Aware 的排程機制,可以提升服務品質。 在 P2Pnet 的建構上,我們開發了一個行動學習網路,與政大外語中心合作進行 實地驗證,測試系統的可用性,效能,及研究分析使用者需求。根據這個實驗, 我們歸納出災區救難緊急通訊系統的功能及效能需求,並根據需求實作了 Walkie-Talkie-Like 系統可供大型災區救災緊急通訊系統之用。最後,根據我們在 災區緊急通訊系統上多年的研究,我們提出了一個更有效,能支援更多使用者的 「應急行動通訊系統」,利用無線 P2P 技術將災區內斷訊但未受損的基地台串連 起來服務災區內的手機用戶,這個系統所能發揮的功效將遠遠超過其他所有緊急 通訊系統。 關鍵詞:行動隨意網路、網路電話,服務品質、TCP、Routing、緊急通訊系統、 P2P 技術、多媒體通訊

(7)

iv

Abstract

Internet applications that use P2P Technology become the traffic hog of Internet. Most of these applications, such as BitTorrent, YouTube, Skype, and IPTV, are multimedia applications. The plenty network capacity has been exhaustively consuming by these traffic hogs so that many network operators begin to limit the use of this type of applications in order to avoid the performance degradation of their services. How to enhance service quality without increasing network capacity has become an important research issues. This project is to incorporate QoS support into transport and network layer protocols. In this project, we investigate the following issues:

 Partial-Reliable TCP/UDP protocol

 Integrated VoIP Quality Enhancement Mechanisms  QoS aware scheduling for routers

 Applications - Mass VoIP Conference  Applications - P2P Streaming Over P2Pnet

 Applications – Emergency Communication System for large scale natural disaster

We propose to use Partial-Reliable TCP (PR-TCP) for Video communications. PR-TCP offers reliable delivery for I-frames and conditional delivery for other frames. By this way, we can enhance the service quality when the network bandwidth is limited. Furthermore, we investigate QoS-aware scheduling algorithms for routers in MANET/P2Pnet. In VoIP, we investigate the techniques to support large scale VoIP conferencing. We first propose a technique to distinguish voice from noise/echo/silence based on energy level. By suppressing noice/echo/silence, we can increase the number of participants in a VoIP conference without quality degradation. Moreover, we proposed a new P2P topology that can minimize packet loss and end-to-end delay time as well as balancing the loads, called MLDST (Minimum Loss Diameter Spanning Tree). Finally, we integrated all above technologies onto MANET/P2Pnet with some applications such as massive VoIP conference and P2P streaming. P2Pnet can be used to support some special environments such as mobile learning environment and emergency communication systems for disastrous area. On top of P2Pnet, we have implemented an emergency communication system that can support walkie-talkie like communication. Two versions, single-hop and multi-hop were implemented. The multi-hop system is particularly useful when either face-to-face communication or direct wireless links were blocked by the obstacles of

(8)

v

collapsed buildings in an earthquake since multi-hop system can easily bypass the obstacles via relay nodes.

Based on the fact that most disrupted base stations remained intact but either lost their power or backhaul connection, we propose to construct a contingency communication system by using multi-hop wireless links to connect isolated base stations to connected stations. Cell phone users will be able to use their cell phone without modification in a natural disaster. Many issues such as topology design, deployment scheduling, bandwidth allocation, admission control, etc. has been studied in this project. Such a system will enhance greatly the efficiency of the disaster response operation.

We also investigated the effectiveness of VoIP over DCCP. We found that DCCP is TCP friendly, but unfriendly to VoIP. It tends to hold VoIP packet to slow down its date rate when network is congested. We propose to adjust compression rate of original VoIP packets to accommodate network congestion. Experiments show that our method can enhance quality of VoIP over DCCP. Furthermore, we implemented a TCP congestion control simulator that can help user to learn TCP congestion control mechanism easily by using a regular WWW browser.

Finally, we propose an agent search mechanism for mobile agent over opportunistic network. Mobile agent is a natural choice of data transportation for delay tolerant network such as opportunistic network. A mobile agent system demands a search mechanism to support its control operation. We proposes a control network model as well as several optimization models for control node selection.

Keywords: Computer Telephony, VoIP, QoS, P2P computing, multimedia

(9)
(10)

vii

I、Introduction ... 10

1.1 Peer-to-Peer Multicasting Network ... 10

II、Related Work ... 12 2.1 CoolStreaming ... 14 2. 2 Chunkyspread ... 15 2. 3 ZIGZAG ... 16 2.4 Chainsaw ... 18 2.5 Splitstream ... 18 2.6 ESM ... 19

2.7 Spanning Tree for Data Collection ... 20

2.8 Spanning Tree Problems with Constraints ... 22

2.8.1 Bounded Diameter Spanning Tree ... 22

2.8.2 Minimum Diameter Spanning Tree ... 22

2.8.3 Spanning Tree with Bounded Node Degree ... 23

2.9 Analysis of Spanning Tree-Push Solution ... 23

III、Proposed Approach ... 24

3.1 MLDST (Minimum virtual Loss Diameter Spanning Tree) ... 24

3.2 NP-Completeness of MLDST ... 26

3.3 Design Concepts and Objective ... 27

3.4 Heuristic MLDST ... 28

3.5 Pseudo Code of Heuristic MLDST ... 28

IV、Performance Evaluation... 29

4.1 Experimental Envirement ... 30

4.2 Experiment Results ... 32

4.2.1 Topologies ... 32

4.2.2 Analysis of Experimental Results ... 35

V、Conclusion ... 41

Reference ... 42 附錄

(11)

viii

Figure 1 Architecture of server-client model ... 10

Figure 2 Architecture of peer-to-peer network ... 11

Figure 3 Architecture of a CoolStreaming system ... 15

Figure 4 Administrative organization of peers in ZIGZAG ... 16

Figure 5 The multicast tree of ZIGZAG ... 17

Figure 6 Example of Splitstream ... 19

Figure 7(a) SP (b) FH (c) MST (d) RB ... 21

Figure 8 MLDST on PlanetLab ... 33

Figure 9 MST on PlanetLab ... 34

Figure 10 SP tree on PlanetLab ... 35

Figure 11 Frame-wise PSNR ... 36

Figure 12 Packet loss rate measured at the end node of virtual Loss Diameter ... 37

Figure 13 Average packet delay measured at the end node of Delay Diameter... 38

Figure 14 Average frame-wise PSNR ... 39

Figure 15 Virtual Loss Diameter ... 40

(12)

ix

Table 1 List of Participating Nodes ... 31 Table 2 Measured Delay between pairs of nodes ... 32

(13)

10

I、Introduction

1.1 Peer-to-Peer Multicasting Network

As advance of network technology, many new network services emerged rapidly, such as real-time multimedia streaming service. Conventional server-client model, as depicted in figure 1, is no longer adequate to support these kinds of services because of the extremely heavy traffic load they generate and the stringent time requirement they ask. Server-client topology puts entire traffic on a single link connecting the server and each requesting clients. Under this circumstance, the link bears a great burden such that packets may suffer from huge packet loss and excessive long delay. Therefore, server-client model may not be a good option for real-time multimedia streaming service.

(14)

11

Figure 2 Architecture of peer-to-peer network

On the other hand, the new-emerging peer-to-peer network, originated from BitTorrent distributed file sharing system, is more adequate for real-time streaming services, as depicted in figure 2, due to its high scalability which server-client model can hardly reaches as well as its better tolerance of node failure. Moreover, it is worth noticing that peer-to-peer fashion effectively distributes traffic load from heavy loaded links to all other links, since peers do not only download video but also upload it to other users who want to watch. As a consequence, peer-to-peer network becomes more and more popular for real-time streaming services.

Unfortunately, although peer-to-peer network surpasses server-client model in several aspects, there are still inevitable problems yet to be overcome. Peer-to-peer networks are most formed freely without consideration of either the balance of peer load or the depth of the spanning tree. Furthermore, the popularity of error prone wireless links is increasing rapidly recently such that not only delay time, but also packet loss rate, must be taken into consideration. Whenever the size of the network grows enormously, number of long paths and overloaded peers, accompanying with long transmission delay and high packet loss rate, increases as well. This problem has been well studied and a large amount of researches has been proposed [4, 7, 9, 10, 15, 17, 18]. Spanning trees are widely applied to peer-to-peer network since the very nature of itself, such as easy to build

(15)

12

and maintain, well constructed for data transport, quick reaction to nodes failures. However, most of these solutions can only take care of one quality parameter such as delay time.

Focusing on the video streaming services, we propose to build a multicasting tree that can preserve the data quality at a user-acceptable level.

II、Related Work

There already exists many peer-to-peer solutions [4, 7, 9, 10, 15, 17, 18] and can be roughly classified into two categories [16]. In mesh-pull based systems, videos are divided into small clips for distribution. If a user demands to watch a video, he/she must send out request messages to ask his/her neighbors whether they have the clips of the video or not. After being notified by response messages, the user retrieves those clips from possessing neighbors. The control messages generated create a large overhead. Moreover, extra delay arises from the round trips of requests and responses. Typical mesh-pull based systems are CoolStreaming [12], PPlive, and Chainsaw [13].

In tree-based systems [15], video data distributes in clips as well. Nodes simply receive data from their parents after they demand for it [15]. The overhead caused by large amount of messages is avoided. Typical tree-push based systems are Chunkyspread, Splitstream, ESM, and ZIGZAG [15].

Major characteristics and constraints of both types of systems are summarized as follows.

1. Both types of systems have a much better scalability than client-server systems. 2. Existing solutions do not take into account packet loss rate of links.

Existing researches did not focus on packet loss but only strive for meeting the delay requirement of real-time streaming services. In our opinion, restricting delay under a

(16)

13

user-acceptable level is quite sufficient, there’s no need to pursue the minimization of packet delay. On the other hand, minimizing data loss is more important than minimizing delay. Knowing that there are many poor-resourced links residing in real network, packets traveling through those links may have a great probability being dropped. Furthermore, if those links reside in a long transmission path, the data transmitted along this path will suffer from great damage in quality because of numerous packet losses.

3. With respect to a video clip, all participating peers form a spanning tree topology.

4. The topology of the spanning tree is form randomly without any control such that long paths often presented.

As the size of network grows, packets may have to travel through numerous links to reach far-end receivers. The longer the path, the higher the packet loss rate and longer transmission delay. No one would like to watch a soccer game from the Internet and to see the winning goal few seconds after hearing his/her neighbors’ screaming. Therefore, both packet loss rate and delay time must be controlled under respective thresholds.

Most current solutions model a P2P multicasting network into a spanning tree problem. However, traditional spanning tree algorithms have some structural characteristics that may become obstacles on the way to reach our objective. 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.

(17)

14

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 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.

(18)

15

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.

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.

(19)

16

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.

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

(20)

17 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.

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.

(21)

18

2.4 Chainsaw

Chainsaw [13] is a request-response based high bandwidth data dissemination protocol drawing upon gossip-based protocols and BitTorrent. The source node, called a seed, generates a series of new packets with monotonically increasing sequence numbers.

Peers in Chainsaw request data from others and thus make Chainsaw a Mesh-pull approach. Peers maintain the states of their neighbors. The majority of the information they posses is a list of packets that each neighbor has. Peers are notified of new packets by their neighbors and must explicitly request a packet from a neighbor in order to receive it. Every peer maintains a window of interest, which is the range of sequence numbers of packets that the peer is interested in acquiring at current time. It also maintains and informs its neighbors about a window of availability, which is the range of packets that it is willing to upload to its neighbors. The window of availability will typically be larger than the window of interest.

A peer keeps track of what packets it has requested from every neighbor and ensures that it does not request the same packet multiple times. It also limits the number of requests to some given neighbors to ensure balanced member load.

2.5 Splitstream

In Splitstream [2], which is a Tree-push approach, data is divided into several disjoint sections called stripes. To do the dissemination, one tree is built for each stripe. So, in order to receive the complete stream, a node must join every multicast tree.

Every node plays the role of an interior node in exactly one tree. Therefore it ensures that each node will never upload more than it receives. Figure 6 depicts how Splitstream transmits video stripes through multiple trees. Data is split into two stripes. An independent multicasting

(22)

19 tree is built for each stripe.

Figure 6 Example of Splitstream

Furthermore, each node is only responsible for data forwarding on one of the stripes. If a node suddenly leaves the system, at most one stripe is affected. Therefore, robustness is also improved.

2.6 ESM

The ESM system [12] constructs a Tree-push based overlay which is distributed, self organizing, performance-aware. The tree is optimized primarily for bandwidth, and secondarily for delay.

Each ESM node maintains information of members which are randomly selected as a subset. If a node wants to join the broadcast, it retrieves random members participating in the broadcast from the source. Nodes update its information about other members in periodically.

Each ESM node maintains the application-level throughput it is receiving in a recent time window. If its performance is significantly below the source rate, then it selects a new parent to download data from. ESM employs a default detection time of 5 seconds, which means it takes 5

(23)

20

seconds at most for a node to switch to a new parent after it detects a low performance. But the protocol running on transmission path influences the choice of this value since switching to a new parent requires going through a slow-start phase, which may take 1 to 2 seconds to reach the full data rate.

2.7 Spanning Tree for Data Collection

In [16], authors analyzed several spanning tree topologies. Traditional spanning tree topologies were examined and compared. In a shortest path spanning tree, the distance, say, the total weight of the path, from the root node to all other nodes is minimized. Such a tree is easily constructed by Dijkstra’s algorithm, denoted as SP. A fewest hop spanning tree that minimizes the number of hops along the path from each node to the root node is denoted as FH. The other typical problem is the minimum spanning tree problem, which minimizes the total sum of edge weights and can be constructed by Prim’s or Kruskal algorithm and is denoted as MST.

The spanning trees created by FH tend to be shallow and fat with the average node degree being fairly large. On the other hand, FH minimizes the data loss when a node or link fails. MST grows deeply and skinny because its only criterion is the total edge weight. SP tends to have smaller node degrees and grow deeper than FH depending on the edge weight. Figure 7 shows all four spanning trees.

(24)

21

Figure 7(a) SP (b) FH (c) MST (d) RB

They then propose a RoBust spanning tree (RB) that combines the nature of spanning tree algorithms mentioned above. By a linear combination of input parameters such as hop count and path weight as follows.

λ × hop count + (1-λ × path weight), where , 0 ≤ λ ≤ 1.

hi represents the hop count and є1 stands for the eccentricity of a node. The eccentricity of

the node is the largest of the shortest paths from that node to all other nodes.

They proposed two implementation schemes to build the proposed tree: centralized and distributed one. Figure 7 (d) is the product of centralized scheme. It clearly has the characteristics

(25)

22

of different algorithms. Experiment results show that RB performs better in many aspects.

2.8 Spanning Tree Problems with Constraints

2.8.1 Bounded Diameter Spanning Tree

Bound-Diameter Spanning Tree and related problems are discussed in [3]. Diameter is defined as the longest path from an arbitrary node to any other destination.

BDST problem is defined as: Given a graph G (V, E), weight W(e) ∈ ℤ+, for each e ∈ E,

positive integer D ≤ |V|, positive integer B, find a spanning tree T for G such that the sum of the weights of the edges in T does not exceed B and such that T contains no simple path with more than D edges. It remains to be NP-complete for any fixed D ≥ 4, even if all edge weights are either 1 or 2. It can be solved easily in polynomial time if D ≤ 3, or if all edge weights are equal.

BDST can be the base of our problem model if we replace its link weight by the parameters we interested in. Since the number of peers in a peer-to-peer network will mostly be large, our modeling should be of NP-complete complexity as well.

2.8.2 Minimum Diameter Spanning Tree

Consider a Euclidean graph that every link of the graph has a weight. Instead of minimizing total cost of the spanning tree, Minimum-Diameter Spanning Tree tends to minimize the diameter of the tree.

MDST (Minimum-Diameter Spanning Tree) problem is described in [3] and [6]: Given a graph G = (V, E) and a cost function W(e) ∈ ℤ+, for all e ∈ E, find a spanning tree T for G, such that

(26)

23

MAX simple path p∈T∑e∈pW(e) is minimized. This problem can be solved in polynomial time O (n3).

In [1], it proposed a distributed algorithm to find a MDST. The link weights were defined in positive value. The main contribution of this algorithm was that it achieved an efficient time complexity of O (n) and meantime an O (nm log n + nm log W) bits communication complexity, where W was the largest link weight in the network, n was the number of vertices and m was the number of edges.

2.8.3 Spanning Tree with Bounded Node Degree

Finding a Minimum Bounded Degree spanning tree is also a NP-Complete problem [3]:

Given a graph G (V, E), positive integer K ≤ |V|, a cost function c: E → R, find a spanning tree of minimum cost for G in which no vertex has a degree larger than K. This problem remains NP-complete for any fixed K ≥ 2.

In [14], it proposed a polynomial time algorithm that returns a spanning tree of minimum cost and bounded node degree. Furthermore, it not only set an upper bound on node degree but also a lower bound on node degree. This property harmed the data quality when lower bound is large. Although this paper provided a polynomial time algorithm for this problem, it is not adequate for our model because of different objective.

2.9 Analysis of Spanning Tree-Push Solution

Tree-push based systems [8] have superior advantages to mesh-pull based systems for delay consideration. Once a tree is built, the routing of transmission is fixed such that there is no need for peers to communicate with each other for data sharing. This characteristic is important for the

(27)

24 system to meet the stringent delay constraint.

However, traditional spanning tree algorithms have some structural characteristics that may become obstacles on the way to reach our objective. Different spanning tree algorithm constructs trees with different criterions and thus forms unique structure characteristics. The typical two spanning tree algorithms are minimum spanning tree and shortest-path spanning tree.

A minimum spanning tree has a minimum total cost. It often has a long tail in the tree. A long tail may cause large hop count and long delay if link weight is link delay. Long delay is an enemy in a streaming service because it significantly increases the waiting time on user end, or even increases the number of dropped packets which exceeds playback point, and thus reduces the quality of service. Note that the startup delay is also included in the metrics of quality of service.

As for single-source shortest path algorithm, which also generates 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.

III、Proposed Approach

3.1 MLDST (Minimum virtual Loss Diameter Spanning Tree)

In order to reduce the damage associated with the long transmission path, the objective of this research is to find a multicast tree for a given peer-to-peer IPTV network that demands quality of service. Specifically speaking, we want to build a spanning tree which has minimum data loss rate under several constraints.

(28)

25

Delay diameter is the diameter of a spanning tree when link weight is delay. In other words, the delay diameter is the longest total delay time among all possible paths from the root to all other nodes. Likewise, loss diameter is the diameter of a spanning tree when link weight is loss rate. In other words, the loss diameter is the loss rate of the node that receives the least amount of data. However, since loss rate is not addable but multipliable in nature that makes the computation a very complicated task for a graph based algorithm, we further define the following two terms to represent real Loss Diameter in order to simplify algorithmic computation. Virtual path loss is simply the summation of packet loss rates of all links in a path, while virtual Loss Diameter is the largest virtual path loss in a tree.

Please note that the real packet loss rate of a path should be 1-∏(1-pi,j), ∀ i, j ∈ T, we use

direct summation of loss rate to simplify the model hoping its solution may lead to a good solution. By taking one parameter as our objective and other two as the constraints, we propose a new spanning tree construction model.

Although a distributed model is more appreciate to construct a multicasting tree in real network, we model the problem in centralized fashion at current stage. The problem will be extended to distributed version only after we gain a better understanding on the centralized version.

The objective function of MLDST is defined below:

Given a graph G (V, E), where V = {v1, v2, v3,…vn} is the set of user nodes, E = {ei,j | vi, vj ∈

V} is the set of possible interconnections between pairs of nodes, we define di,j be the delay time

spent on ei,j and pi,j be the the packet loss rate on ei,j. Thus, for each edge ei,j, we have a

two-attributes weight for link ei,j, (di,j, pi,j). Tree T is a k-nary spanning tree rooted at ν1 with

respect to G.

Define: Delay Diameter: Maximum simple path S ∈ T

virtual Loss Diameter: Maximum simple path S ∈ T

(29)

26

delay from ν1 to any other node. Virtual Loss Diameter = Maximum simple path S ∈ T ∈ , is

defined as the maximal accumulated packet loss rate of any simple path rooted at ν1.

The optimization function is defined as follows:

Given G(V, E), delay bound (D) and degree bound (b), find a spanning tree T rooted at v1, such

that:

virtual Loss Diameter is minimized, while Delay Diameter < D and node degree < b.

Our objective is to minimize the virtual Loss Diameter in a spanning tree while Delay Diameter and node degree are both bounded. In MLDST, virtual Loss Diameter is just taken as an index to simplify the model for good MLDST.

Delay Diameter represents the largest accumulated delay from root to any other nodes. By bounding it, we can assure the worst case transmission delay is under control. On the other hand, the bound of Delay Diameter can also determine the size of MLDST, since the larger the bound is defined, the longer a single path could be.

3.2 NP-Completeness of MLDST

(A) MLDST is in NP:

We first show that MLDSTNP. Assuming that we are given a graph G(V, E), two parameters on each edge, say, delay d and packet loss rate p, and two predefined bound D>3 and B. There is a k-nary spanning tree T given, where maximum d1,m ≤ D, ∀ m ∈ T and k ≤ b. Then we

verify this instance by checking if maximum ∑p1,m , ∀ m ∈ T is the minimum amount all possible

solutions. The verification algorithm performs in polynomial time. (B) MLDST is NP-Complete:

As we illustrated in Section 2.8.3, a BDST (Bounded Diameter Spanning Tree) problem is a NP-Complete problem if node degree is greater than 3. We can BDST to MLDST

(30)

27

straightforwardly. Let graph G (V, E), edge weight W = { wij | vi, vj∈ V }, a total weight bound C′

and a diameter bound B′ be a valid instance of BDST, we construct the corresponding instances G of MLDST as follows. We let V=V′, E=E′, B=B′ and a large node degree bound D′ = |V|, as well as pij=dij=wij, for all edges. We can easily prove by contraction that an optimal solution g to G

with a minimum virtual Loss Diameter x must be a solution to G′. First, we can see that the diameter bound B’ must be satisfied. Next, g must be smaller or equal to total weight bound C. Otherwise, we can find another solution g’ to G′ with a total weight y ≤ C < x. In that case, we can use g’ to solve G to obtain a solution with a virtual Loss Diameter y, which is a contradiction.

From (A) and (B), we can say that BDST can be reduced to MLDST. As a result, we prove that MLDST is a NP-Complete problem if node degree bound is greater than 3.

3.3 Design Concepts and Objective

According to the problem model describing in previous sections, we designed a heuristic solution for MLDST. Since our objective is to minimize the virtual Loss Diameter, we prefer a single-source shortest-path algorithm rather than a minimum spanning tree algorithm, whose objective is to minimize the total cost of the tree, which may create large diameter paths.

Our heuristic algorithm follows Dijkstra’s algorithm’s footstep. We modify Dijkstra’s algorithm by bounding Delay Diameter and node degree and searching for a spanning tree which has a minimum virtual Loss Diameter.

The issues in distributing environment, such as peer churn and membership change, are left behind in proposed solution. Currently, we only focus on the centralized version for the purpose of proof of concept.

(31)

28

3.4 Heuristic MLDST

Our heuristic algorithm is quite simple and easy to understand. Every edge has two network parameters, delay and packet loss rate. While executing a Dijkstra’s algorithm, total delay and total packet loss rate of each intermediate path is calculated. We modified the original Dijkstra’s algorithm so that Delay Diameter and the degree of each node will be constantly examined to meet the constraints.

If a node exceeds the degree limit, the link with high loss rate will first be abandoned. Priority is given to loss rate, instead of delay. That is, we disconnect links with higher loss rate prior to the ones with longer delay. Once a link is disconnected, data must be rerouted to downstream peers.

The resulting MLDST is only responsible for transmitting one piece of data. To receive complete data, many MLDSTs must be constructed for each piece of data. These multicasting trees need not to be fully disjoined.

Notice that data partitioning is not our concern.

3.5 Pseudo Code of Heuristic MLDST

Heuristic MLDST (G, w, s) Initialize−Single−Source(G, s)

do for each edge (u, v) ∈ E[G]

// use the weight of (u, v) to update current shortest path do RELAX(u, v, w)

for each edge (u, v) ∈ E[G] do if d[v] > d[u] + w(u, v)

(32)

29 then return FALSE

// check if total delay exceeds the bound do if d[v] ≥ Delay Bound

then return FALSE

//check if node degree exceeds the degree bound do if Degree[v] ≥ Degree Bound

then return FALSE Return TRUE

This algorithm is modified based on Dijkstra’s algorithm by adding two checking processes into the loop. While algorithm is running, it checks if the constraints are both satisfied. The rest part of the algorithm remains the same with original design.

IV、Performance Evaluation

We evaluated our proposal using the real network experimental environment, PlanetLab. By examining the quality of transmitted video data, we evaluated Heuristic MLDST against other tree construction algorithms including minimum spanning tree, shortest-path spanning tree, and ZIGZAG tree. The first two trees were used as baseline performance and ZIGZAG is the competitor of our algorithm.

Experimental data, including PSNR, transmission delay of each packet and total packet loss rate were recorded from the far-end node of Delay Diameter of the tree of all four topologies. It goes without saying that we supposed to extract data from far-end node of virtual Loss Diameter

(33)

30

for the worst case of packet loss since we were mainly examining PSNR. In our experimental topologies, these two nodes just happened to be same one.

We calculate PSNR frame-wisely, the average value of frame-wise PSNR, and further examine total packet loss rate and average packet delay. Average packet delay is calculated based on received packets. Total packet loss rate is the proportion of the number of received packets and the number of transmitted packets.

4.1 Experimental Envirement

We first selected high performance peers on PlanetLab and constructed our experimental topology. 100 pinging messages were sent to each of carefully selected peer to measure their performance. Peers with shorter delay were given priority to participate in the experiment. Fifteen peers were selected to participate in the experiment. In MLDST, both delay and packet loss rate were taken into consideration, while MST and SP trees took delay only.

Degree bound was set to 3, while delay bound was set to 1200 ms based on the analysis of measured delay between peers and user tolerance. We used the same set of peers to build all four trees.

Since the characteristics of a real network change constantly, only a snapshot of the network were measured. Therefore, this experiment had its own limits. A dynamic version, which is beyond the scope of this research, will be more appreciate to model the real network. Our experiments were carried out several hours right after the characteristics measurement was performed (i.e. the instantiation of the graph) assuming that the fluctuation of network condition is acceptable.

The measured average delay (ms) and packet loss rate of each pair of selected peers are shown in Table 2. These values were averaged over 100 probes. Spanning trees mentioned in the

(34)

31 following sections were based on these parameters.

At the beginning of each experiment, we transmitted via the constructed spanning tree for 30 seconds a MPEG-1 video clip, which has a bit-rate of 1150 Kbps, 29.97 fps and sized 352 x 240.

Table 1 List of Participating Nodes Node

ID

Domain Name of the Node 1 Planetlab1.csie.nuk.edu.tw 2 Planetlab1.sfc.wide.ad.jp 3 Pub1-s.ane.cmc.osaka-u.ac.jp 4 Planetlab-1.calpoly-netlab.net 5 Planetlab1.utdallas.edu 6 Planetlab1.postel.org 7 Nodea.howard.edu 8 Pl1.csl.utoronto.ca 9 Planetlab1.cs.cornell.edu 10 Planetlab1.georgetown.edu 11 Planetlab1.utep.edu 12 Vn1.cs.wustl.edu 13 Plgmu2.ite.gmu.edu 14 Planetlab2.eecs.northwestern.edu 15 Planetlab1.cs.stevens-tech.edu

(35)

32

Table 2Measured Delay between pairs of nodes

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 62.921 0% 52.851 0% 168.371 0% 229.373 0% 155.906 7% 225.173, 0% 249.227 3% 250.927 0% 248.442 0% 243.048 0% 298.532 0% 241.738 0% 226.291 0% 249.703, 1% 2 62.921 0% 13.550 0% 129.115 0% 156.392 0% 238.352 0% 198.364 0% 208.153 8% 198.313 0% 189.622 0% 166.590 0% 210.924 0% 179.413 0% 201.738 0% 199.311 2% 3 52.851, 0% 13.550 0% 133.236 0% 161.906 0% 242.550 0% 200.089 0% 222.582, 4% 207.746 0% 193.160 0% 170.692 0% 229.359 0% 183.490 0% 205.906 0% 200.082, 1% 4 168.371 0% 129.115 0% 133.236 0% 51.709 0% 39.710 0% 87.952 0% 100.219 1% 95.665 0% 84.500 0% 62.024 0% 105.195 1% 74.632 0% 97.153 0% 90.672 1% 5 229.373 0% 156.392 0% 161.906 0% 51.709 0% 38.027 0% 21.031 0% 63.309 3% 50.595 0% 54.414 0% 21.133 0% 76.432 0% 38.966 0% 61.632 0% 55.076 1% 6 155.906 7% 238.352 0% 242.550 0% 39.710 0% 38.027 0% 66.934, 0% 102.996 3% 98.577 0% 96.059 3% 77.291 0% 117.965 0% 75.557 0% 112.538 0% 105.960 1% 7 225.173 0% 198.364 0% 200.089 0% 87.952 0% 21.031 0% 66.934 0% 35.948 6% 16.670 0% 2.863 0% 61.453 0% 73.782 0% 37.021 1% 43.514 0% 35.560 3% 8 249.227 3% 208.153 8% 222.582 4% 100.219 1% 63.309 3% 102.996 3% 35.948 6% 34.650 4% 50.533 2% 66.028 1% 93.811 0% 26.701 3% 63.344 13% 40.121 5% 9 250.927 0% 198.313 0% 207.746 0% 95.665 0% 50.595 0% 98.577 0% 16.670 0% 34.650 4% 15.842 0% 60.841 0% 71.744 0% 30.755 0% 28.830 0% 11.950 4% 10 248.442 0% 189.622 0% 193.160 0% 84.500 0% 54.414 0% 96.059 3% 2.863 0% 50.533, 2% 15.842 0% 57.334 0% 55.044 0% 25.527 0% 18.909, 0% 12.735 3% 11 243.048 0% 166.590 0% 170.692 0% 62.024 0% 21.133 0% 77.291 0% 61.453 0% 66.028 1% 60.841 0% 57.334 0% 94.552 0% 48.132 0% 70.415 0% 64.020 0% 12 298.532 0% 210.924 0% 229.359 0% 105.195 1% 76.432 0% 117.965 0% 73.782 0% 93.811 0% 71.744 0% 55.044 0% 94.552 0% 48.613 1% 78.899 0% 62.460 0% 13 241.738 0% 179.413 0% 183.490 0% 74.632 0% 38.966 0% 75.557 0% 37.021 1% 26.701 3% 30.755 0% 25.527 0% 48.132 0% 48.613 1% 39.227 0% 36.900 0% 14 226.291 0% 201.738 0% 205.956 0% 97.153 0% 61.632 0% 112.538 0% 43.514 0% 65.344 13% 28.830 0% 18.909 0% 70.415 0% 78.899 0% 39.227 0% 25.438 2% 15 249.703 1% 199.311 2% 200.082 1% 90.672 1% 55.076 1% 105.960 1% 35.560 3% 40.121 5% 11.950 4% 12.735 3% 64.020 0% 62.460 0% 36.900 0% 25.438 2%

4.2 Experiment Results

4.2.1 Topologies

(36)

33

from PlanetLab. Considering the scale of this experiment, we notice that a degree larger than three will overload a single peer. Figure 8 depicts the topology of MLDST, video is transmitted from the source peer “planetlab1.csie.nuk.edu.tw” to every other peer in this graph. In all four quality evaluations, we measure the quality of the video received by the peer with the longest delay. In MLDST, “planetlab2.eecs.northwestern.edu” is the selected node.

9

5

2

13

15

8

4

6

12

11

3

1

14

10

7

Figure 8 MLDST on PlanetLab

A minimum spanning tree is constructed using Kruskal algorithm in figure 9. As we mentioned above, the only parameter that it adapt is delay. The video is also transmitted from source peer “planetlab1.csie.nuk.edu.tw” to every other peer. At the other end of Delay Diameter, “vn1.cs.wustl.edu” is selected to measure the result.

(37)

34

15

9

7

10

14

13

5

2

4

11

8

6

1

3

12

Figure 9 MST on PlanetLab

We construct shortest path spanning tree using original Dijkstra’s algorithm in figure 10. Same as minimum spanning tree topology, shortest path tree only consider delay as link parameter. Video is transmitted from source peer “planetlab1.csie.nuk.edu.tw” to every other peer. At the other end of Delay Diameter, “planetlab2.eecs.northwestern.edu” is selected to measure the result.

(38)

35

12

6

4

2

8

11

5

9

7

10

15

14

13

3

1

Figure 10 SP tree on PlanetLab

4.2.2 Analysis of Experimental Results

As we can see, MLDST tends to have shorter tail than minimum spanning tree and less number of nodes with outstanding node degree than shortest path tree. Notice that longer path leads to larger delay and higher probability of loss. Furthermore, large node degree leads to large processing delay within those nodes. Moreover, increasing delay hinders the data packets to meet the playback deadline at receivers. Figure 11 shows the PSNR of each transmitted frame.

(39)

36 Figure 11 Frame-wise PSNR

Clearly, measured PSNR values of MLDST are about 10% in average higher than those of other tree construction algorithms. From further examination of the result of MST at selected node, we found that the frames of the tail part of the video were all lost during transmission. Notice that the packet loss may be caused by both of network congestion and excessive delay.

Higher PSNR represents better video quality at user end. In summary, MLDST can provide good video quality while total transmission delay is bounded to users’ satisfaction.

6 7 8 9 10 11 12 1 32 63 94 125 156 187 218 249 280 31 1 342 373 404 435 466 497 528 559 590 P S NR

Framewise PSNR

MLDST MST SPTree ZIGZAG

(40)

37

Figure 12 Packet loss rate measured at the end node of virtual Loss Diameter

Figure 12 shows the packet loss rate of each tree. We can see clearly that MLDST shows less packet loss than others and thus can provide higher PSNR as illustrated in Figure 11.

MLDST SP MST ZIGZAG 0 0.01 0.02 0.03 0.04 0.05 0.06 P a cke t L o ss Rat e

(41)

38

Figure 13 Average packet delay measured at the end node of Delay Diameter

Figure 13 depicts the average delay of each tree at the far end node of the Delay Diameter. Our solution has lowest accumulated delay due to the balanced node degree and the delay constraints.

Since we only take delay as a constraint rather than an objective, a minor superiority in delay is acceptable. MLDST SP MST ZIGZAG 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 A v e rag e Dela y (Se c.)

(42)

39

Figure 14 Average frame-wise PSNR

Figure 14 shows average PSNR measured at the far-end node of Delay Diameter of all trees. The value was calculated from dividing the sum of frame-wise PSNR by the total number of frames. MLDST had higher value than others.

MLDST MST SP Tree ZIGZAG 7.6 7.8 8 8.2 8.4 8.6 8.8 9 9.2 9.4 P S NR

(43)

40

Figure 15 Virtual Loss Diameter

Since we avoid selecting links with high packet loss rate into the multicast tree, the loss diameter of MLDST is explicitly much smaller than others. The result showed in figure 15 further explains why our solution has better data quality.

MLDST SP Tree MST ZIGZAG 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14

(44)

41 Figure 16 Delay Diameter

Figure 16 shows the Delay Diameter of each participating tree. Note that we take delay as a constraint, higher delay is allowed, as long as the value does not exceed the bound.

V、Conclusion

Streaming services has been becoming more and more popular in recent years. The reason can be traced back to the explosive growth of Internet. Along with the prolification of streaming services, many issues showed up, such as the poor quality of service, long transmission delay and frequent disconnection. Many solutions have already been proposed to resolve these issues. They can be roughly classified into two categories, say, Mesh-pull and Tree-push. Mesh-pull systems divide transmitting video into clips. User nodes send requests to neighbors and download video clips from them if positive responses are received. Overhead and extra delays are incurred

MLDST SP Tree MST ZIGZAG 0 50 100 150 200 250 300 350 400 450 Dela y tim e (m s)

Delay Diameter

(45)

42

from large amount of control messages. As a result, Mesh-pull systems seem not appropriate for those services that demand short transmission delay.

Hereby we choose to take Tree-push based approach to model the problem. It avoids the heavy traffic of control messages and thus reduces transmission delay. We model the problem into a MLDST that minimize the worst case packet loss rate while bound delay and node degree. This problem is then proved to be NP-Complete. We propose Heuristic MLDST by modifying the single-source shortest-path algorithm, Dijkstra’s algorithm, by bounding the Delay Diameter and node degree. Proposed solution depicts a spanning tree with minimum virtual Loss Diameter under delay and node degree constraints. Through several experiment evaluations on PlanetLab, we showed that our solution outperforms other tree construction algorithms in video quality.

The issue of peer churn and membership changes is ignored in our research and will be studied in the future.

Reference

[1] Marc Bui, Franck Butelle, and Christian Lavault, "A Distributed Algorithm for Constructing a Minimum Diameter Spanning Tree", Journal of Parallel and Distributed Computing, Vol. 64, No. 5, May, 2004, pp. 571-577.

[2] Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, Animesh Nandi, Antony Rowstron, Atul Singh, "SplitStream: High-Bandwidth Multicast in Cooperative Environments", Proceedings of the 19th ACM Symposium on Operating Systems Principles, 2003, pp. 298-313.

[3] M. R. GAREY and D. S. JOHNSON, W. H. Freeman, "Computers and intractability: A guide to the theory of NP-completeness", W. H. Freeman and Company, 1979.

[4] Yu-Hsuang Guo, John K. Zao, Wen-Hsiao Peng, Lin-Shung Huang, Fang-Po Kuo, Che-Min Lin, "Trickle: Resilient Real-Time Video Multicasting for Dynamic Peers with Limited or Asymmetric Network Connectivity", Proceedings of 8th IEEE International Symposium on Multimedia,

(46)

43 December, 2006.

[5] Jan-Ming Ho, D.T. Lee, Chia-Hsiang Chang, and C.K. Wong, "Bounded-Diameter Minimum Diameter Spanning Trees and Related Problems", Proceedings of the 5th Annual Symposium on Computational Geometry, 1989, pp. 276-282.

[6] Jan-Ming Ho, D. T. Lee, Chia-Hsiang Chang and C. K. Wong, "Minimum Diameter Spanning Trees and Related Problems", SIAM Journal of Computing, Vol. 20, No. 5, 1991, pp. 987-997. [7] Xiao-Jun Hei, Yong Liu, Keith W. Ross, "IPTV over P2P streaming networks: The mesh-pull approach", IEEE Communications Magazine, Vol. 46, No. 2, February 2008, pp. 86-92.

[8] Hung-Chang Hsiao and Chih-Peng He, "A Tree-Based Peer-to-Peer Network with Quality Guarantees", IEEE Transactions on Parallel and Distributed Systems, Vol. 19, No. 8, August 2008, pp. 1099-1110.

[9] X. Jia, "A Distributed Algorithm of Delay Bounded Multicast Routing for Multimedia Applications in Wide Area Networks", Proceedings of 6th International Conference on Computer Communications and Networks, September, 1997, pp. 208-213.

[10] K. Kalapriya, R. Venkatesh Babu, S. K. Nandy, "Streaming Stored Playback Video Over A Peer-to-Peer Network", Proceedings of IEEE International Conference on Communications, Paris, Vol. 3, June 2004, pp. 1298-1302.

[11] Bo Li, Hao Yin, "Peer-to-Peer Live Video Streaming on the Internet: Issues, Existing Approaches, and Challenges", IEEE Communications Magazine, Vol. 45, No. 6, June, 2007, pp. 94-99.

[12] Jiang-Chuan Liu, Sanjay G. Rao, Bo Li and Hui Zhang, "Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast", Proceedings of the IEEE, Vol. 96, No. 1, January, 2008, pp. 11-24.

[13] Vinay Pai, Kapil Kumar, Tamilmani, Vinay Sambamurthy, Alexander E. Mohr, "Chainsaw: Eliminating Trees from Overlay Multicast", Proceedings of 4th International Workshop on Peer-to-Peer Systems, February, 2005.

(47)

44

[14] Mohit Singh, Lap Chi Lau, "Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal", Proceedings of the 39th Annual ACM Symposium on Theory of Computing, San Diego, California, USA, June, 2007, pp.661-670.

[15] Duc A. Tran, Kien A. Hua, Tai Do, "ZIGZAG: An efficient peer-to-peer scheme for media streaming", Proceedings of 22nd IEEE INFOCOM Conference, Vol. 2, 2003, pp. 1283-1292.

[16] DEB Veeravalli, JB Weissman, "A Robust Spanning Tree Topology for Data Collection and Dissemination in Distributed Environments", IEEE Transactions on Parallel and Distributed Systems, Vol. 18, No. 5, May, 2007, pp. 608-620.

[17] Vidhyashankar Venkataraman, Kaouru Yoshida, Paul Francis, "Chunkyspread: Heterogeneous Unstructured Tree-Based Peer-to-Peer Multicast", Proceedings of the 14th IEEE International Conference on Network Protocols, 2006, pp. 2-11.

[18] Aggelos Vlavianos, Marios Iliofotous and Michalis Faloutsos, "BiTos: Enhancing BitTorrent for Supporting Streaming Applications", Proceedings of 25th IEEE International Conference on Computer Communications, 2006, pp. 1-6.

(48)

45

附錄: 衍生的相關研究

A、 適用於 MANET 之選擇性保證封包送達之通訊協定設計(Partial Reliable TCP for MANET) 許多網路上的資訊服務,如影音資訊, 在網路上傳輸時並未要求封包都送達,不同的封包有 不同的重要性, 例如 MPEG 的關鍵畫面(I -Frame)就比其他畫面重要。 常用的傳輸層通訊 協定中,UDP 與 TCP 都對所有的封包一視同仁,前者不做任何保證,而後者雖可保證所有封 包的送達,但效率較差。本研究提出一個新的 TCP,”Partial-Reliable TCP”,使用選擇 性重傳機制,配合應用程式的需求,對指定的封包提供遞送保護。當封包遺失時,只重傳保 護的封包,可減少額外的網路資源消耗,並提升服務的品質。此外,我們提出 Single-Side 的版本,接收端可以使用一般的 TCP,在封包傳送時,讓接收端以為封包都是無誤傳達的, 在 Client-Server 架構的網路服務中,只有伺服器端必頇使用我們的 Partial-Reliable TCP, 大幅提高本通訊協定的可行性。最後我們利用網路模擬工具 NS-2 來模擬實際網路環境,將我 們的方法與現行的通訊協定在可解畫面封包數、PSNR 值及額外耗用的網路資源三個參數做比 較。我們使用兩個 Video 影像作為傳輸標的,在高遺失率的有線與無線網路的環境中進行實 驗。當傳輸時間限制很短時,(例如影像會議的應用),無論在有線或無線的通訊環境中,都 可以有效的提升影音傳輸的品質。本研究之成果發表在 ICS2008 上[8]。 B、適用於無線隨意式網路及感測 網路之逐節點 TCP 傳輸協定 行動隨意式網路(MANET)是一種具有高度動態拓撲結構的網路。 每一個行動隨意式網路由一 組移動節點(Node)組成,彼此之間互相支援轉送封包可以不依靠基地台建構成 Intranet。此 種網路中,因節點移動之緣故,連線不穩定、頻寬較窄,錯誤率亦較高。傳統的 TCP 傳輸協 定在行動隨意式網路上的效能不免遭受重創。傳統的 TCP 在封包遺失時,只能從傳送端進行 重傳,而行動隨意式網路傳輸品質極不穩定,常常重送多次才可到達目的地,導致要耗費極 長的時間才能將封包送達目的地,然而,在行動隨意式網路中,大量傳輸資料的需求並不大, 反而是封包的快速送達更為重要,因此加速封包的送達成為比增大傳送量更為重要的目標。

(49)

46 為了使封包較快送達目的地端,我們提出了 Hop-by-Hop TCP 的方法,使每個節點使用當地 重傳以保證封包成功的傳到 下一個節點,遺失的封包不必重新由傳送端重傳,能更快反應封 包遺失,並且提昇傳輸可靠度,使封包在高遺失率的情形之下能順利且較為快速的送達目的 地端。 而在感測網路中,這種情況更為明顯,我們將這個協定延伸到感測網路中。我們利用 NS-2 網路模擬器進行實驗,驗證我們的機制,實驗在不同的拓樸及負載等參數下進行,觀察 傳輸成功率及封包傳輸時間,以及公平性。實驗結果指出,本方法無論在 MANET 或感測網路 中均有不錯的表現。此項研究成果已經發表在兩個學術會議,以及一個期刊中[2,4,9]。 C. 有助於提高服務品質的前瞻式封包排程機制 受到封包網路原本忽略時效性特性之影響,對時效性要求極高的多媒體網路服務,如 Voice over IP (VoIP)以及 Video on Demand (VoD)在 All-IP 整合的核心網路上提供時,其服務品 質低於傳統之電路交換網路。 封包在網路的傳遞過程中受到各種因素之影響,於到達目的地 時,可能會造成 long delay time,high jitter 或 packet loss,而在目的地端幾乎已經沒 有補救機會,故而如果能在傳遞的過程中,依封包的時效性及重要性做適度的次序調動 (rescheduling) 而不要依序傳遞(FIFO),讓過遲的封包提前送出,而將有時間餘裕的封包稍 緩送出,如此截長補短,可提高網路效能及整體 QoS 滿意度。我們在 BBQ (Budget-Base QoS) 的架構下發展一套簡單而有效的方法,在單佇列 (Single Preemptive Queue)及多佇列 (Multiple FIFO Queue) 的 router 架構下,根據封包時效性及重要性賦予合適的 profit function, 並參考封包在後續路程上各 router 的負載狀態以便能更精確預估 封包是否能及 時到達目的地並調整 profit function 參數以調整封包的送出順序,如此能提高排程的效能。 我們先對單一服務等級的封包排程進行研究,獲得參數調整之技巧,再根據其結果設計多服 務等級的封包排程方法,其重點在於如何調配 profit function 給不同的服務等級。我們藉 由 NS-2 模擬模擬器進行實驗,評估本方法的效能, 實驗結果顯示我們的方法可以較每個 router 僅根據自身所知的資訊進行排程更可以有效提高網路效能,且能對不同的服務等級做 差異化處理以提高整體 QoS 滿意度。最後在多等級服務的實驗環境及評估指標下,網路高負 載的情況,本方法與 Simulated Priority Queue 排程演算法比較可以提升 34%的整體滿意度。

數據

Figure 1 Architecture of server-client model
Figure 2 Architecture of peer-to-peer network
Figure 3 Architecture of a CoolStreaming system
Figure 4 Administrative organization of peers in ZIGZAG
+7

參考文獻

相關文件

• (*2017年4 月8 日舉行校本支援服務簡介 會,並包括優質教育基金主題網絡計劃

Lecture by baluteshih Credit by zolution... Minimum

危機事件 後果 可預測性 持續性 震撼程度 估計危機 影響程度 一對小四及小. 二的兄妹,居 於學校同邨的

• 下面介紹三種使用greedy algorithm產生minimum cost spanning

Both problems are special cases of the optimum communication spanning tree problem, and are reduced to the minimum routing cost spanning tree (MRCT) prob- lem when all the

Establish the start node of the state graph as the root of the search tree and record its heuristic value.. while (the goal node has not

Non-projective Dependency Parsin g using Spanning Tree Algorithm.. R98922004 Yun-Nung Chen 資工碩一

The min-max and the max-min k-split problem are defined similarly except that the objectives are to minimize the maximum subgraph, and to maximize the minimum subgraph respectively..