1. Trang chủ
  2. » Luận Văn - Báo Cáo

topology optimization for dht based application layer multicast f

49 252 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 49
Dung lượng 2,16 MB

Nội dung

Table of Contents Abstract Acknowledgements iii Abstract 1 Introduction 1.1 Motivation 1.2 Objectives 1.3 Contributions 1.4 Thesis structure 2 5 6 10 10 10 11 12 12 13 14 15 16 Background 2.1 Multicast 2.1.1 Introduction 2.1.1.1 IP Multicast 2.1.1.2 Application Layer Multicast 2.1.2 Application layer multicast protocols 2.1.2.1 Application Domain 2.1.2.2 Deployment Level 2.1.2.3 Group Management 2.1.2.4 Routing Mechanism 2.2 DHT-based multicast 2.2.1 Introduction of P2P Networks 2.2.1.1 Unstructured P2P Network model 2.2.1.2 Hybrid P2P Network model 2.2.1.3 Structured P2P Network model 2.2.2 DHT-based structure P2P networks iv TABLE OF CONTENTS 2.3 v 2.2.2.1 Chord Network 2.2.2.2 Content Adressable Network 2.2.3 DHT-based multicast 2.2.3.1 CAN-based multicast 2.2.3.2 Chord-based multicast 2.2.3.3 Scribe 2.2.4 Topology optimization issues for DHT-based multicast Related works on topology optimization for DHT-based multicast 2.3.1 SplitStream 2.3.2 Capacity Aware Multicast based on Overlay Network - CAMChord 2.3.3 DHT-based lightweight broadcast algorithms in large-scale computing infrastructures Bandwidth Adaptive Multicast 3.1 Overview 3.1.1 Node identifier 3.1.2 Finger table 3.2 Network Construction 3.3 Multicast method over Simulations and Evaluations 4.1 Simulation description 4.2 Evaluation 4.2.1 The depth of multicast tree 4.2.2 Control Overhead Conclusions Chord : BAM Chord 18 20 22 22 24 25 26 26 26 27 28 31 31 32 34 35 36 38 38 38 38 40 42 List of Figures 2.1 Type of transmissions 2.2 IP Multicast 2.3 A Comparison between IP multicast and application-layer multicast 2.4 P2P Network 12 2.5 A unstructured P2P Network with a server 13 2.6 Gnutella-like P2P 14 2.7 An example of Hybrid P2P Model 15 2.8 Scheme of a classic Hash Table 16 2.9 Scheme of a Distributed Hash Table (DHT) 17 2.10 A Chord ring with bit identifier Notice how the finger table is organized and how K54 is looked up following Chord’s algorithm 18 2.11 Example of Chord Finger table 20 2.12 Example of Content Addressable Network 21 2.13 Smart multicast in CAN The dot represents the starting node 23 2.14 An example of Chord-based multicast method In this example, Node sends messages to all nodes in the Chord ring 24 2.15 A simple example illustrating the basic approach of SplitStream Original content is split into two stripes and correlatively, an independent multicast tree is built for each stripes A node is a leaf in one tree and a interior in the other 27 2.16 An example of CAM- Chord, neighbors of x N = [0 31], cx = 28 2.17 Balanced Distributed broadcast tree construction using token in 16node Chord 29 2.18 Balanced Distributed broadcast tree construction using partition in an 11-node Chord 29 3.1 An example of CAM- Chord, neighbors of x N = [0 31], cx = 33 vi LIST OF FIGURES vii 3.2 3.3 An example of CAM- Chord, neighbors of x N = [0 31], cx = 35 An example of CAM- Chord, neighbors of x N = [0 31], cx = 37 4.1 4.2 4.3 Average path length Maximum path length Average path length in Chord, CAM-Chord and BAM-Chord after 32 time steps Average link number per node in Chord Average link in Chord, CAM-Chord and BAM-Chord after 32 time steps 4.4 4.5 39 40 40 41 41 List of Tables 2.1 Definition of variables for node n, using m-bit identifiers 19 viii Abstract In recent years, Distributed Hash Table (DHT) becomes active and ongoing area of research at a lot of universities and labs DHT has many advantages: Decentralization, scalability, fault tolerance, load balancing, data integrity, and performance, Those properties make DHTs are very suitable for deploying multicast services at application layer and in fact, DHT-based network such as CAN, Chord, Pastry, Tapestry, etc can be used to implement Internet-scale application layer multicast However, early DHT-based multicast systems are insufficient in addressing all of these issues: Heterogeneous node capacity, large- scale multicast and dynamic membership Moreover, in those system, when one node joins into system through an arbitrary way, some factors are not considered: nodes bandwidth, nodes positon on DHT network (i.e node identifiers), thus, the multicast tree can be built inefficiently and not balance in structure The solution for assigning an appropriate number of child nodes to each node is far from optimal in term of bandwidth: If the number of child nodes is too high, low capacity node will be overloaded, therefore slows the entire session multicast down If the number of child nodes is too low, high capacity nodes will be used inefficiently In this thesis, we study the method to optimize topology for DHT-based multicast We propose a DHT- based bandwidth adaptive multicast system that forcus on host heterogeneity, scalibility, fault tolerate In our system, nodes bandwidth is firstly considered, result of this process is the basis for determining the level of the node and correlatively caculating nodes identify Level of a node is used to define maximum number of its child nodes As a result, in our model, each node is assigned an optimal numbers of child nodes to forward multicast data Thus, our method can make tradeoff between depth of the multicast tree and bandwidth of every node and take advandtages of DHTs in maintaining multicast tree in churn overlay System chosen for implementation and avaluation is Chord This model is called Bandwidth Adaptive Multicast over Chord: BAM-Chord Chapter Introduction 1.1 Motivation Today, Internet continues to grow rapidly, many communication requirements that we must deal with Cause of the explosion in data communications, demand on transferring large volumes of data to many destination quickly increases To solve bandwidth problems, multicast is a effective solution As the most cost-effective way of delivering the same data to a multiple receivers at the same time, multicast is suited to a large number of applications as mobile Internet, e-commerce, content rich applications, and multi-media services: television broadcast, video conferencing The word ”multicast” is typically used to refer to network layer multicast - IP multicast and was proposed about some decades ago However, IP multicast still has not been widely deployed because of various technical and administrational reasons The disadvantages of implementing multicast at the IP level has led to an interesting application-level multicast Application layer multicast refers to the implementation of multicast capability at the application layer instead of network layer A number of application-level multicast systems have been proposed that are built using structured peer-to-peer (p2p) overlays Originally, distribute hash table (DHTs) were developed with applications like peer-to-peer file sharing Recent years, there has been considerable interest in applying DHTs to overlay multicast applications since it has many advantages: Decentralization, Scalability, Fault tolerance, Load balancing, and performance, Those properties make DHTs are very suitable for deploying multicast services at application layer and in fact, DHT-based network such as CAN, Chord, Pastry, Tapestry, 1.1 Motivation etc has been already used to implement Internet -scale applicastion layer muticast However, early DHT-based multicast systems are insufficient in addressing a number of technical issues: • Heterogeneous output bandwidth of Node: Since the number of child nodes of a node in a multicast tree is decided based on the DHT algorithm without consideration of nodes bandwidth capacity, a node with low bandwidth may become a bottleneck if it is an internal node of a multicast tree • Effective bandwidth utilization: If a node with high bandwidth is a leaf node, the system can not utilize the bandwidth capacity of the node to deliver multicast messages • Dynamic membership: The optimization of multicast trees must be achieved even when member nodes join or leave at anytime To limit the multicasting load on a node, M Castro, el al propose a solution in SplitStream (M.Castro, ), where one node informs its out-degree When it receives a futher join requests, it pushdown this request to its children Nevertheless, Bharambe, et al explored and found heterogeneity issue is not address with SplitStream (Feb, February 24 25 2005) With CAM CAM-Chord and CAM-Koorde designs in (6-1, 10 June 2005), heterogeneity is tackled by allowing node to alter out-degree according to its capacity However, they did not describe how to maintain topology when the out-degree limits Therefore, heterogeneity issue remains open, and should be addressed before deploying DHTs for high-bandwidth multicasting applications S Ratnasamy, M Handley, R Karp, and S Shenker proposed CAN-based multicast (S Ratnasamy & Shenker, Nov 2001) That was the first application-level multicast scheme scales to groups of several thousands of nodes Solution in (S.Q.Zhuang & J.D.Kubiatowicz., 2001) can scales to large groups but has a single root node for each multicast group It supports the any-source model only by having the root node operate as a reflector for multiple senders There have been several ways to deal with dynamic membership: In (S.Q.Zhuang & J.D.Kubiatowicz., 2001), they ensure that the root node of the multicasting tree does not handle all requests to join or leave the multicast group; In (J Li & Lim, 2005), use multiple interior-node- disjoint trees to avoid single points of failure in tree structures; In (S El-Ansary & Haridi, February 2003) The earliest Chapter Introduction DHT-based broadcasting work by El-Ansary, et al did not address the issue of dynamic membership Moreover, in those system, one node join into system through an arbitrary way, thus, the multicast tree can be built inefficiently and not balance in structure The solution for assigning an appropriate number of children to each node is far from optimal in term of bandwidth: If the number of children is too high, low capacity node will be overload, therefore slows the entire session multicast down If the number of children is too low, high capacity nodes will be used inefficiently In this thesis, we study the method to optimize topology for DHT-based multicast We propose a DHT- based bandwidth adaptive multicast system that forcus on host heterogeneity, scalibility, fault tolerate System chosen for implementation and avaluation is Chord, a DHTs representative We extend Chord to be more flexible and it is called BAM-Chord: Bandwidth Adaptive Multicast Chord Our method can make tradeoff between depth of the multicast tree and out-degree of every node and retain the advantages of a DHT network 1.2 Objectives This thesis aims our works at building a multicast system over DHT-based network Hence, we will study to attain the following objectives: • Study P2P network, application layer multicast, DHT-based network and DHT-based multicast system • Study topology optimization problems for DHT-based multicast; • Study models have been proposed on topology optimazation for DHT-based multicast, advantages and disadvantages of those model • Propose a improvement model for deploying multicast over DHT network: BAM-Chord • Evaluate the simulation results and compare with some existing model 1.3 Contributions 1.3 Contributions In the scope of this thesis,we propose a model for deploying multicast service over DHT-based network This thesis not only introduces the background of P2P network, DHT-based network, overall view of DHT-based multicast and related technical issues, but also makes the following contributions: • Proposes an improvement that can optimize network topology This makes multicast tree more balanced and node’s bandwidth adaptation This • Proposes an algorithm to find an optimal position when node joins into multicast session • Proposes a improvement model that can address technical issues in earlier existing systems 1.4 Thesis structure Thesis is organized in chapters Besides the Introduction in Chapter 1, the rest of this thesis is organized as followed: • Chapter introduces multicast, IP multicast, application layer multicast, DHT-based network, multicast over DHT-based network and related works on topology optimization for DHT-based multicast • Chapter descirbes proposed model for deploying multicast over Chord, a DHT representative: Banwidth adaptive multicast over Chord: BAM-Chord • Chapter shows the simulation and evaluate the simulation results in comparison with Chord, CAM-Chord • Chapter concludes our work and points out some possible improvements of our system in the future 30 Chapter Background into two subspaces (Ni , F inger(Ni , j)) and [F inger(Ni , j), l), where F inger(Ni , j) is the closest finger node to the limitation value l in the circular identifier space Second, Ni selects the agent node F inger(Ni , k) in (Ni , F inger(Ni , j)) as its left child,where F inger(Ni , k) is the farthest finger node from F inger(Ni , j) in the circular identifier space, and selects the agent node F inger(Ni , j) in [F inger(Ni , j), l) as its right child Finally, Ni forwards the broadcast message with the limitation value F inger(Ni , j) to F inger(Ni , k) and the broadcast message with the limitation value l to F inger(Ni , j), until no child is selected Two proposed algorithm can build balanced distributed broadcast tree However, since each node has only two child nodes, the path length from source node to leaf nodes of the multicast tree is long and therefore the transmission delay is large and node bandwidth capacity is not optimized Chapter Bandwidth Adaptive Multicast over Chord : BAM Chord 3.1 Overview Consider a multicast group of n nodes,which forms an overlay network like Chord A node which ID is will send multicast messages to all nodes within this overlay network The goal of our system is to build a wide and balanced multicast tree based on the structure of the Chord overlay network even when nodes join or leave at anytime and the bandwidth capacity of nodes is heterogeneous We consider that the relative relation between nodes in a Chord-based multicast tree depends on the positions of nodes (i.e node IDs)in a Chord ring and the links between nodes (i.e entries of finger tables of nodes) Since the structure of a Chord ring is used mainly for multicast and message routing in the ring,it is not necessary to create node IDs randomly Furthermore, the links between nodes should be created such that it results a wide and balanced multicast tree Therefore,the main ideal of our BAM-Chord system is to create a virtual wide and balanced multicast tree on a Chord ring The higher level a node is,the more child nodes the node has Each node in the virtual multicast tree is assigned with a node ID and finger table of a node must contain all child nodes of the node in the virtual multicast tree Real nodes will be assigned to node positions in the virtual multicast tree to form a real multicast tree The size (i.e the number of nodes) of the virtual multicast tree is large enough to include all nodes in a real multicast tree 31 32 Chapter Bandwidth Adaptive Multicast over Chord : BAM Chord Each newly joining node will select its node ID from a number of candidate IDs corresponding to nodes in the virtual multicast tree In order to utilize effectively the bandwidth of nodes while not creating a bandwidth bottleneck in the tree, candidate IDs are selected such that the number of child nodes of each ID is not over the maximum number of nodes that the joining node can forward Here, the maximum number of nodes that a node can forward is roughly estimated based on the out bandwidth of a node, which is estimated based on some bandwidth estimation method or based on the setting of users By the use of a virtual multicast tree and the assignment of real nodes to the tree, our system can build a wide and balanced multicast tree on a Chord ring while using the bandwidth capacity of nodes effectively Our mechanism is done completely decentralized to avoid a single point of failure The detail of our system is given in the next subsection 3.1.1 Node identifier In our system, when a source node wants to send multicast data,it will create a virtual multicast tree on a Chord ring, which root node is the source node Each node of the tree is assigned with an ID belonging to the Chord ring The ID of the root node of the tree is the ID of the multicast source node in the Chord ring A node level i of a node is defined as the distance (i.e the length) from the root node to the node To determine the structure of virtual multicast tree, out degrees l0 , l1 , , ln of nodes at each node level are predefined in which l1 ≥ ≥ ln n is the height of the virtual tree and is also predefined The out-degree of a node defines the number of child nodes of the node in the virtual multicast tree The size (i.e the number of i nodes) of the virtual tree is + Σn−1 i=0 Πj=0 lj When a source node starts a new multicast group, the node will estimate the number of nodes that may receive the multicast data It also calculates a set of outdegrees l0 , l1 , , ln due to out-bandwidth distribution of nodes and estimated size of the multicast group that the node wants to send The out-bandwidth distribution of nodes can be estimated based on some experiments (Cheng Huang, 2007) Suppose that the size of the multicast group is estimated as N and the bandwidths of joining nodes will be outb w1 , outb wN br is the bit rate of the multicast data stream The value of l0 , l1 , , ln can be calculate as follows 3.1 Overview 33 • l0 = [outb ws /br], outb ws is the out bandwidth of the source node • l1 = [outb wx0 /br], x0 = l0 • l2 = [outb wx1 /br], x1 = l0 + l0 l1 • i • l2 = [outb wxn /br], xn = Σn−1 i=0 Πj=0 lj Here, [x] means the nearest integer of x Each node in a virtual multicast tree will be assigned with a node ID through Basic formula as follow • ID of level-0 node (i.e root node) is • IDs of level-1 nodes are [1 + at level-1 x0 2m ], l0 where x0 ∈ {0 l0 − 1} There are l0 IDs • m m m where xi ∈ {0 li − • IDs of level-n nodes are n + x0l.20 + xl10.2.l1 + + l0x.ln−1 ln−1 1}, ∀i ∈ {1 n} There are l0 l1 lt−1 IDs at level-t Here, m is the bit size of ID space Figure 3.1: An example of CAM- Chord, neighbors of x N = [0 31], cx = For example, in Figure 3.1, there are level-1 IDs of 1,11,21 and level-2 IDs of 2,5,8,12,15,18,22,25,28 34 Chapter Bandwidth Adaptive Multicast over Chord : BAM Chord 3.1.2 Finger table In Chord-based multicast, entries of a finger table of a node take two roles Firstly, they are used to route a message to the next node, which is close to the destination node Secondly, they are used to determine nodes belonging to the nodes responsible multicast ranges, so that the node can forward multicast messages to these nodes In our BAM-Chord system, we create links between nodes for both message routing and multicasting Since each node joins to a position corresponding to a node in the virtual multicast tree, it is necessary to create links from the node to nodes corresponding to child nodes in the virtual tree However, not all of nodes in the virtual tree are associated with real nodes since there are join/leave nodes and our joining method is done in a decentralized manner Therefore, we also add redundant links to the finger table of each node Concretely, a level-t node which ID is idn will have four types of entries in its finger table Here, succ(x) means that the successor node of the ID x since a node of ID x may not exit • lt entries linking to lt child nodes of level lt − 1: m m 2 ]), , succ([idn + + (lt − 1) l0 l1 l ]) succ(idn + 1), succ([idn + + l0 l1 l t−1 lt t−1 lt • lt−1 − entries linking to lt−1 − nodes of level lt−1 : succ([idn + + 2m ]), , succ([idn l0 l1 lt−2 lt−1 m + + (lt−1 − 1) l0 l1 l2 t−2 lt−1 ]) • l1 − entries linking to l1 − nodes of level 2: succ([idn + 2m ]), , succ([idn l0 l1 m + (l1 − 1) l20 l1 ]) • l0 − entries linking to l0 − nodes of level 1: succ([idn + 2m ]), , succ([idn l0 m + (l0 − 1) 2l0 ]) Source S which ID is has l0 entries: 1, succ([1 + 2m ]), , succ([1 l0 m + (l0 − 1) 2l0 ]) Figure 3.2 shows the virtual multicast tree in the case all nodes in virtual multicast tree are associated with real nodes 3.2 Network Construction 35 Figure 3.2: An example of CAM- Chord, neighbors of x N = [0 31], cx = 3.2 Network Construction When a source node wants to send multicast data, it creates a virtual multicast tree as described in the previous section When a node x wants to receive multicast data from a source node,it firstly contacts to a bootstrap node to receive information about the source node It then contacts to the source node to get the information related to streaming bit rate br and virtual multicast tree including the set of outdegrees of nodes in the tree l0 l1 ln Suppose that the out-bandwidth of the node is bw, then the node should join to a position which node level t has out-degree of lt ≤ t and lt ≤ bw/br It calculates a number of candidate IDs at different levels and chooses an ID from candidate IDs A joining node calculates a number of candidate IDs by generating a number of sets of randomly values x0 , x1 , x2 , , xt−1 , xi ∈ {0, , li−1 }∀i ∈ {0, , t − 1} Each candidate ID is calculated from the set of x0 , x1 , x2 , , xt−1 based on Basic formula (In subsection Node identifier before) as follows m m m [i + x0 2l0 + x1 l20 l1 + + xt−1 l0 l12 lt−1 ] The node then contacts with a bootstrap node and sends a join probe message to each node responsible for each candidate ID by the use of conventional routing alogorithn of Chord If a candidate ID is not already used by any node, the successor node of that ID will send a reply message In the case there are a number of available candidates IDs, the joining node will select an ID randomly All candidate IDs corresponding to the level t may be hold by other node In that case, the node will select a number of other candidate IDs which level is smaller 36 Chapter Bandwidth Adaptive Multicast over Chord : BAM Chord than t and probe the existence of nodes at these positions again If a node can not find any position in the Chord ring, it will ask the source node to increase the height of the virtual multicast tree When the height of the virtual multicast tree increases by one from n to n + 1, the number of nodes in the virtual multicast tree will increase by l0 l1 ln−1 3.3 Multicast method In our system, when a source node sends multicast messages to nodes in the multicast group which is structured as a Chord ring, it will look up its finger table and specifies the multicast range that each node in the finger table will be responsible for If the IDs of nodes to be send are put in clockwise order as ID0 , ID1 , ID2 , IDk , the multicast range that the node with ID of IDi , ≤ i ≤ k − 1, is responsible for will be from its ID IDi to the ID of the next node minus one (i.e IDi+1 − 1) It then sends multicast messages with responsible multicast range to each node in the finger table Assume that a node, which ID is IDx and out-degree is outd egx receives a multicast message with responsible multicast range of [IDx , IDy ] It first lookups its finger table to find all nodes in its responsible multicast range Assume that the IDs of nodes in the multicast range are put in clockwise order as ID0 , ID1 , ID2 , IDk−1 If the number of these nodes k is smaller than or equal to the out-degree outd egx of the node, the node will select all these nodes to send the multicast message with new responsible multicast range If the number of these nodes k is bigger than the out-degree outd egx of the node, the node will choose the node with ID of ID0 and a number of nodes from ID1 , ID2 , IDk to send the multicast message The number of nodes to be sent must not be over the out-degree of the node and selected nodes must have higher levels then unselected nodes Figure 3.3 shows an example of data multicast on a BAM-Chord ring 3.3 Multicast method Figure 3.3: An example of CAM- Chord, neighbors of x N = [0 31], cx = 37 Chapter Simulations and Evaluations 4.1 Simulation description To evaluate the effectiveness of our BAM-Chord system, we built a simulation program and compare our BAM-Chord method with Chord-based multicast and CAMChord method through some aspects: The depth of multicasttree or the path length from a source node to leaf nodes, the number of links that each node must maintain The simulation program is implemented with the following parameters: • The bit length of the ID space is 32 • The estimated size of the multicast group is 5000 nodes • The out-degrees of nodes are taken from [2 20] uniformly Node joins and leaves randomly based on Pareto Distribution (Distribution, ) during simulation time At each time step, there are a number of node join and leave After each time step, we analyze the topology of the multicast tree to get performance results The next sections show our simulation results 4.2 4.2.1 Evaluation The depth of multicast tree Figure 4.1 shows the average path length of Chord, CAM-Chord and BAM-Chord, ie the depth of multicast tree or the number of the nodes that can be reach by 38 4.2 Evaluation 39 multicast tree from the source node to leaf node Y axis indicates percentage of nodes and X axis indicates path length, ie the number of hops from source to leaf nodes Figure 4.1: Average path length It can be seen from Fig 4.1, BAM-Chord achieve the best result regarding to average path length and maximum path length in comparison with Chord-based multicast and CAM-Chord In Chord-based multicast, since the multicast tree is un-balanced, only 40% of nodes have the path length up to hops and 80% of nodes have path length up to hops The maximum value of path length is 13 In CAMChord, the multicast tree is more balanced than Chord-based multicast Therefore, 60% of nodes have path length up hops while about 95% of nodes have path length up to hops The maximum value of path length is 10 In the case of BAM-Chord, 100% nodes have path length up to hops It is because our method has optimized the positions of nodes in the BAM-Chord such that nodes with high bandwidth will tend to be put at high level and vice versa Moreover, the goal to built multicast tree in BAM-Chord is to obtain a balanced, wide and bandwidth adaptive muticast tree Figure 4.2 shows the maximum value of path length in multicast tree The smaller maximum path length means multicast tree is wider It is clear from Fig 4.2 that the multicast tree in BAM-Chord is widest At any time step, maximum value of path length of BAM-Chord is hops while in CAM-Chord it is 10 hops and in Chord it is 13 hops 40 Chapter Simulations and Evaluations Figure 4.2: Maximum path length Figure 4.3: Average path length in Chord, CAM-Chord and BAM-Chord after 32 time steps 4.2.2 Control Overhead We evaluate control overhead based on the number of links to neighbor nodes of each node Each node must exchange information with their neighbor nodes and this message exchange will cause control overhead As shown in Fig 4.4, in Chordbased multicast about 73% of nodes have the number of neighbor nodes up to 14 and the maximum number of neighbor nodes is 27 In the case of our BAM-Chord each node must maintain links to a larger number of neighbor nodes About 55.5% of nodes have the number of neighbor nodes up to 25 and the maximum number of neighbor nodes per a node is 36 However, our 4.2 Evaluation 41 Figure 4.4: Average link number per node in Chord Figure 4.5: Average link in Chord, CAM-Chord and BAM-Chord after 32 time steps method is still more effective than CAM-Chord In the case of CAM-Chord, about 70.7% of nodes have the number of neighbor nodes up to 30 and the maximum number of neighbor nodes per a node is 62 On average, the number of links per node is 13.6 in the case of Chord-based multicast, 24.1 in the case of BAM-Chord and 27.4 in the case of CAM-Chord Chapter Conclusions DHTs are suitable for deploying many application because of their advantages There has been considerable interest in applying DHTs to application-layer multicast DHTs have many advantages that good for multicast applications: decentralization, scalability, fault tolerance, load balancing, and good routing performances In fact, many DHT-based application layer multicast have been proposed However, early DHT-based multicast designs are insufficient in addressing all of following techinical issues: Heterogeneous Node Capacity, Dynamic membership, Effective bandwidth utilization In this thesis, we have proposed BAM-Chord system: Bandwidth Adaptive Multicast over Chord Our system builds a virtual multicast tree on a Chord ring and let nodes join to positions corresponding to nodes in virtual multicast tree Our system optimizes the topology of multicast tree in two novel points Firstly, by the use of virtual multicast tree, our system allows nodes to select appropriate positions on a BAM-Chord ring based on their output bandwidth such that a node with high output bandwidth will have a high level in the multicast tree Secondly,each node will maintain a number of links to its neighbor nodes such that a wide and balanced multicast tree is constructed The simulation results show the efficiency of BAM-Chord in respect of average path length, control overhead comparing with Chord-based multicast and CAM-Chord 42 Bibliography (6-10 June 2005) Resilient capacity-aware multicasting based on overlay networks Proc of the 25th IEEE Int’l Conf on Distributed Computing Systems,, pp 565– 574 A Bharambe, S Rao, V P S S., & Zhang, H (February 24-25 2005.) The impact of heterogeneous bandwidth constraints on dht-based multicast protocols Proc 4th Int’l Workshop on Peer-to-Peer Systems Chao Liang, Yong Liu, K W R (2009) Topology optimization in multi-tree based p2p streaming system ICTAI ’09 Proceedings of the 2009 21st IEEE International Conference on Tools with Artificial Intelligence Cheng Huang, Jin Li, K W R (2007) Can internet video-on-demand be profitable? SIGCOMM ’07 Proceedings of the 2007 conference on Applications, technologies, architectures, and protocols for computer communications Distribution, P Pareto distribution http://www.math.uah.edu/stat/special/pareto.pdf G Bianchi, N Blefari Melazzi, L B F L P S S (10 July 2009) Streamline: An optimal distribution algorithm for peer-to-peer real-time streaming Parallel and Distributed Systems, IEEE Transactions on, Vol PP, No 99 Huang, K., & Zhang, D (March, 2010) Dht-based lightweight broadcast algorithms in large-scale computing infrastructures Future Generation Computer Systems, Volume 26 Issue 3, Pages 291–303 J Li, K S., & Lim, D.-Y (2005) Implementing aggregation and broadcast over distributed hash tables, ACM Computer Communication Reviews 35 (1) , 81–92 43 44 Bibliography M Castro, P Druschel, A.-M K., & Rowstron, A (2002) Scribe: a large-scale and decentralized application-level multicast infrastructure, IEEE Journal on Selected Areas in Communications 20 (8) M Hosseini, D T Ahmed, S S N D G (2007) A survey of application-layer multicast protocols IEEE Communications Surveys & Tutorials In Communications Surveys & Tutorials, IEEE, No 3., Vol 9,, , pp 58–74, M.Castro, P.Druschel, A.-M A A a splitstream: high-bandwidth multicast in cooperative environments:, in proceedings of 19th acm symposium on operating systemsprinciples2003,pp.298-313 S El-Ansary, L Alima, P B., & Haridi, S (February 2003) Efficient broadcast in structured p2p networks, Second Int’l Workshop on Peer-to-Peer Systems (IPTPS 03), Berkeley, CA, USA, 20-21 S Ratnasamy, M Handley, R K., & Shenker, S (Nov 7-9 2001) Application-level multicast using content-addressable networks Proc of the Third International Workshop on Networked Group Communication S.Q.Zhuang, B.Y.Zhao, A R., & J.D.Kubiatowicz (2001) Bayeux:anarchitecture for scalable and fault-tolerant wide-area data dissemination In ACM NOSSDAV Stoica, R Morris, D K., Kaashoek, M., & Balakrisnan, H (2001) Chord: A scalable peer-to-peer lookup service for internet applications ACM SIGCOMM01 Sylvia Ratnasamy, Paul Francis, M H., & Karp., R (2001) A scalable content addressable network SIGCOMM [...]... without relying on the IP multicast infrastructure, and do not depend on multicast- capable routers This is the so-called application- layer multicast (ALM) 2.1.1.2 Application Layer Multicast The concept of application level multicast is implementation of multicasting functionality at application layer instead of network layer As a result, the multicastrelated functionalities are moved from routers to end-hosts... approach Multicasting by means of flooding to separate overlay 2.2 DHT- based multicast 23 networks for each group If all the nodes in CAN are members of multicast group, multicast messages flood over the entire CAN If only a subset of the CAN nodes are members of a particular group, multicast is achieved through two steps: - Step 1: the members of the group form a group-specific mini CAN Step 2: multicast. .. environmen 2.3 Related works on topology optimization for DHT- based multicast 2.3.1 SplitStream SplitStream (M.Castro, ) is an example of tree -based multicast system that is designed to overcome the unbalanced forwarding load SplitStream strives to distribute the forwarding load over all participating nodes 2.3 Related works on topology optimization for DHT- based multicast2 7 Figure 2.15: A simple example... multicast messages effectively Therefore,nodes in these systems do not need to maintain extra links to other nodes in the overlay network, except the links to neighbor nodes defined by a DHT algorithm DHTbased multicast also gets benefits from failure recovery algorithms which are implemented in most of DHT networks However, early DHT- based multicast designs are insufficient in addressing all of following issues:... discuss about DHT in the next section 2.2.2 DHT- based structure P2P networks In the world of decentralization, DHTs recently have had a revolutionary effect Knowledge of DHTs algorithms is going to be a key ingredient in future developments of distributed applications Achieving good performance with DHTs is an active and ongoing area of research DHTs stand for Distributed Hash Table, a typical definition... neccessary for small groups The tree-building algorithm requires a node to serve other groups not of its interest, thus, it is possible to collapse long paths in the tree by removing this node 26 Chapter 2 Background 2.2.4 Topology optimization issues for DHT- based multicast Generally, DHT- based application layer multicast schemes will optimize topology of DHT- based overlay network to send multicast. .. are a lot of research has been published on the subject to analyze various different DHT algorithms, properties and performance In this thesis, we study the method to optimize topology for DHT- based multicast, system chosen for implementation 18 Chapter 2 Background and evaluation is Chord, one of the first DHTs representatives But we believe that our method can adapt to other DHT- based multicast algorithms... onto different points; and the application of caching and replication techniques 2.2.3 DHT- based multicast Many systems have used a DHT infrastructure in order to deploy multicast service There are two basic approachs to implement applicastion layer multicast on structure P2P network: flooding - based and tree - based In the flooding -based approach, all the member nodes form an overlay network and multicast. .. are: CANbased multicast, Chord -based multicast In the tree -based approach, each group forms a tree on the top of the overlay network by using reverse path forwarding Multicast messages are propagated through its associated forwarding tree Some examples are: Scribe, Bayeux 2.2.3.1 CAN -based multicast In this section, we describe the ALM solution based on CAN, as an representative of flooding -based approach... Pairs (id, key) ranges from 0 to 2m−1 Figure 2.10 shows an identifier circle with m = 6 The use of consistent hashing tends to load balancing purpose: 2.2 DHT- based multicast 19 Table 2.1: Definition of variables for node n, using m-bit identifiers Notation Definition Finger[k].start (n+2k-1) mode 2m, 1= k =m interval [finger[k].start, finger[k+1].start) node First node = n.finger[k].start Successor ... Topology optimization issues for DHT- based multicast Generally, DHT- based application layer multicast schemes will optimize topology of DHT- based overlay network to send multicast messages effectively... network, application layer multicast, DHT- based network and DHT- based multicast system • Study topology optimization problems for DHT- based multicast; • Study models have been proposed on topology. .. Chord -based multicast 2.2.3.3 Scribe 2.2.4 Topology optimization issues for DHT- based multicast Related works on topology optimization for DHT- based multicast

Ngày đăng: 25/12/2015, 17:17

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN