You may leverage multiple Content Delivery Networks (CDNs) to deliver your content. This type of setup provides higher availability and better performance by providing the means through which traffic can be shifted when a CDN is experiencing network congestion or issues. It also allows traffic distribution to be tailored according to geographic region, in order to leverage regional performance benefits.
Key terms for understanding Multi-CDN are described below.
Term | Description |
---|---|
Playback Session |
A playback session identifies the time period during which a viewer plays your content. A playback session starts when the player initiates playback. At which time, the system assigns a unique ID to the player's session. This session persists until the user closes the player/web browser/device playback environment or the session has been inactive for an extended time period. A single playback session may represent the playback of multiple assets and/or channels. Example: A user loads a web page that contains an autoplay video. This causes the video player on that web page to initiate a new playback session. Alternatively, playback requests that occur halfway through the video simply continue an existing playback session. |
Profile |
A profile is a configuration that identifies one or more CDNs and when playback sessions may leverage them. A profile configuration defines its priority, identifies traffic via rule sets, and determines how playback sessions will be distributed between one or more CDN(s). |
Priority |
Priority, which is a profile setting, determines the order in which profiles evaluate playback sessions. Profiles with lower priority values are evaluated before those with a higher priority value. A playback session will be assigned the first profile whose rule set(s) it can satisfy. |
Rule Sets |
A rule set identifies playback sessions by content, playback session ID, and/or by player-specific information A profile leverages one or more rule sets to identify playback sessions. |
CDN Distribution |
This profile setting defines the percentage of playback sessions that will be distributed to each CDN. |
A CDN service provider is assigned to a playback session using the following workflow:
Step |
Name |
Description |
---|---|---|
1 |
Profile Selection |
A playback session will be assigned the profile with the highest priority for which it qualifies. The criteria defined within the rule set(s) associated with a profile determine whether the profile may be applied to the playback session. If a playback session does not qualify for any of your profiles, then it will be assigned the catch_all profile. View this profile from the Profiles tab of the Multi CDN Settings page. |
2 |
CDN Selection |
A CDN will be assigned to the playback session according to weighted values. |
Setting up Multi-CDN involves the following steps:
Contact your account manager to activate the desired CDN service providers on your account.
Your account manager will inform you when you may proceed with your Multi-CDN setup.
A rule set identifies playback sessions by content, playback session ID, and/or by player-specific information.
Assign one or more rule sets to a profile to identify the type of playback sessions for which it can assign a CDN for content delivery.
A default rule set called catch_all cannot be modified or deleted. This rule set matches all playback sessions.
Field |
Category |
Description |
---|---|---|
City |
Client Rules |
Identifies a playback session by the viewer's city. |
Content Id |
Content Rules |
Identifies a playback session by the asset ID, channel ID, event ID, or external ID of the requested content. |
Country Code |
Client Rules |
Identifies a playback session by the viewer's country (ISO 3166-1 alpha-2). |
Is Live |
Content Rules |
Identifies a playback session by whether it is a live event or a live linear stream (i.e., live channel). Valid values are: true | false
|
Isp |
Client Rules |
Identifies a playback session by the viewer's ISP. |
OS |
Client Rules |
Identifies a playback session by the viewer's OS. |
OS Version |
Client Rules |
Identifies a playback session by the viewer's OS version. |
Session Id |
Playback Rules |
Identifies a playback session by its playback session ID. |
State |
Client Rules |
United States Only Identifies a playback session by the full name of the viewer's state. |
User Agent |
Client Rules |
Identifies a playback session by the viewer's user-agent. Sample value: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
|
Match operators are described below.
Match Operators | Description |
---|---|
Equals |
The specified field value and the value derived from the playback session must be an exact match. |
Not Equals |
The specified field value and the value derived from the playback session must be different. |
Matches |
The value derived from the playback session must be an exact match for the Perl-compatible regular expression defined within the specified field value. |
In List |
The value derived from the playback session must be an exact match to a value defined within a comma-separated list of values. |
Not In List |
The value derived from the playback session must not match any of the values defined within a comma-separated list of values. |
Contains |
The value derived from the playback session must contain the specified field value. Example: This example assumes a field value was set to can. This match operator will be satisfied by any of the following values: cane | scanner | toucan
|
Not Contains |
The value derived from the playback session must not contain the specified field value. Example: This example assumes a field value was set to can. This match operator will be satisfied by any of the following values: control | cairn | clan
|
To create a rule set
Add the desired criteria through which playback sessions will be identified.
Navigate to the Content Rules, Playback Rules, or Client Rules tab.
From the Operator option, select the desired mathematical operator.
To update a rule set
Perform one of the following actions:
Add a field match condition to this rule set by performing the following steps:
Navigate to the Content Rules, Playback Rules, or Client Rules tab.
From the Operator option, select the desired mathematical operator.
To delete a rule set
A profile determines how playback sessions will be distributed to each CDN. A profile identifies playback sessions via one or more rule set(s).
A default profile called catch_all cannot be modified or deleted. This profile is applied to all playback sessions that are not assigned to another profile.
The order in which profiles evaluate playback sessions is determined by priority. The profile with the lowest priority wins. Once a match is found, the playback session will be assigned that profile and no additional profiles will be evaluated.
Learn more about how playback sessions are assigned to a CDN.
Ensure that a specific profile is evaluated first by setting its priority to 1.
A profile's priority must be set to a unique value.
The order in which profiles are listed is irrelevant.
To create a profile
Mark the Override Client CDN option if a client's preferred CDN will be overridden to comply with the CDN distribution defined within this profile.
Please contact your account manager to learn how a client can indicate a preferred CDN during playback.
From the Priority option, define a unique value between 1 and 499.
This value determines the order in which profiles will evaluate playback sessions. The profile with the lowest priority value wins.
Add one or more rule sets to the profile by performing the following steps:
A playback session will only be assigned to a profile when it satisfies all of the criteria defined within each rule set associated with the profile.
Determine the set of CDNs that will deliver content for the traffic identified in the previous step.
To update a profile
Perform one of the following actions:
Add a rule set by selecting the desired rule set from the Add Rule Set option and then clicking + Rule Set.
To delete a profile