The Object Distribution Method supports the transmission of media segments, e.g. CMAF media segments [7] and also non-real-time objects.
The MBS Distribution Session shall be provisioned to accommodate the bit rate of the aggregated object flow, accounting for in-band carriage of metadata units, protocol header overheads, and FEC redundancy (if configured).
An object manifest document describes a list of objects to be distributed in an MBS Distribution Session. The syntax of the object manifest is specified in clause D.1. The semantics of the document are specified in Table 6.1.2-1 below.
For each object to be delivered in the MBS Distribution session, the attributes under the objects property in Table 6.1.2-1 shall be maintained by the MBSTF.
The time interval, expressed in seconds, according to which the MBSTF attempts to re-acquire the object manifest when pull-based object acquisition is provisioned.
Ignored by the MBSTF for push-based object acquisition.
objects
Mandatory
The list of objects to be carouselled from the MBSTF to the MBSTF Client.
locator
Mandatory
The URL from which the object is to be ingested by the MBSTF.
repetitionInterval
Optional
The time interval, expressed in milliseconds, according to which the object is to be periodically sent to the MBSTF Client.
If omitted, the MBSTF determines the repetition interval for the object.
Ignored by the MBSTF in Object Collection operating mode.
keepUpdatedInterval
Optional
The time interval, expressed in seconds, according to which the MBSTF is expected to check for updates made to the object at its origin (as indicated by locator or a redirect from there to another location).
In case of conflicting information, the MBSTF should give precedence in determining the update interval to the HTTP cache control metadata included in the HTTP response from the object origin.
Any changes to the origin object that are detected by the MBSTF shall be reflected in the MBS Distribution Session at the earliest opportunity and the replacement of one object with another shall be signalled to the MBSTF Client by means of the object transport protocol provisioned at reference point MBS-4-MC.
If omitted, the MBSTF shall not attempt to check for updates to the object.
Ignored by the MBSTF in Object Collection operating mode.
earliestFetchTime
Optional
The MBSTF shall fetch the object no sooner than this UTC timestamp. If absent, then the object shall be present at its origin (as indicated by locator or a redirect from there to another location) and the MBSTF may fetch it at a time of its choosing.
latestFetchTime
Optional
The MBSTF shall fetch the object no later than this UTC timestamp. If absent, then the object shall be present at its origin (as indicated by locator or a redirect from there to another location) and the MBSTF may fetch it at a time of its choosing.
If FLUTE RFC 3926 is used to realise the Object Distribution Method, the MBS Distribution Session shall conform to the MBMS Download Profile as defined in clause L.4 of TS 26.346 with the additional requirements in clause 6.2 of the present document.
The usage of this distribution method is identified in the MBS Session Description metadata unit as defined in clause 6.2.3, in particular by the indication of the protocol FLUTE/UDP in combination with the MBS service type.
The MBSTF shall use the Profiled FDT Schema according to clause L.6 of TS 26.346 to describe the object list currently being transmitted in the MBS Distribution Session.
Generally, the end of transmission of an object is the expiry time for the latest FDT instance describing the object. Objects shall be described in an FDT Instance with the Expires attribute. Depending on the operating mode (clause 6.2.4), different settings of the expiry time and different numbers of objects per FDT Instance are recommended.
Inclusion of the @Content-MD5 and @File-ETag FDT Instance attributes is optional.
The @File-ETag represents the value of the HTTP entity tag as defined in Section 8.8.3 of RFC 9110 which may also serve as the version identifier of the File object described by the FDT Instance.
In order to fetch missing portions of an object, the MBS Client may use the Object Repair mechanism for FLUTE specified in clause 6.2.4. This mechanism is provided by the MBS AS at reference point MBS-4-UC, using the User Service Announcement parameters specified in clause 5.2.8 to identify its endpoint address.
The Session Description document for FLUTE contains the information needed to activate the reception of an MBS Distribution Session using the FLUTE protocol RFC 3926 when this is used to realise the Object Distribution Method. The Session Description document is formatted according to the Session Description Protocol RFC 8866 and its content is based on the Session Description parameters specified in clause 7.3 of TS 26.346 with the following restrictions and extensions.
Restrictions:
The Service-language(s) per media (clause 7.3.2.9 of TS 26.346) shall not be used. It is assumed that the service languages are described within an application manifest.
The Start time and End time of the session (SDP t-line) shall indicate a superset of the active times specified in the MBS Schedule Description metadata unit in the service schedule descriptions of the MBS Distribution Session (see clause 5.2.7), if present. If there is no service schedule specified, both values of the SDP t-line should be set to zero indicating undefined times.
Extensions:
When an MBS Session is of MBS Service Type Broadcast or when the Multicast MBS Session Type uses a TMGI as MBS Session ID, the MBS service type of MBS Session declaration attribute as defined in clause 6.2.2.2 shall be present in the Session Description.
A new MBS service type declaration attribute mbs-servicetype is defined which results in, e.g.:
a=mbs-servicetype:broadcast 123869108302929
or:
a=mbs-servicetype:multicast 123869108302929
The MBS service type declaration attribute shall be used in Session Description metadata to indicate the type of the corresponding MBS Distribution Session as defined in Table 6.2.2.2-1.
The MBS Distribution Session is delivered using a Multicast MBS Session.
broadcast
The MBS Distribution Session is delivered using a Broadcast MBS Session.
The MBS service type attribute shall be declared at session level in the Session Description metadata unit. The session level attribute applies to all media entries without a media-level occurrence of the mbs-servicetype attribute. The Session Description metadata unit shall include only a single instance of MBS service type declaration attribute.
Definition:
UK MCC = 234 (MCC Digit 1 = 2; MCC Digit 2 = 3 and MCC Digit 3 = 4)
Vodafone UK MNC = 15
and, with padding, Vodafone UK MNC = 15F (MNC Digit 1 = 1; MNC Digit 2 = 5 and MNC Digit 3 = F)
MBS Service ID = 70A886
Therefore, TMGI = 70A886 32F451 (Hex) or 123869108302929 (Decimal)
The Temporary Mobile Group Identity (tmgi) information element is defined in TS 24.008 including the coding of the fields. Octets 3 to 8 (MBS Service ID, MCC and MNC) shall be placed in the tmgi attribute of the MBS service type declaration line, and are encoded as a decimal number. Octet 3 is the most significant octet. Because this is encoded as a decimal number, leading zeros of the MBS Service ID field may be omitted.
Listing 6.2.2.3-1 provides a full example of an SDP description describing a FLUTE-based MBS Distribution Session using the Object Distribution Method with a TMGI as MBS Session Id.
v=0
o=user123 2890844526 2890842807 IN IP6 2201:056D::112E:144A:1E24
s=Object Distribution session example
i=More information
t=2873397496 2873404696
a=mbs-servicetype:broadcast 123869108302929
a=FEC-declaration:0 encoding-id=1
a=source-filter: incl IN IP6 * 2001:210:1:2:240:96FF:FE25:8EC9
a=flute-tsi:3
m=application 12345 FLUTE/UDP 0
c=IN IP6 FF1E:03AD::7F2E:172A:1E24/1
b=1000
a=lang:EN
a=FEC:0
Listing 6.2.2.3-2 provides a second example of an SDP description describing a FLUTE-based MBS Distribution Session using the Object Distribution Method and which indicates that 25% redundant FEC protection is applied to the FEC encoding of the video Segments of the associated DASH-formatted content.
The operating modes for the Object Distribution Method are defined in clause 6.1 of TS 26.502. Operating modes primarily describe the operation of the MBSTF to convert ingest data into an MBS Distribution Session. The following clauses specify how FLUTE is used for each operating mode.
The Object Repair mechanism for FLUTE specified in clause 6.2.4 may be used with the following operating modes:
Single object operating mode (OBJECT_SINGLE) refers to the case in which a single object is distributed via the Object Distribution Method.
No specific aspects beyond the general provisions in clauses 6.1, 6.2.1 and 6.2.2 apply to this operating mode.
Object collection operating mode (OBJECT_COLLECTION) refers to the case in which multiple objects are distributed via the Object Distribution Method. The list of objects to be distributed is described by an object manifest document as specified in clause 6.1.2. The objects listed in the manifest are distributed only once. Each object listed in the manifest is pulled by the MBSTF from the location indicated prior to inclusion in the FLUTE Session corresponding to the MBS Distribution Session.
In this operating mode, each FDT Instance delivered in the FLUTE Session should describe all objects that are currently part of the collection.
Object carousel operating mode (OBJECT_CAROUSEL) refers to the case in which one or multiple objects are distributed via the Object Distribution Method in a repeated fashion. The list of objects to be distributed is described by an object manifest document as specified in clause 6.1.2. Each object listed in the manifest is pulled by the MBSTF from the location indicated prior to inclusion in the FLUTE Session corresponding to the MBS Distribution Session.
The list of objects described in the manifest may be updated over time by providing a replacement object manifest.
In this operating mode, the FDT Instance should describe all objects that are currently available in the FLUTE Session, considering the potential object update interval.
Segment streaming operating mode (OBJECT_STREAMING) refers to the case for which a sequence of objects, typically representing timed segments from a timed presentation, are distributed using the Object Distribution Method. The sequence of objects is referred to as an object flow. This operating mode is recommended for streaming DASH or HLS content to a Media Player in the UE using MBS User Services.
For each object associated with the object flow to be delivered in the MBS Distribution Session the following information shall be maintained by the MBSTF in an object list:
The URL used by the MBS-Aware Application to request the object, derived from the object ingest URL.
The object's latest availability start time at the MBS Client. After this time, the MBS-Aware Application may request the full object from the MBSTF Client by using the URL of the object.
This value is determined for each object based on an availability start time at the point of ingest (i.e. reception of first byte of the object) combined with a configured distribution offset.
The object's availability end time from the MBSTF Client. After this time, the object may no longer be requested by the MBS-Aware Application.
This value is determined for each object based on an availability start time at the point of ingest (i.e. reception of first byte of the object) combined with a configured clean-up time.
The object list is typically extended over time, for example as new objects (e.g. media segments) become available.
The object list may, for example, be provided by an explicit object distribution manifest.
The object list may also be defined by a presentation manifest (e.g. DASH MPD), for example in the case of an Application Service, for which the manifest is provided as part of the User Service Description.
When the Application Service Entry Point document is a DASH MPD, this document is used by the MBSTF to update the object list. The DASH MPD may itself be included in the object list, and hence be delivered in band with the media segment objects it describes on the same MBS Distribution Session. If the content of the Application Service Entry Point document changes during an MBS User Data Ingest Session, the updated document shall be reflected in the MBS Distribution Session at the soonest opportunity.
For the segment streaming operating mode, the MBSTF acts as follows based on the object list:
The MBSTF shall transmit each object in the object list such that the last packet of the delivered FLUTE transmission object (including any FEC recovery packets, when configured) is available at the MBSTF Client no later than its availability start time. When the Application Service Entry Point document is a DASH MPD, the availability start time is signalled in this document.
An FDT Instance object should be sent frequently by the MBSTF, describing all objects of the object list that are not yet fully transmitted.
The Content-Location element in the FDT Instance shall match the URL of the corresponding object in the object list. When the Application Service Entry Point document is a DASH MPD, this shall also match the URL of a DASH Representation described by that document after any template identifiers have been substituted.
The URL may be rewritten by the MBSTF using the Object distribution base URL property of the MBS Distribution Session.
If an update to the Application Service Entry Point document is delivered as a FLUTE transmission object then the Content-Location element in the FLUTE File Delivery Table for the delivered object shall match the URL of the referenced Application Service Entry Point document.
The File@Expires attribute for each object shall be set such that it is equal to or earlier than its latest availability start time.
The Cache-Control@Expires attribute shall be used to indicate the availability end time of the object.
In order to fetch missing portions of an object, the MBS Client shall support the post-session Object Repair procedure as specified in clause 6.2.4.2.
If the User Service Description provides the Object Repair parameters specified in clause 5.2.8, then:
An MBS AS instance assigned to each active MBS User Service Session shall host all objects transmitted on its MBS Distribution Session(s) at the network location location.
An MBS Client shall initiate the post-session Object Repair procedure as needed according to the procedure specified in clause 6.2.4.2.
The post-session Object Repair procedure is aligned with the File Repair procedures defined in clause 9.3 of TS 26.346.
It is assumed that a FLUTE File Delivery Table (FDT) Instance document as defined in clauses L.4 and L.6 of TS 26.346 is available in the MBS Client that contains at least the following information:
FDT@Expires attribute indicating the expiry date of the FDT Instance.
For one or multiple transmission objects in the FLUTE session, a File element with:
File@TOI attribute indicating the ALC Transport Object Identifier of the transmission object.
File@Content-Location attribute indicating the URI of the transmission object.
File@Content-Length attribute indicating the size (in bytes) of the transmission object.
File@File-ETag attribute indicating the entity tag value of the transmission object.
Then, based on the introduction in clause 9.3.1 of TS 26.346, the MBS Client generally acts as follows.
The MBS Client identifies the end of the MBS Distribution Session. The latest time for this is the value of the @Expires attribute indicated in the root element of the FDT Instance document. However, according to clause 9.3.2 of TS 26.346, an MBS Client may determine an earlier end of transmission of files,
if an end-of-session signal (A-flag) is received in an ALC/FLUTE header in the ongoing Object Distribution Session before the FDT instance expires; or
if the end of file transmission time is reached according to the service schedule description specified in clause 5.2.7.
The MBS Client identifies that data is missing from an MBS Object Distribution Session for one or multiple FLUTE transmission objects delivered in the Object Distribution Session following the principles in clause 9.3.3 of TS 26.346.
The MBS Client shall select an MBS AS instance repair URL randomly from the list of objectRepairBaseLocators if present in the ObjectRepair object defined in Table 5.2.8-1.
For each incomplete FLUTE transmission object defined by a File element in the FDT Instance document and as identified in step 2:
The MBS Client shall form the network location location (URL) of the repair object as defined in clause 6.2.4.4 using (i) the value of the File@Content-Location attribute, (ii) the repair URL selected in step 3 (if any) and (iii) the value of objectDistributionBaseLocator as distribution URL if present in the ObjectRepair object defined in Table 5.2.8-1.
The MBS Client shall define an appropriate list of byte ranges Range[M] with M the number of independent ranges and Range[m].start the start of the mth range and Range[m].end the end of the mth range from the repair object using the list of received symbols and additional information from the FDT as defined in clause 6.2.4.5.
The MBS Client shall then use the object repair procedures as defined as defined in clause 10.2.2 using the following parameters:
The offsetTime and randomTimePeriod parameters indicated in the ObjectRepair object as defined in Table 5.2.8-1.
For each incomplete FLUTE transmission object in the FDT Instance document, the MBSTF Client shall use from the corresponding FDT File entry the network location location formed in step 4a, the size of the transmission object (in bytes), the entity tag value and the minimal list of byte ranges Range[M] determined in step 4b.
The MBS Client uses the received list of byte ranges and the received data in the MBS Object Distribution Session to recover the missing object as defined in clause 6.2.4.6.
The determination of the network location location of the repair object uses the File@Content-Location attribute in the FDT Instance document, a repair base URL (if present) and a distribution base URL (if present) as follows:
If the repair base URL is not present, then the network location of the repair object is the value of File@Content-Location.
If the repair base URL is present, but not the distribution base URL, then the network location of the repair object is the value of File@Content-Location with the Retrieval URI according to RFC 3986 replaced with the repair base URL.
If both the repair base URL and the distribution base URL are both present, then the network location of the repair object is the value of File@Content-Location with the Base URI according to RFC 3986 being the distribution base URL replaced with the repair base URL.
Additionally, if the File@Content-Encoding attribute is present in the FDT Instance document and is set to the value gzip, then a ".gz" extension shall be appended to the path part of the repair object's location prior to the query part of the URL, if any. In this case, the GZipped [41] version of the repair object shall be hosted on the MBS AS. The MBSTF Client shall only use this in connection with a byte range request if the @File-ETag attribute is present in the FDT Instance of that object, for use as the entity-tag in the request. Otherwise, the MBSTF Client shall request the complete object from the MBS AS.
The selection of the byte range is aligned with clause 9.3.6.2 of TS 26.346. This clause focuses on the selection of a sufficient byte range for an individual FLUTE transmission object requiring repair. For each damaged transmission object, FDT parameters are assumed to be available.
The MBS Client shall identify a minimal set of source symbols identified by a list of Encoding Symbol Identifiers (ESIs) that, combined with the already received symbols, allows the FEC decoder to recover the file as follows:
When the Compact No-Code FEC scheme is used (i.e., if the FDT parameter @FEC-OTI-FEC-Encoding-ID is set to 0), the MBS Client shall consider already received source symbols when making the determination of the repair byte range symbols. The MBS Client shall identify the ESIs of the missing source symbols which constitute the minimal set.
When the Raptor FEC scheme is used (i.e., if the FDT parameter @FEC-OTI-FEC-Encoding-ID is set to 1), the MBS Client shall consider already received source and repair symbols when making the determination of the repair byte range required. In particular, the MBS Client shall identify a minimal set of source symbols that, combined with the already received symbols, allows the Raptor FEC decoder to recover the file.
Once a minimal set of sufficient source symbols for recovery is determined as an ordered list of ESIs, SS[0], …- SS[N − 1], with N the total number of source symbols, the list of source symbols is converted to an ordered list of M independent byte ranges Range[M] indexed from 0 in which Range[m].start is the start of the mth range and Range[m].end is the end of the mth, range. In the pseudocode presented in Listing 6.2.4.5-1, T is the value of the File@FEC-OTI-Encoding-Symbol-Length FDT attribute, and F is the value of the File@Content-Length FDT attribute.