This application claims the priority benefit of Indian patent application Ser. No. 20/234,1067907 filed Oct. 10, 2023, the disclosure of which is incorporated herein by reference in its entirety.
The subject matter described herein relates to routing messages in a communications network. More particularly, the subject matter described herein relates to service aggregation for alternate routing of callback messages.
In 5G telecommunications networks, a network function that provides service is referred to as a producer NF or NF service producer. A network function that consumes services is referred to as a consumer NF or NF service consumer. A network function can be a producer NF, a consumer NF, or both, depending on whether the network function is consuming, producing, or consuming and producing services. The terms “producer NF” and “NF service producer” are used interchangeably herein. Similarly, the terms “consumer NF” and “NF service consumer” are used interchangeably herein.
A given producer NF may have many service endpoints, where a service endpoint is the point of contact for one or more NF instances hosted by the producer NF. The service endpoint is identified by a combination of Internet protocol (IP) address and port number or a fully qualified domain name (FQDN) that resolves to an IP address and port number on a network node that hosts a producer NF. An NF instance is an instance of a producer NF that provides a service. A given producer NF may include more than one NF instance. It should also be noted that multiple NF instances can share the same service endpoint.
NFs register with a network function repository function (NRF). The NRF maintains profiles of available NF instances identifying the services supported by each NF instance. The profile of an NF instance is referred to in 3GPP TS 29.510 as an NF profile. NF instances can obtain information about other NF instances that have registered with the NRF through the NF discovery service operation. According to the NF discovery service operation, a consumer NF sends an NF discovery request to the NRF. The NF discovery request includes query parameters that the NRF uses to locate the NF profiles of producer NFs capable of providing the service identified by the query parameters. NF profiles are data structures that define the type of service provided by an NF instance as well as contact and capacity information regarding the NF instance.
A service communication proxy (SCP) can also invoke the NF discovery service operation to learn about available producer NF instances. The case where the SCP uses the NF discovery service operation to obtain information about producer NF instances on behalf of consumer NFs is referred to as delegated discovery. Consumer NFs connect to the SCP, and the SCP load balances traffic among producer NF service instances that provide the required services or directly routes the traffic to the destination producer NF instances.
One problem that can occur in 5G and other types of networks is that the use of a service name that identifies a single service of an NF in binding information used for alternate routing may prevent discovery of the NF for alternate routing, even when some of the services of the NF are available. For example, a network function, such as a policy control function (PCF) or an access and mobility management function (AMF), that provides multiple services may use a single service name in 3gpp-Sbi-Binding headers transmitted by the NF to producer NFs that the producer NFs use to obtain alternate routing information. When one of the services provided by the NF becomes unavailable, the NRF marks the service as unavailable and will not return the NF profile of the NF in response to a discovery query from a producer NF identifying service name of the unavailable service, even though the other services are available. As a result, the producer NF will not be able to discover the NF for alternate routing of callback or notification messages.
Accordingly, there exists a need for improved methods, systems, and computer readable media for providing binding information usable for alternate routing.
A method for service aggregation for alternate routing of callback messages includes registering, by a network function (NF) implemented using at least one processor and with an NF repository function (NRF), an NF profile of the NF including an aggregated service name representing a plurality of different service types provided by the NF. The method further includes receiving, by the NF, requests from consumer NFs relating to the different service types. The method further includes obtaining, by the NF and in response to the requests from the consumer NFs, resource information from a producer NF, re-using the resource information to respond to the requests, and communicating the aggregated service name to the producer NF as binding information. The method further includes maintaining, by the NF, a registered status of the aggregated service name with the NRF as long as any of the service types remain available at the NF.
According to another aspect of the subject matter described herein, the NF comprises a policy control function (PCF) and the plurality of different service types provided by the PCF include user equipment (UE) policy control, session management function (SM) policy control, and access and mobility management function (AM) policy control services.
According to another aspect of the subject matter described herein, registering the NF profile including the aggregated service name with the NRF includes registering the NF profile including the aggregated service name representing the UE, AM, and SM policy control service types.
According to another aspect of the subject matter described herein, communicating the aggregated service name as binding information to the producer NF includes communicating the aggregated service name representing the UE, AM, and SM policy control services as part of a 3gpp-Sbi-Binding header.
According to another aspect of the subject matter described herein, the requests from the consumer NFs comprise session creation requests, one of the session creation requests from one of the consumer NFs includes the aggregated service name and creating the sessions with the consumer NFs includes creating a session for the aggregated service name with the one consumer NF.
According to another aspect of the subject matter described herein, the requests from the consumer NFs comprise session creation requests for creating sessions with the NF for the different service types and obtaining the resource information from the producer NF includes creating a single subscription with the producer NF for the sessions with the consumer NFs.
According to another aspect of the subject matter described herein, re-using the resource information includes consuming a resource represented by the resource information based on usage by sessions with the consumer NFs.
According to another aspect of the subject matter described herein, the NF comprises an access and mobility management function (AMF) and the producer NF comprises a unified data management (UDM) function.
According to another aspect of the subject matter described herein, the producer NF comprises a charging function (CHF) and re-using the resource information includes re-using a policy counter provided by the CHF.
According to another aspect of the subject matter described herein, the producer NF comprises a unified data repository (UDR) and re-using the resource information includes re-using operator-specific subscriber data received from the UDR.
According to another aspect of the subject matter described herein, a system for service aggregation for alternate routing of callback messages is provided. The system includes a network function (NF) including at least one processor. The system further includes an aggregated services manager implemented by the at least one processor for registering, with a network function (NF) repository function (NRF), an NF profile of the NF including an aggregated service name representing a plurality of different service types provided by the NF, receiving requests from consumer NFs relating to the different service types, obtaining resource information from a producer NF, re-using the resource information to respond to the requests, and communicating the aggregated service name to the producer NF as binding information; and maintaining, a registered status of the aggregated service name with the NRF as long as any of the service types remain available at the NF.
According to another aspect of the subject matter described herein, the NF comprises a policy control function (PCF) and the plurality of different service types provided by the PCF include user equipment (UE) policy control, session management function (SM) policy control, and access and mobility management function (AM) policy control services.
According to another aspect of the subject matter described herein, the aggregated services manager is configured to register the NF profile including with the aggregated service name representing the UE, AM, and SM policy control service types.
According to another aspect of the subject matter described herein, the aggregated services manager is configured to communicate the aggregated service name as part of a 3gpp-Sbi-Binding header.
According to another aspect of the subject matter described herein, the requests from the consumer NFs comprise session creation requests and the aggregated services manager is configured to obtain the resource information by creating a single subscription with the producer NF for sessions with the consumer NFs.
According to another aspect of the subject matter described herein, the requests from the consumer NFs comprise session creation requests for creating sessions with the NF for the different service types, one of the session creation requests from one of the consumer NFs includes the aggregated service name and the aggregated services manager is configured to create a session for the aggregated service name with the one consumer NF.
According to another aspect of the subject matter described herein the NF comprises an access and mobility management function (AMF) and the producer NF comprises a unified data management (UDM) function.
According to another aspect of the subject matter described herein, the producer NF comprises a charging function (CHF) and the aggregated services manager is configured to re-use a policy counter provided by the CHF.
According to another aspect of the subject matter described herein, the producer NF comprises a unified data repository (UDR) the aggregated services manager is configured to re-use operator-specific subscriber data received from the UDR.
According to another aspect of the subject matter described herein, a non-transitory computer readable medium having stored thereon executable instructions that when executed by a processor of a computer control the computer to perform steps is provided. The steps include registering, by a network function (NF) implemented using at least one processor and with an NF repository function (NRF), an NF profile of the NF including an aggregated service name representing a plurality of different service types provided by the NF. The steps further include receiving, by the NF, requests from consumer NFs relating to the different service types. The steps further include obtaining, by the NF, and in response to the requests from the consumer NFs, resource information from a producer NF, re-using the resource information to respond to the requests, and communicating the aggregated service name to the producer NF as binding information. The steps further include maintaining, by the NF, a registered status of the aggregated service name with the NRF as long as any of the service types remain available at the NF.
The subject matter described herein can be implemented in software in combination with hardware and/or firmware. For example, the subject matter described herein can be implemented in software executed by a processor. In one exemplary implementation, the subject matter described herein can be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
Exemplary implementations of the subject matter described herein will now be explained with reference to the accompanying drawings, of which:
NRF 100 is a repository for profiles of NF instances. To communicate with a producer NF instance, a consumer NF or an SCP must obtain the NF profile of the producer NF instance from NRF 100. The NF profile is a JavaScript object notation (JSON) data structure defined in 3GPP TS 29.510. The NF profile includes attributes that indicate the type(s) of service(s) provided, capacity of the NF instance, and information for contacting the NF instance.
In
The NFs illustrated in
A network slice selection function (NSSF) 116 provides network slicing services for devices seeking to access specific network capabilities and characteristics associated with a network slice. NSSF 116 provides the NSSelection service, which allows NFs to request information about network slices and the NSSAIReachability service, which enables NFs to update and subscribe to receive notification of updates in network slice selection assistance information (NSSAI) reachability information.
A network exposure function (NEF) 118 provides application programming interfaces (APIs) for application functions seeking to obtain information about Internet of things (IOT) devices and other UEs attached to the network. NEF 118 performs similar functions to the service capability exposure function (SCEF) in 4G networks.
A radio access network (RAN) 120 connects user equipment (UE) 114 to the network via a wireless link. Radio access network 120 may be accessed using a gNB (not shown in
SEPP 126 filters incoming traffic from another PLMN and performs topology hiding for traffic exiting the home PLMN. SEPP 126 may communicate with an SEPP in a foreign PLMN which manages security for the foreign PLMN. Thus, traffic between NFs in different PLMNs may traverse two SEPP functions, one for the home PLMN and the other for the foreign PLMN. A unified data repository (UDR) 128 stores subscription data for UEs. A binding support function (BSF) 130 manages bindings between PDU sessions and PCFs.
As described above, one problem that can occur in 5G and other types of network relates to using a single service name, i.e., a service name that identifies or represents a single service, in 3gpp-Sbi-Binding information for a producer NF that provides multiple services. To illustrate the problem and solution described herein, an overview of 3GPP communications, the use of the 3gpp-Sbi-Binding header, and alternate routing will now be described.
To add resiliency to network communication, 3GPP introduced alternate routing via the 3gpp-Sbi-Binding header. The 3gpp-Sbi-Binding header indicates binding information between NF and/or service instances. The binding information helps an HTTP client to re-route an HTTP message to an alternate destination if the HTTP client fails to deliver the message to the primary destination. The binding information is critical for success of re-routing of in-session HTTP messages (a.k.a. subsequent messages), because not all NF instances and/or service instances will share the resource and/or the subscription data. Thus, it is critical to send a re-routed message to a destination that shares the resource and/or the subscription data for the session for which the original delivery attempt failed.
The 3gpp-Sbi-Binding headers exchanged in
The NF instances that form a binding are often referred to as mated pairs/triplets/quadruplets, etc., depending on the redundancy model being 2-site/3-site/4-site, respectively. The members of the binding or “mated” pair (considering a 2-site redundancy model) are identified using the NF discovery service operation as defined in 3GPP TS 29.510. In other words, HTTP clients (NF producers and/or consumers) may send a discovery request to the NRF to retrieve the members of a particular binding. The key to discovering a binding is the binding level and value along with the service name. The following is an example binding header:
While the consumer NFs know the service name of the resource to which the consumer NFs subscribe, the producer NFs may not know the service name of the consumer NF. Thus, to enable discovery of consumer NF instances and/or service instances it is the responsibility of consumer NFs to provide the service name of the consumer service in the 3gpp-Sbi-Binding header when creating a subscription. Including the consumer NF service name in the 3gpp-Sbi-Binding header transmitted to the producer NF in a subscription request ensures that the producer NF is able to successfully discover an alternate destination from an indicated binding in the event of a delivery failure to the primary destination of a callback/notification message.
To illustrate the problem of using a service name that identifies a single service in the 3gpp-Sbi-Binding header, in one example, the PCF, acting as a consumer NF, needs to fetch policy counters from the CHF and use the policy counters to evaluate policies for SMF (SM) policy control, AMF (AM) policy control and UE policy control service session procedures. The PCF optimizes these policy counter fetch operations by fetching the policy counter from the CHF only once for the first service session that is established. Thereafter, the PCF stores the policy counter within its local database and reuses the policy counter for other services that require this information. 3GPP Release 16 requires the PCF to send a service name in the 3GPP-Sbi-Binding header to the CHF when the subscription create request is sent to CHF. Since the PCF uses resource data received from the CHF for more than one service, it is not accurate to provide a single service name in the binding indication. However, 3GPP does not allow multiple service names in the binding indication.
In line 5, SMF 108 requests creation of a UE policy control session with PCF-1 102A. PCF-1 102A creates the session without a new subscription request to CHF 300. The reason a new subscription request is not required is that PCF-1 102A determines that the policy counter retrieved for the AM policy control session in line 3 can be re-used for the UE session. In line 6, PCF-1 102A responds to SMF 108 indicating successful creation of the UE policy control session.
In line 7, SMF 108 requests creation of an SM policy control session with PCF 102. PCF-1 102A creates the session without a new subscription request to CHF 300. The reason a new subscription request is not required is that PCF-1 102A determines that the policy counter retrieved for the AM policy control session in line 3 can be re-used for the SM session. In line 8, PCF-1 102A responds to SMF 108 indicating successful creation of the SM policy control session.
As indicated in
For example, suppose PCF-1 102A uses the AM service name in the binding indication in the subscription request message transmitted to CHF 300. The data is fetched from CHF 300 and consumed by all three services of PCF-1 200A, i.e., the AM, UE, and SM policy control services. Subsequently, the AM policy control service of PCF-1 102A becomes unavailable, and the UE and SM services continue to be in an available state. In lines 9 and 10, a notification from CHF 300 to PCF-1 102A fails. Because of the failure, CHF 300 performs service discovery with the NRF (not shown in
The NRF excludes PCF-1 102A, i.e., does not return the NF profile of PCF-1 102A in response to the NF discovery request, even though UE and SM services are still available and ready to consume the notification from CHF. Because PCF-1 102A is marked as unavailable with the NRF even though its SM and UE policy control services are available, unnecessary network latency may occur in trying to re-route UE and SM subscription-related messages to a PCF located in another site/geographic location.
To address the aforementioned problem with using a service name that identifies a single service in 3gpp-Sbi-Binding headers and NF profiles, the PCF provides a common or shared service name that identifies multiple services in the binding indication and in its NF profile registered with the NRF. The use of an aggregated service name that identifies multiple services is referred to herein as service aggregation. The PCF registers an aggregated (custom) service name with NRF that the PCF uses as the service name when communicating the binding indication to CHF. The aggregated service remains in the registered state with the NRF as long as one of the shared services (i.e., the services that make up the aggregated service) remains active. For example, if AM service is down but UE and SM services are still up, then the aggregated service remains in the registered state so that NRF can continue to include the NF instance in discovery results. The aggregated service is moved to the deregistered state by the NF instance when all of the shared services are down. For example, the PCF may update the state of the aggregated service to deregistered when all of the services that make up the aggregated services are unavailable.
In line 1 of
In line 5, SMF 108 requests creation of a UE policy control session with PCF-1 102A. PCF-1 102A creates the session without a new subscription request to CHF 300. The reason a new subscription request is not required is that PCF-1 102A determines that the policy counter retrieved for the AM policy control session in line 3 can be re-used for the UE session. In line 6, PCF-1 102A responds to SMF 108 indicating successful creation of the UE policy control session.
In line 7, SMF 108 requests creation of an SM policy control session with PCF-1 102A. PCF-1 102A creates the session without a new subscription request to CHF 300. The reason a new subscription request is not required is that PCF-1 102A determines that the policy counter retrieved for the AM policy control session in line 3 can be re-used for the SM session. In line 8, PCF-1 102A responds to SMF 108 indicating successful creation of the SM policy control session.
In lines 9 and 10, a notification from CHF 300 to PCF 102A fails. It is also assumed that the AM policy control service has failed and that NRF 100 has marked the AM service in the NF profile of PCF-1 102A as unregistered or unavailable. However, because PCF-1 102A provided the aggregated service name to CHF 300 in the binding information included with the subscription request message in line 2, CHF 300 can use the aggregated service name to discover producer NF instances to process the failed notification message.
The user can configure the aggregated service name as an additional service provided by the CHF when creating the PCF NF profile. For example, the NF profile of a PCF can have service names of AM policy control, SM policy control, UE policy control, and pcf-slc, representing the aggregation of the other service types. The PCF can register the NF profile including the aggregated service name with the NRF. The registration of the NF profile with the aggregated service name at the time of installation of PCF or after upgrading the PCF to the supported release using PCF GUI or REST Interface.
The user can configure the custom aggregated service name in the CHF section of a user connector service configuration GUI provided by the PCF. When this configuration is left empty, no service name is used in the binding indication towards CHF.
In line 4, PCF 102 transmits an Nudr_DataRepository subscription creation request to UDR 128. In the subscription creation request, PCF 102 includes a 3gpp-Sbi_Binding header with a service name identifying the aggregated service that represents aggregation of the AM, SM, and UE policy control services provided by PCF 102. UDR 128 creates the subscription and, in line 5, returns a subscription created message indicating successful creation of the subscription. PCF 102 receives the subscription created message from UDR 128, caches the operator specific subscriber data, and, in line 6, sends an AM session created message to AMF 110.
In line 7, SMF 108 requests creation of a UE policy control session with PCF 102. PCF 102 creates the session without a new subscription request to UDR 128. The reason a new subscription request is not required is that PCF 102 determines that the operator-specific subscriber data retrieved for the AM policy control session in line 5 can be re-used for the UE session. In line 8, PCF 102 responds to SMF 108 indicating successful creation of the UE policy control session.
In line 9, SMF 108 requests creation of an SM policy control session with PCF 102. PCF 102 creates the session without a new subscription request to UDR 128. The reason a new subscription request is not required is that PCF 102 determines that the operator-specific subscriber data retrieved for the AM policy control session in line 5 can be re-used for the SM session.
In line 10, PCF 102 responds to SMF 108 indicating successful creation of the SM policy control session.
In lines 11 and 12, a notification from UDR 128 to PCF 102 fails. It is also assumed that the AM policy control service has failed and that NRF 100 has marked the AM service in the NF profile of PCF 102 as unregistered or unavailable. However, because PCF 102 provided the aggregated service name to UDR 128 in the binding information included with the subscription request message in line 2, UDR 128 can use the aggregated service name to discover producer NF instances to process the failed notification message.
Although in the examples illustrated in
In step 902, the process further includes receiving, by the NF, requests from consumer NFs relating to the different service types. For example, aggregated services manager 804 of NF 800 may receive messages from consumer NFs for creating one of an SM policy control session, an AM policy control session, a UE policy control session, and/or an aggregated policy control session and may create sessions responsive to the requests. If a consumer NF can consume multiple service types, the consumer NF may send a single session creation request to the NF 800, where the session creation request identifies the aggregated service type. In addition, the PCF illustrated in
In step 904, the process further includes, obtaining, by the NF, and in response to the requests from the consumer NFs, resource information from the producer NF, re-using the resource information to respond to the requests, and communicating the aggregated service name to the producer NF as binding information. For example, aggregated services manager of NF 800 may send a single subscription request to a producer NF, such as CHF 300, in response to a first session creation request for the shared resource. The subscription creation request may include a 3gpp-Sbi-Binding header with the aggregated service name in the header. Aggregated services manager 804 of NF 800 may receive resource information, such as a policy counter from CHF 300 or operator-specific subscriber data, from a UDR and may allow all of the sessions to consume the resource represented by the shared resource information. In another example, if NF 800 is an AMF, NF 800 may obtain location information from a UDR, and the AMF may use the location information to respond to requests from consumer NFs relating to the Namf_MT and Namf_Location services.
In step 906, the process further includes maintaining, by the PCF, a registered status of the aggregated service name with the NRF as long as any of the service types remain available at the PCF. For example, aggregated services manager 804 of PCF 800 may continually update its NF profile with the NRF to keep the aggregated service name indicated as registered as long as one or more of the aggregated services represented by the aggregated service name remain available.
Exemplary advantages of the subject matter described herein include the providing of improved binding information to a producer NF, which enables the producer NF or another producer NF to discover a consumer NF instance, even if some, but not all, of the services provided by the consumer NF instance become unavailable
The disclosure of each of the following references is hereby incorporated herein by reference in its entirety.
It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter.
Number | Date | Country | Kind |
---|---|---|---|
202341067907 | Oct 2023 | IN | national |