-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
I have some considerations on content steering specification about TTL.
- First, specification is a bit confusing if the player SHOULD or SHALL reload the steering manifest after the specified TTL interval.
-
In the semantics (table 6.3.1) the spec says:
“Specifies how many seconds the client shall wait before reloading the DCSM.”
=> SHALL -
In section 7, bullet 7:
“the client should parse it and retrieve the VERSION, TTL….”
=> SHOULD (it shall be SHALL) -
In section 7, bullet 8:
“The client sets a timer to re-request the STEERING-SERVER-URL after TTL seconds.”
=> SHALL or SHOULD is missing -
In section 7, bullet 13:
“It should still reload the RELOAD-URI after the specified TTL interval in case new service locations are added.”
=> SHOULD
- Before clarifying if it must be SHALL or SHOULD, I’d like to consider the use case for which the DCSM could be refreshed before TTL interval.
The recommended value for TTL is 300 seconds, and in some cases, it would be valuable to force the players to refresh the manifest without waiting for TTL interval.
As an example, a new CDN server could be allocated and which we would like to prioritize as soon as possible. Instead of globally reducing the TTL to a very low value and overload the steering server, one could decide to force the players to update the DCSM when necessary.
This would require obviously an external control mean to steer the players and I don’t know how and if this should be part of the content steering specification.
As a control mechanism, one potential solution is for example to standardize a CMSD response header key to force the players to reload the DCSM.
Whatever the solution to control the DCSM reloading, if that makes sense we should consider adding some text in specification to take into account the use case where client can reload the DCSM before waiting for TTL delay.