FLUTE

File Delivery over Unidirectional Transport

Services
Introduced in Rel-8
File Delivery over Unidirectional Transport (FLUTE) is a protocol for efficiently delivering files and data to a large number of receivers over unidirectional, broadcast, or multicast networks. It is a cornerstone of 3GPP Multimedia Broadcast/Multicast Service (MBMS) and evolved MBMS (eMBMS). FLUTE enables reliable, scalable content distribution like software updates, emergency alerts, and live video streaming to massive audiences without overloading unicast networks.

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.

Key Features

  • Reliable file delivery using application-layer Forward Error Correction (FEC)
  • Support for delivery of multiple files within a single session
  • Use of a File Delivery Table (FDT) for session description
  • Carousel-based transmission for late-join receiver capability
  • Protocol independence from lower-layer transport (works over UDP)
  • Standardized for use in 3GPP MBMS and eMBMS ecosystems

Evolution Across Releases

Rel-8 Initial

Adopted FLUTE as the file delivery protocol for the Multimedia Broadcast Multicast Service (MBMS) in LTE. Defined its use for delivering files and carousel-based content over eMBMS bearers, integrating it with the MBMS architecture and specifying the use of Raptor FEC for error recovery.

Defining Specifications

SpecificationTitle
TS 23.792 3GPP TS 23.792
TS 26.142 3GPP TS 26.142
TS 26.244 3GPP TS 26.244
TS 26.346 3GPP TS 26.346
TS 26.517 3GPP TS 26.517
TS 26.802 3GPP TS 26.802
TS 26.804 3GPP TS 26.804
TS 26.827 3GPP TS 26.827
TS 26.848 3GPP TS 26.848
TS 26.849 3GPP TS 26.849
TS 26.850 3GPP TS 26.850
TS 26.851 3GPP TS 26.851
TS 26.852 3GPP TS 26.852
TS 26.938 3GPP TS 26.938
TS 26.946 3GPP TS 26.946
TS 26.947 3GPP TS 26.947
TS 29.116 3GPP TS 29.116
TS 33.246 3GPP TR 33.246