Method, system, and computer-readable medium for providing optimized binding support function (BSF) packet data unit (PDU) session binding discovery response

By subscribing to the NRF for PCF status updates, the BSF optimizes PDU session binding discovery responses, addressing delays and inefficiencies in 5G networks by ensuring accurate and timely service delivery.

JP7738062B2Active Publication Date: 2025-09-11ORACLE INT CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023527022
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-11-09
Filing Date
2021-07-21
Publication Date
2025-09-11
Estimated Expiration
2041-07-21

AI Technical Summary

Technical Problem

In 5G telecommunications networks, the PDU session binding information maintained in the Binding Support Function (BSF) may not be updated when the status of a Policy Control Function (PCF) associated with a PDU session changes, leading to delays and inefficiencies in service provision due to outdated binding information.

Method used

The BSF subscribes to the Network Function Repository Function (NRF) to receive notifications of changes in PCF instances, maintains a database of PDU session binding records, and generates optimized discovery responses by selecting or updating binding information based on the latest NF profiles, ensuring accurate and efficient service delivery.

Benefits of technology

This approach reduces delays and discovery storms at the NRF by providing up-to-date PDU session binding information, ensuring seamless service continuity and reducing manual intervention for updating binding records.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007738062000004
    Figure 0007738062000004
  • Figure 0007738062000005
    Figure 0007738062000005
  • Figure 0007738062000006
    Figure 0007738062000006
Patent Text Reader

Abstract

A method for providing an optimized BSF PDU session binding discovery response includes maintaining a PDU session binding database, subscribing to an NRF to receive notifications of changes to NF profiles of a PCF instance or a set of NFs identified in the PDU session binding record, and obtaining, from the NRF, a list of NF profiles for the PCF instance in the set of NFs identified in the PDU session binding record. The method further includes receiving, in response to the subscription, from the NRF, at least one notification of changes in at least some of the NF profiles in the set of NFs identified in the PDU session binding record. The method further includes receiving a PDU session binding discovery request from a consumer NF, and responding to the PDU session binding discovery request with the PDU session binding record, the list of NF profiles obtained from the NRF, and the notification of changes in at least some of the NF profiles.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Priority claim This application claims the benefit of priority to U.S. patent application Ser. No. 17 / 093,016, filed November 9, 2020, the disclosure of which is incorporated herein by reference in its entirety.

[0002] Technical Field The subject matter described herein relates to discovering packet data unit (PDU) session bindings. More specifically, the subject matter described herein relates to methods, systems, and computer-readable media for providing optimized BSF PDU session binding discovery responses. [Background technology]

[0003] background In telecommunications networks, a service endpoint is an address on a network node that uniquely identifies an entity that provides a service to a service consumer. A service endpoint may include an Internet Protocol (IP) address or a combination of an IP address and a transport layer port number, also referred to as an IP endpoint.

[0004] In 5G telecommunications networks, a network node that provides a service is called a producer Network Function (NF). A network node that consumes a service is called a consumer NF. A network function can be both a producer NF and a consumer NF, depending on whether it consumes or provides a service.

[0005] A given producer NF may have many service endpoints. Producer NFs register with a Network Function Repository Function (NRF). The NRF maintains NF profiles of available NF instances and their supported services. Consumer NFs can subscribe to receive information about producer NF instances that have registered with the NRF.

[0006] In addition to consumer NFs, another type of network node that can subscribe to receive information about NF service instances is the service communication proxy (SCP). The SCP subscribes to the NRF and obtains reachability and service profile information about producer NF service instances. Consumer NFs connect to the service communication proxy, which either load balances traffic among producer NF service instances that offer the requested service or routes the traffic directly to the destination producer NF.

[0007] One problem with the existing 3GPP service architecture is that the PDU session binding information maintained in a PDU session binding database in a Binding Support Function (BSF) may not be updated when the status of a Policy Control Function (PCF) associated with a PDU session binding changes. For example, after a User Equipment (UE) device registers with a network, the UE creates a PDU session to exchange data with the network. As part of the PDU session creation process, a Policy Control Function (PCF) is assigned to the session and generates policy rules for the session to control the quality of service and charging for the session. The PCF assigned to the session registers with the Binding Support Function (BSF), and the BSF creates a binding record for the session in its database. An NF service consumer wishing to discover a PDU session binding for a UE does so by querying the BSF using a discovery API provided by the BSF.

[0008] One issue that may arise when an NF service consumer queries the BSF is that the PDU session binding record maintained by the BSF may not reflect the current operational status of the PCF. For example, after a binding record is created, the operational status of the PCF associated with the binding record may change, for example, due to the PCF going out of service. A BSF consumer NF may attempt to discover a PDU session binding to provide a service to a UE. However, if the PDU session binding information does not reflect the current operational status of the PCF, the NF may receive PDU session binding information for the out-of-service PCF. The consumer NF may then attempt to contact the inactive PCF, fail to receive a response, and then initiate discovery with a network function (NF) repository function (NRF) to obtain alternative PCF session binding information for the UE. Requiring the consumer NF to contact the BSF, then the inactive PCF, then the NRF, and then the alternative PCF assigned to the PDU session may result in a delay in providing service to the UE.

[0009] In light of these and other challenges, a need exists for an improved method and non-transitory computer-readable medium for providing an optimized BSF PDU session binding discovery response. Summary of the Invention

[0010] overview A method for providing an optimized Binding Support Function (BSF) packet data unit (PDU) session binding discovery response is executed in a BSF including at least one processor. The method includes maintaining a database of PDU session binding records. The method further includes subscribing to a Network Function (NF) Repository Function (NRF) to receive notifications of changes to NF profiles of a PCF instance or a set of NFs identified in the PDU session binding records. The method further includes obtaining, from the NRF, a list of NF profiles for PCF instances in the set of NFs identified in the PDU session binding records. The method further includes receiving, in response to the subscription, at least one notification of changes in at least some of the NF profiles in the set of NFs identified in the PDU session binding records. The method further includes receiving a PDU session binding discovery request from a consumer NF. The method further includes identifying, in the database of PDU session binding records, a matching PDU session binding record matching based on at least one query parameter in the PDU session binding discovery request. The method further includes generating a PDU session binding discovery response using the matching PDU session binding record, one of the list of NF profiles received from the NRF, and at least one notification of changes in at least some of the NF profiles. The method further includes transmitting the PDU session binding discovery response to the consumer NF.

[0011] According to another aspect of the subject matter described in this specification, obtaining the list of NF profiles includes sending an NRF discovery request to the NRF that includes attributes identifying a PCF instance or NF set identified in the PDU session binding record.

[0012] According to another aspect of the subject matter described herein, receiving the PDU session binding discovery request includes receiving a Hypertext Transfer Protocol (HTTP) message from a 5G consumer network function (NF) utilizing an N5 interface to communicate with a PCF bound to the session.

[0013] According to another aspect of the subject matter described herein, the 5G consumer NF includes one of an Application Function (AF), a Network Publishing Function (NEF), a Policy Control Function (PCF), and a Network Data Analysis Function (NWDAF).

[0014] According to another aspect of the subject matter described in this specification, receiving a PDU session binding request includes receiving a Diameter message from a Diameter node using an Rx interface to communicate with a PCF bound to the session.

[0015] According to another aspect of the subject matter described herein, ,Diameter nodes use the Rx interface, including Diameter ,Relay Agents (DRAs).

[0016] According to another aspect of the subject matter described in this specification, generating a PDU session binding response includes selecting an alternative NF profile for the NF profile for the PCF instance identified in the matching PDU session binding record, and including the alternative NF profile in the PDU session binding discovery response.

[0017] According to another aspect of the subject matter described herein, selecting an alternative NF profile includes filtering a list of NF profiles based on attributes included in a matching PDU session binding record, and selecting an alternative NF profile from the filtered list.

[0018] According to another aspect of the subject matter described herein, selecting an alternative NF profile includes filtering a list of NF profiles based on operator-specified parameters and selecting an alternative NF profile from the filtered list.

[0019] According to another aspect of the subject matter described herein, a method for providing an optimized BSF PDU session binding discovery response includes updating a matching PDU session binding record based on attributes of an alternative NF profile.

[0020] According to another aspect of the subject matter described herein, there is provided a system for providing an optimized Binding Support Function (BSF) packet data unit (PDU) session binding discovery response. The system includes a BSF including at least one processor and a memory. The system further includes a PDU session binding database located in the memory and including PDU session binding records. The system further includes a PCF instance tracker, the PCF instance tracker being realized by at least one processor, for subscribing to a Network Function (NF) Repository Function (NRF) to receive notifications of changes to NF profiles of the PCF instances or NF set identified in the PDU session binding record; obtaining from the NRF a list of NF profiles for the PCF instances in the NF set identified in the PDU session binding record; receiving from the NRF, in response to the subscription, at least one notification of changes in at least some of the NF profiles in the NF set identified in the PDU session binding record; receiving a PDU session binding discovery request from the consumer NF; identifying, in a database of PDU session binding records, a matching PDU session binding record matching based on the at least one query parameter in the PDU session binding discovery request; generating a PDU session binding discovery response using the matching PDU session binding record, one of the list of NF profiles received from the NRF, and the at least one notification of changes in at least some of the NF profiles; and transmitting the PDU session binding response to the consumer NF.

[0021] According to another aspect of the subject matter described in this specification, the PCF instance tracker is configured to obtain a list of NF profiles by sending an NRF discovery request to the NRF that includes an attribute identifying a set of NFs identified in a PDU session binding record.

[0022] According to another aspect of the subject matter described in this specification, the PCF instance tracker is configured to generate a PDU session binding response by selecting an alternative NF profile for the NF profile for the PCF instance identified in the matching PDU session binding record and including the alternative NF profile in the PDU session binding discovery response.

[0023] According to another aspect of the subject matter described herein, the PCF instance tracker is configured to select an alternative NF profile by filtering a list of NF profiles based on at least one attribute and an operator-specified parameter included in the matching PDU session binding record, and selecting an alternative NF profile from the filtered list.

[0024] According to another aspect of the subject matter described herein, the PCF instance tracker is configured to update matching PDU session binding records based on attributes of the alternative NF profile.

[0025] According to another aspect of the subject matter described herein, a non-transitory computer-readable medium is provided having stored thereon executable instructions that, when executed by a processor of the computer, control the computer to perform steps. The steps are performed in a Binding Support Function (BSF) including at least one processor. The steps include maintaining a database of packet data unit (PDU) session binding records. The steps further include subscribing to a Network Function (NF) Repository Function (NRF) to receive notifications of changes to NF profiles of PCF instances or NF sets identified in the PDU session binding records. The steps further include obtaining, from the NRF, a list of NF profiles for PCF instances in the NF set identified in the PDU session binding records. The steps further include receiving, in response to the subscription, from the NRF, at least one notification of changes in at least some of the NF profiles in the NF set identified in the PDU session binding records. The steps further include receiving a PDU session binding discovery request from a consumer NF. The steps further include identifying a matching PDU session binding record match in a database of PDU session binding records based on the at least one query parameter in the PDU session binding discovery request. The steps further include generating a PDU session binding discovery response using the matching PDU session binding record, one of the list of NF profiles received from the NRF, and at least one notification of changes in at least some of the NF profiles. The steps further include transmitting the PDU session binding response to the consumer NF.

[0026] The subject matter described herein may be implemented in hardware, software, firmware, or any combination thereof. Thus, as used herein, the terms "function," "node," or "module" refer to hardware that may also include software and / or firmware components for implementing the described features. In an exemplary implementation, the subject matter described herein may be implemented using a computer-readable medium storing computer-executable instructions that, when executed by a computer's processor, control a computer to perform any one or more of the steps described herein. 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. Additionally, computer-readable media implementing the subject matter described herein may be located on a single device or computing platform or distributed across multiple devices or computing platforms.

[0027] The subject matter described herein will now be described with reference to the accompanying drawings. [Brief explanation of the drawings]

[0028] [Figure 1] FIG. 1 is a network diagram illustrating an exemplary 5G network architecture. [Figure 2] FIG. 1 is a network diagram showing a binding support function and nodes in communication with the binding support function. [Figure 3] FIG. 10 is a message flow diagram illustrating example messages exchanged between a BSF and a consumer NF for registration and discovery services. [Figure 4]FIG. 10 is a message flow diagram illustrating example messages exchanged between a BSF and an NF service consumer for a PDU session binding discovery service for an NF service consumer supporting an N5 interface for policy authorization services. [Figure 5] 1 is a message flow diagram showing exemplary messages exchanged between a BSF and a Diameter consumer NF for a PDU session binding discovery service and subsequent signaling on the Rx interface between the Diameter consumer and a PCF bound to the PDU session. [Figure 6] A message flow diagram illustrating example message transmissions required to discover the identity of an alternative PCF assigned to a session when a PCF operational status changes after a PDU session binding is established. [Figure 7] A block diagram showing a BSF with PCF instance tracking to maintain operational status information about PCF instances for which PDU session bindings exist in the PDU session binding database. [Figure 8] FIG. 10 is a message flow diagram illustrating exemplary messages exchanged between a PCF instance, the BSF, and the NRF when the BSF performs PCF instance tracking. [Figure 9] 10 is a flowchart illustrating example steps performed by a BSF to track PCF instances and provide an optimized PDU session binding discovery response to a consumer NF. [Figure 10] 10 is a flowchart illustrating exemplary steps performed by a BSF to select an alternative PCF profile to provide in a PDU session binding discovery response when the operational status of the PCF changes. DETAILED DESCRIPTION OF THE INVENTION

[0029] Detailed Description The subject matter described herein relates to a method, system, and computer-readable medium for providing an optimized BSF PDU session binding discovery response. FIG. 1 is a block diagram illustrating an example 5G system network architecture. The architecture of FIG. 1 includes an NRF 100 and an SCP 101, which may be located in the same home public land mobile network (HPLMN). As previously described, the NRF 100 maintains profiles of available producer NF service instances and their supported services, allowing consumer NFs or SCPs to subscribe to new / updated producer NF service instances and be notified of their registration. The SCP 101 may also support service discovery and selection of producer NFs. In addition, the SCP 101 may perform load balancing of connections between consumer NFs and producer NFs.

[0030] The NRF 100 is a repository of NF profiles. To communicate with a producer NF, a consumer NF or SCP must obtain an NF profile from the NRF 100. An NF profile is a JSON data structure defined in 3GPP TS29.510 that stores information about an NF service instance. An NF profile definition includes at least one of an FQDN, an IP version 4 address, or an IP version 6 address. However, there is no requirement that an NF profile include individual IP addresses or IP endpoints associated with producer NF service endpoints located on the producer NF service instance.

[0031] In FIG. 1 , any node (other than the SCP 101 and the NRF 100) can be a consumer NF or a producer NF, depending on whether it is requesting or providing a service. In the illustrated example, the node includes a Policy Control Function (PCF) 102 that performs policy-related operations within the network, a User Data Management (UDM) Function 104 that manages user data, and an Application Function (AF) 106 that provides application services. The node shown in FIG. 1 further includes a Session Management Function (SMF) 108 that manages sessions between an Access and Mobility Management (AMF) Function 110 and the PCF 102. The AMF 110 performs mobility management operations similar to those performed by a Mobility Management Entity (MME) in a 4G network. An Authentication Server Function (AUSF) 112 performs authentication services for user equipment (UE), such as the UE 114, that seeks access to the network.

[0032] The Network Slice Selection Function (NSSF) 116 provides network slice services for devices that want to access specific network functions and features associated with the network slice. The Network Publish Function (NEF) 118 provides an application programming interface (API) for application functions that want to obtain information about Internet of Things (IoT) devices and other UEs connected to the network. The NEF 118 performs a function similar to the Service Capability Publish Function (SCEF) in 4G networks.

[0033] The radio access network (RAN) 120 connects the UE 114 to a network via a wireless link. The radio access network 120 may be accessed using a gNodeB (gNB) (not shown in FIG. 1A) or other wireless access point. The user plane function (UPF) 122 may support various proxy functions for user plane services. One example of such a proxy function is a multipath transmission control protocol (MPTCP) proxy function. The UPF 122 may also support a performance measurement function that may be used by the UE 114 to obtain network performance measurements. Also shown in FIG. 1 is a data network (DN) 124 through which the UE accesses data network services, such as Internet services.

[0034] Figure 2 is a network diagram showing an additional 5G NF, a Binding Support Function (BSF), that stores bindings between PDU sessions and PCFs and enables discovery of bindings to other nodes. In Figure 2, the BSF 200 provides a service called the Nbsf_Management service. The Nbsf_Management service is defined in 3GPP TS 29.521.

[0035] In general, the Nbsf_Management service is used by the BSF to provide PDU session binding functionality and ensures that AF requests for PDU sessions reach the PCF that holds the PDU session information. The Nbsf_Management service allows consumers to register, update, and remove binding information. The Nbsf_Management service also allows consumers to retrieve binding information.

[0036] In FIG. 2, consumers of the services provided by the BSF 200 include the PCF 102, the NEF 118, the AF 106, and the Network Data Analysis Function (NWDAF) 200.

[0037] The PCF 102 registers binding information with the BSF for a UE when an IPv4 address and / or an IPv6 prefix is ​​allocated or a MAC address is used for a PDU session. The PCF 102 also registers binding information with the BSF when the UE address information is changed for a PDU session. science fiction 200 and updates the binding information. The PCF 102 removes the binding information in the BSF 200 when an IPv4 address and / or IPv6 prefix is ​​released or a MAC address is no longer used for the PDU session.

[0038] The NEF 118 provides a means for the AF 106 to securely interact with the policy framework for policy control over the 3GPP network. During the procedure, any NEF 118 needs to discover the selected PCF using the Nbsf_Management_Discovery service operation.

[0039] The AF 106 discovers the PCF using the Nbsf_Management_Discovery service operation once the AF 106 is allowed to interact directly with the policy framework for policy control. The NWDAF 202 discovers the selected PCF using the Nbsf_Management_Discovery service.

[0040] Table 1 below shows the operation of the Nbsf_Management service.

[0041] [Table 1]

[0042] In Table 1, the Nbsf_Management services provided by the BSF include an Nbsf_Management_Register service, an Nbsf_Management_Deregister service, an Nbsf_Management_Discovery service, and an Nbsf_Management_Update service. The Nbsf_Management_Register service and the Nbsf_Management_Deregister service are services used by a PCF to register and deregister session bindings for a UE. The Nbsf_Management_Discovery service enables NF service consumers, such as NEFs, AFs, and NWDAFs, to discover PDU session binding information for a UE. The Nbsf_Management_Discovery service enhances the subject matter described herein by subscribing to receive updated PCF registration status information for PCFs bound to PDU sessions and responding to PDU session binding discovery requests with the NF profiles of reachable PCF instances.

[0043] 3 illustrates an example message flow when a consumer NF discovers session binding information in the case where a PCF registers session binding information with the BSF 200 and the PCF registration status does not change between PDU session binding registration and discovery. Referring to FIG. 3, in step 1, the PCF instance 102 N creates a binding for a PDU session in the BSF 200. The PCF instance 102 acting as an NF service consumer Nmay provide a PCF set Id in the "pcfSetId" and "bindLevel" attributes set to NF_SET, or provide a PCF set Id in the "pcfSetId" attribute set to NF_INSTANCE and a PCF instance Id in the "pcfId" and "bindLevel" attributes. The bindLevel attribute defines the level of PDU session binding and indicates either an individual PCF instance bound to the session, or a group of PCF instances, called an NF set, assigned to the PDU session. When the bindLevel attribute is set to NF_INSTANCE, a single PCF instance is assigned to the PDU session. When the bindLevel attribute is set to NF_SET, the entire set of PCFs is bound to the PDU session. In Figure 3, a PCF set 300 represents multiple PCF instances 1021-1022 that may be bound as a set to the same PDU session. N In either case, the PCF performing the registration will also specify PCF endpoint identification parameters for the PCF instance that is providing the policy services for the session. This information is used by the BSF service consumer in the discovery request to obtain the PDU session binding information.

[0044] In step 2 of Figure 3, the consumer NF, which may be either the AF 106, the NEF 118, or the alternative PCF 102, sends a BSF discovery request to obtain details of endpoints that may be used for the N5 / Rx message. The BSF 200 provides binding information to the consumer NF 106, 118, or 102. In step 3, the consumer NF 106, 118, or 102 performs N5 / Rx message transmission with the corresponding PCF instance.

[0045] Table 2 below shows exemplary PCF binding data that may be registered with the BSF 200 by a PCF.

[0046] [Table 2]

[0047] In Table 2, in the attribute name column, the pcfFqdn, pcfIpEndPoints, pcfDiamHost, PcfDiamRealm, PcfSmIpEndPoints, the pcfId, pcfSetId, and bindLevel attributes are PCF identification attributes set by the PCF that creates or registers a binding record in the BSF. In the case of a discovery request from a consumer NF that uses the N5 interface to contact the PCF bound to the session, the pcfFqdn and pcfIpEndpoints attributes are used by the consumer NF on the N5 interface to contact the PCF. In the case of a discovery request from a DRA / AF that uses the Rx interface to contact the PCF bound to the session, the PcfDiamHost and PcfDiamRealm attributes are used by the DRA / AF to contact the PCF. If another PCF attempts to register a binding for the same subscriber+dnn+snssai, the pcfSmFqdn and pcfSmIpEndpoints will be used by the alternative PCF. As mentioned above, a PCF as an NF service consumer may provide the PCF set ID in the pcfSetId and bindLevel attributes set to NF_SET, or may provide the PCF set ID in the pcfSetId attribute, or may provide the PCF instance ID in the pcfId and bindLevel attributes set to NF_INSTANCE. The significance of different settings of these attributes with respect to providing an optimized PDU session binding discovery response is explained in more detail below with respect to Figures 9 and 10.

[0048] FIG. 4 shows an example message flow for the Nbsf_Management_Discovery service for a consumer NF that uses the N5 interface to contact the PCF bound to the session. Referring to FIG. 4, an NF service consumer 400, which may be any of the service consumers shown in FIGS. 2 and 3, invokes the Nbsf_Management_Discovery service option to obtain address information of the selected PCF for the PDU session in the BSF (step 1). The service is invoked by sending an HTTP GET message containing "query parameters" used by the BSF to discover any corresponding session bindings. According to 3GPP TS 29.521, the query parameters include the UE address and may also include the SUPI or GPSI, DNN and optionally the S-NSSAI, and an IPv4 address domain. Upon receiving the HTTP GET message, the BSF 200 searches for PDU session binding information that matches the query parameters. In step 3, the HTTP request from the NF service consumer is accepted and if a session binding resource exists that matches the query parameters, the BSF replies with an HTTP 200 OK response with the corresponding PcfBinding data structure as provided by the PCF during the NbsfManagement_Register service operation in the response body. Table 2 above is an example of a PCFBinding data structure provided to the consumer NF in response to a discovery request.

[0049] Figure 5 is a message flow diagram illustrating the PDU session binding discovery process and subsequent Rx session establishment. In Figure 5, the BSF 200 receives a discovery request, which is an Rx-AAR-I message in the Diameter protocol, from the AF / DRA 500. The BSF 200 includes a Diameter Gateway 504 that receives and processes diameter messages, a Diameter Connector 506 that handles diameter layer connections, and a Binding Service 508 that implements the Nbsf_Management_Discovery service.

[0050] The PCF 102 includes a Diameter Gateway 510 that performs processing on received Diameter messages and a Diameter Connector 512 that handles Diameter connections. The PCF 102 also includes a Policy Service 514 that makes policy decisions for PDU sessions, a Policy Authorization Service 516 that creates policies, and a Session Management Service 518 that creates session bindings. The PCF 102 interfaces with the Session Management Function 108 and notifies the Session Management Function 108 of policy decisions.

[0051] In the message flow shown in Figure 5, the AF / DRA 500 sends an Rx-AAR-I message to the Diameter gateway 504 of the BSF 200 in line 1. The Diameter gateway 504 receives the message and sends the Rx-AAR-I message to the Diameter connector 506 in line 2. In response to receiving the Rx-AAR-I message, the Diameter connector 506 sends an Nbsf_Management_Discovery message to the binding service 508. The binding service 508 performs a lookup in the binding database based on the query parameters in the Nbsf_Management_Discovery message. In line 4, the binding service 508 sends the binding discovery result to the Diameter connector 506. In line 5, the Diameter connector 506 sends the binding result to the Diameter gateway 504.

[0052] After receiving the PDU session binding information, the AF / DRA 500 initiates communication over the Rx interface with the PCF assigned to the session. In line 6 of the message flow diagram, the Diameter gateway 504 sends an Rx-AAR-I proxy message to the Diameter gateway 510 of the PCF 102. In line 7, the Diameter gateway 510 sends the Rx-AAR-I proxy message to the Diameter connector 512. In line 8, the Diameter connector 512 sends an Npcf_Policy_Authorization_Create message to the PA service 516. In line 9, the PA service 516 sends a session binding request to the session management service 518. In line 10, the session service 518 sends a session binding response to the PA service 516. In line 11, the PA service 516 sends a create response message to the Diameter connector 512. In line 12, the Diameter connector 512 sends the Rx-AAA-I message to the Diameter gateway 510. In line 13, the Diameter gateway 510 sends the Rx-AAA-I message to the Diameter gateway 504. In line 14, the Diameter gateway 504 sends the Rx-AAA-I message to the AF / DRA 500.

[0053] After sending the session binding reply on line 10, the SM service 518 sends a policy evaluation message to the policy service 514. The policy service 514 makes a decision based on the application of the policy and sends the policy decision to the SM service 518 on line 16. The SM service 518 applies the policy decision and sends the policy association notification rules to the SMF 108 on line 17.

[0054] Many problems and inefficiencies can arise if the operational status of a PCF changes after binding records are created in the BSF. For example, if a PCF service instance goes offline due to a network outage or service problem, the bindings maintained by the BSF may not be up-to-date, requiring the NRF discovery procedure to be rerun to find an alternative PCF instance. Other problems can arise when the SM, PA, and Diameter entities used to contact the PCF instance become unreachable. The SM / PA / Diameter entities exposed in the binding information may also change if a new IP address, FQDN, or other identity is assigned to the PCF by the network operator. These changes cause entities listed in the BSF's binding table to become inaccessible, and without the subject matter described herein, manual procedures are required to update the BSF binding records to correct these inconsistencies.

[0055] 6 illustrates the message flow that may occur during a mismatch in the binding database maintained by the BSF 200. Referring to FIG. 6, in step 1, the PCF 102 N The PCF service will go down. As a result, PCF102 n The PCF information stored in the BSF 200 for the failed PCF 102 cannot be used to process the N5 message or the Rx message. In step 2, the AF / NEF / PCF 106, 118, or 102 attempts to discover the binding information stored in the BSF. The BSF 200 then N The ISP responds with binding information to identify the

[0056] In step 3, upon receiving the discovery response, the AF / NEF / PCF 106, 118, or 102 binds the PCF instance 102 identified in the binding response. N However, PCF102N is not available. Therefore, upon failure to receive a response, the AF / NEF / PCF 106, 118, or 102 initiates an NF discovery procedure with the NRF 100 to identify a new PCF instance. In step 5, the consumer NF 106, 118, or 102 performs an N5 or Rx message signaling with the alternative PCF instance 1021.

[0057] One problem caused by the unavailability of a PCF instance in the BSF binding database is a delay in processing a service request from a consumer NF. As described above, if an attempt to reach the original PCF fails, the consumer NF initiates an NRF discovery procedure and, upon receiving a discovery response from the NRF, reroutes the request to a new PCF. The time required to perform discovery with the BSF, the failed attempt to contact the PCF, and the time required to perform discovery with the NRF result in a delay in the service provided to the consumer NF.

[0058] Another problem associated with stale binding information maintained by the BSF is discovery storms at the NRF. When a PCF instance fails, all consumers of binding records that the failed PCF instance serves initiate discovery with the NRF to find the identity of an alternative PCF that serves the UE. This can lead to the NRF becoming overwhelmed due to a storm of discovery messages at the NRF.

[0059] Other challenges associated with discovery include the fact that non-5G nodes, such as Diameter Relay Agents (DRAs), may not be able to perform 5G discovery with the NRF. Therefore, there are no alternative routes for the DRA to try when the binding information received from the BSF is incorrect or not up-to-date. Similarly, an AF may lack the ability to perform NRF discovery to select an alternative PCF. This also limits the possibility of an AF being served by an alternative PCF.

[0060] To avoid these difficulties, the BSF may subscribe to the NRF to track registered PCF instances for the corresponding PCF set in a PDU session binding database maintained by the BSF. When the BSF processes a bsf_discovery request, if a binding record containing bindlevel information exists in the BSF database, the BSF may perform the additional logic described in Table 3 below to verify that a reachable endpoint is present in the binding discovery response.

[0061] [Table 3]

[0062] The following describes in detail the operation of the BSF in various scenarios as shown in Table 3. 7 shows an overview of this solution. In FIG. 7, the BSF 200 includes at least one processor 700 and a memory 702. The BSF 200 further includes a PCF instance tracker 704, which may be implemented in software executable by the processor 700. The PCF instance tracker 704 subscribes to the NRF 100 to obtain the latest registration status and NF profile information for PCF instances whose binding data are stored in a binding database 706, and to generate an optimized BSF PDU session binding discovery response based on the updated registration status and NF profile information.

[0063] FIG. 8 illustrates exemplary messaging exchanged between the BSF 200, the PCF instance 1021, and the NRF 100 associated with tracking registered PCF instances. As part of the solution, the BSF 200 tracks registered PCF instances for the corresponding “pcfset.” For example, when any PCF instance from the PCF NF set “set1” creates its first binding, the BSF 200 subscribes to the NRF 100 to monitor all PCF instances that register with the NRF 100 with the pcf set id “set1.” The BSF 200 also tracks the number of stored binding records for a given PCF NF set id. When the counter for a given NF set id reaches 0, the BSF 200 unsubscribes from the NRF 100 for that NFSet.

[0064] Referring to the message flow of Figure 8, at line 1, the PCF instance 1021 of the PCF set set1 sends a register message to the BSF 200 to create a PDU session binding between the PCF instance 1021 and the PDU session. At line 2, the BSF 200 creates the session binding, creates a corresponding record in a PDU session binding database, and responds to the PCF instance 1021 with an HTTP 201 message indicating that the binding has been created. At line 3, the BSF 200 determines whether the register message received at line 1 is the first message received for the PCF set set1. In this example, the BSF 200 determines that the register message is the first message received for the pcfSet set1. Therefore, at line 4 of the message flow diagram, the BSF 200 subscribes to the NRF 100 to receive notifications of changes in the status of NF instances in the NF set set1. At line 5 of the message flow diagram, the NRF 100 processes the subscription request for the pcfSet set1, creates the subscription, and responds to the BSF 200 indicating that the subscription has been created. Once the subscription is created, the BSF 200 will receive notifications from the NRF 100 whenever a change in the status of any of the NF instances in set1 occurs, until a timer maintained by the BSF 200 for that subscription expires and the BSF 200 unsubscribes from the NRF 100 for the status of the PCF set. At line 6 of the message flow diagram, the BSF 200 invokes the nnrf discovery service to discover the PCF profiles in the nfSet set1. At line 7, the NRF 100 responds with a 200Ok message containing the list NF profiles of the PCFs in set1. After a successful subscription, the NRF notifies the BSF of changes to the subscribed data only from the point of subscription.Therefore, line 6 is needed for the BSF to fetch a list of all PCF instances in the NFSet along with their current state in the NRF.

[0065] After the message flow of Figure 8, the BSF 200 will have a list of NF profiles for the PCFs in set 1 and will be subscribed to the NRF to receive status updates of the PCFs. The NRF will notify the BSF whenever the NF profile of any of the PCFs in set 1 changes. Examples of changes in status include deregistration, changes in IP address, etc. As described in more detail below, the BSF 200 uses this information to provide optimized discovery responses to consumer NFs that attempt to discover PDU session binding information from the BSF 200.

[0066] FIG. 9 is a flowchart illustrating an example process performed by the BSF 200 when processing a PDU session binding discovery request message from a consumer NF. Referring to FIG. 9, in step 900, the BSF 200 receives a binding discovery request from a consumer NF. The consumer NF may be an AF, an NEF, another PCF, or an NWDAF. In step 902, the BSF 200 determines whether binding data exists in the binding database and whether this solution for maintaining PCF status information is enabled. If the solution is enabled, control proceeds to step 904, where the BSF 200 determines whether a binding level attribute is set in the binding record in the PDU session binding database that contains the binding data requested by the discovery request. As shown in Table 2, the binding level attribute defines the level at which the binding was originally created. If the binding level attribute is set, control proceeds to step 906, where the BSF 200 determines whether the binding level is NF_INSTANCE.

[0067] If the binding level is set to NF_INSTANCE, which indicates that the binding level for the record is an individual PCF instance, control proceeds to step 908, where BSF 200 checks that the NRF reporting status for the PCF profile with the same pcfId indicates that the corresponding PCF is still registered with the NRF. If the PCF is still registered, control proceeds to step 910, where BSF 200 determines whether the parameters stored for the PCF instance in the binding record match the corresponding details in the NF profile registered with the NRF for the PCF instance. If the parameters match, control proceeds to step 912, where BSF 200 sends a binding discovery response with the PCF instance profile of the PCF that matches the query parameters (e.g., UE address) in the binding discovery request.

[0068] Returning to step 910, if the pcfDiamHost, pcfDiamRealm, pcfSmIpEndPoints, or pcfSmFqdn stored for the PCF instance in the binding record do not match the corresponding details in the NF profile registered with the NRF for the PCF instance, the parameters in the discovery response need to be updated with the parameters for the matching PCF profile registered with the NRF. Thus, control passes to step 922, where the mismatched attributes are updated in the binding response and the response is sent to the consumer NF.

[0069] Returning to step 902, if no binding data exists and / or the solution is not enabled, the default behavior is performed and control passes to step 912 where a discover binding response is sent. If no binding data exists, the discover binding response will indicate that no binding data exists that the BSF has stored that matches the query parameters in the discover binding request.

[0070] Returning to step 904, if the bind-level attribute is not set in the discover binding request, the BSF cannot verify the PCF instance details from the binding data using the registered PCF profile in the NRF, so control passes to step 912 where a discover binding response is sent with the PCF information to be stored in the binding database.

[0071] Returning to step 906, if the bind level of the binding data is not set to NF_Instance, control proceeds to step 914, where it is determined whether the bind level is set to NF_Set. If the bind level is set to NF_Set, control proceeds to step 916, where BSF 200 determines whether the pcfFqdn and pcfIpEndPoints parameters in the binding record match the parameters for any PCF profile registered with the NRF (as received by the BSF in the discovery response and as modified by any status notifications received from the BSF) for the pcfSetId in the binding record. If the parameters match the parameters for any PCF profile registered with the NRF, control proceeds to step 918, where BSF 200 determines whether the PCFpcfDiamHost, pcfDiamRealm, pcfSmFqdn, and pcfSmIpEndpoints parameters match the parameters for the corresponding PCF profile identified as a match in step 916. If the parameters in step 918 match, this indicates that the PCF profile registered with the NRF matches the details of the binding record, and control passes to step 912, where a binding discovery response with the PCF profile is sent to the consumer NF.

[0072] Returning to step 908, if the binding level is set to NF_Instance and the NRF reports status information for the PCF profile matching the pcfId and pcfSetId is no longer registered with the NRF, the BSF cannot provide the PDU session binding information to the service consumer. In this case, the BSF may respond to the service consumer indicating that the binding information is no longer available and take action to purge or delete the corresponding binding record. Without the solution described herein, the BSF would have responded to the discovery request with a PCF profile for a PCF that is no longer registered with the NRF. This would result in the inefficiency described above, where the service consumer would attempt to contact the PCF, fail, and then contact the NRF to obtain updated binding information for the PDU session.

[0073] Returning to step 914, if the bindLevel is not set to NF_SET or NF_Instance, then the bindLevel is unknown because these are the two bindLevels allowed by the 3GPP specification. Nob Therefore, control proceeds to step 912, and the BSF 200 ,sends a binding discovery response to the consumer NF indicating the binding information stored in the binding database. .

[0074] Returning to step 916, if the pcfFqdn and pcfIpEndpoints in the binding record that matches the query parameters do not match any of the PCF profiles registered with the NRF, control proceeds to step 920, where the BSF 200 selects an alternative PCF profile and sends a discovery response to the consumer NF with the alternative PCF profile. Details of the steps performed by the BSF 200 to select an alternative PCF profile are described below with respect to FIG. 10.

[0075] Returning to step 918, if the pcfFqdn and pcfIpEndpoints in the binding record that matches the query parameters match one of the registered PCF profiles, but the pcfDiamHost, pcfDiamRealm, pcfSmIpEndPoints, or pcfSmFqdn do not match the corresponding PCF profile, then the parameters in the discovery response need to be updated with the parameters for the matching PCF profile registered with the NRF. Thus, control proceeds to step 922, where the mismatched attributes are updated in the binding response and the response is sent to the consumer NF.

[0076] FIG. 10 shows exemplary steps for selecting an alternative PCF profile, as illustrated by step 920 in FIG. 9. Referring to FIG. 10, the selection of an alternative PCF profile begins in step 1000, where the BSF 200 creates a list of PCF profiles that match the pcfSetId of a binding record from the list of PCF profiles received from the NRF in the discovery response from the NRF to the BSF (see step 7 in FIG. 8), or later through an NRF notification due to a change in the status of a PCF profile for a subscriber NfSet. In step 1002, the BSF 200 determines whether the binding record has a pcfSmFqdn or pcfSmIpEndPoints attribute. If the BSF 200 determines that the binding record has a pcfSmFqdn or pcfSmIpEndPoints attribute, control proceeds to step 1003, where the BSF 200 filters the profiles to find a profile that supports at least one instance of a session management service. If in step 1002 BSF 200 determines that the binding record does not have a pcfSmFqdn or pcfSmIpEndPoints attribute, step 1003 is bypassed.

[0077] After step 1000 or 1003, control proceeds to step 1004, where BSF 200 determines whether the binding record has a pcfFqdn or pcfIpEndPoints attribute. If the binding record contains these attributes, control proceeds to step 1006, where BSF 200 filters the profiles to which the PA service is registered. If the binding record does not contain a pcfFqdn or pcfIpEndPoints attribute, step 1006 is bypassed.

[0078] After step 1004 or 1006, control proceeds to step 1008, where BSF 200 determines whether the binding record has pcfDiamHost and pcfDiamRealm attributes. If the binding record has pcfDiamHost and pcfDiamRealm attributes, control proceeds to step 1009, where BSF 200 filters profiles whose Diameter attributes are published to the NRF in pcfinfo. If the binding record does not have pcfDiamHost and pcfDiamRealm attributes, step 1009 is bypassed.

[0079] After filtering in step 1009, or if the binding record does not have the pcfDiamHost and pcfDiamRealm attributes in step 1008, control then proceeds to step 1010, where the BSF 200 determines whether the list has multiple profiles after filtering. If the filtered list contains multiple profiles, control proceeds to step 1011, where the BSF 200 filters the profiles based on operator configuration to select a profile with a matching SM service version. This is an optional step. It is not required if the operator network has multiple PCF instances with the same major version in the same PCF set. Control then proceeds to step 1012, where the BSF 200 filters the profiles based on operator configuration to select a profile with a particular API version, load, capacity, location, etc. that best meets the network operator's requirements to be selected as the replacement PCF profile for a PCF whose status has changed since the binding record was created. If in step 1010 the BSF determines that the list does not contain multiple profiles, steps 1011 and 1012 are bypassed.

[0080] After filtering in step 1012, or if multiple profiles were not found in step 1010, control proceeds to step 1014, where the BSF 200 determines whether there is at least one profile in the filtered list. If the BSF 200 determines that there is at least one profile in the filtered list, control proceeds to step 1016, where the BSF 200 updates the binding discovery response to be sent to the consumer NF to match the parameters of the alternative PCF profile. The BSF 200 may optionally update the binding record in the PDU session binding database to include updated information about the alternative PCF. In step 1018, the BSF 200 sends the discovery response with the alternative PCF binding information to the consumer NF.

[0081] If, in step 1014, BSF 200 determines that there are no profiles remaining in the list, this means that BSF 200 cannot find an alternative PCF profile to include in the binding discovery response, and therefore control proceeds to step 1018, where a binding discovery response is sent with the PCF profile from the PDU session binding record.

[0082] Therefore, the solution described herein allows the BSF to actively monitor PCF status information by subscribing to and receiving updates from the NRF. If a PCF whose binding information is maintained in the BSF fails, goes out of service, or changes attributes in its NF profile, the BSF, upon receiving a discovery request, will update the information to be provided to the consumer NF in the binding discovery response and provide the updated binding information to the requesting consumer NF. The BSF may optionally update the UE's binding information in the PDU session binding database. Such a solution reduces additional message transmissions from consumer NFs, such as the AF, NEF, and PCF, to the NRF. This provides efficient network utilization while avoiding network overload. Higher throughput and lower latency in the AF, NEF, and PCF may also be achieved by avoiding unnecessary NRF discovery.

[0083] The subject matter described herein is optional and backward compatible. It does not require any parameters or triggers from any other NF, and therefore, the control and scope of the feature can be realized in the BSF. This feature can be selectively enabled for specific consumers by the network operator. Information about the consumer seeking the power to perform selective enablement can provide selection details such as an instance ID or PLMN ID in an authorization token. Alternatively, in the case of an HTTPS connection, a Transport Layer Security (TLS) certificate can be used to find the identity of the consumer. Similarly, vendor-specific attributes in the discovery request can also be used to identify the consumer.

[0084] The disclosure of each of the following references is incorporated herein by reference in its entirety. reference 1. 3GPP TS 29.521; 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Binding Support Management Service; Stage 3 (Release 16), V16.5.0 (2020-09). 2. 3GPP TS 29.510; 3 rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Network Function Repository Services; Stage 3 (Release 16), V16.5.0 (2020-09). It will be understood that various details of the presently disclosed subject matter may be changed without departing from the scope of the presently disclosed subject matter. Further, the foregoing description is for purposes of illustration only, and not limitation.

Claims

1. 1. A method for providing an optimized binding support function (BSF) packet data unit (PDU) session binding discovery response, comprising: In a BSF including at least one processor, maintaining a database of packet data unit (PDU) session binding records; Subscribing to a Network Function (NF) Repository Function (NRF) to receive notifications of changes to the NF profile of the PCF instance or NF set identified in the PDU session binding record; Obtaining from the NRF a list of NF profiles for the PCF instance in the NF set identified in the PDU session binding record; receiving, from the NRF, in response to a subscription, at least one notification of a change in at least some of the NF profiles in the NF set identified in the PDU session binding record; receiving a PDU session binding discovery request from a consumer NF; Identifying a matching PDU session binding record in the PDU session binding record database based on at least one query parameter in the PDU session binding discovery request; generating a PDU session binding discovery response using the matching PDU session binding record, one of the lists of NF profiles received from the NRF, and at least one notification of a change in at least some of the NF profiles; and sending the PDU session binding discovery response to the consumer NF.

2. 2. The method of claim 1, wherein obtaining the list of NF profiles includes sending an NRF discovery request to the NRF including an attribute identifying the NF set identified in the PDU session binding record.

3. 3. The method of claim 1 or 2, wherein receiving the PDU session binding discovery request includes receiving a Hypertext Transfer Protocol (HTTP) message from a 5G consumer network function (NF) utilizing an N5 interface to communicate with a PCF bound to the session.

4. 4. The method of claim 3, wherein the 5G consumer NF includes one of an Application Function (AF), a Network Publishing Function (NEF), a Policy Control Function (PCF), and a Network Data Analysis Function (NWDAF).

5. 5. The method of claim 1, wherein receiving the PDU session binding discovery request includes receiving a Diameter message from a Diameter node that uses an Rx interface to communicate with a PCF bound to the session.

6. The method of claim 5 , wherein the Diameter node using the Rx interface includes a Diameter Relay Agent (DRA) or a Diameter-based application server.

7. 7. The method of claim 1, wherein generating the PDU session binding discovery response includes selecting an alternative NF profile to an NF profile for a PCF instance identified in the matching PDU session binding record, and including the alternative NF profile in the PDU session binding discovery response.

8. 8. The method of claim 7, wherein selecting the alternative NF profile comprises filtering the one list of NF profiles based on attributes included in the matching PDU session binding record, and selecting the alternative NF profile from the filtered list.

9. 8. The method of claim 7, wherein selecting the alternative NF profile comprises filtering the one list of NF profiles based on operator-specified parameters, and selecting the alternative NF profile from the filtered list.

10. 10. The method of claim 7, further comprising updating the matching PDU session binding record based on attributes of the alternative NF profile.

11. 1. A system for providing an optimized binding support function (BSF) packet data unit (PDU) session binding discovery response, comprising: a BSF including at least one processor and a memory; a PDU session binding database located in the memory and including PDU session binding records; A method for implementing the method according to claim 1, further comprising: subscribing to a Network Function (NF) Repository Function (NRF) to receive notifications of changes to NF profiles of a PCF instance or an NF set identified in the PDU session binding record; obtaining from the NRF a list of NF profiles for the PCF instance in the NF set identified in the PDU session binding record; receiving from the NRF, in response to the subscription, at least one notification of a change in at least some of the NF profiles in the NF set identified in the PDU session binding record; a PCF instance tracker for receiving a PDU session binding discovery request from a consumer NF, identifying a matching PDU session binding record matching in a database of PDU session binding records based on at least one query parameter in the PDU session binding discovery request, generating a PDU session binding discovery response using the matching PDU session binding record, one of the list of NF profiles received from the NRF, and at least one notification of a change in at least some of the NF profiles, and sending the PDU session binding discovery response to the consumer NF.

12. 12. The system of claim 11, wherein the PCF instance tracker is configured to obtain the list of NF profiles by sending an NRF discovery request to an NRF that includes an attribute identifying the NF set identified in the PDU session binding record.

13. 13. The system of claim 11 or 12, wherein the PDU session binding discovery request includes a Hypertext Transfer Protocol (HTTP) message from a 5G consumer network function (NF) utilizing an N5 interface to contact a PCF bound to the session.

14. 14. The system of claim 13, wherein the 5G consumer NF includes one of an Application Function (AF), a Network Publishing Function (NEF), a Policy Control Function (PCF), and a Network Data Analysis Function (NWDAF).

15. The system of any one of claims 11 to 14, wherein the PDU session binding discovery request comprises a Diameter message from a Diameter node using an Rx interface to contact a PCF bound to the session.

16. 16. The system of claim 15, wherein the Diameter node using the Rx interface includes a Diameter relay agent (DRA).

17. The system of any one of claims 11 to 16, wherein the PCF instance tracker is configured to select an alternative NF profile for the NF profile for the PCF instance identified in the matching PDU session binding record, and generate the PDU session binding discovery response by including the alternative NF profile in the PDU session binding discovery response.

18. 18. The system of claim 17, wherein the PCF instance tracker is configured to select the alternative NF profile by filtering the one list of NF profiles based on at least one attribute included in the matching PDU session binding record and an operator-specified parameter, and selecting the alternative NF profile from the filtered list.

19. 20. The system of claim 17, wherein the PCF instance tracker is configured to update the matching PDU session binding record based on attributes of the alternative NF profile.

20. A program for causing a computer to execute the method according to any one of claims 1 to 10.