FLUTE

File Delivery over Unidirectional Transport

Services →
Introduced in Rel-8

FLUTE is a protocol for efficiently delivering files and data to many receivers over unidirectional, broadcast, or multicast networks, enabling scalable content distribution for services like 3GPP MBMS.

Category
Services
Introduced
Rel-8
Where
Services › Codecs
Specifications
18 specs
FLUTE Description Purpose Related Classification Detected Changes Specifications

Description

File Delivery over Unidirectional Transport (FLUTE) is an application-layer protocol standardized within the IETF and adopted by 3GPP for broadcast/multicast file delivery. It operates on top of the Asynchronous Layered Coding (ALC) protocol suite, which itself uses the Layered Coding Transport (LCT) building block and congestion control. FLUTE is designed for one-to-many distribution scenarios where feedback from receivers to the sender is impractical or impossible due to the unidirectional nature of the transport (e.g., terrestrial broadcast radio). Its primary function is to reliably deliver one or more files, or a collection of data objects, to potentially millions of receivers simultaneously.

Architecturally, in a 3GPP MBMS/eMBMS context, FLUTE runs between a Broadcast Multicast Service Center (BM-SC) and the User Equipment (UE). The BM-SC acts as the FLUTE sender, while the UE hosts the FLUTE receiver. FLUTE packages files into source blocks, which are then encoded using Forward Error Correction (FEC) schemes, like Raptor or RaptorQ, specified in 3GPP. This FEC encoding generates repair symbols that are transmitted alongside the original source symbols. This allows receivers to recover lost packets without requesting retransmissions, which is crucial for broadcast where return channels are unavailable or inefficient. FLUTE uses a File Delivery Table (FDT) to describe the files being delivered, including attributes like content type, size, and URI. The FDT itself is delivered as a FLUTE object, providing receivers with a manifest of the session.

FLUTE works by establishing a session identified by a Transport Session Identifier (TSI). Within this session, each file is assigned a Transport Object Identifier (TOI). The sender transmits source and repair symbols for each TOI in data packets. The receiver listens to these packets, collects symbols, and uses the FEC decoder to reconstruct the original file once enough symbols are received, regardless of which specific symbols arrived. The protocol supports carousel-based delivery, where content is repeated cyclically, allowing receivers that join late to still acquire all files. FLUTE is agnostic to the underlying transport; in 3GPP, it typically runs over UDP/IP, which is carried over the eMBMS bearer through the LTE or 5G broadcast radio interface. This combination provides an efficient pipeline for mass content distribution, offloading traffic from the unicast core network and enabling services like public warning systems, over-the-air updates, and linear TV broadcast to mobile devices.

Purpose & Motivation

FLUTE was developed to solve the fundamental challenge of scalable, reliable file distribution over broadcast networks. Traditional file transfer protocols like FTP or HTTP/TCP rely on acknowledgments and retransmissions, which create a feedback implosion problem when serving millions of users simultaneously—this is impossible in pure broadcast scenarios like TV or radio transmission. Before FLUTE and MBMS, mobile operators had no efficient way to send the same large file (e.g., an OS update) to all subscribers without crippling their unicast networks.

The protocol's creation was motivated by the need for a unidirectional, reliable content delivery method for emerging broadcast services. It addresses the limitations of simple, unreliable multicast by incorporating built-in FEC, which provides reliability without feedback. This was a paradigm shift. FLUTE also introduced a structured way to describe and deliver multiple files within a single session, which was essential for complex content like a website with multiple assets or a video with associated metadata. Its adoption by 3GPP for MBMS enabled a range of broadcast services that would otherwise be infeasible, transforming the mobile network from a purely point-to-point system into a hybrid one capable of efficient point-to-multipoint communication. This is critical for use cases requiring simultaneous delivery, such as emergency alerts where every device in an area must receive the information instantly and reliably.

Classification

Part ofMBMS
Specific typesFDTROUTERSTTOI
Related approachesALC

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (15 CRs across 4 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Studied in Rel-8, normative work from Rel-15.

Rel-15 2 changes

In Release 15, FLUTE was enhanced for mission critical services over MBMS by introducing support for application layer Forward Error Correction (FEC) and Robust Header Compression (ROHC) to optimize channel usage. These capabilities, specific to MBMS delivery, can be handled by either the mission critical application or the MBMS user agent. The release also studied how the MC MBMS API could support these functions along with file distribution over a unidirectional channel.

  • Support for SAND for MBMS TS 26.946CR0015
  • FEC and ROHC for mission critical services over MBMS TS 29.116CR0021
Rel-16 5 changes

In Release 16, the FLUTE function was enhanced to support Mission Critical (MC) services by defining a specific MC MBMS API for file distribution over MBMS. This included enabling MC applications to receive MBMS data for procedures like "group standalone file distribution using media plane" and to handle associated MBMS bearer announcements. The release also introduced mechanisms for UE group content delivery and for MC applications to monitor MBMS bearer quality and availability.

  • Missing XML Data Type for Attributes in MBMS USD TS 26.346CR0658
  • MBMS resource sharing TS 29.116CR0037
  • SA file returned for the download delivery session TS 29.116CR0038
  • Correction on Subcarrier Spacing in USD for ROM Service Delivery TS 26.346CR0635
  • UE group content delivery TS 29.116CR0029
Rel-17 1 change

In Release 17, a new "Feature reduced FLUTE FDT" was introduced, which specifically optimizes the File Delivery over Unidirectional Transport (FLUTE) protocol for mission critical services over MBMS. This enhancement simplifies the FLUTE File Delivery Table (FDT) to improve efficiency for unidirectional file distribution, a key capability for MCData file distribution. The change supports the MBMS API's role in enabling mission critical applications to receive MBMS data, including files, through a more streamlined delivery mechanism.

  • [5MBP3]: Feature reduced FLUTE FDT Schema TS 26.346CR0661
Rel-19 7 changes

In Release 19, the FLUTE function was enhanced for Advanced Media Delivery, introducing new features for MBS User Services and 5G Media Streaming. Key additions included support for In-session Unicast Repair for MBMS Object Distribution and improved mechanisms for multiple service location media delivery. The release also focused on Improved Time Synchronization for MBMS and laid the groundwork for future study on multi-access media delivery.

  • [AMD_PRO-MED] In-session Unicast Repair for MBMS Object Distribution TS 26.346CR0677
  • [AMD_PRO-MED] Consolidated Additions for Advanced Media Delivery TS 26.517CR0031
  • [FS_AMD] Advanced Media Delivery Features for MBS User Services TS 26.802CR0005
  • [FS_AMD] Advanced Media Delivery Features for 5G Media Streaming TS 26.804CR0024
  • [FS_AMD] Update to multiple service location media delivery recommendations for stage 3 TS 26.804CR0027
  • Improved Time Synchronization for MBMS TS 26.346CR0672

+ 1 more changes

Explore further

Broader topics and technologies where FLUTE plays a role.

Defining Specifications

3GPP specifications that define or reference FLUTE, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TS 23.792 vg00 MBMS API for Mission Critical Services Rel-16
TS 26.142 vj00 3GPP TS 26.142: Dynamic and Interactive Multimedia Scenes (DIMS) Rel-19
TS 26.244 vj00 3GPP File Format (3GP) Specification Rel-19
TS 26.346 vj20 MBMS User Services Media Codecs & Protocols Rel-19
TS 26.517 vj10 5G MBS User Service Protocols and Formats Rel-19
TS 26.802 vj20 Multicast Enhancements for 5G Media Streaming Rel-19
TS 26.804 vj10 5G Media Streaming Extensions Study Rel-19
TS 26.827 vc00 IMS-based Streaming & Download Delivery Enhancements Rel-12
TS 26.848 vc00 Enhanced MBMS for DASH over broadcast/unicast Rel-12
TS 26.849 vc10 MBMS Operation on Demand (MooD) Rel-12
TS 26.850 vg00 Massive File Delivery for IoT Devices Rel-16
TS 26.851 vb20 Enhancements to Multimedia (EMM) for PSS, MMS, MBMS Rel-11
TS 26.852 ve20 MBMS user service profiles, APIs and transport enabler study Rel-14
TR 26.938 vj00 DASH Deployment Guidelines for 3GPP Networks Rel-19
TR 26.946 vj00 MBMS User Services Overview Rel-19
TR 26.947 vj00 FEC Evaluation for MBMS Enhancement Rel-19
TS 29.116 vj00 REST-based protocol for xMB reference point Rel-19
TS 33.246 vj00 MBMS Security Specification Rel-19