Ustream has earned a reputation for being able to accommodate some of the world’s largest streaming events with as many as 1 million concurrent viewers and 14 million total viewers during large events and regularly hosts 70 million viewers per month. And, while that alone is impressive, what’s more interesting is that Ustream has developed technology that meet the needs when audiences start quickly, grow quickly and then leave once the live event is over.
Enormous audiences like these bring with them several challenges.
- The need to use more than one CDN provider to cover all viewers in all parts of the world
- The need to ensure HD quality playback for each individual viewer, with as little buffering as possible, regardless of where they are or what type of device they’re using
- The ability to do both of the above without breaking the bank. While it is always possible to add additional servers or CDN capacity to accommodate the peak usage pattern, that extra capacity is wasted during times of lower usage.
The solution for these problems has been seven years in the making at Ustream. It’s a unique technology we call Software Defined CDN, or SD-CDN. This blog from online video “voice of the industry” analyst and blogger, Dan Rayburn speculates on the possibilities of this technology platform as a stand-alone service or bandwidth exchange. The edited excerpts below from Rayburn’s blog provide more specifics details.
What Is the SD-CDN?
Ustream’s SD-CDN offers:
- The ability to scale automatically without manual provisioning of resources, dynamically adding and removing edges and providers as needed
- The ability to leverage a combination of edge resources — including CDN providers, transit lines, and peering and ad-hoc edges — including those located inside an ISP’s network on inside a private network (such as an enterprise network). A new edge resource can be registered and serving traffic in less than one minute.
- The ability to flexibly and instantly route traffic among any of these sources based on a combination of rules to maximize resilience, quality and cost
- Built-in monitoring to evaluate the performance and efficacy of competing sources — on a global scale or down to the individual viewer
- The ability to tweak business logic in real time if scale, quality or cost is jeopardized by changing conditions.
How Does the SD-CDN work?
The SD-CDN works by deploying a software layer that transmits, receives and processes metadata between sources of video content (streaming servers, CDN edges, transit lines, ad-hoc edges) and destinations (end-user viewing devices).
Each Ustream player that is deployed has a connection called the Ustream Media Server connection (UMS), which sends back real-time data each second. This creates an enormous amount of data, as each connected player is sending back-real time status updates — even if it is not yet playing or has stopped playing the video content.
This connection delivers messages in both directions. For example, the player reports back its IP address to the SD-CDN, and logic can be triggered based on that data (such as whether the viewer is in a restricted country or not). The same connection can be used to deliver data about whether or not that player is buffering.
This data is all processed at a few geographically distributed locations (to ensure redundancy) and is analyzed in real time using proprietary. The algorithms contained in the SD-CDN central servers look at things like whether a player is buffering and whether it is affecting just one client or if there is a pattern of buffering in a specific region.
Since switching between sources can occur on the level of a single client, the SD/CDN can address an isolated issue with a client side switch. But if a large number of client-side switches are being reported, then the SD-CDN can make a large-scale switch to completely disable a certain CDN provider or a certain ad-hoc edge if necessary.
In addition, since the SD-CDN includes monitoring capabilities, the automatic logic can always be overridden or augmented by real-time monitoring at Ustream’s Network Operations Center (NOC). A network operations expert can spot a pattern not picked up automatically by the algorithms and use the interface of the SD-CDN to take instant control of the entire system. Over time, as new patterns emerge, they are added to the SD-CDN’s automatic recognition algorithms.
The SD-CDN is particularly beneficial when used in concert with Ustream’s other streaming technologies. For example, Ustream offers a cloud transcoding service that allows users to send a single high-bitrate HD stream. Ustream generates lower bitrate and lower resolution versions of the stream; when these versions are created, time synchronization markers are added as metadata in the stream. This is important for switching between bitrates on a single player from a single source, to ensure the stream content does not jump or skip back in time, but these markers also allow the Ustream player to actually perform a seamless switch between streams coming from two completely different sources.
The SD-CDN can adapt to provide the best possible quality for each individual viewer or to make changes on a larger scale that pre-empt an issue before the viewing client reports it. In addition, the SD-CDN can manage traffic across a network of CDN providers, transit lines, peering and ad-hoc edges based on the cost considerations of carrying traffic of a given volume at any given time.
If you’re familiar with CDN pricing and contracts (if not, you might find this page helpful), you’ll recall that content providers are expected to predict in advance the amount of usage they will have on a monthly basis and to sign a long-term contract based on those predictions. It is typically a “use it or lose it” proposition, whereby overestimating usage will result in sunk cost with no ROI, and underestimating usage can lead to steep overage fees.
In addition, the content provider is incentivized by way of scaled discounts to commit to a larger package because unit economics become more appealing when buying in bulk. The rules of this game make it a tricky proposition for any content provider wanting to maximize the value of its investment in a third-party CDN service.
This is one of the key advantages the SD-CDN can provide. This is one of the key advantages that Ustream’s SD-CDN can provide. For several months, Ustream has been able to utilize third-party CDN services at a flat 95/5 usage pattern. This results in an optimal ROI in the contracts Ustream has with third-party CDN and transit providers. This cost savings can then be passed on to viewers, which is one of the reasons Ustream is able to offer the same scale and quality of delivery as many leading CDNs, even at lower costs.
The Future of the SD-CDN
While Ustream has used this solution extensively for delivery of video content, it is in fact content type–agnostic and can be put to work for any kind of HTTP traffic, such as gaming or any Web-based application acceleration. Ustream is currently using the SD-CDN to control all of its video content and is considering offering the solution as a stand-alone service for others with similar needs.