1Department of Electrical Engineering and Computer Science, University of Michigan, USA. 2Department of Computer Science, National University of Singapore,

Slides:



Advertisements
Similar presentations
VBI-Tree: A Peer-to-Peer Framework for Supporting Multi-Dimensional Indexing Schemes Presenter: Quang Hieu Vu H.V.Jagadish, Beng Chin Ooi, Quang Hieu Vu,
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer to Peer and Distributed Hash Tables
Scalable Content-Addressable Network Lintao Liu
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
A Fast and Memory Efficient Dynamic IP Lookup Algorithm Based on B-Tree Author:Yeim-Kuan Chang and Yung-Chieh Lin Publisher: 2009 International Conference.
Technische Universität Yimei Liao Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei.
Technische Universität Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei Liao.
CHORD: A Peer-to-Peer Lookup Service CHORD: A Peer-to-Peer Lookup Service Ion StoicaRobert Morris David R. Karger M. Frans Kaashoek Hari Balakrishnan Presented.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora.
Massively Distributed Database Systems Distributed Hash Spring 2014 Ki-Joune Li Pusan National University.
B+-Trees (PART 1) What is a B+ tree? Why B+ trees? Searching a B+ tree
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Schenker Presented by Greg Nims.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Presented by Elisavet Kozyri. A distributed application architecture that partitions tasks or work loads between peers Main actions: Find the owner of.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
A Scalable Content-Addressable Network Authors: S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker University of California, Berkeley Presenter:
A Scalable and Load-Balanced Lookup Protocol for High Performance Peer-to-Peer Distributed System Jerry Chou and Tai-Yi Huang Embedded & Operating System.
SCALLOP A Scalable and Load-Balanced Peer- to-Peer Lookup Protocol for High- Performance Distributed System Jerry Chou, Tai-Yi Huang & Kuang-Li Huang Embedded.
Secure Overlay Services Adam Hathcock Information Assurance Lab Auburn University.
SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Data Structures Using C++ 2E Chapter 11 Binary Trees and B-Trees.
P2P Course, Structured systems 1 Skip Net (9/11/05)
P2P Course, Structured systems 1 Introduction (26/10/05)
B-Trees (continued) Analysis of worst-case and average number of disk accesses for an insert. Delete and analysis. Structure for B-tree node.
Peer-to-peer file-sharing over mobile ad hoc networks Gang Ding and Bharat Bhargava Department of Computer Sciences Purdue University Pervasive Computing.
CS4432: Database Systems II
Structured P2P Network Group14: Qiwei Zhang; Shi Yan; Dawei Ouyang; Boyu Sun.
1 A scalable Content- Addressable Network Sylvia Rathnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Pirammanayagam Manickavasagam.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Other Structured P2P Systems CAN, BATON Lecture 4 1.
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
1 B-Trees & (a,b)-Trees CS 6310: Advanced Data Structures Western Michigan University Presented by: Lawrence Kalisz.
Binary Trees, Binary Search Trees RIZWAN REHMAN CENTRE FOR COMPUTER STUDIES DIBRUGARH UNIVERSITY.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Starting at Binary Trees
1 Tree Indexing (1) Linear index is poor for insertion/deletion. Tree index can efficiently support all desired operations: –Insert/delete –Multiple search.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
Scalable Content- Addressable Networks Prepared by Kuhan Paramsothy March 5, 2007.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
P2P Group Meeting (ICS/FORTH) Monday, 28 March, 2005 A Scalable Content-Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp,
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin.
BATON A Balanced Tree Structure for Peer-to-Peer Networks H. V. Jagadish, Beng Chin Ooi, Quang Hieu Vu.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Peer-to-Peer Networks 03 CAN (Content Addressable Network) Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
Bushy Binary Search Tree from Ordered List. Behavior of the Algorithm Binary Search Tree Recall that tree_search is based closely on binary search. If.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
Malugo – a scalable peer-to-peer storage system..
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Magdalena Balazinska, Hari Balakrishnan, and David Karger
A Scalable Peer-to-peer Lookup Service for Internet Applications
SCOPE: Scalable Consistency in Structured P2P Systems
DHT Routing Geometries and Chord
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
Presentation transcript:

1Department of Electrical Engineering and Computer Science, University of Michigan, USA. 2Department of Computer Science, National University of Singapore, Singapore. 3CSAIL, Massachusetts Institute of Technology, USA. 4Singapore-MIT Alliance, National University of Singapore, Singapore BATON: A Balanced Tree Structure for Peer-to-Peer Networks H. V. JAGADISH 1, Beng Chin OOI 2,4 Martin RINARD 3,4, Quang Hieu VU 4 ABSTRACT We propose a balanced tree structure overlay on a peer-to-peer network capable of supporting both exact queries and range queries efficiently. In spite of the tree structure causing distinctions to be made between nodes at different levels in the tree, we show that the load at each node is approximately equal. In spite of the tree structure providing precisely one path between any pair of nodes, we show that sideways routing tables maintained at each node provide sufficient fault tolerance to permit efficient repair. Specifically, in a network with N nodes, we guarantee that both exact queries and range queries can be answered in O(logN) steps and also that update operations (to both data and network) have an amortized cost of O(logN). An experimental assessment validates the practicality of our proposal. INTRODUCTION Peer-to-Peer (P2P) systems have become popular recently. The central strength of P2P systems is the capability of sharing resources so that larger costly servers can be replaced by systems of smaller computers. The biggest challenge in building an effective P2P system is in tying together these multiple autonomous computers into a cohesive system. This is usually done by means of a logical “overlay network” used to organize the data managed by these computers, which represent nodes in this overlay network. Various topologies have been suggested for this network, including a ring [1] and a multi-dimensional grid [2]. With several of these overlays, it is well-known how to build “distributed hash tables” across nodes in a P2P system. The overlay network we propose is based on a binary balanced tree structure in which each node of the tree is maintained by a peer. Each peer in the network stores a link to its parent, a link to its left child, a link to its right child, a link to its left adjacent node, a link to its right adjacent node, a left routing table to selected nodes on its left hand side at the same level, and a right routing table to selected nodes on its right hand side at the same level. We call our proposed structure BATON, for BAlanced Tree Overlay Network. While the tree structure is binary, it has scalability and robustness similar to that of the B-tree. An immediate benefit of a tree structured overlay network is convenient support for range queries, which cannot be supported by conventional distributed hash tables. BATON STRUCTURE CONCLUSIONS There is a plethora of overlay networks proposed for P2P systems. None of these are tree structures in spite of tree structures being ubiquitous in data management. In this poster, we introduced BATON, a balanced binary tree overlay network for P2P systems. By adding a small number of links in addition to the tree edges, we are able to obtain excellent fault tolerance, and also to get good load distribution without having to overload nodes near the root of the tree. We have shown how this tree structure can naturally be used to support an index structure for range queries. We have experimentally verified our complexity claims. REFERENCES [1]D. Karger, F. Kaashoek, I. Stoica, R. Morris, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the 2001 ACM SIGCOMM Conference, pages 149–160, [2] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker. A scalable contentaddressable network. In Proceedings of the 2001 ACM SIGCOMM Conference, pages 161–172, [3] C. Y. Liau, W. S. Ng, Y. Shu, K.-L. Tan, and S. Bressan. Efficient range queries and fast lookup services for scalable p2p networks. In Proceedings of the 2nd DBISP2P, pages 78–92, Query Processing Figure 3: An existing node b leaves the network Definition 1: A tree is balanced if and only if at any node in the tree, the height of its two subtrees differ by at most one. Theorem 1: The tree is a balanced tree if every node in the tree that has a child also has both its left and right routing tables full. Theorem 2: If a node, say x, contains a link to another node, say y, in its left or right routing tables, the parent node of x must also contain a link to the parent node of y unless the same node is parent of both x and y. Note: A routing table is considered full if all valid links are not null. We built a peer-to-peer simulator to evaluate the performance of our proposed system over large-scale networks. We use number of passing messages to measure the performance of the system. We test the network with different number of nodes N from 1000 to For a network of size N, 1000 x N data values in the domain of [1, ) are inserted in batches. For each test, 1000 exact queries, and 1000 range queries are executed, and the average cost is taken. To simulate different sequences of events (order in which nodes join and leave), the experiments are executed 10 times using 10 different sequences and the average is taken. For comparison purposes, we obtained CHORD [1] from its web site and implemented the multiway tree structure proposed in [3]. Figure 2: a new node u joins the network Figure 1: Binary balanced tree index architecture 1. Node Join A node can only accept a new node as its child if it has full routing table while doesn’t have enough two children. Otherwise, it has to forward the request to other nodes. Cost of finding a node to join: O(log N) Cost of updating routing tables: 6 log N in which 2 log N for updating routing tables of the parent’s neighbors, 2 log N for updating routing tables of the new node’s neighbor nodes, and 2 log N for constructing routing tables of the new node. 2. Node Departure When a node wishes to leave the network, if it is a leaf node and there is no neighbor node having children, it can leave the network. Otherwise, if it is a leaf node and there is a neighbor node having children, or it is an intermediate node, it needs to find a leaf node in the previous case to replace it. Cost of finding a replacement node: O(log N) Cost of updating routing tables for neighbor nodes of nodes in the first case: 4 log N Cost of updating routing tables for neighbor nodes of nodes in other cases: 8 log N Figure 1: Cost of finding join node and replacement node Figure 1: Cost of range query search Figure 1: Cost of exact query search Figure 1: Cost of updating routing tables 3. Network Restructuring Necessary in case of forced join or forced leave that is used in load balancing scheme. It is triggered when the condition in the theorem 1 is violated. Network restructuring is done by shifting nodes via adjacent links in which no data movement is required and each shifted node requires O(log N) effort to update routing tables Figure 1: Network Restructuring after a node joining Figure 1: Network Restructuring after a node departure EXPERIMENTAL STUDY 5.Load Balancing Figure 1: Exact match query search Figure 1: Load balancing with restructuring When a node receives a query request, if the searched value does not fall into its own range of values, the request is always forwarded to a node in its left routing table whose upper bound is still greater than the searched value or a node in its right routing table whose lower bound is still lower than the searched value if such a node exists. Otherwise, the query request is forwarded to either its left child/right child or its left adjacent/right adjacent node. Example in figure: node h wants to search data belonged to node c (74) Cost of exact match query search: O(log N) Cost of range query search: O(log N + X) where X is the total number of nodes containing searched results 2 load balancing schemes 1 st scheme: do load balancing with adjacent nodes 2 nd scheme: an overloaded leaf node may find a lightly loaded leaf node to share work load. A lightly loaded node is found by traveling through neighbor nodes within O(logN) steps. Once found, the lightly loaded node transfers its content to one of its adjacent nodes, forced leaves its current position, and forced joins as a child of the overloaded node. Finally, network restructuring is triggered if necessary Cost: O(log N) for each node attending load balancing