Evaluating Peer-to-Peer Solutions for Your Online Business
Progressive download services, are slightly different from the download model in that they begin to deliver video or audio to a player immediately. Then, as content is downloaded, it’s continuously handed to the player. The key architectural differences in these systems center on the relative priority of file elements closest to the playback point. Otherwise, the progressive download case looks very similar to the download use case.
Live or broadcast based systems are uniquely challenging. Given the architectural differences to support live broadcast, you will typically find peer-based solutions dedicated to the live/broadcast problem. In this model, the peers act to relay the content to other peers in near real-time as the content is consumed.
Personal communication represents small-scale, low-density communication among a small audience of a few select peers. It’s designed to help consumers deliver large media and files via email and typically involves a rich client experience.
When is P2P Appropriate?
Peer-based systems work best when a large number of peers are available to exchange the content being accelerated. Of course, you need only one peer with content to make the system function, as is often the case with personal communication. After the first peer, there is a general threshold around peer availability (in terms of number and proximity of those sharing the content) that must be crossed before a system is most efficient. This efficiency threshold varies by technology, but generally speaking, the more popular a file is, the more likely available peers will have downloaded it and in turn, the more effective the peer system is at delivering the content.
Similarly, because peer-based systems involve some overhead in starting up peer communication, they often don’t make sense for very small file delivery. If something can be delivered in a few seconds over Hypertext Transfer Protocol (HTTP), it’s probably too small for peer-based delivery. As a point of reference, if the P2P startup overhead is 5 seconds and the users are downloading at 1Mbps, then the object size threshold is under 1MB. Conversely, as the file size increases, this overhead (as a percentage of download time) is minimized and the more efficient a peer system becomes.
Because the effectiveness of peer-based systems will vary depending on the popularity and size of an object, they are typically deployed alongside dedicated servers or traditional CDN services to create a hybrid, or peer-assisted CDN solution. This affords a degree of quality assurance for long tail (less than popular) objects or newly available objects and guarantees that each object can be delivered at the appropriate data rate. [Note: the term "CDN" is used throughout to mean any server based infrastructure in the form of dedicated streaming servers, origin servers or traditional content delivery networks such as Limelight Networks.]
Peer-based solutions typically access content from the CDN elements the same way the browser does, using the HTTP protocol. As long as the servers of the CDN or origin infrastructure support HTTP 1.1, the peer system should integrate seamlessly with that infrastructure. The peer client application determines how much traffic to draw from each network based on the combination of peer availability and customer configuration, such as a Quality of Service (QoS) setting for any given object.