Skip to main content

Delivery Optimizations (WisePath/Multi-CDN)

WisePath is the LightFlow dynamic multi-CDN selection feature. With a multi-CDN strategy the content is hosted by more than one Content Distribution Network (CDN), allowing you to improve QoE and save costs by routing traffic in real time using the CDN that provides the best cost/performance ratio for your business.

CDN Selection

WisePath supports different logic for selecting CDNs:

  1. Customer defined business rules
  2. On-the-fly manifest manipulation

Customer defined business rules

Static rules determine which CDN should be selected based on specific: streaming protocols, end user ISP, geographies, time of the day, user agent and metadata.

WisePath features a graphical UI to configure complex multi-CDN custom logic in a very intuitive way:

QoE rules – Dynamic distribution

When configured for Dynamic distribution, WisePath uses real time QoE performance analysis and monitoring to route the streams through the CDN that maximizes quality for end users. The Dynamic distribution mode leverages real time QoE metrics from multiple feeds, including the player. WisePath is currently integrated with following player analytics:

  • NPAW Youbora
  • Haivision WiseProbe

Multi-CDN switching

WisePath supports two multi-CDN switching methods: API-based and On-the-fly manifest manipulation.

API based

To get the recommended CDNs, send a POST to http://api.lightflow.media/wisepath/, including:

  • The IP address of the end user
  • The vodWorkflowId, that defines the multi-CDN logic to be applied
  • The output protocol

This is an example of a request to the WisePath API:


BASH
curl --location --request POST 'http://api.lightflow.media/wisepath/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
--data-raw '{
    "vodWorkflowId": "e875a5e1-7c0b-450e-b021-xxxxxxxxxx",
    "protocol": "smooth_streaming",
    "ip": "xxx.yyy.www.zzz"
}'

The API will return a list of CDNs with a score (best CDN gets highest score):

{
    "selectedCDN": {
        "uuid": "53f6a7ac-f1c5-41b7-9e0e-xxxxxxxxxxxx",
        "name": "Limelight mss",
        "hostname": "prod-mss.limelight.cdn.customer.com",
        "score": 33.333333333333336
    },
    "cdns": [
        {
            "uuid": "0184ce81-904e-4d65-92a7-xxxxxxxxxxx",
            "name": "Verizon mss",
            "hostname": "prod-mss.verizon.cdn.customer.com",
            "score": 33.333333333333336
        },
        {
            "uuid": "53f6a7ac-f1c5-41b7-9e0e-xxxxxxxxxxxxx",
            "name": "Limelight mss",
            "hostname": "prod-mss.limelight.cdn.customer.com",
            "score": 33.333333333333336
        },
        {
            "uuid": "c8bc1f34-a611-4b39-9a93-xxxxxxxxxxxxxxx",
            "name": "Akamai mss",
            "hostname": "prod-mss.akamai.cdn.customer.com",
            "score": 33.333333333333336
        }


On-the-fly manifest manipulation

In this method, the switch from one CDN to another is done by composing the manifest in real-time. Every time the player requests a manifest, LightFlow will fetch the original manifest and rewrite it, feeding it back to the player.

Note

On-the-fly manifest manipulation requires that LightfFlow is also delivering the content to the end users.


Setting up WisePath

Configure the CDNs

To define a CDN, go to the CDNs section of the LightFlow portal, and click on Create New

To create a new CDN, the following information is required:

  • Name: name of the CDN as it will be displayed by LightFlow
  • Name in Probe: name of the CDN as reported by the player analytics
  • Hostname: CDN hostname

Note that at least 2 different CDNs are needed for implementing a multi-CDN strategy.

Define a delivery logic

WisePath lets you define a logic decision tree to monitor and control the transit of your media across two or more CDNs:

WisePath logic supports a wide range of conditions:

  • End user location/geography
  • Requested domain (.com…)
  • End user ISP
  • Time/Day
  • Asset metadata
  • User agent
  • Query string
  • Output streaming protocol

It also support the following actions:

  • Do not deliver
  • Split (define % for each CDN)
  • Dynamic distribution (optimizes user QoE)

To define delivery logic do the following:

1. Click Create New.

2. Give your new configuration a Name, then click the Add button to add a condition or output to your delivery logic:

3. Choose a condition or output:

 

Actions

Split

Split distribution: Insert description here. Click on the settings button to display the configuration panel:

Delivery Split: Move the slider for each CDN to set a desired delivery percentage

Enable P2P based delivery: Check this box to enable P2P delivery

Dynamic

Dynamic distribution: Insert description here.  Click on the settings button to display the configuration panel:

Delivery Profile: Choose a setting from 1 (optimized savings) to 5 (optimized QoE)

Enabled CDNs: Type a CDNs name to add to the list of enabled CDNs, or click the X to remove a CDN.

Enable P2P based delivery: Check this box to enable P2P delivery

Do not deliver

Do not deliver: Insert description here.


Property Name: TBD

Alias: TBD



Conditions


Geo

Geo: Insert description here.   Click on the + button to add a new segment:

Click on the settings button to display the property panel:

Code/Name: Enter the name (e.g. Spain) or code (e.g. ES) for a country

Domain

Domain: Insert description here. Click on the + button to add a new segment:

Click on the settings button to display the property panel:

Property value: TBD

Alias: TBD

Time

Time: Insert description here. Click on the + button to add a new segment:

Click on the settings button to display the property panel:

Weekday: TBD

Complete day(s): TBD

Start/End time: TBD

Query String

Query String: Insert description here. Click on the settings button to display the property panel:

Property value: TBD

Alias: TBD

Click on the + button to add a new segment:

Click on the settings button to display the property panel:

Is regular expression: TBD

Property value: TBD

Alias: TBD

Metadata

Metadata: Insert description here. Click on the settings button to display the property panel:

Property name: TBD

Alias: TBD

Click on the + button to add a new segment:

Click on the settings button to display the property panel:

Is regular expression: TBD

Property value: TBD

Alias: TBD

ISP

ISP: Insert description here. Click on the + button to add a new segment:

Click on the settings button to display the property panel:

ASN Name: TBD

User Agent

User Agent: Insert description here. Click on the settings button to display the property panel:

Property name: TBD

Alias: TBD

Click on the + button to add a new segment:

Click on the settings button to display the property panel:

Is regular expression: TBD

Property value: TBD

Alias: TBD

Streaming Protocol

Streaming Protocol: Insert description here. Click on the + button to add a new segment:

Click on the settings button to display the property panel:

Streaming protocols: TBD

Stream URL

Stream URL: Insert description here. Click on the + button to add a new segment:

Click on the settings button to display the property panel:

Is regular expression: TBD

Property value: TBD

Alias: TBD

























JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.