Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "An Improved Kademlia Protocol In a VoIP System Xiao Wu , Cuiyun Fu and Huiyou Chang Department of Computer Science, Zhongshan University, Guangzhou, China."— Presentation transcript:

1 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 : 69721019 蔡進合 69721059 賴彥彰

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

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

4 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.

5 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.

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

7 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

8 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

9 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.

10 Kademlia

11 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.

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

13 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.

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

15 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.

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

17 Lookup algorithm

18 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.

19 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.

20 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.

21 Splitting TNode algorithm

22

23 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

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

25 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.

26 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.

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

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

29 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.

30 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.

31 Backup channel

32 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.

33 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.

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

35 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.


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

Similar presentations


Ads by Google