I've checked SOSIMPLE (info found at p2psip.org). They propose to repost connection information every 60-100 seconds on K closest to key nodes. As far as I understood this information is not replicated by Kademlia nodes which receive this information. I think that my approach is a little bit better than this because repost is only required when IP address of end user changes (which I hope is a rare case). Additional (to standard Kademlia) traffic is sent only when user establishes connection. In this case we are not sending standard Kademlia FIND_VALUE rpc which returns first found key match, but perform key lookup on all K-closest nodes and select the most recently updated value. As it is in standard Kademlia network I propose to replicate IP:port information to K-closest nodes (for example once an hour). This is in case user is stayed connected to the same relay node for a long time. However may be traffic impact in apprach used by SOSIMPLE is not very high - I just do not know this. I'm just intersted whether my solution will work and how much is a traffic impact
2009/5/29, lichun li <lilic...@gmail.com>: > > Have you check P2PSIP implementations? > > On Fri, May 29, 2009 at 6:12 PM, leviant Leviant > <evgeny.levi...@gmail.com> wrote: > > Hi, Everybody! > > > > I'm implementing my own Kademlia based VoIP application. One of imprtant > > tasks of the app is to locate peer IP address (or IP address of it's > relay > > if he is behind the NAT) using his/her name/e-mail. The goal is to > receive > > correct IP as it can change any time user logs in to the system. > > > > I do not want (at least yet) to implement any central component for such > > purposes. My idea is to send STORE(IP:port) to K closest nodes to > > user name/e-mail hash when some user (lets call him 'A') logs in. When > > another user ('B') wants to call this user 'A' he sends > > FIND_NODE(name/e-mail) and locates K closest nodes. After that user 'B' > > sends FIND_VALUE RPC to *all* of the K nodes and selects information with > > lowest 'age'. Age is calculated by subtracting key/value pair timestamp > from > > node's current time. > > > > What do you think about such idea? I'm afraid that there could be a lot > of > > traffic while user is connecting. Does anyone have some other ideas how > to > > implement this? > > _______________________________________________ > > p2p-hackers mailing list > > p2p-hackers@lists.zooko.com > > http://lists.zooko.com/mailman/listinfo/p2p-hackers > > > > > > > > -- > Sincerely yours, > > Lichun Li > Mobile Life New Media Lab, BUPT > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@lists.zooko.com > http://lists.zooko.com/mailman/listinfo/p2p-hackers >
_______________________________________________ p2p-hackers mailing list p2p-hackers@lists.zooko.com http://lists.zooko.com/mailman/listinfo/p2p-hackers