December 20, 2004

P2P, Serverless or …

Richard Stastny identifies (and pointed out by Andy) a paper from Columbia University that describes P2P based IP telephony using SIP. James Seng has dismissed it as not very useful. Given the pedigree of the senior author, it might be instructive to review the paper. Earlier I had claimed (only rhetorically) that this could be done. Dr. Mark Petrovic and David Beckemeyer have subsequently released SIPshare, a SIP based P2P communications system. So its description of a P2P system using SIP is not the interesting part of the paper. But the discussion regarding the tradeoffs in the design choices is useful. There are instances where the paper makes certain claims that are not fully explored. But the implication of these claims has much import for the industry. This entry gives a short summary of the paper with a special emphasis on the implications of the design choices.

They identify five most desired characteristics of a P2P system: Zero configuration, Heterogeneous nodes, Efficient lookup, Advanced services, Interoperability. This will guide them in selecting specific aspects of their architecture. At one point they state that, “SIP-based IP telephony can be treated as a P2P system with static set of super-nodes (SIP servers) where the lookup is based on DNS instead of a hash key.” This gives us a hint at their approach – identify some nodes to be “supernodes” (as used by Skype) and make them behave like SIP proxy, redirect proxy and location server. But the difficulty lies in developing a scheme for identifying the supernodes and the means of exchanging reachability information among the supernodes.

Discovering supernode:
The paper describes multiple ways by which a node can discover a supernode, none of them satisfactory. Multicasting and caching are suggested, but quickly rejected. The only reliable mechanism is to have a central registry that can assist in listing an initial list of supernodes. (Skype uses this scheme as well.)

Voice mail:
Next the paper explores means by which service like offline messages (voicemail) can be realized. The alternatives are easy to guess; but no satisfactory scheme is presented. Indeed, the paper does not recognize the insufficiency of the solution. The suggested method of storing the messages at the supernodes will not work. What is the guarantee that the supernode will be available when a node is ready to retrieve the messages? The interesting thing is that the paper suggests use of email by the supernodes, but do not suggest that this be done by the nodes themselves.

Device independence:
As has been discussed elsewhere, Skype maintains the contact information locally. This is a problem for users who may have multiple access devices. The paper anticipates this problem and suggests that user profile information be stored in the P2P overlay network and be retrieved can at startup. Here again, use of an email account would be a preferable solution. There are applications that use email as a network based file system. So it will be straight forward to store the profile information in the email storage and retrieve, update and save them in real time.

Problem with supernode architecture:
Supernodes consume both local and network resources. Even some of Skype users have expressed concern over this issue. “[So] there should be a reasonable incentive to become a super-node to provide services to other peers.” The paper suggests that an incentive system be put in place credit for doing services which can later be used for using the services. Then, nodes that run out of credits and refuse to pay are declined the service. There are two problems with this approach. The paper does not describe how this reward system will be administered and enforced. The second point is that just like the rest of the VoIP industry, this paper identifies completing calls to PSTN to be the only monetized service. If PSTN is a dinosaur and will disappear imminently, how useful is the reward system?

This is the basic deficiency of the paper: Given all the difficulties of realizing a P2P sytem, it does not make an argument why P2P system is preferable for IP communications as opposed to a system that uses publicly and freely available resources like DNS and email servers. A P2P system seems to be too much work for no real tangible benefit. But the hype associated with P2P and its close cousin “serverless” seems to be just too alluring.

PS: There is an interesting statistics regarding Skype – “Successful user location in Skype takes about three to eight seconds.”

Posted by aswath at December 20, 2004 02:00 AM
Related Posts Widget for Blogs by LinkWithin
If you do not have an OpenID, then please use



Copyright © 2003-2014 Moca Educational Products.