An Improved Kademlia Protocol In a VoIP System - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

An Improved Kademlia Protocol In a VoIP System

Description:

Quaternion Node ID, IP address, Port, State ... We assume that the quaternion would become untrusty once it stays longer that ... – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 36
Provided by: wing91
Category:

less

Transcript and Presenter's Notes

Title: An Improved Kademlia Protocol In a VoIP System


1
An Improved Kademlia Protocol In a VoIP System
  • Xiao Wu,Cuiyun Fu and Huiyou Chang
  • Department of Computer Science, Zhongshan
    University, Guangzhou, China
  • resource2007 IFIP International Conference on
    Network and Parallel Computing Workshops
  • reporter69721019 ??? 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.
  • IDa 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
  • ltkey, valuegt 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 tablea 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
    ltIP Address, UDP port, NODE_IDgt triples.
  • The prefix is the k-buckets position in the
    routing table.

10
Kademlia
11
Kademlia
  • Remote Procedure Control(RPC)
  • PING
  • FIND_NODE
  • STORE
  • FIND_VALUE
  • Peers will republish their ltkey, valuegt pairs to
    keep them alive periodicallyotherwise,
    ltkey,valuegt 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 ltNode ID, IP address, Port, Stategt.
  • Node ID generated by performing SHA-1 operation
    on clients 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 childs k-bucket or cachebucket in
    contrast, those far from the local node ID will
    be moved to the other childs.
  • Nodes whose node IDs share common prefix of local
    node ID are put in the right childs.

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
(No Transcript)
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 buckets 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 ltIP distance, IP address, port,
    timestamp, nextgt.

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

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
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.
Write a Comment
User Comments (0)
About PowerShow.com