# Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications

Save this PDF as:

Size: px
Start display at page:

## Transcription

5 5 N1 // ask node n to find the successor of id n.find successor(id) if (id (n, successor]) return successor; else // forward the query around the circle return successor.find successor(id); K54 N56 N51 N48 lookup(k54) N8 N14 (a) Fig. 3. (a) Simple (but slow) pseudocode to find the successor node of an identifier id. Remote procedure calls and variable lookups are preceded by the remote node. (b) The path taken by a query from node 8 for key 54, using the pseudocode in Figure 3(a). N42 N38 (b) N1 N1 N51 N N8 +1 N14 Finger table N8 + 1 N14 N8 + 2 N14 N8 + 4 N14 N8 + 8 N8 +16 N8 +32 N42 K54 N56 N51 N48 lookup(54) N8 N14 N42 N42 N38 N38 (a) (b) Fig. 4. (a) The finger table entries for node 8. (b) The path a query for key 54 starting at node 8, using the algorithm in Figure 5. Notation Definition finger[k] first node on circle that succeeds (n + 2 k 1 ) mod 2 m, 1 k m successor the next node on the identifier circle; finger[1].node predecessor the previous node on the identifier circle TABLE I Definition of variables for node n, using m-bit identifiers. The example in Figure 4(a) shows the finger table of node 8. The first finger of node 8 points to node 14, as node 14 is the first node that succeeds ( ) mod 2 6 = 9. Similarly, the last finger of node 8 points to node 42, as node 42 is the first node that succeeds ( ) mod 2 6 = 40. This scheme has two important characteristics. First, each node stores information about only a small number of other nodes, and knows more about nodes closely following it on the identifier circle than about nodes farther away. Second, a node s finger table generally does not contain enough information to directly determine the successor of an arbitrary key k. For example, node 8 in Figure 4(a) cannot determine the successor of key 34 by itself, as this successor (node 38) does not appear in node 8 s finger table. Figure 5 shows the pseudocode of the find successor opera- // ask node n to find the successor of id n.find successor(id) if (id (n, successor]) return successor; else n = closest preceding node(id); return n.find successor(id); // search the local table for the highest predecessor of id n.closest preceding node(id) for i = m downto 1 if (finger[i] (n, id)) return finger[i]; return n; Fig. 5. Scalable key lookup using the finger table. tion, extended to use finger tables. If id falls between n and its successor, find successor is finished and node n returns its successor. Otherwise, n searches its finger table for the node n whose ID most immediately precedes id, and then invokes find successor at n. The reason behind this choice of n is that the closer n is to id, the more it will know about the identifier circle in the region of id. As an example, consider the Chord circle in Figure 4(b), and suppose node 8 wants to find the successor of key 54. Since the largest finger of node 8 that precedes 54 is node 42, node 8 will ask node 42 to resolve the query. In turn, node 42 will determine the largest finger in its finger table that precedes 54, i.e., node 51. Finally, node 51 will discover that its own successor, node

6 6 56, succeeds key 54, and thus will return node 56 to node 8. Since each node has finger entries at power of two intervals around the identifier circle, each node can forward a query at least halfway along the remaining distance between the node and the target identifier. From this intuition follows a theorem: Theorem IV.2: With high probability, the number of nodes that must be contacted to find a successor in an N-node network is O(log N). Proof: Suppose that node n wishes to resolve a query for the successor of k. Let p be the node that immediately precedes k. We analyze the number of query steps to reach p. Recall that if n p, then n forwards its query to the closest predecessor of k in its finger table. Consider the i such that node p is in the interval [n + 2 i 1, n + 2 i ). Since this interval is not empty (it contains p), node n will contact its i th finger, the first node f in this interval. The distance (number of identifiers) between n and f is at least 2 i 1. But f and p are both in the interval [n + 2 i 1, n + 2 i ), which means the distance between them is at most 2 i 1. This means f is closer to p than to n, or equivalently, that the distance from f to p is at most half the distance from n to p. If the distance between the node handling the query and the predecessor p halves in each step, and is at most 2 m initially, then within m steps the distance will be one, meaning we have arrived at p. In fact, as discussed above, we assume that node and key identifiers are random. In this case, the number of forwardings necessary will be O(log N) with high probability. After 2 log N forwardings, the distance between the current query node and the key k will be reduced to at most 2 m /N 2. The probability that any other node is in this interval is at most 1/N, which is negligible. Thus, the next forwarding step will find the desired node. In the section reporting our experimental results (Section V), we will observe (and justify) that the average lookup time is 1 2 log N. Although the finger table contains room for m entries, in fact only O(log N) fingers need be stored. As we just argued in the above proof, no node is likely to be within distance 2 m /N 2 of any other node. Thus, the i th finger of the node, for any i m 2 log N, will be equal to the node s immediate successor with high probability and need not be stored separately. E. Dynamic Operations and Failures In practice, Chord needs to deal with nodes joining the system and with nodes that fail or leave voluntarily. This section describes how Chord handles these situations. E.1 Node Joins and Stabilization In order to ensure that lookups execute correctly as the set of participating nodes changes, Chord must ensure that each node s successor pointer is up to date. It does this using a stabilization protocol that each node runs periodically in the background and which updates Chord s finger tables and successor pointers. Figure 6 shows the pseudocode for joins and stabilization. When node n first starts, it calls n.join(n ), where n is any // create a new Chord ring. n.create() predecessor = nil; successor = n; // join a Chord ring containing node n. n.join(n ) predecessor = nil; successor = n.find successor(n); // called periodically. verifies n s immediate // successor, and tells the successor about n. n.stabilize() x = successor.predecessor; if (x (n, successor)) successor = x; successor.notify(n); // n thinks it might be our predecessor. n.notify(n ) if (predecessor is nil or n (predecessor, n)) predecessor = n ; // called periodically. refreshes finger table entries. // next stores the index of the next finger to fix. n.fix fingers() next = next + 1 ; if (next > m) next = 1 ; finger[next] = find successor(n + 2 next 1 ); // called periodically. checks whether predecessor has failed. n.check predecessor() if (predecessor has failed) predecessor = nil; Fig. 6. Pseudocode for stabilization. known Chord node, or n.create() to create a new Chord network. The join() function asks n to find the immediate successor of n. By itself, join() does not make the rest of the network aware of n. Every node runs stabilize() periodically to learn about newly joined nodes. Each time node n runs stabilize(), it asks its successor for the successor s predecessor p, and decides whether p should be n s successor instead. This would be the case if node p recently joined the system. In addition, stabilize() notifies node n s successor of n s existence, giving the successor the chance to change its predecessor to n. The successor does this only if it knows of no closer predecessor than n. Each node periodically calls fix fingers to make sure its finger table entries are correct; this is how new nodes initialize their finger tables, and it is how existing nodes incorporate new nodes into their finger tables. Each node also runs check predecessor periodically, to clear the node s predecessor pointer if n.predecessor has failed; this allows it to accept a new predecessor in notify. As a simple example, suppose node n joins the system, and its ID lies between nodes n p and n s. In its call to join(), n acquires n s as its successor. Node n s, when notified by n, acquires n as its predecessor. When n p next runs stabilize(), it asks n s for its predecessor (which is now n); n p then acquires n as its successor. Finally, n p notifies n, and n acquires n p as its predecessor. At this point, all predecessor and successor pointers

9 9 Chord ring to the desired successor. In the recursive style, each intermediate node forwards a request to the next node until it reaches the successor. The simulator implements the Chord protocol in an iterative style. During each stabilization step, a node updates its immediate successor and one other entry in its successor list or finger table. Thus, if a node s successor list and finger table contain a total of k unique entries, each entry is refreshed once every k stabilization rounds. Unless otherwise specified, the size of the successor list is one, that is, a node knows only its immediate successor. In addition to the optimizations described on Section IV-E.4, the simulator implements one other optimization. When the predecessor of a node n changes, n notifies its old predecessor p about the new predecessor p. This allows p to set its successor to p without waiting for the next stabilization round. The delay of each packet is exponentially distributed with mean of 50 milliseconds. If a node n cannot contact another node n within 500 milliseconds, n concludes that n has left or failed. If n is an entry in n s successor list or finger table, this entry is removed. Otherwise n informs the node from which it learnt about n that n is gone. When a node on the path of a lookup fails, the node that initiated the lookup tries to make progress using the next closest finger preceding the target key. A lookup is considered to have succeeded if it reaches the current successor of the desired key. This is slightly optimistic: in a real system, there might be periods of time in which the real successor of a key has not yet acquired the data associated with the key from the previous successor. However, this method allows us to focus on Chord s ability to perform lookups, rather than on the higher-layer software s ability to maintain consistency of its own data. B. Load Balance We first consider the ability of consistent hashing to allocate keys to nodes evenly. In a network with N nodes and K keys we would like the distribution of keys to nodes to be tight around N/K. We consider a network consisting of 10 4 nodes, and vary the total number of keys from 10 5 to 10 6 in increments of For each number of keys, we run 20 experiments with different random number generator seeds, counting the number of keys assigned to each node in each experiment. Figure 8(a) plots the mean and the 1st and 99th percentiles of the number of keys per node. The number of keys per node exhibits large variations that increase linearly with the number of keys. For example, in all cases some nodes store no keys. To clarify this, Figure 8(b) plots the probability density function (PDF) of the number of keys per node when there are keys stored in the network. The maximum number of nodes stored by any node in this case is 457, or 9.1 the mean value. For comparison, the 99th percentile is 4.6 the mean value. One reason for these variations is that node identifiers do not uniformly cover the entire identifier space. From the perspective of a single node, the amount of the ring it owns is determined by the distance to its immediate predecessor. The distance to each of the other n 1 nodes is uniformly distributed over the range [0, m], and we are interested in the minimum of these dis- Number of keys per real node st and 99th percentiles 1 10 Number of virtual nodes per real node Fig. 9. The 1st and the 99th percentiles of the number of keys per node as a function of virtual nodes mapped to a real node. The network has 10 4 real nodes and stores 10 6 keys. tance. It is a standard fact that the distribution of this minimum is tightly approximated by an exponential distribution with mean 2 m /N. Thus, for example, the owned region exceeds twice the average value (of 2 m /N) with probability e 2. Chord makes the number of keys per node more uniform by associating keys with virtual nodes, and mapping multiple virtual nodes (with unrelated identifiers) to each real node. This provides a more uniform coverage of the identifier space. For example, if we allocate log N randomly chosen virtual nodes to each real node, with high probability each of the N bins will contain O(log N) virtual nodes [17]. To verify this hypothesis, we perform an experiment in which we allocate r virtual nodes to each real node. In this case keys are associated with virtual nodes instead of real nodes. We consider again a network with 10 4 real nodes and 10 6 keys. Figure 9 shows the 1st and 99th percentiles for r = 1, 2, 5, 10, and 20, respectively. As expected, the 99th percentile decreases, while the 1st percentile increases with the number of virtual nodes, r. In particular, the 99th percentile decreases from 4.8 to 1.6 the mean value, while the 1st percentile increases from 0 to 0.5 the mean value. Thus, adding virtual nodes as an indirection layer can significantly improve load balance. The tradeoff is that each real node now needs r times as much space to store the finger tables for its virtual nodes. We make several observations with respect to the complexity incurred by this scheme. First, the asymptotic value of the query path length, which now becomes O(log(N log N)) = O(log N), is not affected. Second, the total identifier space covered by the virtual nodes 1 mapped on the same real node is with high probability an O(1/N) fraction of the total, which is the same on average as in the absence of virtual nodes. Since the number of queries handled by a node is roughly proportional to the total identifier space covered by that node, the worst-case number of queries handled by a node does not change. Third, while the routing state maintained by a node is now O(log 2 N), this value is still reasonable in practice; for N = 10 6, log 2 N is only 400. Finally, while the number of control messages ini- 1 The identifier space covered by a virtual node represents the interval between the node s identifier and the identifier of its predecessor. The identifier space covered by a real node is the sum of the identifier spaces covered by its virtual nodes.

### Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica Robert Morris David Liben-Nowell David Karger M. Frans Kaashoek Frank Dabek Hari Balakrishnan January 10, 2002 Abstract

### Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science chord@lcs.mit.edu

### Chord. A scalable peer-to-peer look-up protocol for internet applications

Chord A scalable peer-to-peer look-up protocol for internet applications by Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Overview Introduction The Chord Algorithm Construction

### Chord: A scalable peer-to-peer lookup service for Internet applications

Chord: A scalable peer-to-peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Abstract Efficiently determining the node that stores

### Chord - A Distributed Hash Table

Kurt Tutschku Vertretung - Professur Rechnernetze und verteilte Systeme Chord - A Distributed Hash Table Outline Lookup problem in Peer-to-Peer systems and Solutions Chord Algorithm Consistent Hashing

### Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science chord@lcs.mit.edu

### LOOKING UP DATA IN P2P SYSTEMS

LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan, M. Frans Kaashoek, David Karger, Robert Morris, Ion Stoica MIT Laboratory for Computer Science 1. Introduction The recent success of some widely deployed

### Acknowledgements. Peer to Peer File Storage Systems. Target Uses. P2P File Systems CS 699. Serving data with inexpensive hosts:

Acknowledgements Peer to Peer File Storage Systems CS 699 Some of the followings slides are borrowed from a talk by Robert Morris (MIT) 1 2 P2P File Systems Target Uses File Sharing is one of the most

### Load Balancing in Structured Overlay Networks. Tallat M. Shafaat tallat(@)kth.se

Load Balancing in Structured Overlay Networks Tallat M. Shafaat tallat(@)kth.se Overview Background The problem : load imbalance Causes of load imbalance Solutions But first, some slides from previous

### Wide-area cooperative storage with CFS

Wide-area cooperative storage with CFS Frank Dabek, M. Frans Kaashoek, David Karger, Robert Morris, Ion Stoica MIT Laboratory for Computer Science chord@lcs.mit.edu http://pdos.lcs.mit.edu/chord/ Abstract

### P2P Storage Systems. Prof. Chun-Hsin Wu Dept. Computer Science & Info. Eng. National University of Kaohsiung

P2P Storage Systems Prof. Chun-Hsin Wu Dept. Computer Science & Info. Eng. National University of Kaohsiung Outline Introduction Distributed file systems P2P file-swapping systems P2P storage systems Strengths

### Tornado: A Capability-Aware Peer-to-Peer Storage Network

Tornado: A Capability-Aware Peer-to-Peer Storage Network Hung-Chang Hsiao hsiao@pads1.cs.nthu.edu.tw Chung-Ta King* king@cs.nthu.edu.tw Department of Computer Science National Tsing Hua University Hsinchu,

### Gnutella-Pro: What bandwidth barrier?

Gnutella-Pro: What bandwidth barrier? Richard Massey, Shriram Bharath & Ankur Jain {rmassey,sbharath,ajain}@cs.ucsd.edu 1. Introduction This paper discusses the history, and evolution of the peer-to-peer

### GISP: Global Information Sharing Protocol a distributed index for peer-to-peer systems

GISP: Global Information Sharing Protocol a distributed index for peer-to-peer systems Daishi Kato Computer Science Department, Stanford University Visiting from NEC Corporation Abstract This paper proposes

### 1 Introduction to Internet Content Distribution

OS 521: Advanced Algorithm Design Hashing / ontent Distribution 02/09/12 Scribe: Shilpa Nadimpalli Professor: Sanjeev Arora 1 Introduction to Internet ontent Distribution 1.1 The Hot-Spot Problem 1 ertain

### Motivation for peer-to-peer

Peer-to-peer systems INF 5040 autumn 2007 lecturer: Roman Vitenberg INF5040, Frank Eliassen & Roman Vitenberg 1 Motivation for peer-to-peer Inherent restrictions of the standard client/server model Centralised

### An Introduction to Peer-to-Peer Networks

An Introduction to Peer-to-Peer Networks Presentation for MIE456 - Information Systems Infrastructure II Vinod Muthusamy October 30, 2003 Agenda Overview of P2P Characteristics Benefits Unstructured P2P

### Distributed Hash Tables in P2P Systems - A literary survey

Distributed Hash Tables in P2P Systems - A literary survey Timo Tanner Helsinki University of Technology tstanner@cc.hut.fi Abstract Distributed Hash Tables (DHT) are algorithms used in modern peer-to-peer

### Name-based Network. Key-Value Store. Network Architecture. Computer Networks. Lecture 10: Content-based Routing and Consistent Hashing

Name-based Network Computer Networks Lecture 10: Content-based Routing and Consistent Hashing Today s Internet: address-based packet forwarding applications must first resolve a name to an address establish

### Async: Secure File Synchronization

Async: Secure File Synchronization Vera Schaaber, Alois Schuette University of Applied Sciences Darmstadt, Department of Computer Science, Schoefferstr. 8a, 64295 Darmstadt, Germany vera.schaaber@stud.h-da.de

### Varalakshmi.T #1, Arul Murugan.R #2 # Department of Information Technology, Bannari Amman Institute of Technology, Sathyamangalam

A Survey on P2P File Sharing Systems Using Proximity-aware interest Clustering Varalakshmi.T #1, Arul Murugan.R #2 # Department of Information Technology, Bannari Amman Institute of Technology, Sathyamangalam

### Calto: A Self Sufficient Presence System for Autonomous Networks

Calto: A Self Sufficient Presence System for Autonomous Networks Abstract In recent years much attention has been paid to spontaneously formed Ad Hoc networks. These networks can be formed without central

### Are Virtualized Overlay Networks Too Much of a Good Thing?

Are Virtualized Overlay Networks Too Much of a Good Thing? Pete Keleher, Bobby Bhattacharjee, Bujor Silaghi Department of Computer Science University of Maryland, College Park keleher@cs.umd.edu 1 Introduction

### International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 ISSN 2229-5518

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 349 Load Balancing Heterogeneous Request in DHT-based P2P Systems Mrs. Yogita A. Dalvi Dr. R. Shankar Mr. Atesh

### PEER-TO-PEER DISTRIBUTED LOOKUP SERVICES

PEER-TO-PEER DISTRIBUTED LOOKUP SERVICES ABSTRACT As we are living in the era of technology innovation, the need of sharing information is becoming more important than ever. Peer-to-peer applications were

### Plaxton routing. Systems. (Pastry, Tapestry and Kademlia) Pastry: Routing Basics. Pastry: Topology. Pastry: Routing Basics /3

Uni Innsbruck Informatik Uni Innsbruck Informatik Peerto topeer Systems DHT examples, part (Pastry, Tapestry and Kademlia) Michael Welzl michael.welzl@uibk.ac.at DPS NSG Team http://dps.uibk.ac.at dps.uibk.ac.at/nsg

### Wide-area cooperative storage with CFS

Wide-area cooperative storage with CFS Frank Dabek, M. Frans Kaashoek, David Karger, Robert Morris, Ion Stoica MIT Laboratory for Computer Science chord@lcs.mit.edu http://pdos.lcs.mit.edu/chord/ Abstract

### Overlay and P2P Networks. Additional material on DHTs. Prof. Sasu Tarkoma

Overlay and P2P Networks Additional material on DHTs Prof. Sasu Tarkoma 13.2.2014 Additional material Butterfly networks and Viceroy Skip graph CANON: merging Chord rings De Brujn graph Butterfly Geometry

### Security in Structured P2P Systems

P2P Systems, Security and Overlays Presented by Vishal thanks to Dan Rubenstein Columbia University 1 Security in Structured P2P Systems Structured Systems assume all nodes behave Position themselves in

### Serving DNS using a Peer-to-Peer Lookup Service

Serving DNS using a Peer-to-Peer Lookup Service Russ Cox, Athicha Muthitacharoen, and Robert T. Morris MIT Laboratory for Computer Science rsc,athicha,rtm@lcs.mit.edu Abstract. The current domain name

### Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Department of Computer Science Institute for System Architecture, Chair for Computer Networks File Sharing What is file sharing? File sharing is the practice of making files available for other users to

### Sybil Attack and Defense in P2P Networks

Sybil Attack and Defense in P2P Networks Presented by: Pratch Piyawongwisal, Pengye Xia CS 538 Fall 2011 Advanced Computer Networks Outline Sybil attack Attacks on DHTs Solutions Using social networks

### Object Tracking System for Mobile Terminals: Architecture, Protocol and Its Evaluation

Object Tracking System for Mobile Terminals: Architecture, Protocol and Its Evaluation Location Tracking System Architecture Sensor System Object Tracking System for Mobile Terminals: Architecture, Protocol

### Can you design an algorithm that searches for the maximum value in the list?

The Science of Computing I Lesson 2: Searching and Sorting Living with Cyber Pillar: Algorithms Searching One of the most common tasks that is undertaken in Computer Science is the task of searching. We

### 1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

1. Comments on reviews a. Need to avoid just summarizing web page asks you for: i. A one or two sentence summary of the paper ii. A description of the problem they were trying to solve iii. A summary of

### CS5412: TIER 2 OVERLAYS

1 CS5412: TIER 2 OVERLAYS Lecture VI Ken Birman Recap 2 A week ago we discussed RON and Chord: typical examples of P2P network tools popular in the cloud Then we shifted attention and peeked into the data

### A Comparative Study of the DNS Design with DHT-Based Alternatives

A Comparative Study of the DNS Design with DHT-Based Alternatives Vasileios Pappas Computer Science Department UCLA Email: vpappas@cs.ucla.edu Dan Massey Computer Science Department Colorado State University

### A PROXIMITY-AWARE INTEREST-CLUSTERED P2P FILE SHARING SYSTEM

A PROXIMITY-AWARE INTEREST-CLUSTERED P2P FILE SHARING SYSTEM Dr.S. DHANALAKSHMI 1, R. ANUPRIYA 2 1 Prof & Head, 2 Research Scholar Computer Science and Applications, Vivekanandha College of Arts and Sciences

### A Survey and Comparison of Peer-to-Peer Overlay Network Schemes

% " #\$! IEEE COMMUNICATIONS SURVEY AND TUTORIAL, MARCH 2004 1 A Survey and Comparison of Peer-to-Peer Overlay Network Schemes Eng Keong Lua, Jon Crowcroft, Marcelo Pias, Ravi Sharma and Steven Lim Abstract

### Peer-to-Peer Replication

Peer-to-Peer Replication Matthieu Weber September 13, 2002 Contents 1 Introduction 1 2 Database Replication 2 2.1 Synchronous Replication..................... 2 2.2 Asynchronous Replication....................

### Reading 7 : Program Correctness

CS/Math 240: Introduction to Discrete Mathematics Fall 2015 Instructors: Beck Hasti, Gautam Prakriya Reading 7 : Program Correctness 7.1 Program Correctness Showing that a program is correct means that

### Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at distributing load b. QUESTION: What is the context? i. How

### Serving DNS using a Peer-to-Peer Lookup Service

Serving DNS using a Peer-to-Peer Lookup Service Russ Cox, Athicha Muthitacharoen, Robert T. Morris MIT Laboratory for Computer Science {rsc,athicha,rtm}@lcs.mit.edu Abstract The current domain name system

### 7.1 Introduction. CSci 335 Software Design and Analysis III Chapter 7 Sorting. Prof. Stewart Weiss

Chapter 7 Sorting 7.1 Introduction Insertion sort is the sorting algorithm that splits an array into a sorted and an unsorted region, and repeatedly picks the lowest index element of the unsorted region

### Lecture 2: The Complexity of Some Problems

IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 2: The Complexity of Some Problems David Mix Barrington and Alexis Maciel July 18, 2000

### Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2

Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.2 June 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22

### Lesson 14 APPLICATION OF COMPLEX NETWORKS CHORD, SYMPHONY, FREENET. Laura Ricci 23/11/2015

Lesson 14 APPLICATION OF COMPLEX NETWORKS CHORD, SYMPHONY, FREENET 23/11/2015 1 GRAPH ANALYSIS: APPLICATIONS In this lesson: exploit the tools offered by complex network analysis to analyse some properties

### College of Computing. Georgia Institute of Technology. CS 7260: Internetworking Protocols and Architectures: Spring Quiz II

College of Computing Georgia Institute of Technology CS 7260: Internetworking Protocols and Architectures: Spring 2007 Quiz II There are 14 questions and 10 pages in this quiz booklet (including this page).

### A Survey on Distributed Hash Table (DHT): Theory, Platforms, and Applications. Hao Zhang, Yonggang Wen, Haiyong Xie, and Nenghai Yu

A Survey on Distributed Hash Table (DHT): Theory, Platforms, and Applications Hao Zhang, Yonggang Wen, Haiyong Xie, and Nenghai Yu July 5, 2013 2 ABSTRACT Distributed Hash Table (DHT) plays an important

### A Peer-to-Peer File Sharing System for Wireless Ad-Hoc Networks

1 A Peer-to-Peer File Sharing System for Wireless Ad-Hoc Networks Hasan Sözer, Metin Tekkalmaz, and İbrahim Körpeoğlu Abstract File sharing in wireless ad-hoc networks in a peerto-peer manner imposes many

### PEER-TO-PEER (P2P) systems have emerged as an appealing

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 21, NO. 4, APRIL 2009 595 Histogram-Based Global Load Balancing in Structured Peer-to-Peer Systems Quang Hieu Vu, Member, IEEE, Beng Chin Ooi,

### Distributed Computing over Communication Networks: Topology. (with an excursion to P2P)

Distributed Computing over Communication Networks: Topology (with an excursion to P2P) Some administrative comments... There will be a Skript for this part of the lecture. (Same as slides, except for today...

### CMPSCI611: Primality Testing Lecture 14

CMPSCI611: Primality Testing Lecture 14 One of the most important domains for randomized algorithms is number theory, particularly with its applications to cryptography. Today we ll look at one of the

### COMP3331/9331 Computer Networks and Applications Assignment for Session 2, 2015

COMP3331/9331 Computer Networks and Applications Assignment for Session 2, 2015 Version 1.1 Due: 11:59pm Friday, 23 October 2015 (Week 12) Please read the plagiarism policy carefully. We compare submission

### Scalable Source Routing

Scalable Source Routing January 2010 Thomas Fuhrmann Department of Informatics, Self-Organizing Systems Group, Technical University Munich, Germany Routing in Networks You re there. I m here. Scalable

### Architectures and protocols in Peer-to-Peer networks

Architectures and protocols in Peer-to-Peer networks Ing. Michele Amoretti [amoretti@ce.unipr.it] II INFN SECURITY WORKSHOP Parma 24-25 February 2004 Contents - Definition of Peer-to-Peer network - P2P

### TCP PERFORMANCE IN MOBILE-IP

TCP PERFORMANCE IN MOBILE-IP Foo Chun Choong Department of Electrical Engineering, National University of Singapore ABSTRACT The throughput performance of TCP in Mobile-IP [1] was investigated. Compared

### Lecture 25: Security Issues in Structured Peer-to-Peer Networks. Lecture Notes on Computer and Network Security. by Avi Kak (kak@purdue.

Lecture 25: Security Issues in Structured Peer-to-Peer Networks Lecture Notes on Computer and Network Security by Avi Kak (kak@purdue.edu) April 16, 2015 10:33am c 2015 Avinash Kak, Purdue University Goals:

### Lecture Notes on Binary Search Trees

Lecture Notes on Binary Search Trees 15-122: Principles of Imperative Computation Frank Pfenning André Platzer Lecture 17 October 23, 2014 1 Introduction In this lecture, we will continue considering associative

### Peer-to-Peer and Grid Computing. Chapter 4: Peer-to-Peer Storage

Peer-to-Peer and Grid Computing Chapter 4: Peer-to-Peer Storage Chapter Outline Using DHTs to build more complex systems How DHT can help? What problems DHTs solve? What problems are left unsolved? P2P

### FAQs. Requirements in node Joins. CS535 Big Data Fall 2015 Colorado State University http://www.cs.colostate.edu/~cs535

CS535 Big Data - Fall 215 W1.B. CS535 Big Data - Fall 215 W1.B.1 CS535 BIG DATA FAQs Zookeeper Installation [Step 1] Download the zookeeper package: \$ wget http://apache.arvixe.com/zookeeper/stable/ zookeeper-3.4.6.tar.gz!

### P2P: centralized directory (Napster s Approach)

P2P File Sharing P2P file sharing Example Alice runs P2P client application on her notebook computer Intermittently connects to Internet; gets new IP address for each connection Asks for Hey Jude Application

### New Structured P2P Network with Dynamic Load Balancing Scheme

New Structured P2P Network with Dynamic Load Balancing Scheme Atushi TAKEDA, Takuma OIDE and Akiko TAKAHASHI Department of Information Science, Tohoku Gakuin University Department of Information Engineering,

### The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

The Role and uses of Peer-to-Peer in file-sharing Computer Communication & Distributed Systems EDA 390 Jenny Bengtsson Prarthanaa Khokar jenben@dtek.chalmers.se prarthan@dtek.chalmers.se Gothenburg, May

### query enabled P2P networks 2009. 08. 27 Park, Byunggyu

Load balancing mechanism in range query enabled P2P networks 2009. 08. 27 Park, Byunggyu Background Contents DHT(Distributed Hash Table) Motivation Proposed scheme Compression based Hashing Load balancing

### CS383, Algorithms Notes on Lossless Data Compression and Huffman Coding

Prof. Sergio A. Alvarez http://www.cs.bc.edu/ alvarez/ Fulton Hall 410 B alvarez@cs.bc.edu Computer Science Department voice: (617) 552-4333 Boston College fax: (617) 552-6790 Chestnut Hill, MA 02467 USA

### Lecture 6: Approximation via LP Rounding

Lecture 6: Approximation via LP Rounding Let G = (V, E) be an (undirected) graph. A subset C V is called a vertex cover for G if for every edge (v i, v j ) E we have v i C or v j C (or both). In other

### Lecture 7 Notes Quicksort

Lecture 7 Notes Quicksort 15-122: Principles of Imperative Computation (Spring 2016) Frank Pfenning 1 Introduction In this lecture we consider two related algorithms for sorting that achieve a much better

### 2. Compressing data to reduce the amount of transmitted data (e.g., to save money).

Presentation Layer The presentation layer is concerned with preserving the meaning of information sent across a network. The presentation layer may represent (encode) the data in various ways (e.g., data

### Discovery and Routing in the HEN Heterogeneous Peer-to-Peer Network

Discovery and Routing in the HEN Heterogeneous Peer-to-Peer Network Tim Schattkowsky Paderborn University, C-LAB, D-33102 Paderborn, Germany tim@c-lab.de Abstract. Network infrastructures are nowadays

### 4.4 The recursion-tree method

4.4 The recursion-tree method Let us see how a recursion tree would provide a good guess for the recurrence = 3 4 ) Start by nding an upper bound Floors and ceilings usually do not matter when solving

### LOAD BALANCING WITH PARTIAL KNOWLEDGE OF SYSTEM

LOAD BALANCING WITH PARTIAL KNOWLEDGE OF SYSTEM IN PEER TO PEER NETWORKS R. Vijayalakshmi and S. Muthu Kumarasamy Dept. of Computer Science & Engineering, S.A. Engineering College Anna University, Chennai,

### Fault Localization Using Passive End-to-End Measurement and Sequential Testing for Wireless Sensor Networks

Fault Localization Using Passive End-to-End Measurement and Sequential Testing for Wireless Sensor Networks Bing Wang, Wei Wei, Wei Zeng Computer Science & Engineering Dept. University of Connecticut,

### Distributed Data Management Part 2 - Data Broadcasting in Mobile Networks

Distributed Data Management Part 2 - Data Broadcasting in Mobile Networks 2006/7, Karl Aberer, EPFL-IC, Laboratoire de systèmes d'informations répartis Mobile Data Management - 1 1 Today's Questions 1.

### Identity Theft Protection in Structured Overlays

Identity Theft Protection in Structured Overlays Lakshmi Ganesh and Ben Y. Zhao Computer Science Department, U. C. Santa Barbara {lakshmi, ravenben}@cs.ucsb.edu Abstract Structured peer-to-peer (P2P) overlays

### T he Electronic Magazine of O riginal Peer-Reviewed Survey Articles ABSTRACT

SECOND QUARTER 2005, VOLUME 7, NO. 2 IEEE C OMMUNICATIONS SURVEYS T he Electronic Magazine of O riginal -Reviewed Survey Articles www.comsoc.org/pubs/surveys A SURVEY AND COMPARISON OF PEER-TO-PEER OVERLAY

### 1 Construction of CCA-secure encryption

CSCI 5440: Cryptography Lecture 5 The Chinese University of Hong Kong 10 October 2012 1 Construction of -secure encryption We now show how the MAC can be applied to obtain a -secure encryption scheme.

### I. Middleboxes No Longer Considered Harmful II. A Layered Naming Architecture for the Internet

I. Middleboxes No Longer Considered Harmful II. A Layered Naming Architecture for the Internet Seminar in Distributed Computing Louis Woods / 14.11.2007 Intermediaries NATs (NAPTs), firewalls and other

### RESEARCH ISSUES IN PEER-TO-PEER DATA MANAGEMENT

RESEARCH ISSUES IN PEER-TO-PEER DATA MANAGEMENT Bilkent University 1 OUTLINE P2P computing systems Representative P2P systems P2P data management Incentive mechanisms Concluding remarks Bilkent University

### PEER TO PEER FILE SHARING USING NETWORK CODING

PEER TO PEER FILE SHARING USING NETWORK CODING Ajay Choudhary 1, Nilesh Akhade 2, Aditya Narke 3, Ajit Deshmane 4 Department of Computer Engineering, University of Pune Imperial College of Engineering

### Routing in the Dark: Pitch Black

Routing in the Dark: Pitch Black Nathan S. Evans Nathan.S.Evans@du.edu Christian Grothoff christian@grothoff.org Colorado Research Institute for Security and Privacy University of Denver 1 Motivation Efficient

### Identity Theft Protection in Structured Overlays

Appears in Proceedings of the 1st Workshop on Secure Network Protocols (NPSec 5) Identity Theft Protection in Structured Overlays Lakshmi Ganesh and Ben Y. Zhao Computer Science Department, U. C. Santa

### A Survey of Peer-to-Peer File Sharing Technologies

Athens University of Economics and Business The ebusiness Centre (www.eltrun.gr) A Survey of Peer-to-Peer File Sharing Technologies White Paper Page 1 of 1 A Survey of Peer-to-Peer File Sharing Technologies

### Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks

Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks Chin-Tser Huang, Prasanth Kalakota, Alexander B. Alexandrov Department of Computer Science and Engineering University

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,

### Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet AUTHOR: Jem E. Berkes umberkes@cc.umanitoba.ca University of Manitoba Winnipeg, Manitoba Canada April 9, 2003 Introduction Although

### MIDAS: Multi-Attribute Indexing for Distributed Architecture Systems

MIDAS: Multi-Attribute Indexing for Distributed Architecture Systems George Tsatsanifos (NTUA) Dimitris Sacharidis (R.C. Athena ) Timos Sellis (NTUA, R.C. Athena ) 12 th International Symposium on Spatial

### IEEE/ACM TRANSACTIONS ON NETWORKING 1

IEEE/ACM TRANSACTIONS ON NETWORKING 1 Self-Chord: A Bio-Inspired P2P Framework for Self-Organizing Distributed Systems Agostino Forestiero, Associate Member, IEEE, Emilio Leonardi, Senior Member, IEEE,

### 6.263/16.37: Lectures 3 & 4. The Data Link Layer: ARQ Protocols

6.263/16.37: Lectures 3 & 4 The Data Link Layer: ARQ Protocols MIT 1 Automatic Repeat ReQuest (ARQ) When the receiver detects errors in a packet, how does it let the transmitter know to re-send the corresponding

### p2p: systems and applications Internet Avanzado, QoS, Multimedia 2006-2007 Carmen Guerrero carmen.guerrero@uc3m.es

p2p: systems and applications Internet Avanzado, QoS, Multimedia 2006-2007 Carmen Guerrero carmen.guerrero@uc3m.es Dpto. Ingeniería Telemática Index Introduction Taxonomy Classification of p2p overlay

A Scalable Content-Addressable Network Sylvia Ratnasamy 1 2 Paul Francis 2 Mark Handley 2 Richard Karp 1 2 Scott Shenker 2 1 Dept. of Electrical Eng. & Comp. Sci. 2 ACIRI University of California, Berkeley

### A Scalable Location Service for Geographic Ad Hoc Routing

A Scalable Location Service for Geographic Ad Hoc Routing Jinyang Li John Jannotti Douglas S. J. De Couto David R. Karger Robert Morris M.I.T. Laboratory for Computer Science jinyang, jj, decouto, karger,

### Synchronization in. Distributed Systems. Cooperation and Coordination in. Distributed Systems. Kinds of Synchronization.

Cooperation and Coordination in Distributed Systems Communication Mechanisms for the communication between processes Naming for searching communication partners Synchronization in Distributed Systems But...

### Balanced search trees

Lecture 8 Balanced search trees 8.1 Overview In this lecture we discuss search trees as a method for storing data in a way that supports fast insert, lookup, and delete operations. (Data structures handling

### Big Data & Scripting storage networks and distributed file systems

Big Data & Scripting storage networks and distributed file systems 1, 2, in the remainder we use networks of computing nodes to enable computations on even larger datasets for a computation, each node

### The p2pweb model: a glue for the Web

The p2pweb model: a glue for the Web Pedro García López, Marc Sánchez Artigas, Jordi Pujol Ahulló Universitat Rovira i Virgili Tarragona, Spain { pedro.garcia, marc.sanchez, jordi.pujol}@urv.cat Abstract

### Load Balancing in Distributed Systems: A survey

Load Balancing in Distributed Systems: A survey Amit S Hanamakkanavar * and Prof. Vidya S.Handur # * (amitsh2190@gmail.com) Dept of Computer Science & Engg, B.V.B.College of Engg. & Tech, Hubli # (vidya_handur@bvb.edu)

### Storage Systems Autumn 2009. Chapter 6: Distributed Hash Tables and their Applications André Brinkmann

Storage Systems Autumn 2009 Chapter 6: Distributed Hash Tables and their Applications André Brinkmann Scaling RAID architectures Using traditional RAID architecture does not scale Adding news disk implies