Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Efficient Video Dissemination in Structured Hybrid P2P Networks | Vietmse 2, Papers of Linguistics

Material Type: Paper; Class: INTERMEDIATE; Subject: Vietnamese; University: University of California - Irvine; Term: Unknown 1989;

Typology: Papers

Pre 2010

Uploaded on 09/17/2009

koofers-user-wnt-1
koofers-user-wnt-1 🇺🇸

5

(1)

10 documents

1 / 4

Toggle sidebar

Related documents


Partial preview of the text

Download Efficient Video Dissemination in Structured Hybrid P2P Networks | Vietmse 2 and more Papers Linguistics in PDF only on Docsity! EFFICIENT VIDEO DISSEMINATION IN STRUCTURED HYBRID P2P NETWORKS Thinh Nguyen Krishnan Kolazhi Rohit Kamath Sen-ching S. Cheung {thinhq, krishnan, kamathr}@eecs.orst.edu cheung@engr.uky.edu School of EECS ECE Department Oregon State University University of Kentucky Corvallis, OR 97330 Lexington, KY 40506 1. ABSTRACT In this paper, we propose a structured hybrid P2P Mesh for optimal video dissemination from a single source node to multiple receivers in a bandwidth-asymmetric network such as Digital Subscriber Line (DSL) access network. Our hybrid P2P structured mesh consists of one or more Supernodes responsible for node and mesh manage- ment and a large number of streaming nodes, Peers. The peers are interconnected in a special manner designed for streaming and real- time video dissemination and are responsible for the actual data de- livery. Our proposed hybrid P2P structured mesh is designed to achieve scalability, low delay and high throughput. Our experi- mental Internet-wide system consisting of PlanetLab nodes demon- strates the aforementioned qualities. 2. INTRODUCTION Many video multicast applications rely on the network topology and protocols for efficient data dissemination from a single source node to a large number of destination nodes. IP Multicast is a well known example of data dissemination over the Internet. IP Multicast is im- plemented at the network layer to prevent packet duplication on the physical link. However, IP Multicast is not widely deployed due to compatibility issues across Autonomous Systems(AS). Hence over- lay multicast systems are preferred. In an overlay multicast system, the application layer performs the sophisticated functions, leaving the underlying routers unchanged. However, traditional overlay multicast is not optimal in terms of throughput since the leaf nodes do not contribute their bandwidth to the system. Recent works [1][2][3] employ P2P model to increase the resilience and through- put of the system. In this paper, we design a hybrid peer-to-peer (P2P) system that achieves scalability, low delay and high through- put. Assumptions : 1. The download bandwidth of a node is larger than its upload bandwidth. Hence, the bandwidth bottleneck is due to the upload capacity of a node. This assumption holds true for the networks consisting of DSL subscribers or wireless networks, and 2. Due to the limited scope of this paper, we assume that the up- load capacities of all nodes are approximately the same in order to simplify our discussion. 3. TOPOLOGY 3.1. Balanced Mesh In [4], we show that a b-balanced mesh topology as in Figure 1 re- sults in maximum dissemination throughput and at the same time, achieves a trade-off in delay and out-degree. b is the outdegree of a node. The key observation is that in order to achieve maximum throughput, every node must send useful data. Thus, unlike the tra- ditional multicast, the topology in Figure 1 enables the leaf nodes to send data. To prevent data duplication at the receivers, the source node partitions the data into distinct segments and sends these dis- tinct segments onto different downstream links. Each internal node Source 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 A B A A B B A B B A B B B B B A A A A A Fig. 1. Balanced mesh. then forwards the same data segment on its downstream links. The leaf nodes then exchange data segments with other leaf nodes. The data segments are then forwarded to the ancestor nodes in such a way that all the nodes receive the complete data segments. Figure 1 shows a 2-balanced mesh. The source partitions the data into two segments A and B and sends them down onto different links. In [4], we present an algorithm for building this type of balanced mesh for different outdegree b. A larger outdegree b results in a shorter delay. However, this may lead to higher cost of link management and re- sources. At the limit, if every node connects to all other nodes, then the delay is short. However, in such a case when one node leaves the network, all other nodes are affected. 3.2. b-Unbalanced Mesh One significant drawback with the b-balanced mesh is that the num- ber of nodes must be of the form 1−b n 1−b where n is the level num- ber in the mesh. In this paper, we present a b-unbalanced mesh that does not suffer this drawback. The key idea is to cascade multiple b- balanced meshes. For convenience, we denote the mesh containing the source node as the primary mesh and other meshes connected to the primary mesh as secondary meshes. In order to achieve low delay, the number of nodes in the secondary meshes is limited to b2 − 1. Once the number of nodes reaches b2, we destroy the sec- ondary mesh(es) and attach the secondary mesh nodes at appropri- ate places in the primary mesh. 3.2.1. Constructing and maintaining the b-unbalanced mesh Assume that we already have in place a balanced primary mesh. When a new node joins the network, it acts as the root node of the secondary mesh. Now, when another node joins the network, it is added to the secondary mesh using the algorithm for constructing the b-balanced mesh as described in [4]. This process repeats as long as the number of nodes in the secondary mesh(es) is fewer than b2. Once the node count reaches b2, we destroy the secondary mesh and join the nodes to the primary mesh as described below. Since there are b2 new nodes, they can be attached to b nodes in the primary mesh. In particular, the first b new nodes will be attached to the first node from left to right within the first group. The second b new nodes will be attached to the first node from left to right within the second group. The process continues until 16731­4244­0367­7/06/$20.00 ©2006 IEEE ICME 2006 Source host 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 16 17 15 (a) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 16 1715 18 (b) Fig. 2. (a) The mesh immediately before the destruction of the sec- ondary mesh; (b) immediately after the destruction of the secondary mesh. the last b new nodes are attached to the first node in the rightmost group. When b new nodes attach to a node P in the primary mesh, node P disconnects b− 1 connections to other nodes in other b− 1 groups and one connection that is used to forward data from one other group to its ancestor. With the availability of b connections, node P can forward data from its parents to b new nodes. The b new nodes are then connected to other nodes in other groups in a similar manner as described in the balanced mesh. Since the an- cestor of node P no longer receives the data from the other branch, the rightmost node of the new b children of P will forward the data to P ’s ancestor. Now if more nodes join, another secondary mesh is constructed. After bj−1 new nodes join, where j is the depth in the primary mesh, the primary mesh is balanced and its depth in- creases by 1. Figure 2 illustrates the incremental construction of a 2-unbalanced mesh. Initially, the primary mesh consists of 15 nodes. Figure 2(a)shows the resultant topology after 3 new nodes join. When the fourth node joins, the secondary mesh is destroyed and its nodes are attached to the nodes in the primary mesh. Nodes 15 and 17 are attached to node 7, nodes 17 and 18 to node 11. Node 7 and 11 are disconnected from each other. They also no longer forward data to their ancestors. Instead, they use these two extra connections to forward data to the new nodes. Node 15 and 16 then exchange the data with nodes 17 and 18 as before. Node 15 also forwards data from other group to its parent (node 7) and node 16 forwards data from other branch to its grandparent (node 3). Thus, all nodes receive complete data. 3.2.2. Node Deletion If the departing node belongs to the primary mesh, perform one of following steps: 1. If there exists a secondary mesh, pick a node that belongs to the secondary mesh to replace the departing node. This step main- tains the same structure for the primary mesh. Next, rebuild the secondary mesh. 2. If there is no secondary mesh and the departing node is not of the largest depth, pick a leaf node in the primary mesh with the largest depth to replace the departing node. Next, construct a secondary mesh consisting of the b2−1 nodes. These b2−1 nodes are the sib- lings of the chosen node, i.e. the nodes in other groups that connect directly to the departing node and their siblings. If the departing node is of the largest depth, node replacement is not necessary and a secondary mesh consisting of b2 − 1 nodes associated with the departing node is constructed. If the departing node belongs to a secondary mesh, rebuild the secondary mesh. It can be proved that in the P2P mesh, the number of nodes affected by a node removal or insertion is at most O(b2), the delay is of O(logb) and the through- put is maximum. Thus, this topology is efficient and scalable as the node management and mesh maintenance overhead does not depend on the number of nodes. 4. SYSTEM ARCHITECTURE Although the proposed b-unbalanced mesh can be built in a com- pletely distributed way, we believe a hybrid P2P architecture offers many more benefits. A hybrid P2P architecture enables scalable data dissemination among the nodes and at the same time, provides other benefits such as security and flexibility due to the centralized management. We now briefly discuss our hybrid architecture. In our proposed hybrid P2P network, a node is classified as ei- ther a Supernode or a Peer. 1. Supernode: A Supernode is the con- troller of the system as it performs all necessary mesh management functions. It is a special node which handles requests from other nodes for joining or leaving a session. Its task is to maintain an ac- curate global view of the topology of a session. A supernode can handle multiple sessions, i.e. multiple topologies. An Algorithm Component (AC) running on the supernode is responsible for pro- ducing a list of affected nodes and the corresponding actions when a new node joins or leaves the network. The supernode then uses the outputs from the AC to send out appropriate messages to other nodes to instruct them with appropriate actions. 2. Peer: A peer is a node that is part of some session which is managed by a supern- ode. A peer is connected to other peers to form the topology. The peer gets information about its neighbors from the supernode when it joins. When a new node is added to the network, the peer’s neigh- bors get updated to maintain the optimal topology. In this case the peer is informed about the new neighbors by the supernode through standard messages. In addition to these main roles, a node may also be an entity only interested in obtaining information from a supern- ode about all the ongoing sessions. It is not part of any session and hence, not part of the whole P2P network. Once it gets a list of sessions from a supernode, it can decide whether it wants to join a session, host a session or do nothing. Once it joins a session, it be- comes a peer. This node can refer to a published list of supernodes to get access to a particular supernode. 4.1. Hosting and Joining Sessions The node that desires to host a session contacts a supernode and makes a request for the same by providing information such as the streaming file name and the preferred transport protocol. Assuming that the supernode has the resources to manage the session, it creates a new Session object. Creating a session object mainly involves creating a new AC, which maintains the mesh topology for the new session. Next, the supernode sends the host a generated Session ID for the new session. Now the session is listed on the supernode and any node wanting to join this session will contact it. Figure 3 shows the interaction between a peer and a supernode when the peer wants to join a session. Whenever a node wants to join an existing session, it contacts a supernode and gets the list of sessions managed by that supernode. It then picks a session it wishes to be a part of and sends a Join request along with the Ses- sion ID to the supernode. When the supernode receives a join mes- sage from a peer, depending on the session ID, the corresponding AC for that session updates the topology to accommodate the new node. Updating the topology has two aspects. First, existing nodes have to be updated so that they can find their new neighbors. Sec- ond, the new node needs to know the nodes it is required to connect to. The AC does the work of identifying the nodes that need updat- ing and passes on the information to the supernode. The supernode 1674
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved