TOI

Transmission Object Identifier

Protocol
Introduced in Rel-8
Transmission Object Identifier (TOI) is a protocol field in FLUTE/ALC used for identifying data objects within a broadcast/multicast session. It enables receivers to request specific objects for repair or to identify components of a multimedia service. It is crucial for efficient file delivery over unidirectional transports.

Description

The Transmission Object Identifier (TOI) is a fundamental field within the Asynchronous Layered Coding (ALC) and File Delivery over Unidirectional Transport (FLUTE) protocols, which are used for reliable content delivery over broadcast and multicast networks, such as those defined in 3GPP for Multimedia Broadcast Multicast Service (MBMS) and evolved MBMS (eMBMS). The TOI is a numeric identifier, typically 16 or 32 bits in length, that uniquely identifies a 'transmission object' within the scope of a single ALC/FLUTE session. A transmission object can be a file, a file segment, or any other discrete block of data that the sender wishes to deliver. The TOI is carried in the header of every ALC packet, allowing receivers to associate incoming packets with the correct object for reassembly.

Within the FLUTE protocol, the TOI is used in conjunction with the File Delivery Table (FDT). The FDT is an XML description that maps each TOI value to metadata about the corresponding file, such as its URI, content type, size, and message digest. When a receiver joins a FLUTE session, it first acquires the FDT (which itself is delivered as an object with a known, often TOI=0). By parsing the FDT, the receiver learns which TOI corresponds to which file it needs. As packets arrive, the receiver uses the TOI to direct packets to the correct reassembly buffer. If packets are missing, the receiver can use the TOI to precisely request retransmission of specific packets for that object using a separate repair protocol like NORM or ALC with LCT Channel.

The role of the TOI is critical for scalability and efficiency in broadcast scenarios. Since multiple files or large files segmented into many objects can be transmitted in an interleaved fashion over the same multicast channel, the TOI provides the necessary demultiplexing key at the receiver. It enables selective reception and repair, where a receiver can choose to only receive objects it is interested in (e.g., specific video segments for HTTP Adaptive Streaming over broadcast) and can request repair only for missing parts of those objects. This design minimizes receiver buffer requirements and network repair traffic. In 3GPP's eMBMS architecture, FLUTE with TOI is used in the application layer of the broadcast bearer for delivering files and segments to potentially massive numbers of UEs simultaneously.

Purpose & Motivation

The TOI was created to solve the problem of identifying and reassembling multiple discrete data objects within a single, continuous multicast or broadcast data stream. Prior to standardized object-based multicast protocols, bulk data delivery over broadcast often used monolithic streams or proprietary encapsulation, making selective reception, random access, and efficient error recovery difficult. The TOI, as part of the IETF's ALC/FLUTE framework adopted by 3GPP, provides a lightweight, standardized mechanism for this identification.

Its introduction into 3GPP specifications (e.g., TS 26.346 for MBMS) was motivated by the need for an efficient application-layer protocol for MBMS and eMBMS services. Services like mobile TV, software updates, and public warning systems require reliable delivery of many files or media segments to many users. The TOI enables the MBMS system to support these services efficiently by allowing the network to statelessly transmit objects and allowing receivers to independently manage which objects they consume and how they recover from packet loss. It addresses the limitation of receiver complexity, as the network does not need to manage individual receiver states; instead, the intelligence is pushed to the edge, with the TOI providing the common reference for all parties.

Key Features

  • Uniquely identifies a data object (file or segment) within a single ALC/FLUTE session
  • Carried in the header of every ALC packet for receiver-side demultiplexing and reassembly
  • Used in conjunction with the File Delivery Table (FDT) which maps TOIs to file metadata
  • Enables selective reception and repair, allowing receivers to request only missing objects or packets
  • Supports scalable multicast delivery by decoupling sender state from receiver needs
  • Fundamental to 3GPP eMBMS for applications like LTE Broadcast and 5G Multicast-Broadcast services

Evolution Across Releases

Rel-6 Initial

Initial introduction of MBMS. While FLUTE/ALC and the concept of TOI were referenced for download delivery services, the initial focus was on streaming. The foundational architecture for broadcast file delivery using object-oriented protocols was established.

Enhanced MBMS (eMBMS) introduced with LTE. FLUTE became the standardized file delivery protocol for eMBMS, and the use of TOI was explicitly defined for delivering files and segments for services like evolved Multimedia Broadcast and Multicast Service. Specifications like TS 26.346 detailed its application.

Further enhancements to eMBMS, including support for HTTP Adaptive Streaming (HAS) over broadcast. The TOI's role became even more critical for identifying individual media segments (e.g., .m4s files) within a dynamic broadcast playlist, enabling efficient hybrid broadcast-broadband delivery.

Integration of 5G Multicast-Broadcast Services (5G MBS). The TOI and FLUTE protocol principles are carried forward into the 5G MBS architecture for application-layer file and object delivery, ensuring backward compatibility and reuse of proven mechanisms for efficient mass content distribution.

Defining Specifications

SpecificationTitle
TS 26.346 3GPP TS 26.346
TS 26.512 3GPP TS 26.512
TS 26.517 3GPP TS 26.517
TS 26.802 3GPP TS 26.802
TS 26.804 3GPP TS 26.804
TS 26.852 3GPP TS 26.852
TS 26.946 3GPP TS 26.946
TS 26.947 3GPP TS 26.947