Thursday, July 30, 2009

Advantages of Skype’s P2P Architecture

Like all P2P networks, Skype continues to function well as it grows in size. As more and more users join Skype, they bring with them the processing power, data storage, and networking power needed to accommodate them. This is very different from traditional Internet applications, which require more and more servers and bigger and bigger network data pipes as more users join. In the traditional model of Internet applications adding more users eventually creates the need for more infrastructure, whereas, for a P2P network application such as Skype, additional users bring with them their own solution to growth! Perhaps the most important consequence of Skype’s growing, but self-sustaining, P2P network is that Skype doesn’t have to invest in and maintain large data-processing facilities of its own. This means that Skype can provide its softphone and services at very low or no cost to its users. It also helps explain how Skype can afford to give away free phone calls without going out of business: the simple answer is that it costs Skype nothing to do so—you bring the PC, data storage, and network connection and Skype merely provides a piece of (free) software. That’s why Skype can boast that Skype-to-Skype calls will always be free!

Skype's P2P Architecture

The Skype network can be thought of as a mesh of computers that connect with each other over the Internet. As noted previously, Skype uses what’s known as a P2P architecture, wherein each computer—called a “node”—runs the same software and is treated equally. Some nodes in the network are designated “supernodes” and take on some of the tasks necessary to help organize and manage the network. Even though such nodes are designated “supernodes,” they still run the same software as any regular node, and a node can become a supernode at any time, and vice versa. The important concept to understand is that all the computers in a P2P network run the same software and are treated equally. When you start the Skype softphone running on your PC, it first connects to a Skype login server in order to authenticate you. After you’re authenticated, the network broadcasts your online status—that is, makes your “presence” on the network known to others—and otherwise keeps track of your activities.
When you make a Skype call, Skype first locates the other party on its network, and then attempts to establish a direct link across the Internet between the two computers. By establishing a direct and dedicated link for communication, voice call quality is improved, as there are fewer things in the way to inhibit smooth and continuous data transfer. If a direct link cannot be established, the call is routed via other nodes in the network, but call quality can sometimes suffer as a result. Skype both network and Internet savvy, so it will always do the best it can to ensure the most direct link possible in order to achieve good voice quality for a call.
Skype’s P2P network contains millions of nodes and tens—or perhaps hundreds—of thousands of supernodes. In short, Skype’s network is vast and spans the globe!

Skype's future

Apart from continued improvements in the basic technologies that underpin Skype and the improvements in quality they bring with them, what’s next for Skype? For one thing, new Skype-enabled hardware and Skype-compatible hardware is being introduced. For example, Skypeenabled phones and handhelds are being sold that already have Skype installed, configured, and ready to go right out-of-the-box. We can also count on Skype continuing to add new features and services. But perhaps the biggest impact of Skype will be felt once it becomes truly mobile, in a “connect from anywhere and at any time” sense. Already, some cities in the United States are offering free city-wide WiFi Internet access. For many people, this means that a handheld or other portable wireless device running Skype is a close substitute for a mobile phone; the only difference is that calls on Skype are free (to other Skype users) or at very low rates (for calls to regular and mobile phones)!