Distributed Hash Tables

Similar documents
P2P Content Distribution BitTorrent and Spotify

Probabilistic Quorum-Based Accounting for Peer-to-Peer Systems

Recursive Mergesort. CSE 589 Applied Algorithms Spring Merging Pattern of Recursive Mergesort. Mergesort Call Tree. Reorder the Merging Steps

Index. in this web service Cambridge University Press

Touch Receptors and Mapping the Homunculus

Summary of Registration Changes

Artificial Intelligence. Clause Form and The Resolution Rule. Prof. Deepak Khemani. Department of Computer Science and Engineering

IN a distributed database system, data is

2.1 Review. 2.2 Inference and justifications

A study of teacher s preferences by using of statistical methods

Load balanced Scalable Byzantine Agreement through Quorum Building, with Full Information

Heap and Merge Sorts

Sorting: Merge Sort. College of Computing & Information Technology King Abdulaziz University. CPCS-204 Data Structures I

MISSOURI S FRAMEWORK FOR CURRICULAR DEVELOPMENT IN MATH TOPIC I: PROBLEM SOLVING

This report is organized in four sections. The first section discusses the sample design. The next

UCB CS61C : Machine Structures

The Bounds of Reason: Game Theory and the Unification of the Behavioral Sciences

Smith Waterman Algorithm - Performance Analysis

What can happen if two quorums try to lock their nodes at the same time?

Creating A Troop Agreement Troops and Parents

Biometrics Prof. Phalguni Gupta Department of Computer Science and Engineering Indian Institute of Technology, Kanpur. Lecture No.

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras

Balancing Authority Ace Limit (BAAL) Proof-of-Concept BAAL Field Trial

Why the Hardest Logic Puzzle Ever Cannot Be Solved in Less than Three Questions

Module 1: Health Information Exchange Policy and Procedures

Laboratory Exercise Saratoga Springs Temple Site Locator

HP-35s Calculator Program Compute Horizontal Curve Values given only 2 Parameters

The Fixed Hebrew Calendar


COS 226 Algorithms and Data Structures Fall Midterm

STREAM-HD!!. WATCH. "Why Him?" FULL. MOVIE. (2016). ONLINE. FOR. FREE. DOWNLOAD.

Probability Distributions TEACHER NOTES MATH NSPIRED

Thesis: The book of Acts reveals God s plan for the Gospel to reach every nation, language and people.

Application for curing ailments through mudra science

REACHING AND KEEPING VISITORS CHECKLISTS

10/16/ st Century Faith Formation for All Ages & Generations! 21 ST CENTURY LEARNING & FAITH FORMATION. John Roberto, LifelongFaith Associates

St. Francis Catholic Primary School

THE DRUNKARDS WALK HOW RANDOMNESS RULES OUR LIVES LEONARD MLODINOW

Torah Code Cluster Probabilities

The Advancement: A Book Review

Slides by: Ms. Shree Jaswal

Ward Legacy Project: Stake Director Training

St. Michael the Archangel Families Growing in Faith Parent Handbook. Cell phone:

Bigdata High Availability Quorum Design

A Study of cost effectiveness of Financial Services Marketed by Islamic Banks in Iran

Grade 6 correlated to Illinois Learning Standards for Mathematics

PINOY BOYBAND SUPERSTAR (PBS) November 3, 2016 to December 11, A. PROMO TITLE: Pinoy Boyband Superstar: Super Fans Promo

Introduction to Statistical Hypothesis Testing Prof. Arun K Tangirala Department of Chemical Engineering Indian Institute of Technology, Madras

Who wrote the Letter to the Hebrews? Data mining for detection of text authorship

Your Guide to Eucharistic Adoration at St. Thomas More Catholic Church

Excel Lesson 3 page 1 April 15

Gateways DALIK v Programming manual

(Refer Slide Time 03:00)

DPaxos: Managing Data Closer to Users for Low-Latency and Mobile Applications

Gesture recognition with Kinect. Joakim Larsson

Quorums. Christian Plattner, Gustavo Alonso Exercises for Verteilte Systeme WS05/06 Swiss Federal Institute of Technology (ETH), Zürich

Agnostic KWIK learning and efficient approximate reinforcement learning

occasions (2) occasions (5.5) occasions (10) occasions (15.5) occasions (22) occasions (28)

Social Action Day May 8 Horton Bay PURPOSE OF THE UNITED METHODIST WOMEN. The organized unit of United Methodist Women. Shall be a community of women

Allreduce for Parallel Learning. John Langford, Microsoft Resarch, NYC

CORRELATION FLORIDA DEPARTMENT OF EDUCATION INSTRUCTIONAL MATERIALS CORRELATION COURSE STANDARDS/BENCHMARKS

Daughters of Utah Pioneers Daughters of the Future Keepers of the Past

Pearson myworld Geography Western Hemisphere 2011

Revisiting the Socrates Example

Human Resource Management (HRM) 199 hybrid managers 392

Data Sharing and Synchronization using Dropbox

McIntosh, Gary L. Biblical Church Growth: How You Can Work With God to Build a Faithful Church. Baker Book House

Rationalizing Denominators

Radiomics for Disease Characterization: An Outcome Prediction in Cancer Patients

Houghton Mifflin MATHEMATICS

FIRST EVANGELICAL FREE CHURCH OF MAINE MISSIONS POLICY UPDATED MARCH 2016

It Might Be TodaY. "Rise of the Swedish Cyborgs"

Distributed Systems. 11. Consensus: Paxos. Paul Krzyzanowski. Rutgers University. Fall 2015

McDougal Littell High School Math Program. correlated to. Oregon Mathematics Grade-Level Standards

Key words and phrases: Genesis, equidistant letter sequences, cylindrical representations, statistical analysis.

ARBITRATION AWARD. Panellist: Gail McEwan Case Reference No.: WECT Date of award: 31 January In the arbitration between: and

THE SEVENTH-DAY ADVENTIST CHURCH AN ANALYSIS OF STRENGTHS, WEAKNESSES, OPPORTUNITIES, AND THREATS (SWOT) Roger L. Dudley

The 2007 Jewish Community Study of the Lehigh Valley. Main Report Volume I: Chapters 1-7

BEFORE THE NORTH CAROLINA MEDICAL BOARD ) ) ) ) ) This matter is before the North Carolina Medical Board

Tests of Homogeneity and Independence

HS01: The Grammar of Anaphora: The Study of Anaphora and Ellipsis An Introduction. Winkler /Konietzko WS06/07

WEST POTOMAC HIGH SCHOOL HONOR CODE

Network-based. Visual Analysis of Tabular Data. Zhicheng Liu, Shamkant Navathe, John Stasko

PHIL 155: The Scientific Method, Part 1: Naïve Inductivism. January 14, 2013

Parish of Christ the King

Lesson 07 Notes. Machine Learning. Quiz: Computational Learning Theory

The Manual. Ordering of Ministry

CTK Evangelization Ministry

Education New Zealand and The Energy and Resources Institute present. New Zealand India Sustainability Challenge. Terms and Conditions for Entrants

MAIN BUILDING C

FARMS Review 19/2 (2007): (print), (online)

Principles of Distributed Computing. Burcu Canakci. Lorenzo Alvisi Cornell University. Natacha Crooks. Cong Ding

Externally Set Task Handbook 2018 / / /01/17

INTRODUCTION TO HYPOTHESIS TESTING. Unit 4A - Statistical Inference Part 1

Mark V. Shaney. Comp 140

Knowability as Learning

How to organize a. in 6 steps

LIFE THROUGH DEATH Because it s intellectual property

Stum & Laws Differential Detectives Franklin & Marshall College Lancaster, PA 17604

Christians Say They Do Best At Relationships, Worst In Bible Knowledge

Transcription:

Distributed Hash Tables Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 1 / 62

What is the Problem? Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 2 / 62

What is the Problem? Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 3 / 62

Possible Solutions (1/3) Central directory Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 4 / 62

Possible Solutions (2/3) Flooding Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 5 / 62

Possible Solutions (3/3) Distributed Hash Table (DHT) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 6 / 62

Distributed Hash Table (DHT) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 7 / 62

Distributed Hash Table An ordinary hash-table, which is... Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 8 / 62

Distributed Hash Table An ordinary hash-table, which is distributed. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 9 / 62

Steps to Build a DHT Step 1: decide on common key space for nodes and values. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 10 / 62

Steps to Build a DHT Step 1: decide on common key space for nodes and values. Step 2: connect the nodes smartly. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 10 / 62

Steps to Build a DHT Step 1: decide on common key space for nodes and values. Step 2: connect the nodes smartly. Step 3: make a strategy for assigning items to nodes. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 10 / 62

Chord: an Example of a DHT Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 11 / 62

Construct Chord - Step 1 Use a logical name space, called the id space, consisting of identifiers {0, 1, 2,, N 1}. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 12 / 62

Construct Chord - Step 1 Use a logical name space, called the id space, consisting of identifiers {0, 1, 2,, N 1}. Id space is a logical ring modulo N. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 12 / 62

Construct Chord - Step 1 Use a logical name space, called the id space, consisting of identifiers {0, 1, 2,, N 1}. Id space is a logical ring modulo N. Every node picks a random id though Hash H. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 12 / 62

Construct Chord - Step 1 Use a logical name space, called the id space, consisting of identifiers {0, 1, 2,, N 1}. Id space is a logical ring modulo N. Every node picks a random id though Hash H. Example: Space N = 16{0,, 15} Five nodes a, b, c, d, e. H(a) = 6 H(b) = 5 H(c) = 0 H(d) = 11 H(e) = 2 Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 12 / 62

Construct Chord - Step 2 (1/2) The successor of an id is the first node met going in clockwise direction starting at the id. succ(x): is the first node on the ring with id greater than or equal x. succ(12) = 0 succ(1) = 2 succ(6) = 6 Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 13 / 62

Construct Chord - Step 2 (2/2) Each node points to its successor. The successor of a node n is succ(n + 1). 0 s successor is succ(1) = 2. 2 s successor is succ(3) = 5. 11 s successor is succ(12) = 0. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 14 / 62

Construct Chord - Step 3 Where to store data? Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 15 / 62

Construct Chord - Step 3 Where to store data? Use globally known hash function H. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 15 / 62

Construct Chord - Step 3 Where to store data? Use globally known hash function H. Each item key, value gets identifier H(key) = k. Space N = 16{0,, 15} Five nodes a, b, c, d, e. H(F atemeh) = 12 H(Cosmin) = 2 H(Seif) = 9 H(Sarunas) = 14 H(T allat) = 4 Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 15 / 62

Construct Chord - Step 3 Where to store data? Use globally known hash function H. Each item key, value gets identifier H(key) = k. Space N = 16{0,, 15} Five nodes a, b, c, d, e. H(F atemeh) = 12 H(Cosmin) = 2 H(Seif) = 9 H(Sarunas) = 14 H(T allat) = 4 Store each item at its successor. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 16 / 62

Construct Chord - Step 3 Where to store data? Use globally known hash function H. Each item key, value gets identifier H(key) = k. Space N = 16{0,, 15} Five nodes a, b, c, d, e. H(F atemeh) = 12 H(Cosmin) = 2 H(Seif) = 9 H(Sarunas) = 14 H(T allat) = 4 Store each item at its successor. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 16 / 62

Construct Chord - Step 3 Where to store data? Use globally known hash function H. Each item key, value gets identifier H(key) = k. Space N = 16{0,, 15} Five nodes a, b, c, d, e. H(F atemeh) = 12 H(Cosmin) = 2 H(Seif) = 9 H(Sarunas) = 14 H(T allat) = 4 Store each item at its successor. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 17 / 62

How to Lookup? Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 18 / 62

Lookup (1/2) To lookup a key k: Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 19 / 62

Lookup (1/2) To lookup a key k: Calculate H(k). Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 19 / 62

Lookup (1/2) To lookup a key k: Calculate H(k). Follow succ pointers until item k is found. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 19 / 62

Lookup (1/2) To lookup a key k: Calculate H(k). Follow succ pointers until item k is found. Example: Lookup Seif at node 2. H(Seif) = 9 Traverse nodes: 2, 5, 6, 11 Return Stockholm to initiator Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 19 / 62

Lookup (2/2) Algorithm 1 Ask node n to find the successor of id 1: procedure n.findsuccessor(id) 2: if pred Ø and id (pred, n] then 3: return n 4: else if id (n, succ] then 5: return succ 6: else// forward the query around the circle 7: return succ.findsuccessor(id) 8: end if 9: end procedure (a, b] the segment of the ring moving clockwise from but not including a until and including b. n.foo(.) denotes an RPC of foo(.) to node n. n.bar denotes and RPC to fetch the value of the variable bar in node n. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 20 / 62

Put and Get Algorithm 2 Store value with key id in the DHT 1: procedure n.put(id, value) 2: n = findsuccessor(id) 3: s.store(id, value) 4: end procedure Algorithm 3 Retrieve the value of the key id from the DHT 1: procedure n.get(id) 2: n = findsuccessor(id) 3: return s.retrieve(id) 4: end procedure Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 21 / 62

Any Improvement? Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 22 / 62

Improvement Speeding up lookups. If only the successor pointers are used: Worst case lookup time is N, for N nodes. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 23 / 62

Speeding up Lookups (1/2) Finger/routing table: Point to succ(n + 1) Point to succ(n + 2) Point to succ(n + 4)... Point to succ(n + 2 M 1 ) (N = 2 M, N: the id space size) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 24 / 62

Speeding up Lookups (1/2) Finger/routing table: Point to succ(n + 1) Point to succ(n + 2) Point to succ(n + 4)... Point to succ(n + 2 M 1 ) (N = 2 M, N: the id space size) Distance always halved to the destination. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 24 / 62

Speeding up Lookups (2/2) Every node n knows succ(n + 2 i 1 ) for i = 1,, M. Size of routing tables is logarithmic: Routing table size: M, where N = 2 M. Routing entries = log 2 (N). Example: Log 2 (1000000) 20 Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 25 / 62

Lookup Improvement (1/3) Algorithm 4 Ask node n to find the successor of id 1: procedure n.findsuccessor(id) 2: if pred Ø and id (pred, n] then 3: return n 4: else if id (n, succ] then 5: return succ 6: else// forward the query around the circle 7: return succ.findsuccessor(id) 8: end if 9: end procedure Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 26 / 62

Lookup Improvement (2/3) Algorithm 5 Ask node n to find the successor of id 1: procedure n.findsuccessor(id) 2: if pred Ø and id (pred, n] then 3: return n 4: else if id (n, succ] then 5: return succ 6: else// forward the query around the circle 7: p closestprecedingnode(id) 8: return p.findsuccessor(id) 9: end if 10: end procedure Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 27 / 62

Lookup Improvement (3/3) Algorithm 6 Search locally for the highest predecessor of id 1: procedure closestprecedingnode(id) 2: for i = m downto 1 do 3: if finget[i] (n, id) then 4: return finger[i] 5: end if 6: end for 7: end procedure Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 28 / 62

Lookups (1/7) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 29 / 62

Lookups (2/7) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 30 / 62

Lookups (3/7) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 31 / 62

Lookups (4/7) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 32 / 62

Lookups (5/7) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 33 / 62

Lookups (6/7) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 34 / 62

Lookups (7/7) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 35 / 62

How to Maintain the Ring? Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 36 / 62

Periodic Stabilization (1/2) In Chord, in addition to the successor pointer, every node has a predecessor pointer. Predecessor of node n is the first node met in anti-clockwise direction starting at n. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 37 / 62

Periodic Stabilization (1/2) In Chord, in addition to the successor pointer, every node has a predecessor pointer. Predecessor of node n is the first node met in anti-clockwise direction starting at n. Periodic stabilization is used to make pointers eventually correct. Pointing succ to closest alive successor. Pointing pred to closest alive predecessor. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 37 / 62

Periodic Stabilization (2/2) Algorithm 7 Periodically at n 1: procedure n.stabilize() 2: v succ.pred 3: if v Ø and v (n, succ] then 4: succ v 5: end if 6: send notify(n) to succ 7: end procedure Algorithm 8 Upon receipt a notify(p) at node m 1: on receive notify p from n do 2: if pred = Ø or p (pred, m] then 3: pred p 4: end if 5: end event Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 38 / 62

Handling Join Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 39 / 62

Handling Join When n joins: Find n s successor with lookup(n). Set succ to n s successor. Stabilization fixes the rest. Algorithm 9 Join a Chord ring containing node m 1: procedure n.join(m) 2: pred Ø 3: succ m.findsuccessor(n) 4: end procedure Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 40 / 62

Join (1/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 41 / 62

Join (2/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 42 / 62

Join (3/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 43 / 62

Join (4/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 44 / 62

Join (5/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 45 / 62

Fix Fingers (1/4) Periodically refresh finger table entries, and store the index of the next finger to fix. Algorithm 10 When receiving notif y(p) at n 1: procedure n.fixfingers() 2: next next + 1 3: if next > m then 4: next 1 5: end if 6: finger[next] findsuccessor(n 2 next 1 ) 7: end procedure Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 46 / 62

Fix Fingers (2/4) Current situation: succ(n 48) = N 60 succ(21 2 5 ) = succ(53) = N60 Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 47 / 62

Fix Fingers (3/4) succ(21 2 5 ) = succ(53) =? New node N 56 joins and stabilizes successor pointer. Finger 6 of node N21 is wrong now. N21 eventually try to fix finger 6 by looking up 53 which stops at N48. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 48 / 62

Fix Fingers (4/4) succ(21 2 5 ) = succ(53) = N56 N 48 will eventually stabilize its successor. This means the ring is correct now. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 49 / 62

Handling Failure Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 50 / 62

Successor List (1/2) A node has a successors list of size r containing the immediate r successors. succ(n + 1) succ(succ(n + 1) + 1) succ(succ(succ(n + 1) + 1) + 1) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 51 / 62

Successor List (1/2) A node has a successors list of size r containing the immediate r successors. succ(n + 1) succ(succ(n + 1) + 1) succ(succ(succ(n + 1) + 1) + 1) How big should r be? Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 51 / 62

Successor List (1/2) A node has a successors list of size r containing the immediate r successors. succ(n + 1) succ(succ(n + 1) + 1) succ(succ(succ(n + 1) + 1) + 1) How big should r be? log 2 (N) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 51 / 62

Successor List (2/2) Algorithm 11 Join a Chord ring containing node m 1: procedure n.join(m) 2: pred Ø 3: succ m.findsuccessor(n) 4: updatesuccesorlist(succ.successorlist) 5: end procedure Algorithm 12 Periodically at n 1: procedure n.stabilize() 2: succ find first alive node in successor list 3: v succ.pred 4: if v Ø and v (n, succ] then 5: succ v 6: end if 7: send notify(n) to succ updatesuccessorlist(succ.successorlist) 8: end procedure Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 52 / 62

Dealing with Failure Periodic stabilization If successor fails: replace with closest alive successor If predecessor fails: set predecessor to nil Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 53 / 62

Failure (1/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 54 / 62

Failure (2/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 55 / 62

Failure (3/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 56 / 62

Failure (4/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 57 / 62

Failure (5/5) Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 58 / 62

Summary Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 59 / 62

Summary DHTs: distributed key, value Lookup service Put and Get Finger list: improve the lookup Periodically stabilization Successor list Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 60 / 62

References: Ion Stoica et al., Chord: A scalable peer-to-peer lookup service for internet applications, SIGCOMM, 2001. Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 61 / 62

Questions? Amir H. Payberah (Tehran Polytechnic) DHTs 1393/7/12 62 / 62