An Improved Kademlia Protocol In a VoIP System Xiao Wu , Cuiyun Fu and Huiyou Chang Department of Computer Science, Zhongshan University, Guangzhou, China.

Slides:



Advertisements
Similar presentations
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Advertisements

CAN 1.Distributed Hash Tables a)DHT recap b)Uses c)Example – CAN.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK
Kademlia: A Peer-to-peer Information System Based on the XOR Metric.
Kademlia: A Peer-to-peer Information System Based on the XOR Metric Petar Mayamounkov David Mazières A few slides are taken from the authors’ original.
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.
Node Lookup in Peer-to-Peer Network P2P: Large connection of computers, without central control where typically each node has some information of interest.
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.
Small-world Overlay P2P Network
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
B+-tree and Hashing.
Power Efficient IP Lookup with Supernode Caching Lu Peng, Wencheng Lu*, and Lide Duan Dept. of Electrical & Computer Engineering Louisiana State University.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Wide-area cooperative storage with CFS
P2P Course, Structured systems 1 Introduction (26/10/05)
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
File Sharing : Hash/Lookup Yossi Shasho (HW in last slide) Based on Chord: A Scalable Peer-to-peer Lookup Service for Internet ApplicationsChord: A Scalable.
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #12 LSNAT - Load Sharing NAT (RFC 2391)
Peer-to-peer file-sharing over mobile ad hoc networks Gang Ding and Bharat Bhargava Department of Computer Sciences Purdue University Pervasive Computing.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
SIMULATING A MOBILE PEER-TO-PEER NETWORK Simo Sibakov Department of Communications and Networking (Comnet) Helsinki University of Technology Supervisor:
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
Multi-level Hashing for Peer-to-Peer System in Wireless Ad Hoc Environment Dewan Tanvir Ahmed and Shervin Shirmohammadi Distributed & Collaborative Virtual.
Thesis Proposal Data Consistency in DHTs. Background Peer-to-peer systems have become increasingly popular Lots of P2P applications around us –File sharing,
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
 A P2P IRC Network Built on Top of the Kademlia Distributed Hash Table.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Hongil Kim E. Chan-Tin, P. Wang, J. Tyra, T. Malchow, D. Foo Kune, N. Hopper, Y. Kim, "Attacking the Kad Network - Real World Evaluation and High.
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.
Node Lookup in P2P Networks. Node lookup in p2p networks In a p2p network, each node may provide some kind of service for other nodes and also will ask.
Kademlia A Peer-to-peer Information System Based on the XOR Metric Petar Maymounkov and David Mazières {petar,
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.
Kaleidoscope – Adding Colors to Kademlia Gil Einziger, Roy Friedman, Eyal Kibbar Computer Science, Technion 1.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
An analysis of Skype protocol Presented by: Abdul Haleem.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel, Middleware 2001.
DHT-based unicast for mobile ad hoc networks Thomas Zahn, Jochen Schiller Institute of Computer Science Freie Universitat Berlin 報告 : 羅世豪.
Plethora: Infrastructure and System Design. Introduction Peer-to-Peer (P2P) networks: –Self-organizing distributed systems –Nodes receive and provide.
On Reducing Mesh Delay for Peer- to-Peer Live Streaming Dongni Ren, Y.-T. Hillman Li, S.-H. Gary Chan Department of Computer Science and Engineering The.
Kademlia: A Peer-to-peer Information System Based on the XOR Metric
Peer to Peer Network Design Discovery and Routing algorithms
Sybil attacks as a mitigation strategy against the Storm botnet Authors:Carlton R. Davis, Jos´e M. Fernandez, Stephen Neville†, John McHugh Presenter:
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Kademlia: A Peer-to-peer Information System Based on the XOR Metric.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Dynamic Proxy Tree-Based Data Dissemination Schemes for Wireless Sensor Networks Wensheng Zhang, Guohong Cao and Tom La Porta Department of Computer Science.
Plethora: A Locality Enhancing Peer-to-Peer Network Ronaldo Alves Ferreira Advisor: Ananth Grama Co-advisor: Suresh Jagannathan Department of Computer.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Peer-to-peer Systems All slides © IG.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Pastry Scalable, decentralized object locations and routing for large p2p systems.
Consistent Hashing and Distributed Hash Table
Kademlia: A Peer-to-peer Information System Based on the XOR Metric
Presentation transcript:

An Improved Kademlia Protocol In a VoIP System Xiao Wu , Cuiyun Fu and Huiyou Chang Department of Computer Science, Zhongshan University, Guangzhou, China resource : 2007 IFIP International Conference on Network and Parallel Computing – Workshops reporter : 蔡進合 賴彥彰

Outline Introduction Kademlia Improved protocol based by Kademlia Improved Route table Improved Route protocol Backup channel Conclusion

Outline Introduction Kademlia Improved protocol based by Kademlia Improved Route table Improved Route protocol Backup channel Conclusion

Introduction Standard Kademlia is designed for file sharing systems and searching is expected to stop when both the desirable peer and k closest peers return.

Introduction When applying to real-time system such as VoIP, standard Kademlia should make some modification. We proposed an improved kademlia protocol to adapt to VoIP systems meeting the need of real- time audio service and establishing a conversation in short delay.

Outline Introduction Kademlia Improved protocol based by Kademlia Improved Route table Improved Route protocol Backup channel Conclusion

Kademlia A peer-to-peer distributed hash table protocol in P2P network. ID : a unique 160-bits identifier that calculated by SHA-1 algorithm properties : (1) different inputs bring different values; (2) distributed in the overlay topology uniformly

Kademlia pairs are stored on nodes key : 160-bit identifier value : such as file name in file sharing system and phone number in VoIP system. distance : d(x,y) = x ⊕ y where x and y are two peers’ node ID

Kademlia routing table : a binary tree whose leaves are k- buckets keeping a list of at most k nodes with some common prefix of their node IDs in terms of triples. The prefix is the k-bucket’s position in the routing table.

Kademlia

Remote Procedure Control(RPC) : PING FIND_NODE STORE FIND_VALUE Peers will republish their pairs to keep them alive periodically ; otherwise, pairs would expire and be deleted.

Outline Introduction Kademlia Improved protocol based by Kademlia Improved Route table Improved Route protocol Backup channel Conclusion

Improved protocol based by Kademlia When making phone calls, callers use routing algorithm FIND_CALLEEID to search callees’ IP addresses and UDP ports in the absence of server. Besides, system has a backup channel. When entering the network,the newcomer must have a contact to an already participating node and then it performs a node lookup for its own ID.

Outline Introduction Kademlia Improved protocol based by Kademlia Improved Route table Improved Route protocol Backup channel Conclusion

Improved Route table A binary tree similar to Kademlia. Each leaf contains a cache-bucket as well as a k- bucket, cache-bucket is used as a backup buffer of the k-bucket.

Improved Route table Quaternion. Node ID : generated by performing SHA-1 operation on client’s phone number

Lookup algorithm

Building the routing table At the first beginning, the routing table is composed of a single TNode, with only one k-bucket and one cache-bucket. When more than k nodes are being inserted, the TNode will be split into two and each child will be allocated a k-bucket and a cache-bucket respectively.

Building the routing table Those “near” the local node ID will be put in the right child’s k-bucket or cachebucket ; in contrast, those far from the local node ID will be moved to the other child’s. Nodes whose node IDs share common prefix of local node ID are put in the right child’s.

Improved Route table The routing table should try its best to stores nodes near the local node ID and drop some nodes far away to avoid routing table turgid expansion. A target TNode is ”splitable” : RULE1 : It is a Local TNode; RULE2 : The right subtree of the minimum subtree, containing the Local TNode and the target TNode, contains less than k nodes.

Splitting TNode algorithm

A compression mechanism Compacity 1 if This is an TNode that both left and right child TNode is a leave TNode and the binary tree is not splitable. 2 Then Order all nodes in child buckets by time first seen 3 move nodes from child TNodes to parent and prefer old nodes, when bucket is full put remaining nodes in replacement cache. 4 Order all nodes in child replacement caches by time last seen and prefer most recently seen nodes endif

Outline Introduction Kademlia Improved protocol based by Kademlia Improved Route table Improved Route protocol Backup channel Conclusion

Improved Route protocol Caller sends FIND_CALLEEID, with callee ID as its parameter, to find the IP address in accordance with the ID. Receiver returns k closest peers to some given callee ID. If Caller gets a response containing the callee ID, lookup finishes or else continues to find closer peers to callee. The searching process terminates when caller has queried and gotten responses from the k closest peers it has seen and informs the caller that search fails.

Improved Route protocol Avoiding no refreshing in a certain distance, every k-bucket without lookup in an hour would refresh themselves by doing a callee lookup for a random ID in the bucket’s range.

Outline Introduction Kademlia Improved protocol based by Kademlia Improved Route table Improved Route protocol Backup channel Conclusion

Backup channel In our model, backup channels build up a list which stores n closest peers in IP network in the form of.

Backup channel We assume that the quaternion would become untrusty once it stays longer that average talk time and would be offline at any moment. Such quaternion should be dropped so that the list could be effective to the greatest extent thereafter.

Backup channel When getting the IP address of the callee, caller establishes a conversation with the callee and caller no longer refreshes its backup channels. It sends heartbeat packets to those peers in the list to ensure every peer could connect to both caller and callee. If peer fails to response, caller supposes the peer is offline and deletes the quaternion from the list.

Backup channel

The backup channels will stop refreshing when ID searching is over. Thereby the failure probability of backup list is increasing together with the increase of the talk time. When backup channel is really needed, little useful channel could be offered by the list.

Backup channel When there are less than β quaternions, caller will require all of the remaining peers in the list for more backup channels.Those peers will return γ closest peers it knows from their own backup channels. βand γis a system-wide parameter. Returning peers would update the current backup channels. In this rate, local peer would get more information to set up a robust backup channel.

Outline Introduction Kademlia Improved protocol based by Kademlia Improved Route table Improved Route protocol Backup channel Conclusion

In the improved Kademlia protocol we change the original FIND_NODE in Kademlia to FIND_CALLEEID, which terminates once the caller gets the information about callee so that it could set up a session as soon as possible. Backup channel for circuit switching shortens the delay when the connection between caller and callee is broken.