When Should You Choose P2P?
The demand for rich media delivered via the internet is exploding as online content quality improves and content gets longer and reaches ever wider audiences. To meet this growing demand, many new solutions for content delivery are coming to market, with an ever-growing number of innovative new solutions, such as peer-to-peer (P2P) and hybrid content delivery networks (CDNs) being offered alongside traditional CDNs. With potential to upend the economics around and ultimately enable high-quality video delivery, P2P holds such promise that if you don’t already have a P2P strategy, rest assured your competition does.
Peer-to-Peer Overview
As a starting point, it is helpful to understand how peer-based models differ from the traditional content delivery models. In the traditional CDN model, the intelligence and capacity of the system is centralized and located in a core set of servers, while clients are simply dumb consumers in the delivery process. The opposite is true in peer-based systems, where users contribute content they have already consumed back to other users of the application. This allows considerable intelligence to be located at the edge of the network, within the peers, and distributes the resources required for content delivery throughout the internet. The result is a far more efficient delivery model at scale, but it does not guarantee a minimum level of resource availability, as is the case in the centralized CDN. Conversely, the CDN cannot guarantee enough infrastructure is deployed at any given time or place to meet high levels of demand. In the peer model, additional infrastructure is "created" on the spot with high demand in the form of more users. Such are the pros and cons associated with each model.
To harness the strengths of each, commercial solutions are now coming to market that combine elements of traditional CDNs with P2P technology to create a "hybrid" or "peer-assisted" CDN. While there are many categories of pure play P2P technologies, this article will focus on these hybrid offerings, beginning with the typical applications of content delivery.
Use Cases
Peer-based content delivery systems are typically designed to solve specific problems. The four most popular categories of solutions are:
1. Download (download, then view)
2. "Progressive download ain't streaming."-Dan Rayburn
3. Live or broadcast (concurrent viewing by a single audience)
4. Personal communication (one-to-few transmission of large email attachments)
Each faces unique challenges in scale and architecture and targets a particular segment of the marketplace.
Download services make up a large portion of the P2P traffic on the internet today. This use case is ideal for electronic software delivery, try before you buy online games, or background software updates. It’s also used by the download video market for large-audience video delivery. The key element of these services is that playback or final delivery to the application (such as a Flash player) occurs only after the entire file is downloaded.
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.