Open Sources Client-Side CDN Load Balancing Logic Within The Streaming Video Technology Alliance

Reda Benzair
Lumen Engineering Blog
4 min readJan 31, 2023

In late November, Lumen launched an effort to open-source part of the logic of its client-side multi-CDN load balancing solution within the Streaming Video Technology Alliance. We sat down with Data Science Lead Igor Mukam and R&D Engineer Sergey Arsenyev to discuss the strategy behind the efforts and the initial feedback from the industry.

To start off, tell us a little bit about CDN Load Balancer.

Sergey: CDN Load Balancer is a device-side CDN switcher for media streaming. It offers per-segment switching to promote optimal quality of service for each viewer.

Put simply, when the player requests a segment the CDN URL is overwritten by CDN Load Balancer. It has the advantage of offering midstream switching, not creating a single point of failure and being quicker, more granular, and more reactive than server-side solutions.

How Does CDN Switching Work: https://www.svta.org/2023/01/03/investigating-approaches-to-multi-cdn-delivery/

Why did you decide to open source the switching logic of CDN Load Balancer?

Igor: Our goal was twofold. First, we wanted to contribute the technology to the media industry in a way that would foster dialog and help us work towards standardized APIs with the video players on the market.

Secondly, we sought to offer full transparency around the way our commercial solution selects CDNs. It’s often a question that comes up. “Why should I trust a CDN for my load balancing tool? Isn’t it biased?” We’d like to dispel any such beliefs.

Are you still selling a commercial solution?

Igor: Yes, the open-source version is complementary to our commercial solution. First off, we have only open-sourced the basic switching logic based on manual inputs we call “business scores” (which essentially determine how favorably you’d like one CDN to be weighed against another in the beginning of the session), as well as the QOS seen by the individual device.

Sergey: Our commercial solution includes a feedback loop that allows us to combine “business scores” and local QOS with quality metrics garnered from other devices watching content on the broadcaster’s platform. This allows us, for example, to avoid starting a session on a CDN that is prioritized in the business scores but is currently returning errors.

The commercial solution also comes with player integrations, dashboard access, enterprise support, and the backend component of our service.

What was the initial feedback from the working group?

Sergey: In one short session, we already had a lot of interesting comments and suggestions. For example, the analytics providers in the working group raised questions about ensuring metrics are passed transparently to external providers.

There was also some discussion on how CDN Load Balancer could in some cases help avoid track switching thanks to improved CDN reliability. There was also interest in more examples of player integrations (for now, only a Shaka Player integration was released in the open source), and how the integration can be standardized across players.

Can you tell us more about the conversation around CDN Load Balancer’s interaction with a content steering mechanism?

Igor: This is one of the key explorations we plan to do over the next year. We consider our client-side solution complementary to the steering mechanism and we will be working with the SVTA Players working group to test out the effects of a combined client- and server-side approach. The goal here will be to identify optimizations that need to be made on both sides and share these results with DASH-IF and Apple, which are writing the standards for server-side steering for MPEG-DASH and HLS respectively.

Sergey: The discussion also focused on how the load balancer can add steering functionality to players that do not support it yet by contacting a steering server on behalf of the player. We could also take advantage of the content steering APIs to integrate CDN Load Balancer even with “black box” players that support steering.

Any final thoughts?

Igor: Yes — please contribute to the project! More information can be found on the Streaming Video Technology Alliance’s website: https://www.svta.org/2023/01/03/investigating-approaches-to-multi-cdn-delivery/

This content is provided for informational purposes only and may require additional research and substantiation by the end user. In addition, the information is provided “as is” without any warranty or condition of any kind, either express or implied. Use of this information is at the end user’s own risk. Lumen does not warrant that the information will meet the end user’s requirements or that the implementation or usage of this information will result in the desired outcome of the end user. All third-party company and product or service names referenced in this article are for identification purposes only and do not imply endorsement or affiliation with Lumen. This document represents Lumen products and offerings as of the date of issue. ©2023

--

--

Reda Benzair
Lumen Engineering Blog

Managing Director Lumen - VP Engineering — Streamroot.io - CNCF Ambassadors