Description
Composite Capability / Preference Profiles (CC/PP) is a standardized framework, based on the Resource Description Framework (RDF), for representing and transmitting a client device's hardware and software capabilities, along with user preferences, to a content server or application. It provides a structured vocabulary to describe attributes such as screen size, supported media codecs, color depth, input methods, and browser software versions. The primary architectural role of CC/PP is to act as a metadata exchange mechanism between a User Equipment (UE) and a network server, most commonly an HTTP proxy or an origin server, to facilitate content adaptation.
In operation, a CC/PP profile is typically stored on the client device or referenced via a URI. When a client initiates a session or requests content, this profile is conveyed to the server, often within HTTP headers using the CC/PP exchange protocol defined in conjunction with WAP. The server-side adaptation engine then parses this XML/RDF-based profile. It compares the stated capabilities and preferences against the available versions or representations of the requested content (e.g., an image in multiple resolutions or a video in different encoding formats). Based on this matching process, the server selects, and may even transcode, the most appropriate content variant to deliver back to the client.
Key components of the CC/PP framework include the Profile Data Model, which defines the structure of the capability information using RDF schemas, and the CC/PP exchange protocol, which specifies how these profiles are transmitted over networks like HTTP. The profile itself is composed of components (e.g., a 'HardwarePlatform' component, a 'SoftwarePlatform' component, and a 'BrowserUA' component), each containing a set of attribute-value pairs describing specific features. A critical aspect is the use of a two-tiered structure consisting of a profile diff and a reference profile. The client can send only the differences (the diff) from a well-known reference profile stored at a URI, significantly reducing the amount of data transmitted over the air interface.
Within the 3GPP architecture, CC/PP is integral to the Transparent End-to-End Packet-switched Streaming Service (PSS) and Multimedia Broadcast/Multicast Service (MBMS). It enables the PSS server and client to negotiate media formats, ensuring efficient use of radio resources and providing a user experience tailored to the device's display and processing power. Its role extends to the IP Multimedia Subsystem (IMS) for service personalization, making it a foundational element for delivering adaptable multimedia services in a heterogeneous device ecosystem.
Purpose & Motivation
CC/PP was created to address the fundamental challenge of the 'one-size-fits-all' approach to web and multimedia content delivery, which became untenable with the explosion of diverse mobile devices in the early 2000s. Prior to its standardization, servers had limited or ad-hoc methods (like parsing the User-Agent string) to infer client capabilities, leading to poor user experiences, wasted bandwidth from sending unsupported content, and increased device power consumption from processing inappropriate media formats. The limitations of previous approaches included a lack of a structured, extensible, and standardized vocabulary to comprehensively describe device features and user choices.
The historical context for CC/PP's development is closely tied to the Wireless Application Protocol (WAP) forum and its merger into the Open Mobile Alliance (OMA). It was motivated by the need for efficient content adaptation in bandwidth-constrained mobile networks (2.5G and 3G) to improve service accessibility and quality. By providing a robust, XML-based description framework, CC/PP solved the problem of enabling network servers and proxies to make informed, automated decisions about content transformation, selection, and delivery, thereby optimizing the end-to-end service for both the network operator and the subscriber.
Furthermore, CC/PP laid the groundwork for more sophisticated service personalization and device management. It solved the problem of scalable service deployment across a fragmented device market by introducing a standard interface for capability discovery. This allowed content providers and mobile operators to build adaptation logic once, based on the CC/PP standard, rather than maintaining device-specific databases, thus reducing complexity and accelerating the rollout of rich multimedia services like video streaming and mobile browsing to a wide variety of handsets.
Key Features
- Standardized RDF-based schema for describing device hardware, software, and browser capabilities
- Supports efficient transmission via profile diffs referencing a URI-stored base profile
- Enables server-side content adaptation, negotiation, and media format selection
- Integrates with HTTP for profile exchange between client and server
- Provides a foundation for user preference description for service personalization
- Facilitates bandwidth optimization by preventing delivery of unsupported content formats
Evolution Across Releases
Introduced the CC/PP framework within 3GPP for the Transparent End-to-End Packet-switched Streaming Service (PSS). Defined the initial architecture for capability exchange to enable content adaptation by PSS servers, specifying how CC/PP profiles describe terminal capabilities for multimedia streaming.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.057 | 3GPP TS 23.057 |
| TS 26.140 | 3GPP TS 26.140 |
| TS 26.141 | 3GPP TS 26.141 |
| TS 26.234 | 3GPP TS 26.234 |