CNF

Conjunctive Normal Form

Other
Introduced in Rel-15
A standardized logical formula format used in 3GPP specifications, particularly in policy and charging control (PCC) rules. It represents complex conditions as a conjunction (AND) of disjunctions (OR), enabling precise definition of service requirements and network behaviors. This formal representation ensures unambiguous interpretation across network functions.

Description

Conjunctive Normal Form (CNF) in 3GPP is a formal logical representation used to express complex conditions, primarily within Policy and Charging Control (PCC) frameworks defined in specifications like TS 29.501. It structures logical expressions into a standardized format consisting of a conjunction (logical AND) of one or more clauses, where each clause is a disjunction (logical OR) of literals. A literal represents a basic atomic condition, which can be either a positive statement (e.g., 'user is roaming') or a negated statement (e.g., 'user is NOT in home network'). This hierarchical structure allows network policies to encode multifaceted rules that must evaluate multiple criteria simultaneously.

Architecturally, CNF is employed within the Policy Control Function (PCF) to define policy rules that are then enforced by the Session Management Function (SMF) and User Plane Function (UPF). When the PCF generates PCC rules for a protocol data unit (PDU) session, it can use CNF to specify the triggering conditions for those rules. For example, a rule might apply only if ((condition A OR condition B) AND (condition C OR NOT condition D)). The CNF format ensures these compound conditions are parsed and evaluated consistently across different network functions, preventing misinterpretation that could arise from ambiguous natural language or ad-hoc logical representations.

From an operational perspective, when a network event occurs (such as a change in user location, time of day, or subscribed service), the relevant network function evaluates the CNF expression against current session parameters. Each literal is checked for truth value, then the disjunctions within clauses are evaluated, and finally the conjunction of all clauses determines if the overall condition is satisfied. This evaluation triggers corresponding actions, like modifying quality of service (QoS) parameters, applying charging rates, or redirecting traffic. The use of a formal logic standard like CNF is critical in 5G's service-based architecture, where policies must be dynamically applied across distributed, cloud-native functions.

Key components in a CNF expression include the literals (atomic conditions referencing standardized parameters), the clauses (disjunctions of literals), and the overall conjunction binding clauses. The parameters referenced in literals are defined in 3GPP specifications and can include user equipment (UE) location, network slice identifier, data network name (DNN), application identifier, time windows, and roaming status. By structuring policies in CNF, 3GPP enables complex, multi-dimensional policy decisions that adapt to real-time network conditions and user contexts, supporting advanced 5G capabilities like network slicing and differentiated QoS.

Purpose & Motivation

CNF was introduced to solve the problem of ambiguous and inconsistent interpretation of complex policy conditions in telecommunications networks. Prior to standardization, policy rules often used proprietary or informal logical expressions, leading to interoperability issues between network functions from different vendors. As 5G networks evolved with more sophisticated services like network slicing, edge computing, and IoT, the need for precise, machine-readable policy definitions became critical. CNF provides a mathematically rigorous format that eliminates ambiguity, ensuring that policy rules are executed exactly as intended across the entire network ecosystem.

The creation of CNF was motivated by the shift toward declarative policy management in 3GPP's 5G architecture. Unlike procedural approaches where policy logic is hard-coded, declarative policies specify 'what' should happen under certain conditions, not 'how' to implement it. CNF serves as the formal language for these conditions, enabling the PCF to generate portable policy rules that can be distributed to various enforcement points. This addresses limitations of earlier policy frameworks (like those in 4G) which were less flexible and struggled with complex, multi-attribute conditions required for 5G use cases.

Historically, policy control in mobile networks has grown from simple rules based on subscriber tier to dynamic policies considering real-time context. CNF supports this evolution by providing a scalable way to encode intricate business logic and technical constraints. For example, a service provider might create a policy that offers enhanced QoS only when a user is in a specific geographic area, during business hours, and using a particular application, while not roaming. Representing such a multi-faceted condition reliably requires a formal logic system like CNF, which ensures all network components evaluate the rule identically, maintaining service integrity and compliance with service level agreements (SLAs).

Key Features

  • Standardized logical format for unambiguous policy condition evaluation
  • Supports conjunction (AND) of disjunction (OR) clauses for complex rule definition
  • Enables dynamic policy adaptation based on multiple real-time parameters
  • Facilitates interoperability between multi-vendor network functions
  • Integrates with 5G Policy Control Function (PCF) for declarative policy management
  • References standardized parameters like location, slice ID, DNN, and application ID

Evolution Across Releases

Rel-15 Initial

Introduced CNF as part of the 5G Phase 1 standardization, primarily for Policy and Charging Control (PCC) in the service-based architecture. Defined the formal structure and integration with the Policy Control Function (PCF) to enable complex conditional policies for network slicing and QoS differentiation in initial 5G deployments.

Defining Specifications

SpecificationTitle
TS 29.501 3GPP TS 29.501