1. Trang chủ
  2. » Tất cả

A Push-Pull Based Application Multicast Layer For P2P Live Video Streaming.pdf

27 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 894,67 KB

Nội dung

Output file VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY BUI THI LAN HUONG A PUSH PULL BASED APPLICATION LAYER MULTICAST FOR P2P LIVE VIDEO STREAMING Major Computer Scie[.]

VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY BUI THI LAN HUONG A PUSH-PULL BASED APPLICATION LAYER MULTICAST FOR P2P LIVE VIDEO STREAMING Major: Computer Science Code : 60 48 01 MASTER THESIS Hanoi – 2011 VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY BUI THI LAN HUONG A PUSH-PULL BASED APPLICATION MULTICAST LAYER FOR P2P LIVE VIDEO STREAMING BRANCH: INFORMATION TECHNOLOGY MAJOR: COMPUTER SCIENCE CODE: 60 48 01 MASTER THESIS SUPERVISOR: DR NGUYEN HOAI SON Hanoi – 2011 Table of Contents Introduction 1.1 Overview and Motivation 1.2 Our contribution 1.3 Thesis organization Background 2.1 An Overview of multicast 2.1.1 IP Multicast 2.1.2 Application layer multicast 2.2 Application layer multicast methods for P2P live video 2.2.1 Tree-based approach 2.2.1.1 Single-tree 2.2.1.2 Multiple-tree 2.2.2 Mesh-based approach Our 3.1 3.2 3.3 3.4 3.5 method for P2P live Overview Overlay construction Data distribution Fair policy Node failure video Experiments and results 4.1 Experimental set-up 4.1.1 Topology 4.1.2 Simulation setting 4.2 Experimental result 4.2.1 Evaluation of services streaming quality if no churn v streaming 1 5 9 11 12 16 17 18 20 22 24 26 26 27 28 29 29 vi TABLE OF CONTENTS 4.2.2 4.2.3 Evaluation of service’s quality if churn is present 31 Evaluation of services quality in heterogeneous bandwidth case 33 Conclusion 36 A Simulation program A.1 Functions: A.1.1 Input data: A.1.2 Output data: A.2 Classes A.2.1 Constant A.2.2 Smpl A.2.3 DoSchedule: A.2.4 Network: A.2.5 Node: A.2.6 Message: 38 38 38 38 39 39 39 39 39 39 40 B Generating input by using GT-ITM 41 List of Figures 2.1 Using unicast, broadcast and multicast for video streaming 2.2 An example of IP multicast 2.3 An example of ALM 2.4 Single multicast tree with 10 nodes 10 2.5 An example of multi-tree based streaming 12 2.6 An example of mesh-based video streaming method 13 2.7 Prime mechanism [MR10] 14 3.1 Pushing connections and pulling connection of a node 18 3.2 Example of changing position of high-bandwidth node 20 3.3 Example of diffusion phase with k = 21 3.4 Example of swarming phase, node pulls missing data 22 3.5 Example of replacement of node failure 25 4.1 An example of real networks topology [NTks] 28 4.2 CDF of average variance between the arrival times of different parts in PRIME and in our method 30 4.3 CDF of average parts delay and average segment delay from source to node in PRIME and in our method 30 4.4 CDF of missing parts ratio of node in our method when there is leave and join nodes 31 4.5 CDF of average variance between the arrival times of different parts in our method when there is leave and join nodes 32 4.6 CDF of average parts delay and average segment delay from source to node in our method when there are leave and join nodes 32 4.7 CDF of missing parts ratio of our method when participating nodes have different bandwidth 33 vii viii 4.8 4.9 LIST OF FIGURES CDF of average parts delay from source to node when participating nodes have different bandwidth 34 CDF of average segment delay from source to node when participating nodes have different bandwidth 35 List of Tables 2.1 Conceptual comparison between IP Multicast and ALM [HASG07] 3.1 Algorithm of selecting node reply pull request 23 ix List of Abbreviations P2P MDC ALM ESM Peer to Peer Multiple Description Coding Application Layer Multicast End System Multicast x Chapter Introduction 1.1 Overview and Motivation With the rapid growth of multimedia applications and the Internet, streaming video over the Internet is becoming more and more attractive to users This is especially the case for live video streaming Live video streaming applications often require transmitting streaming data to a large number of users IP Multicast [DC90] is probably the most efficient solution for this requirement However, the deployment of IP multicast remains restricted due to many practical and political issues [HASG07] Researchers thus have shifted focus to exploiting application-layer multicast (ALM) for data delivery ALM utilizes the ability of end hosts that act not only as receivers but also as senders They can forward their received data to other hosts However, this solution is challenged by the dynamic join/leave of end hosts, the existence of free-riders, the heterogeneous of node bandwidth and the real-time constraint, especially in live streaming applications Many application-layer multicast protocols have been proposed recently Current application-layer multicast protocols can be divided into two classes: tree-based approach and mesh-based approach The tree-based approach, organize participating peers into multicast tree for data delivery ([CDK+ 03], [PWC03], [PKT+ 05], [WXL10], [RD01], [CDKR02], [BBMB+ 10], [LLR09], [THD04]) However, for treebased designs with only one single tree, two major problems can be seen Firstly, it is unfair between interior nodes and leaf nodes when leaf nodes not contribute to the system Secondly, the leave/failure of any interior node may cause packet outage in all its descendant nodes Chapter Introduction To deal with these problems, in SplitStream [CDK+ 03], nodes are structured into multiple diverse trees such that an interior node in this tree will be a leaf node of all other trees Video streams are split into several smaller sub-streams using Multiple Description Coding [AW01] or layered video [LPA98] and each sub-streams data is delivered by one tree However, SplitStream requires all nodes to have equal bandwidth Otherwise, its performance will be degraded Some recent tree-based research ([BBMB+ 10], [LLR09]) overcomes the disadvantage of Splitstream by optimizing the construction of multi trees even when nodes have different bandwidth However, multi-tree based approach still has a disadvantage of long buffering time due to the variation in arrival times of different sub-streams data Another problem that all multi-tree-based designs have to face is the cost of maintaining and recovering multicast trees when there is a node churn (there is node join and leave in the system) Recently, mesh-based P2P streaming approach ([MR10], [MRW07], [VYF06], [ZXBY05], [ZLZY05], [LPA98], [CdSLMM11], [HCC10], [CJW11], [LKHT10]) has attracted a lot of attention since it can minimize the impact of node churn and low bandwidth of a neighbour node by pulling necessary data from a number of appropriate neighbour nodes Each node independently selects some nodes as neighbours and pulls data from them based on an assumption that neighbour nodes may have necessary video data However, there is a trade-off between minimum delay by sending pull request and overhead of whole system ([VYF06], [ZLZY05]) Furthermore, there are may exist content bottleneck due to the lack of data at the pulled nodes PRIME [MR10] improves bandwidth bottleneck and content bottleneck by combining a method of pushing data via multiple sub-trees and a method of pulling data from nodes in different sub-trees However, PRIME did not show clearly how is built the overlay network in the case that the bandwidth degree constraint does not satisfied and decentralized [CdSLMM11], [CJW11] proposed some different strategies to select connections but all these strategies are built based on the fact that the bootstrap node must store the whole information about all nodes in the network, which leads to low scalability [LKHT10] shows how to build a decentralized overlay network but with the cost of increased computation complexity In addition, these strategies does not address problems such as long buffering time, node churn or free-riders Realizing this drawback in current application layer multicast methods for video streaming, we aim to propose a push-pull based method for lower delay and better Chapter Background In this chapter, we present the basic concepts of this thesis Firstly, we introduce a briefly overview of multicast and why multicast is the choice for video streaming application and a comparison between IP Multicast and application layer multicast (ALM) Secondly, we discuss about current ALM solutions for P2P live video streaming 2.1 An Overview of multicast In live video streaming applications, a source sends the same video stream to end hosts For example, the same video stream is sent to many viewers in IPTV application Multicast is the most suitable mechanism for video streaming application in comparison with other communication mechanisms such as unicast and broadcast [HASG07] Multicast is mechanism that allows sender to send data to a group of receivers [Dee92] The group of receivers is named as host group or multicast group Figure 2.1 shows multicast, unicast and broad cast methods for video streaming application Unicast allows a source to send data to a single host Video streaming application must use multiple unicast connections Therefore, the number of viewer is limited by the bandwidth of source node In broadcast approach (Fig 1b), data is sent from source to all end hosts In this mechanism, node that does not want to receive data still receives data It causes a waste of network resources In multicast approach (Fig 1c), data is transmitted to a set of receivers After receiving data, a receiver can copy and forward this data to another receiver Therefore, multicast approach reduces the dependence of system on ability of source node Chapter Background Figure 2.1: Using unicast, broadcast and multicast for video streaming and utilizes capacities of all nodes in the network Current multicast methods are classified in two main class: IP multicast (multicast in network layer) and application layer multicast (ALM) 2.1.1 IP Multicast IP multicast [DC90] is deployed in network layer In this method, source sends the message only once; the network then delivers the message to all receivers Each packet from source is copied by the network at routers After that, routers deliver this packet to receivers Figure 2.2 shows an example of IP multicast Source S sends data to receiver H1, H2, H3, H4 and H5 Firstly, source S send data to router R1 At router R1, data is copied and forwarded to R2, R3, R4 and R5 These routers continue to deliver data to destination H1, H2, H3, H4 and H5, respectively Many IP Multicast models have been proposed such as in [WPD88], [Eri94] and [DEW97] In this thesis, we not discus details of IP Multicast techniques and its problems such as group management, address location and security For more information, the reader can refer to [DLL+ 00] IP Multicast approach makes the most efficient use of network resources because the source has to send data only once and the same message is not delivered more than one at each link [HASG07] However, implementation of this mechanism requires that the routers are intelligent In particular, the routers in the network must 2.1 An Overview of multicast Figure 2.2: An example of IP multicast have the ability to set-up and to tear down IP Multicast sessions Beside, routers must be capable of processing and routing IP Multicast packets These requirements are the main major barrier of IP Multicast’s deployment in global network because the cost for changing platforms is too high 2.1.2 Application layer multicast Because IP Multicast’s deploying limitation as discussed above, many researchers shifted their focus to deploying multicast in application layer (or ALM) In ALM, end hosts are responsible for copying and forwarding data instead of intermediate means such as routers as in IP Multicast Each receiver receives a packet from other receivers Then, it copies that packet and forwards to other receiver without knowledge of underlying network topology such as how the packet is transferred via router or this link has transmitted this message or not Figure 2.3 shows an example of ALM, in which, the multicast tree is built as shown in Fig 3b Figure 3a describes delivering of data Firstly, source S send data to H1, H3 and H5 via links of routers R1R2, R1R3 and R1R5, respectively After that, H1 copies data and forwards to H4 via links of routers R2R3 and R3R4 H3 Chapter Background Figure 2.3: An example of ALM copies data and forwards to H2 via link of routers R3R2 In the example in Fig 2.3, R2R3 link sends the same data twice The duplicate data at the same link leads to waste the network resource and increase network overload Beside, ALM methods also increase the streaming time For example, H2 can receive data sooner if it is H1’s child Thus, the lack of underlying layer information leads to increase of transmission delay and increase of network overload However, it is also advantage of ALM It makes ALM easy and possibly immediate deployment over the current Internet For example, End System Multicast (ESM) ([ESMgy], [CRZ00]) is one of the currently deployed implementation of ALM Table 2.1 shows the conceptual comparison between IP Multicast and ALM [HASG07] Table 2.1: Conceptual comparison between IP Multicast and ALM [HASG07] Issues IP Multicast ALM Efficiency in term of delay/bandwidth High Low Medium Complexity or overhead Low Medium - High Ease of deployment Low Medium - High Implemented layer Network Application 2.2 Application layer multicast methods for P2P live video streaming9 2.2 Application layer multicast methods for P2P live video streaming Although less efficient than IP Multicast, ALM is increasing in popularity due to its ease of deployment In this section we discuss current method ALM for P2P live video streaming Many application-layer multicast protocols for P2P live video streaming have been proposed recently Based on topology, current applicationlayer multicast protocols can be divided into two classes: tree-based approach and mesh-based approach Here, some readers may wonder why we not choose client-server model for live video streaming instead of P2P model In fact, client-server model is a simple solution for live video streaming applications In this approach, a client sets up a connection to server or local server (such as in Content Delivery Network) and video stream is delivered to client directly from the server However, the number of users is limited by the ability of source video server and the scalability of client-server method is very costly Peer-to-Peer (P2P) approach has recently emerged as a new solution for video streaming The key idea of P2P video streaming is to encourage peers to contribute to the network by acting as both clients and servers Each peer not only receives data from the network, but also forwards this data to other peers This mechanism reduces the bandwidth burden on the server and utilizes the capacity of all peers in the network 2.2.1 Tree-based approach 2.2.1.1 Single-tree Many video streaming solutions based on single tree have been proposed ([CDK+ 03], [PWC03], [PKT+ 05], [WXL10], [BBMB+ 10], [LLR09], [THD04]) and widely known such as Overcast [JGJ+ 00], ESM [CRZ00] or ZigZag [THD04] In this approach, participating nodes (or end hosts) are organized into a multicast tree The root of this multicast tree is source video node Each participating node has a level that determined by the number of steps from the root to this node on the multicast tree Nodes that is nearest to the root have level 1, then nodes have link with these nodes have level and so on Each node receives video stream from its 10 Chapter Background Figure 2.4: Single multicast tree with 10 nodes parent node at lower level and forwards this video stream to its child nodes at higher level Figure 2.4 shows an example of an application-layer multicast tree with ten nodes There are two level nodes that receive video stream directly from source The four level nodes receive video stream from the level nodes and 1, and forward video they get to the four highest level nodes (leaf nodes) There are many ways to construct a multicast tree from a set of nodes The main targets while constructing a multicast tree are reducing the depth of tree and increasing the number of children of each node (or fan-out) as much as possible Leaf nodes receive data last in the network Therefore, reducing the height of tree leads to reduced at streaming time It is clearly that the greater number of children in each node, the smaller the height of the tree However, the number of children of each node is limited by the bandwidth of each node Because, if the fan-out is too large (the number of a node’s child), node’s overload will increase and leading to longer delay or failure Another problem of single tree-based approach is the cost of maintaining tree A participating node can leave the network at any time without being able to predict cause of computer crashes or connection problems Then all the descendant nodes cannot receive the video stream For example, if node (in Fig 2.4) leaves the network, all nodes 2,3,6,7,8 will be affected and could not receive data In order to minimize this impact, multicast tree needs to recover as soon as possible Many researchers have proposed solutions to optimize tree and reduce recovering time In ZigZag [THD04], nodes in same level are organized into groups; each group 2.2 Application layer multicast methods for P2P live video streaming 11 will select a head node When a node leaves the network, this child nodes ask head node to find another replacement quickly However, the case that parent node and head node leave the network at the same time is not discussed ZigZag also points out a mechanism to reduce the height of tree by pushing high bandwidth nodes in lower level Other solutions [MZ04] and [TJ07] proposed reduce recovering time by storing information about the ancestor nodes Then, a node can contact its grandparent node to repair failure of parent node Thus, some problems of single-tree based approach are solved However, an important problem of this solution is that leaf nodes not contribute to the network In a balanced tree with fanout f and height h, the number of interior nodes (f h − 1) and the number of leaf nodes is f h Thus, the fraction of leaf nodes is (f − 1) increases with f For example, in a tree with fanout 16, and over 90% of peers are leaves and the burden of deliver content message is carried by less than 10% of the peers Assuming that each node has the same input bandwidth, each node will have to upload the data volume by 16 times the amount of data it receives Thus, this solution does not ensure fairness between the nodes and not utilize capacity of all nodes 2.2.1.2 Multiple-tree In order to solve the problem that leaf nodes not contribute to the network, multicast-based trees are proposed in [CDK+ 03] and [KRAV03] In this approach, the source video node divides into several sub-streams using Multiple Description Coding [AW01] (MDC) Instead of delivering data through a single multicast tree, source delivers data through multiple trees, each tree delivers a sub-stream Each participating node joins into all multicast trees to receive the complete video Figure 2.5 shows an example of streaming based on multi-tree with children and nodes The source node divides the video stream into two video sub-streams Then the source node pushes the first sub-stream to the left child and the second sub-stream to the right child Nodes and continue push the first sub-stream that is received from node to their children nodes 3, 4, and Similarly, nodes and receive the second video sub-stream from node and upload this sub-stream to nodes 0, 1, and In comparison with the single tree designs, the multiple tree designs increase k times the inbound bandwidth of each node (in the case fan-out of all nodes is k ) and 12 Chapter Background Figure 2.5: An example of multi-tree based streaming distribute overload to all nodes Besides, if there is a churn (node join or leave), only a single multicast tree will be affected However, this method also has significant disadvantages In Splitstream [CDK+ 03], interior nodes in a multicast tree will be the leaf nodes of all other multicast trees Here, this design requires that all nodes must have the same bandwidth This is impossible in real network In addition, if there is churn, it will be very difficult to recover multicast tree while satisfying the construction constraints Recently proposal methods [BBMB+ 10] and [LLR09] construct the multicast based on the bandwidth that nodes contribute In other words, node can be interior nodes in more than one tree The probability that a node is interior node in a tree depends on bandwidth of this node Nevertheless, there is a trade-off between efficient and complexity in these methods In addition, multi-tree based approach still has a disadvantage of long buffering time due to the variation in arrival times of different sub-streams’ data Another problem that all multi-tree-based designs have to face is the cost of maintaining and recovering multicast trees when there is a node churn 2.2.2 Mesh-based approach In the mesh-based P2P streaming approach ([MR10], [MRW07], [VYF06], [ZXBY05], [ZLZY05], [LPA98], [CdSLMM11], [HCC10], [CJW11], [LKHT10]), each node establishes and maintains connections with a set of nodes, call as neighbour nodes These connections construct a mesh that covers the entire network The ... method ALM for P2P live video streaming Many application- layer multicast protocols for P2P live video streaming have been proposed recently Based on topology, current applicationlayer multicast. .. video streaming application and a comparison between IP Multicast and application layer multicast (ALM) Secondly, we discuss about current ALM solutions for P2P live video streaming 2.1 An Overview... methods are classified in two main class: IP multicast (multicast in network layer) and application layer multicast (ALM) 2.1.1 IP Multicast IP multicast [DC90] is deployed in network layer In

Ngày đăng: 03/02/2023, 19:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w