# Summary of 3GPP Technical Document S4-260053

## Document Overview
This is a Category C (functional modification) Change Request (CR 0031, revision 1) to TR 26.804 version 19.1.0, addressing Work Topic #2a on Common server- and network-assisted streaming under the FS_AMD_Ph2 study item. The CR proposes to merge with CRs 0032 and 0037.

## Main Technical Contributions

### 1. References Update (Clause 2)

Addition of new normative reference:
- **[X3] SVTA1108**: "CMSD to Enhance Media Streaming: A White Paper" from SVTA organization
  - Provides industry perspective on CMSD usage and benefits

### 2. Common Media Server Data (CMSD) Overview (Clause 5.25.1.4)

#### Core CMSD Functionality
- CMSD provides key-value pairs for information flow about origin and intermediary client states
- Clients can be intermediary servers or players
- Specific focus on the **`mb` parameter** (maximum suggested bitrate):
  - Sent by server via CMSD response headers
  - Provides server-recommended upper bound for player's video bitrate selection

#### Application to In-Band QoS Signaling
The CR identifies CMSD as a candidate technology for in-band QoS signaling at application layer, with relevant parameters from **CMSD-Dynamic** header:
- `currentBitrate`
- `bufferLevel`
- `playbackPosition`
- `throughputEstimate`

#### Identified Limitations
**Protocol Stack Constraints:**
- CMSD operates at HTTP layer
- Network elements at lower protocol stack levels (e.g., routers with rate limiting) cannot interpret HTTP-level CMSD
- More suitable for application servers than network infrastructure elements
- Cannot be applied generically to non-streaming traffic types

**Content-Specific Nature:**
- CMSD data tightly coupled to media content and server-client connection
- Parameters like `throughputEstimate` and `bufferLevel` are client-specific and presentation-specific
- Not applicable to generic network link characterization
- Study will investigate whether more generic network connection information is needed for in-band QoS signaling

### 3. Detailed CMSD Specification (Annex C.2)

#### CMSD Headers and Keys (Table C.2-1)
Comprehensive mapping of CMSD headers with their associated keys and descriptions:

| Header | Keys | Purpose |
|--------|------|---------|
| **CMSD-Static** | codec, resolution, duration, encodedBitrate | Static media object information |
| **CMSD-Dynamic** | currentBitrate, bufferLevel, playbackPosition, throughputEstimate | Session-variable information |
| **CMSD-Cache** | cacheStatus, cacheHitRatio, cacheExpiration | Cache status information |
| **CMSD-Error** | errorCode, errorDescription | Error reporting |
| **CMSD-Quality** | videoQuality, audioQuality, qualityAdjustments | Quality metrics |
| **CMSD-User** | userID, sessionID, userPreferences | User-specific data |
| **CMSD-Session** | sessionStartTime, sessionDuration, sessionID | Session information |
| **CMSD-Event** | playbackStart, pause, resume, stop | Session events |
| **CMSD-Performance** | serverResponseTime, networkLatency, throughput | Performance metrics |
| **CMSD-Content** | contentID, contentType, contentDuration | Content metadata |

#### SVTA White Paper Findings
Reference to SVTA white paper [X3] demonstrating:
- Experimental validation of CMSD benefits across delivery chain (origin servers to players)
- Improvements in:
  - Latency reduction
  - Startup time
  - Quality of Experience (QoE)

### 4. dash.js Reference Implementation

#### Implemented CMSD Parameters
The dash.js reference client implements a subset of CMSD parameters:

**1. CMSD `mb` (Maximum Suggested Bitrate)**
- **Server Behavior**: Sends `mb` in CMSD response headers as recommended upper bound
- **Client Implementation**:
  - Treats `mb` as hard ceiling for ABR bitrate selection
  - When enabled (`abr.applyMb = true`):
    - Avoids selecting bitrates higher than `mb`
    - Immediately throttles down if currently playing above `mb`
    - Maintains upper bound until new `mb` received or playback ends
- **Benefits**:
  - Prevents over-aggressive ABR decisions
  - Reduces oscillations from bandwidth overestimation
  - Leverages server's global visibility for client guidance

**2. CMSD `etp` (Estimated Throughput)**
- **Server Behavior**: Provides server-side throughput estimate (typically measured at response start)
- **Client Implementation**:
  - Integrates into ABR logic via weighting mechanism
  - `abr.etpWeightRatio` defines server vs. client estimate influence
    - Example: 0.5 = 50% server estimate + 50% client estimate
  - Can influence initial bitrate selection during manifest load
- **Benefits**:
  - Server-side estimates more accurate (especially for low-latency/chunked-transfer scenarios)
  - Reduces ABR oscillation/"ping-pong" from noisy client measurements
  - Produces smoother bitrate choices and fewer stalls
  - Validated by CMSD studies

## Technical Implications

The CR establishes CMSD as a viable application-layer mechanism for server-assisted streaming optimization while clearly identifying its architectural constraints for network-layer QoS signaling. The inclusion of dash.js implementation details provides concrete validation of CMSD's practical benefits in production environments.