1 Overview

The 5G Unified Data Repository (UDR) is one of the main key component of the 5G Service Based Architecture. It is implemented as a cloud native function and offers a unified database for storing application, subscription, authentication, service authorization, policy data, session binding and Application state information. It provides a HTTP2 based RESTful interface for other NF's and provisioning clients to access the stored data.

Oracle's 5G UDR:
  • Leverages a common Oracle Communications Cloud Native Framework
  • Is compliant to 3GPP 29.505 Release 15 specification UDM
  • Is compliant to 3GPP 29.519 Release 16 (backward compatible with Release 15) specification for PCF
  • Has tiered architecture providing separation between the connectivity, business logic and data layers
  • Uses Oracle MySQL NDB Cluster CGE Edition as backend database in the Data Tier
  • Registers with NRF in the 5G network so that the other NFs in the network can discover UDR through NRF
  • Registers UDR with services like DR-SERVICE and GROUP-ID-MAP
As per 3GPP, UDR supports following functionality:
  • Storage and retrieval of subscription data by the UDM
  • Storage and retrieval of policy data by the PCF
  • Storage and retrieval of structured data for exposure
  • Storage and retrieval of SLF information, consumed by NRF
  • Application data (including Packet Flow Descriptions (PFDs) for application detection, AF request information for multiple UEs), by the NEF
  • Subscription and Notification feature

Unstructured Data Storage Function (UDSF) is a part of Oracle's 5G UDR solution. It supports storage and retrieval of unstructured data by any 5G NF. The specifications of UDSF are presently not defined by 3GPP.

5G SLF functionality is also a part of Oracle's 5G UDR solution. It:
  • Supports Nudr-groupid-map service as defined by 3GPP
  • Registers with NRF for Nudr-groupid-map service
  • Is complaint with 3GPP Release 16 for APIs to be consumed by 5G NRF
  • Supports REST/JSON based provisioning APIs for SLF data

Architecture

The Cloud Native Unified Data Repository architecture has following three tiers:

Connectivity Tier
  • Ingress API Gateway (Spring Cloud Gateway [SCG] based) is used as an API gateway that receives all requests and forwards them to the Nudr-drservice service of Business Tier.
  • It load balances the traffic and provides required authentication using Oauth2.
  • It provides TLS support.
  • It runs on Kubernetes/OCCNE as a microservice.
  • It uses Egress API Gateway for Egress traffic arising from UDR (notifications and NRF management APIs).
Business Tier
  • Provides the business logic of 5G Unified Data Repository.
  • It has following micro services:
    • nudr-drservice: The core service that handles flexible URI support, runtime schema validation and connects to Data Tier for DB operations. It provides SLF lookup functionality.
    • nudr-nrf-client-service: Handles registration, heartbeat, update and deregistration with Network Repository Function (NRF).
    • nudr-notify-service: Handles notification messages to Policy Control Function (PCF) and Unified Data Management (UDM) for data subscriptions.
    • nudr-config: Handles all request from CNC-Console and redirects all requests to appropriate REST API of the config server. It allows users to configure UDR for all micro services.
    • nudr-config-server: Handles all the requests from nudr-config and updates the database.
    • nudr-diameterproxy service: Supports Diameter Sh interface for 4G policy data for the subscriber profile.
Data Tier
  • Uses Oracle MySQL NDB Cluster, CGE edition as backend database in the DB tier. This provides HA and geo-redundcancy capabilities.
  • Users can build database on either Bare metal, virtualized or on kubernetes platform (kubevirt based).

Unified Data Repository Features

This section provides list of the features supported in Oracle Communications Unified Data Repository.

  • Flexible URI support: A user can define a new URI for any resource at runtime for basic CRUD operations on the resource.
  • Supports multi-keys: UDR supports multiple keys for a subscriber and provides flexibility to define new ones.
  • Runtime schema validation: Allows users to modify and validate the schema in use for data storage without service restart.
  • Supports 5G PCF's AM, SM, UEPolicySet and UsageMonitoring data APIs. It is also compliant with 3gpp spec v29.519, v16.2 (backward compatible with v15.3.0). See Rollback to v15.3.0 version of PCF Data
  • Provisioning support via REST/JSON: UDR provides provisioning APIs for creating subscribers and provisioning different types of NF data (PCF, UDM, SLF).
  • Schema versioning: Using this feature, UDR maintains different versions of schema, starting from default version v0 (software version shipped to customers) and as customer upgrades schema, it creates new versions like v0, v1, v2.
  • Subscription/Notification feature: The "nudr-drservice" service receives and processes the subscription request to subscribe the subscriber's resources. Whenever it receives any update or delete request for subscribers (subscribed for notifications), the "nudr-drservice" service sends an internal signal (HTTP2 POST request) to "nudr-notify-service". The "nudr-notify-service" is a new service, which is responsible to send out the notification requests to the target.
  • UDSF API support: UDR supports basic CRUD operations for UDSF API.
  • UDM API support: UDR is compliant with 3GPP spec 29.505 v15.4.0. It supports encryption of stored data for certain types of UDM data. For this, it utilizes the DB Tier (MySQL NDB Cluster) encryption technology.
  • Integrated with CNE services: Like Prometheus/Grafana for metrics, EFK/Kibana for logging and Jaeger for tracing.
  • 5G SLF functionality: UDR provides Nudr-groupid-map service towards 5G NRF. It is compliant with 3GPP release 16, spec 29.504 v16.2.0. It provides provisioning APIs based on SLF Groupname and Nudr-group-id-map.
  • Supports TLS with Ingress and Egress API gateway.
  • Integrated with ProvGwy for receiving provisioning updates to SLF. See ProvGwy documentation
  • Integrated with CNC-C for manual subscriber provisioning on the GUI and configuration of UDR services. The CNC-C GUI allows UDR users to configure SLF groupname.
  • Supports customized lables, annotations and naming conventions of kubernetes resources in the Helm charts.
  • Supports Helm test to validate the NF deployment.
  • Exposes Diameter Sh interface for 4G Policy data, which PCRF uses. It also generates PNR notifications for profile updates.

List of Operations Supported

Unified Data Repository supports the following operations.

Subscriber Profile Related Operations for Provisioning
  • Create Subscriber: Provisions a subscriber with the given set of keys.
  • Update Subscriber: Updates the subscriber information.
  • Get subscriber: Retrieves the subscriber information completely.
  • Delete Subscriber: Deletes the subscriber information and related data.
NF Data Related Operations as per 3GPP
  • Insert Data: Creates a subscriber if not present and inserts the specific data (policy_data/udsf_data/udm_data/SLF Data).
  • Update Data: Creates a subscriber if not present and updates the complete data for a particular subscriber as given in request.
  • Patch Data: Supports patch update of a specific data or parts of it. If not present, it adds the data. This operation is valid only when subscriber is already present.
  • Get Data: Retrieves the requested data for a particular subscriber.
  • Delete Data: Deletes the requested data for a particular subscriber.
  • Subscription Request: Subscribes to a subscriber resources and get notified in case of updates.
  • Notification: UDR generates notifications when there are updates to subscriber resources subscribed in previous request. These notifications are sent to notification URI received in subscription request.