Dash-Industry-Forum / Content-Steering

A standardized means of steering DASH players between substitutable content sources by way of a remote steering server.
6 stars 0 forks source link

Content steering coexistence with DVB DASH BaseURL requirements #15

Closed poolec closed 1 year ago

poolec commented 2 years ago

The content steering proposal in some ways complements the BaseURL selection requirements in the DVB profile of DASH (ETSI TS 103 285). DVB DASH allows for multiple BaseURLs to be prioritised and has some requirements linked to error handling - see clause 10.8.2.1. This is implemented in dash.js. ContentSteering at one level provides a useful addition in allowing the BaseURL list and priorities to be changed during a session independently of the MPD.

However, in other ways, Content Steering as proposed is more limited than the DVB DASH approach and as such it could be hard to make use of content steering with a DVB DASH MPD or player.

The main use case relevant here concerns balancing load across more than one CDN. For example, for cost or capacity reasons a content provider may wish to split the traffic 60% to one CDN and 40% to another. DVB DASH allows for this using BaseURLs with the same priority and with a 'weight' attribute (rather like DNS). To achieve this with Content Steering and adjust it over time, it appears you would need to scale the steering server to respond individually to clients, significantly increasing the cost compared to handling a small number of cacheable steering responses varying according to request parameters (which I think covers other use cases).

This use case could be handled by the client if the specification allowed for more than one weighted service location at each priority level. For example, instead of the example response in A.1, the response could be of the form:

{
"VERSION": 1,
"TTL": 300,
"RELOAD-URI": "https://steeringservice.com/app/instance12345?session=abc"
"SERVICE-LOCATION-PRIORITY": [ {{"alpha", 60},{"beta",40}}, {{"alpha", 100}}, {{"beta", 100}} ]
}

The client behaviour associated with this would entail:

haudiobe commented 2 years ago

Call 2022/10/07

Adding weights could be considered in an extended VERSION 2, but we also view that an individual weights may not be a relevant case. Weights are likely the same for each client. It would be good to get more feedback on a use case that would require individual weights for each client.

Generally we believe using one or the other is a proposer choice.

haudiobe commented 2 years ago

Call 2022/10/21

Unless we hear differently within 2 weeks, we will close the issue w/o action.

wilaw commented 1 year ago

Closing since no further comments received.