Lumen CDN Orchestrator is a dynamic in-stream CDN selector that facilitates traffic management while customizing video delivery to each viewer. Our solution uses real-time feedback from the device to choose the optimal CDN on a segment-by-segment basis during the individual video session.
At the video session start, CDN Orchestrator selects the most appropriate CDN from the business inputs of your choice, as well as from the QoS statistics we have gathered from other devices in your user base.
For each segment request during the video session, the current CDN bandwidth, latency, and errors are calculated to assess whether or not a change should be made to improve quality or avoid congestion or failure. The next video segment is automatically redirected to the corresponding CDN.
CDN Orchestrator bases its selection and switching decisions on a “global” score. In practice,
Global score = business score * QoS score
The global score is based on:
- A business score provided by the broadcaster in the dashboard: this business score reflects how heavily commit- or business-based inputs should be evaluated; it can take integer values of 1 to 100.
- A quality of service score: at the beginning of the session, the QoS score is calculated from the metrics CDN Orchestrator gathers from across the broadcaster’s user base. During the session, the QoS score is the quality perceived by the end-user device during the session: bandwidth, time to first byte, and error rate.
After the beginning of the session, quality is calculated locally. This prevents CDN Orchestrator from becoming a single point of failure; during the session, CDN Orchestrator only connects to the backend to send quality statistics to be used in initial scoring for future sessions.
CDN Orchestrator is composed of (1) a client-side module that integrates into the video player; (2) a backend to initiate and control configuration of the client, deliver QoS & business scores, and store quality metrics for each CDN; and (3) a dashboard for customer configuration, activation, and monitoring.
Upon starting the video, the end user fetches the first video segments from the default CDN, i.e. the CDN towards which the manifest URL is pointing.
At the same time, the client-side module connects to the configuration service (i) that authenticates the viewer and returns a specific configuration. This configuration has been set in part by the broadcaster, and in part by CDN Orchestrator to optimize the behavior of the decision algorithm in accordance with the broadcaster’s use case.
The service also returns the business score and quality of service information available from each CDN. These allow the client-side module to understand the current state of each CDN in the end user’s situation.
During the session, the client-side module independently calculates the global CDN score, taking QoS measurements at each segment download and merging them with the historized and aggregated data that it has received. This information is sent to the CDN performance database (ii) which is in turn displayed in the CDN Orchestrator dashboard.
This feedback loop continues throughout the video session. On a segment-by-segment basis, CDN Orchestrator routes the delivery of the video data to the CDN that offers the best QoS while complying with the broadcaster’s routing rules. This is done by rewriting the HTTP request URLs.
CDN Orchestrator may choose to source a segment from another CDN every so often to keep up-to-date QoS measurements on CDNs that are not actively being used. This occurs only if the player’s video buffer is full and the download does not induce a risk of rebuffering. In doing so, CDN Orchestrator can make routing decisions with fresh localized data.
By dynamically choosing CDNs on a persegment basis, CDN Orchestrator can seamlessly switch during the video session without a page refresh and without adding a single point of failure to your workflow.
By switching CDNs during the session without the user having to refresh the page, CDN Orchestrator protects against the cascade effect that a CDN failure and a massive number of refreshes can have on other parts of your video workflow.
Use the business policies you have in place internally or via a third party. Once CDN Orchestrator has reliable user-specific data, it merges the device’s local data with the global CDN rankings received for holistic decision-making.
Lumen CDN Orchestrator makes switching decisions client side, based on feedback from segment downloads. It does not require persistent connections to a backend and therefore does not create a single point of failure. – BCS Bureau