Using Cloud Servers to House Supernodes is Smart and Cost-effective for Skype P2P Network

Since being acquired by Microsoft, Skype has received increased attention around its privacy practices and its use of data centers to house so-called “supernodes”.  Most recently, an article praised Skype’s decision to move its supernodes to Microsoft’s data centers.  I think it’s important to bring some clarity around this move and what Skype is really doing that should be good for its customers.

First, Skype is a peer-to-peer network.  While many users don’t realize it, Skype leverages its users’ bandwidth to route its voice and video in its P2P architecture.  By doing so, Skype has built the world’s largest phone company without laying a mile of fiber! That’s very cool.  However, since Skype didn’t advertise this fact much, some users who happened to have high bandwidth (usually businesses) were unknowingly “upgraded” to supernode status, which often times negatively impacted their network performance.

In Skype’s architecture, a supernode helps manage the connections other nodes are making to each other, in essence helping orchestrate the peer-to-peer communications.

Due to customer feedback, Skype started offering tools to combat this, and as a result, they lost many of these supernodes and needed to replace them. Skype’s outage last year was a lesson on the vital role supernodes play in their architecture.

Hosting them in a data center is a great way to create a group of trusted supernodes (what Skype is calling “mega-supernodes”).  They made a pragmatic trade off here to slightly increase infrastructure costs in order to improve the user experience. Using Microsoft’s data center infrastructure, where it houses its cloud servers, is a smart move. And it does not vastly increase Skype’s cost structure, as centralized infrastructure still makes up only a small part of its operations.

Also, in spite of the media hype, Skype was already looking at finding new ways to support its supernode structure.  Skype exec Mark Gillett said in a blog post that:  “Skype was in the process of developing and moving supernodes to cloud servers significantly ahead of the Microsoft acquisition of Skype. Skype first deployed ‘mega-supernodes’ to the cloud to improve reliability of the Skype software and service in December 2010.”

Symform, the peer-to-peer cloud storage network I co-founded a few years ago made a similar decision when we started. Each of our users contributes local storage space and bandwidth to the network (and they know this up front).

While overall our model is a decentralized architecture, the central “brain” or orchestration engine for the network, which we call Cloud Control, is centralized and hosted redundantly in a data center. Just like Skype, we made the same pragmatic decision to improve the overall experience for a marginal impact on our cost structure.

P2P architectures have tremendous scale and economics, and Skype continues to benefit from them despite this somewhat small change.

Posted under Blog, Industry News by
Tagged , , , , ,

About Bassam Tabbara

Bassam Tabbara is Symform’s Chief Technology Officer and Co-founder. Bassam developed his first computer game at the age of 11 and sold his first software application at the age of 16, and has since been credited as an inventor on 24 U.S. and international patents. Prior to founding Symform, Bassam was a Senior Engineer at Microsoft, where he co-invented a web platform for Microsoft’s early forays into the Internet and led an initiative to reduce the complexity and cost of large-scale IT systems. While consulting with Microsoft executives on strategy and garnering industry support, Bassam became the original author of the SML specification which, along with 11 other major industry players, was submitted to the W3C for standardization.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>