IBC2023: This Technical Paper presents the Content Steering Technology, its benefits, challenges, how to address them and the capabilities of the system.

Abstract

Content Steering is a recent addition to both HLS and MPEG DASH standards, enabling dynamic routing of streaming content between different CDNs and delivery pathways. Already supported by DASH.js, HLS.js, and several other players, it dramatically simplifies the design of multi-CDN systems. No custom client plugins, DNS redirects, or CMS integrations are needed. However, for HLS/DASH Content Steering method to operate, it requires new elements: content steering servers. This paper discusses how to design and deploy them at scale. The proposed solution effectively reduces the logic on the content steering servers to stateless operations, in which all state variables become parameters of the client-server exchange. Such design enables servers to be deployed very inexpensively at the edge (by utilizing edge functions offered by many CDNs or edge platforms). Our proposed method is highly scalable, allows short response time, and enables a full spectrum of multi-CDN traffic optimizations: load balancing, failover protection, COGS- and QOE/QOS-based optimizations.

Introduction

Since its invention in the mid-1990s, Internet streaming has evolved from a pioneering concept to a mainstream technology used to deliver videos to viewers today [1-6]. This technology is exceptionally versatile. It reaches all IP-connected video devices of different screen sizes, mobility factors, and connection types (TVs, mobiles, PCs, etc.).

The two most widely deployed variants of streaming protocols today are called HTTP Live Streaming (HLS) [7] and Dynamic Adaptive Streaming over HTTP (DASH) [8]. Both are international standards. Both use HTTP as the underlying network protocol and employ Content Delivery Networks (CDNs) for media delivery [9,10]. The underlying principle is simple: the encoded media content is placed on the origin server first, and then CDN propagates, locally caches, and delivers it to a geographically dispersed population of viewers. Effectively the CDN manages the scale of the delivery.

However, CDNs have some limits. Some may not be available in all relevant regions; some may have internal capacity limits, and some may not have sufficient caches to support the delivery of vast collections of videos to the intended audience. CDNs may sometimes also experience outages or other technical failures, making them inaccessible for some time.

Considering such limits, large streaming operators increasingly employ multiple CDNs and so-called “CDN switching” technologies to adjust delivery paths content dynamically for streaming [10-12]. Among existing solutions are technologies using DNS-based switching, dynamic manifest updates, player-based switching, custom CMS integrations, etc. However,most existing CDN switching solutions are complex and expensive to deploy and operate [9-13]. They also come with various drawbacks. Very few, for example, enable seamless in- stream switching without interrupting the continuity of the playback. And they are all proprietary, requiring much custom code to be written and supported for each deployment.

HLS / DASH Content Steering is a new standards-based technology [14-16] that promises to dramatically simplify the design of multi-CDN streaming systems.

In this paper, we first briefly overview the Content Steering technology, explain how it works, and explain its benefits for practical applications. We will then discuss a few challenges arising in this technology’s design and deployment at scale. We will show that such challenges are all addressable by design turning HLS/DASH content steering servers into stateless functions deployable by advanced CDNs or edge platforms. Such a method is highly scalable, allows short response time, and enables a full spectrum of multi-CDN traffic optimizations: load balancing, failover protection, COGS- and QOE/QOS-based optimizations. The proposed design forms the basis of an open-source content steering system implementation, currently under development and validation study by the Streaming Video Technology Alliance (SVTA) [13,17]. We will explain the capabilities of this system, the set of streaming clients and CDN integrations it already supports, and the utilities it brings to the operators of streaming systems.

Download the paper below.