Description
Asynchronous Layered Coding is a protocol designed within the 3GPP Multimedia Broadcast Multicast Service (MBMS) framework to provide reliable multicast transport for file delivery and streaming services. It operates as an application layer protocol that sits above UDP/IP and below the MBMS user service layer, specifically designed to overcome the limitations of traditional IP multicast in wireless environments. ALC employs a combination of layered coding, congestion control, and asynchronous transmission to enable efficient, scalable content distribution to potentially millions of mobile devices simultaneously.
The protocol architecture consists of several key components: the ALC protocol itself, which defines packet formats and session description; the Layered Coding Transport (LCT) building block, which provides session management and congestion control; and Forward Error Correction (FEC) building blocks that enable reliable delivery without requiring feedback from receivers. ALC sessions are identified by a combination of source IP address, destination port, and Transport Session Identifier (TSI). The protocol uses multiple layers or channels that can be independently subscribed to by receivers, allowing for bandwidth adaptation and service differentiation.
ALC works by dividing content into objects that are transmitted using multiple layers. Each layer carries encoded data using FEC techniques, typically Raptor or RaptorQ codes specified in 3GPP. Receivers can subscribe to different combinations of layers based on their capabilities, network conditions, or subscription levels. The asynchronous nature means receivers can join sessions at any time and still receive complete content, as the transmission uses carousel-based repetition where content objects are repeatedly transmitted. This eliminates the need for synchronization between sender and receivers.
In the MBMS architecture, ALC operates within the BM-SC (Broadcast Multicast Service Center) for content delivery and in the UE for reception. The BM-SC uses ALC to package content into ALC packets that are then forwarded through the MBMS bearer network. The protocol includes built-in congestion control mechanisms that adapt transmission rates based on network conditions, ensuring efficient use of radio resources. ALC also supports file repair procedures through additional repair symbols transmitted in separate layers, enabling reliable delivery even in challenging radio conditions.
The protocol's design specifically addresses the challenges of wireless multicast: varying channel conditions across different receivers, limited feedback capabilities (to avoid feedback implosion), and efficient use of broadcast radio resources. By combining layered coding with FEC, ALC enables receivers in poor coverage areas to receive content through longer reception times while receivers in good coverage get content quickly. This graceful degradation characteristic makes ALC particularly suitable for mobile broadcast services where user equipment experiences widely varying signal conditions.
Purpose & Motivation
ALC was created to address the fundamental challenges of reliable multicast content delivery in mobile networks, particularly for MBMS services. Traditional IP multicast protocols were designed for wired networks and didn't account for the specific characteristics of wireless environments: high packet loss rates, varying channel conditions across receivers, limited uplink capacity for feedback, and the need for efficient radio resource utilization. Before ALC, attempts to deliver broadcast content to mobile devices either used unicast approaches (which don't scale) or simple broadcast without reliability guarantees.
The primary motivation for developing ALC was to enable commercial broadcast services like mobile TV, where service providers need to guarantee content delivery to paying subscribers. Previous approaches either required excessive radio resources (through repetition) or couldn't guarantee delivery in cell edge conditions. ALC solves these problems through its combination of layered coding and FEC, allowing receivers to accumulate data over time and recover from losses without requiring retransmissions from the source.
Another key problem ALC addresses is the 'feedback implosion' problem in traditional reliable multicast protocols. In mobile networks with potentially millions of receivers, having each device send acknowledgments or negative acknowledgments would overwhelm the network. ALC's design eliminates the need for receiver feedback through its use of proactive FEC and carousel-based transmission. This makes the protocol scalable to very large receiver populations while maintaining reliability guarantees. The protocol also enables service differentiation through its layered approach, allowing premium users to receive higher quality content or faster delivery through subscription to additional layers.
Classification
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (4 CRs across 3 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Studied in Rel-8, normative work from Rel-15.
In Release 15, support for SAND (Session Announcement for Network-assisted Dynamic adaptation) for MBMS was newly introduced for the Asynchronous Layered Coding (ALC) function. This enhancement relates to the procedures for MBMS User Service discovery/announcement, which is the method for the service provider to make available MBMS User Services known to the UE.
- Support for SAND for MBMS TS 26.946CR0015
In Release 16, the specification was updated to address a missing XML data type for attributes within the MBMS User Service Description (USD). This change ensured the proper definition and handling of USD attributes, which are critical for MBMS User Service discovery and announcement procedures. The correction maintained alignment with the existing framework for describing and announcing MBMS user services.
- Missing XML Data Type for Attributes in MBMS USD TS 26.346CR0658
In Release 19, the Asynchronous Layered Coding (ALC) function was enhanced with an in-session unicast repair procedure for MBMS object distribution, allowing for error recovery during a broadcast session. This was complemented by improvements to the time synchronization mechanisms for MBMS, ensuring more reliable and coordinated delivery of layered content. These updates provided greater robustness and efficiency for the ALC-based download delivery method.
Explore further
Broader topics and technologies where ALC plays a role.
Defining Specifications
3GPP specifications that define or reference ALC, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| 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 |
| TR 26.946 vj00 | MBMS User Services Overview | Rel-19 |
| TR 26.947 vj00 | FEC Evaluation for MBMS Enhancement | Rel-19 |
| TS 29.414 vj00 | Nb Interface Bearer Transport & Control Protocols | Rel-19 |