Global Index, a technology owned by Skype co-creators Niklas Zennstrom and Janus Friis via their company JoltID, is the fulcrum of leverage in their ongoing dispute with current Skype owner eBay and its potential purchasers. If you were either the buyer or seller in this labyrinthine transaction, you’d likely be tempted to declare, “Let’s just rip out Global Index and use something different.”
Such a move would undoubtedly take the wind out of JoltID’s sails as Skype tries to find a new home outside of eBay. Indeed, many VoIP pundits insist that Session Initiation Protocol (SIP) could be Skype’s savior. But while it’s true that technologies like SIP and its stepchild XMPP achieve a lot of the same goals as Global Index, such an argument ignores the fact that Skype is as successful as it is because it has exponentially better operating economics than the rest of the VoIP industry –- and Global Index is the singular reason why.
The Promise of SIP
In 2002, as Zennstrom and Friis were facing a bevy of lawsuits of indeterminate scope and the writing was on the wall as to the profitability prospects of a P2P file-sharing network, many in the then-fledgling VoIP industry were busily attempting to re-architect the telephone network in the Internet’s visage. A number of these services, including two from entrepreneur Jeff Pulver — Vonage and Free World Dialup — used SIP at their core. They were consumer-focused services that, in their own way, attempted to mimic the architecture, business structure and design of the public switched telephone network using Internet Protocol technologies.
SIP is now hugely significant in shaping how many telecom networks are architected. But while many of us initially thought that SIP might herald an era of person-to-person multimedia communications free from the control of large companies, it hasn’t exactly worked out that way.
The Drawbacks of SIP
For telecom companies and their vendors, the draw of SIP was that it could be used to transpose the proprietary SS7 signaling network onto the Internet while allowing the calls themselves to transit IP networks –- both at a significant discount to the cost of switched telecom trunking. But even as a client-server phenomenon deployed on the public Internet, SIP is an incomplete solution. On its own it has no way of traversing firewalls or, more importantly, dealing with NAT traversal –- a critical oversight for a protocol created in the late 1990s for the IP address-starved modern Internet.
SIP user agents (such as that software on your computer or that phone on your desk) must also be manually configured to register themselves to a SIP proxy server if users are to be allowed to use them for differing networks. Furthermore, all traffic, addressing and routing decisions in a SIP network are typically handled at the network core or by equipment operated by the service provider. That includes the various workarounds such as STUN that enable folks behind firewalls or using private IP addresses to talk to each other, not to mention derivative (and much cooler) protocols and techniques such as XMPP and Jingle.
If adapting SIP to the vagaries of the modern Internet sounds expensive, it is. By 2006, Vonage had already burned through nearly half a billion dollars. More importantly, SIP architectures are a critically flawed design starting point for a true P2P network. SIP and XMPP networks are really client-server networks masquerading as P2P.
Forgetting about the exponentially more costly business of sending voice or video data across networks, 70 percent of traffic on XMPP instant messaging networks is the result presence updates. Some estimates are that as much as 60 percent of this information is itself redundant. Servicing the traffic on a network such as Skype’s, which consists of some 45 million daily users, would bury most startups in server and bandwidth expenses. Add to that the actual messages themselves, and having to handle the voice channel or video at the core, and it becomes clear that only the big boys get to play in distributed communications services.
Enter the Supernodes
Or do they? As it turns out, features like instant messaging, voice/video chat, and presence management are ideal applications for the technology that Skype’s founders had been playing with for years in the P2P world. The networks using their technology when Skype was founded in September 2002, Kazaa and Morpheus, handled massive volumes of data between peers with no real central core to speak of, but still significant domain control by FastTrack, the company created by Zennstrom and Friis to license technology using the same moniker. The key concept exploited by the services derivative of this technology is the distributed, auto-discovering, self-healing node-supernode model tied together by PKI encryption.
On any of the other VoIP and IM networks such as Gizmo or iChat, each user is a node -– a logical endpoint in a cloud that connects to host computers operated by the service. But with Kazaa, Skype and even Joost, a small percentage of each service’s users unwittingly conspire to provide the network’s backbone in the form of supernodes. Which means that if you have some combination of a permissive firewall, really good port-forwarding on your router and a public IP address on your computer, you, too, can be a Skype supernode. When it comes to traversing firewalls, NAT, and handling distributed authentication and presence management, supernodes do all of the heavy lifting.
That is the reason Skype is able to service 45 million daily users on a fraction of the infrastructure that a SIP-based provider like Vonage needs to deploy. The workload that normally would be handled by equipment owned by the company is distributed among the users themselves.
The Power of Global Index
In order to make this seamless to users, Skype implements a Service Discovery Protocol. Such technologies have always worked well on Local Area Networks (Apple’s implementation is called Bonjour) but often get confused on the public Internet because there is usually no central registry — and because the broadcast packets they use tend to get snubbed by access routers.
When you load it up, it starts with a table of known supernodes and the central Skype server. Skype’s only centralized involvement is in verifying your identity via PKI authentication and providing an update (if necessary) of friendly nearby supernodes. From that point on, your associated supernodes handle every piece of data you share on the network. An added bonus is that supernodes can redesignate the location of the master Skype hosts on your computer whenever necessary.
Since the whole thing is encrypted, and the encryption keys of nodes and supernodes are all validated by Skype’s root key authority, everything on the network is trustworthy and virtually impossible to hack or otherwise corrupt. In other words, the Skype network is fully distributed, self-healing and largely decentralized, but still maintains all of the advantages of command and control desired by a service operator who actually wants to make money from integrating the service.
Thanks to Global Index, Skype operates at cost levels that are believed to be a fraction of those of even the most efficient SIP or XMPP-driven networks. It is this economic advantage that trumps the possibility of forklifting standards-based telephony technologies into the core of Skype’s network. If you truly wanted to replicate Skype’s ingenious — and very practical — design, you’d be better off looking at technologies like Napster, Bittorrent or GNUtella.