Method, system, and computer-readable medium for preferred network function (NF) location routing using a service communication proxy (SCP) - Patents.com
The SCP in 5G networks optimizes producer NF selection by using location-based routing rules, addressing inefficiencies in selecting optimal producer NFs and reducing latency through strategic routing.
Patent Information
- Application Number
- JP2023506341
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-07-31
- Filing Date
- 2021-02-26
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2041-02-26
AI Technical Summary
In 5G communication networks, consumer Network Functions (NFs) face challenges in selecting the optimal producer NF for service requests due to a lack of location-specific information, leading to inefficiencies and increased latency, especially when multiple producer NFs are available across different geographical areas.
Implementing a Service Communication Proxy (SCP) that utilizes a preferred NF location routing rule database to select the most suitable producer NF based on parameters like domain name, IP address, and service type, thereby optimizing routing decisions.
This approach reduces latency and improves scalability by ensuring that service requests are routed to the closest and most efficient producer NF, enhancing network performance and reducing the need for complex configuration at consumer NFs.
Smart Images

Figure 0007621456000003 
Figure 0007621456000004 
Figure 0007621456000005
Abstract
Description
[Technical field]
[0001] Priority claim This application claims the benefit of priority to U.S. Patent Application Serial No. 16 / 945,794, filed July 31, 2020, the disclosure of which is incorporated herein by reference in its entirety.
[0002] Technical Field The subject matter described herein relates to routing messages to producer network functions (NFs) in 5G communications networks. More particularly, the subject matter described herein relates to methods, systems, and computer-readable media for preferred NF location routing using a service communications proxy (SCP). [Background technology]
[0003] background 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.
[0004] A given producer NF may have many service endpoints. A service endpoint is a combination of a fully qualified domain name (FQDN) / Internet protocol (IP) address and port number for the network node hosting the producer NF. A producer NF registers with a network function repository function (NRF). The NRF maintains an NF profile of available NF instances and their supported services. A consumer NF can subscribe to receive information about producer NF instances that have registered with the NRF.
[0005] In addition to consumer NFs, another type of network node that can query or 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 registered producer NF service instances. Consumer NFs connect to the Service Communication Proxy, which load balances or provides alternative / optimal routing between producer NF service instances offering the requested service, or routes traffic directly to the destination producer NF.
[0006] In addition to SCPs, other examples of intermediate proxy nodes or groups of network nodes that route traffic between producer and consumer NFs include security edge protection proxies (SEPPs), service gateways, and nodes in a 5G service mesh. A SEPP is a network node used to protect control plane traffic exchanged between different 5G public land mobile networks (PLMNs). As such, a SEPP performs message filtering, policing, and topology hiding for all application programming interface (API) messages.
[0007] A Service Gateway is a node that sits in front of a group of producer NFs offering a given service. A Service Gateway may load balance incoming service requests among the producer NFs offering the service in a manner similar to an SCP.
[0008] A service mesh is the name for a group of intermediate proxy nodes that enable communication between producer NFs and consumer NFs. A service mesh may include one or more SCPs, SEPPs, and service gateways.
[0009] One problem that arises in 5G communication networks is that a consumer NF may not select an optimal producer NF for handling a particular service. For example, a consumer NF may obtain a list of producer NFs for handling a particular service request from an NRF. The NRF may execute an internal policy to adjust the priority of the producer NFs in a discovery response. However, since there is no basic information about the location information of the consumer NFs, the NRF may not be able to provide optimal guidance on the priority of the producer NFs. A consumer NF may execute an internal policy to select one of the producer NFs for handling a service request. However, the consumer NF may not select an optimal producer NF for handling a service request. For example, a consumer NF located in a geographical region may select a producer NF located in a different geographical region when there is an available producer NF in the same or nearest data center as the consumer NF. In addition, considering the number of consumer NFs, requiring each consumer NF to implement a preferred producer NF selection algorithm becomes a scalability issue.
[0010] Therefore, in view of these challenges, a need exists for improved methods, systems, and computer-readable media for selecting a producer NF and routing a service request thereto. Summary of the Invention
[0011] overview A method for preferred network function (NF) location-based routing using a service communication proxy (SCP) includes receiving a service request message from a consumer NF. The method further includes the SCP performing a lookup in a preferred NF location routing rule database in the SCP using at least one parameter extracted from a header or body of the service request message. The method further includes the SCP locating a preferred NF location routing rule in the preferred NF location routing rule database that corresponds to the at least one parameter extracted from the header or body of the service request message. The method further includes the SCP selecting a producer NF for processing the service request based on application of the preferred NF location routing rule. The method further includes the SCP routing the service request message to the producer NF.
[0012] According to another aspect of the subject matter described in this specification, receiving the service request message includes receiving the service request using indirect communication through the SCP with or without delegated discovery from the consumer, and selecting the producer NF includes obtaining a list of NFs from NFs registered with the SCP or querying a Network Function Repository Function (NRF) to obtain a list of NFs that can provide the service and selecting the producer NF from the list.
[0013] According to another aspect of the subject matter described herein, performing a lookup in the preferred NF location routing rule database includes performing a lookup using a third generation partnership project (3GPP) service identifier in the service request message.
[0014] According to another aspect of the subject matter described herein, performing a lookup in the preferred NF location routing rule database includes performing a lookup using a subscription identifier or any other parameter present in the header or body in addition to the service identifier.
[0015] According to another aspect of the subject matter described herein, performing a lookup using the subscription identifier or any other parameter present in the header or body includes performing a lookup using the subscription identifier, the subscription identifier including a subscription permanent identifier (SUPI) from the service request message.
[0016] According to another aspect of the subject matter described in this specification, selecting a producer NF using a preferred NF location routing rule includes selecting an available producer NF using a domain address as an indication of the location of the producer NF.
[0017] According to another aspect of the subject matter described in this specification, selecting a producer NF using a preferred NF location routing rule includes selecting an available producer NF using an Internet Protocol address as an indication of the location of the producer NF.
[0018] According to another aspect of the subject matter described in this specification, the step of selecting a producer NF includes ordering a list of producer NFs according to a priority specified by a preferred NF location routing rule, and selecting an available producer NF with the highest priority in the list as the producer NF for processing the service request message.
[0019] According to another aspect of the subject matter described herein, a system for preferred network function (NF) location based routing using a service communication proxy (SCP) is provided. The system includes an SCP including at least one processor and a memory. The system further includes a preferred NF location routing rule database located in the memory. The system further includes a preferred NF location routing module implemented by the at least one processor, the preferred NF location routing module is for receiving a service request message from a consumer NF, performing a lookup in the preferred NF location routing rule database using at least one parameter extracted from the service request message, locating a preferred NF location routing rule in the preferred NF location routing rule database corresponding to the at least one parameter extracted from the service request message, selecting a producer NF for processing the service request based on application of the preferred NF location routing rule, and routing the service request message to the producer NF.
[0020] According to another aspect of the subject matter described in this specification, a preferred NF location routing module is configured to receive a service request using indirect communication through the SCP, with or without delegated discovery from a consumer, and select a producer NF by either obtaining a list of NFs from NFs registered with the SCP or by querying a Network Function Repository Function (NRF) to obtain a list of NFs that can provide the service and selecting a producer NF from the list.
[0021] According to another aspect of the subject matter described in this specification, the preferred NF location routing module is configured to perform a lookup in a preferred NF location routing rules database using a Third Generation Partnership Project (3GPP) service identifier in the service request message.
[0022] According to another aspect of the subject matter described herein, the preferred NF location routing module is configured to perform a lookup in a preferred NF location routing rules database using a Subscription Permanent Identifier (SUPI) or any other parameter present in a header or body of the service request message.
[0023] According to another aspect of the subject matter described herein, the preferred NF location routing module is configured to select an available producer NF using a domain identifier as an indication of the location of the producer NF.
[0024] According to another aspect of the subject matter described herein, the preferred NF location routing module is configured to select an available producer NF using an Internet Protocol address as an indication of the location of the producer NF.
[0025] According to another aspect of the subject matter described in this specification, the preferred NF location routing module is configured to order the list of producer NFs according to the priority specified by the preferred NF location routing rule, and select an available producer NF with the highest priority in the list as the producer NF for processing the service request.
[0026] According to another aspect of the subject matter described herein, a non-transitory computer-readable medium is provided having executable instructions stored thereon that, when executed by a processor of the computer, control the computer to perform a plurality of steps. The plurality of steps includes receiving a service request message from a consumer NF. The plurality of steps further includes performing a lookup in a preferred NF location routing rule database using at least one parameter extracted from a header or a body of the service request message. The plurality of steps further includes locating a preferred NF location routing rule in the preferred NF location routing rule database that corresponds to the at least one parameter extracted from the service request message. The plurality of steps further includes selecting a producer NF for processing the service request based on application of the preferred NF location routing rule. The plurality of steps further includes routing the service request message to the producer NF.
[0027] The subject matter described herein may be implemented in hardware, software, firmware, or any combination thereof. Thus, the terms "function," "node," or "module" as used herein refer to hardware that may also include software and / or firmware components to implement the described features. In one exemplary implementation, the subject matter described herein may be implemented using a computer-readable medium having computer-executable instructions stored thereon that, when executed by a processor of a computer, control a computer to perform a number of 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, computer-readable media implementing the subject matter described herein may be located on a single device or computing platform, or may be distributed among multiple devices or computing platforms.
[0028] BRIEF DESCRIPTION OF THE DRAWINGS The subject matter described herein will now be described with reference to the accompanying drawings. [Brief description of the drawings]
[0029] [Figure 1] FIG. 1 is a network diagram illustrating an example 5G service architecture. [Diagram 2] FIG. 13 is a message flow diagram illustrating example messages exchanged between a consumer NF, an NRF, and a producer NF when performing 5G service routing without an SCP. [Diagram 3] FIG. 1 is a network diagram showing consumer NFs and producer NFs located in data centers in different geographic regions. [Figure 4]FIG. 13 is a message flow diagram illustrating example messages exchanged between a consumer NF, an NRF, an SCP, and a producer NF when the consumer NF obtains an initial list of producer NFs from the NRF and executes its local policies to perform preferred NF location routing to select a producer. [Diagram 5] FIG. 13 is a message flow diagram illustrating example messages exchanged between a consumer NF, an SCP, an NRF, and a producer NF when a consumer NF sends a service request to an SCP without first obtaining a list of producer NFs from the NRF. [Figure 6] FIG. 13 is a block diagram of an SCP having a preferred NF location routing module and a preferred NF location routing rules database. [Figure 7] 13 is a flowchart for configuring an example process for preferred NF location routing using an SCP. [Figure 8] 1 is a detailed flowchart illustrating an example process for preferred NF location routing using an SCP. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0030] Detailed Description The subject matter described herein relates to a method, system, and computer-readable medium for preferred NF location routing using SCP. The subject matter may be implemented in a 5G system network architecture or a network architecture including both 5G and non-5G network elements. FIG. 1 is a block diagram illustrating an example 5G system network architecture. The architecture in FIG. 1 includes an NRF 100 and an SCP 101, which may be located in the same home public land mobile network (HPLMN). As described above, the NRF 100 may maintain a profile of available producer NF service instances and their supported services, and may enable 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. The SCP 101 may perform load balancing of connections between consumer NFs and producer NFs. In addition, using the methodology described herein, the SCP 101 may perform preferred NF location-based selection and routing.
[0031] The NRF 100 is a repository for NF profiles. To communicate with a producer NF, a consumer NF or an SCP must obtain an NF profile from the NRF 100. An NF profile is a JavaScript object notation (JSON) data structure defined in 3GPP TS 29.510. The definition of an NF profile includes at least one of a fully qualified domain name (FQDN), an Internet Protocol (IP) version 4 (IPv4) address, or an IP version 6 (IPv6) address.
[0032] In FIG. 1, any node (other than SCP 101 and NRF 100) may be a consumer NF or a producer NF depending on whether they are requesting or providing a service. In the illustrated example, the node includes a policy control function (PCF) 102 that performs policy-related operations in 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 management function (AMF) 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 User Equipment (UE) 114, that seeks access to the network.
[0033] The network slice selection function (NSSF) 116 provides network slicing services for devices that want to access specific network capabilities and characteristics associated with a network slice. The network exposure function (NEF) 118 provides application programming interfaces (APIs) 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 exposure function (SCEF) in 4G networks.
[0034] 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. 1 ) or other wireless access points. The user plane function (UPF) 122 may support various proxy functionalities for user plane services. One example of such a proxy functionality is a multipath transmission control protocol (MPTCP) proxy functionality. The UPF 122 may also support performance measurement functionality, which 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.
[0035] The SEPP 126 filters incoming traffic from another PLMN and provides topology hiding for traffic leaving the home PLMN. The SEPP 126 may communicate with a SEPP in a foreign PLMN that manages security for that foreign PLMN. Thus, traffic between NFs in different PLMNs may traverse two SEPP functions: a SEPP function for the home PLMN and a SEPP function for the foreign PLMN.
[0036] As mentioned above, one problem with conventional 5G service routing is that a consumer NF may not select the optimal producer NF to handle a given service request. FIG. 2 is a message flow diagram illustrating an example messaging exchange between a consumer NF, an NRF, and a producer NF in a situation where the consumer NF selects a producer NF without an SCP. With reference to FIG. 2, at line 1, a producer NF, which is a UDM in the illustrated example, registers with the NRF 100. The producer NF 104A is located on the east coast and has the domain udm.east.com. The NRF 100 receives the NRF registration request and records or stores registration details for the producer NF 104A. The registration details may include the type of service provided by the producer NF 104A, the domain, and the capabilities of the producer NF 104A. At line 2 of the message flow diagram, the NRF 100 responds to the registration request with an indication that the registration was successful.
[0037] At line 3 of the message flow diagram, producer NF104B sends an NRF registration request to NRF 100. Producer NF104B is also UDM. Producer NF104B is located on the West Coast and has the domain udm.west.com. NRF 100 receives the registration request and stores the registration details for producer NF104B. At line 4 of the message flow diagram, NRF 100 responds to the NRF registration request with an indication that the registration was successful.
[0038] At line 5 of the message flow diagram, consumer NF 110 sends a discovery request message to NRF 100. The discovery request message includes the type of service requested. NRF 100 receives the service discovery request and performs a lookup in its service database to identify potential producer NFs that provide the service. At line 6 of the message flow diagram, NRF 100 responds to the service discovery request with a list of one or more producer NFs that can provide the requested service. In the illustrated example, it is assumed that NRF 100 responds with a list that includes producer NF 104A and producer NF 104B.
[0039] The consumer NF 110 receives the list of producer NFs from the NRF 100 and selects one of the producer NFs to handle the service request based on an internal policy of the consumer NF 110. As mentioned above, the consumer NF 110 may implement a suboptimal policy and select a producer NF located in a different data center than the consumer NF 110 or even the data center farthest from the consumer NF 110, which may result in increased latency in providing the service.
[0040] FIG. 3 illustrates the suboptimal producer NF selection problem in more detail. With reference to FIG. 3, producer NF 104A is located in data center 1 on the east coast. Producer NF 104B is located in data center 2 on the north. Producer NF 104C is located in data center 2 on the west. Consumer NF 110 resides in data center 1 along with NRF 100. If consumer NF 110 requires a service provided by one of producer NFs 104A, 104B, and 104C, then, assuming all three producer NFs are available with the same priority, producer NF 104A is the producer NF that can provide the service with the lowest amount of latency.
[0041] Producer NFs 104A, 104B, and 104C publish their service details to the NRF 100. However, there is no way for producer NFs 104A, 104B, and 104C to publish general guidelines / attributes / information for the NRF or consumer NFs to follow certain priorities to use their services. Producers can publish and enable domain ranges and other attributes that will make the producer NF discoverable or undiscoverable at the NRF for a given consumer domain. However, there is no way for producer NFs to publish adjusted preferences / priority lists for a given consumer domain.
[0042] It is optional for a consumer NF to include a requester-NF-instance-ID or a requester-NF-instance-FQDN in a discovery request. Thus, when a consumer NF sends a discovery request, the NRF does not necessarily have the data required to generate the correct set of producer NFs in an updated priority order for a given NF instance. As a result, the consumer NF may select a producer NF that is not the best possible producer NF to handle the service request. For example, in FIG. 3, the consumer NF 110 may select producer NF 104B or producer NF 104C to handle the service request, even though producer NF 104A is available. A producer NF that is co-located with the consumer NF is preferred due to low latency and shorter round trip time (RTT) for message exchange with the consumer NF. In addition, there may be scenarios where a consumer NF wants to reach an alternative producer in another region / location / domain, for example, if a producer NF located in the same data center as the consumer NF is down. In such a case, it may be desirable for the consumer NF 110 to select a producer NF in the next closest data center. Continuing with the example of FIG. 3, if producer NF 104A is down, the consumer NF 110 would preferably select producer NF 104B because of the better latency between data center 1 and data center 2. However, in such a scenario, the producer NF instance cannot register with the NRF to aid in the discovery response.
[0043] In summary, when there are multiple available producer NFs, the 3GPP standard does not specify an approach or solution for a consumer NF to find a preferred producer for each consumer's domain. Complex policies for selecting the closest producer based on operator policies are difficult to implement in the consumer NF instance.
[0044] Therefore, considering these challenges, a geographically located SCP may be configured with a preferred NF location routing rule to select a preferred producer NF to handle a service request. The SCP is a more optimal location for implementing the preferred NF location routing rule due to its strategic location in the network. The SCP may implement the preferred NF location routing rule when it receives a service request with or without a producer NF selected by the consumer. FIG. 4 is a message flow diagram for the preferred NF location routing case, where the SCP 101 receives a service request from a consumer NF. The message flow in FIG. 4 follows Model C in Section E1 of 3GPP TS 23.501, where the consumer NF performs discovery, selects an NF, and sends a service request to the SCP with the selected producer NF. However, in the illustrated example, the SCP applies the preferred NF location routing rule to select an optimal producer NF to handle the service request and route the service request to the selected producer NF.
[0045] Referring to the message flow in Figure 4, at line 1, consumer NF 110 sends a service discovery request to NRF 100. NRF 100 receives the service discovery request and identifies a list of NFs that can handle the service discovery request. In the example in Figure 4, it is assumed that the list of NFs includes producer NF 104A, producer NF 104B, and producer NF 104C.
[0046] At line 2 of the message flow diagram, the NRF 100 sends a service discovery response with a list of NFs to the consumer NF 110. The consumer NF 110 receives the service discovery response and selects one of the producer NFs to handle the service request.
[0047] In line 3 of the message flow diagram, consumer NF 110 sends a service request to SCP 101. SCP 101 receives the service request and determines whether a preferred NF location routing rule is provisioned for the service request. In this example, it is assumed that a preferred NF location routing rule is provisioned for the service request. Thus, in line 4, SCP 101 applies the preferred NF location routing rule. In this example, it is assumed that application of the preferred NF location routing rule results in the selection of producer NF 104A. Thus, in line 4, SCP 101 routes the service request to producer NF 104A.
[0048] As mentioned above, in another example, the SCP 101 may achieve the preferred NF location routing without receiving the selected producer NF from the consumer NF. Figure 5 is a message flow diagram illustrating this case. Referring to Figure 5, at line 1 of the message flow diagram, the consumer NF 110 sends a service request to the SCP 101. The SCP 101 sends a service discovery request to the NRF 100 to identify a list of producer NFs that can handle the service request. The NRF 100 receives the service discovery request and performs a lookup in its database to identify a list of NFs that can handle the service request. At line 3 of the message flow diagram, the NRF 100 sends a service discovery response to the SCP 101 with the list of NFs that can handle the service request.
[0049] At line 4, the SCP 101 applies the preferred NF location routing rule to select one of the NFs from the list of NFs to handle the service request. In the illustrated example, it is assumed that application of the preferred NF location routing rule results in the selection of the producer NF 104A. Thus, at line 5 of the message flow diagram, the SCP 101 sends the service request to the producer NF 104A.
[0050] 6 is a block diagram illustrating an example architecture for SCP 101. With reference to FIG. 6, SCP 101 includes at least one processor 600 and a memory 602. SCP 101 further includes a preferred NF location routing module 604 that implements preferred NF location routing as described herein, and a preferred NF location routing rule database 606 that includes rules for preferentially selecting producer NFs for handling service requests based on location. Tables 1 and 2 below show example preferred NF routing rules that may be provisioned in preferred NF location routing rule database 606.
[0051] [Table 1]
[0052] [Table 2]
[0053] In Table 2, the priority is assigned based on the domain of the producer NF. 3GPP TS 29.510 (Release 15 and 16) mandates that producer NFs register their services with a fully qualified domain name (FQDN) and / or IP address. Any one of these parameters may be used to realize the preferred NF location routing rule as described herein. The FQDN contains the producer service location given by its domain. For example, the domain pcf1.oracle.com indicates a policy control function host in the oracle.com domain. Similarly, an operator deployment has an IP subset range for a given area. The SCP can use the domain or IP subset range to select the closest available producer NF to handle a given service request. The preferred NF location routing rule may be used to find or override the consumer NF priority for producer NF selection or reselection.
[0054] In Table 1, the routing rules are configured based on the attributes available in the header or body of the service message. The first rule in Table 1 indicates that any initial session management policy control function (npcf-smpolicycontrol) service request will have the preferred NF location routing applied to select the preferred policy control function to handle the request. The session management policy control service is performed by the PCF and includes provisioning, updating, and removing session-related policies for the SMF. Note that the location priority in Table 2 is specific to and limited to the location of the SCP. For example, in Table 2, the domain east.oracle.com is the most preferred domain, which indicates that the rule in Table 2 may be for an SCP located in the domain east.oracle.com. When an SCP configured with a preferential routing rule receives an initial service request requesting the session management policy control (npcf-smpolicycontrol) service, the service request matches the first rule in Table 1. The action specified by the first rule in Table 1 is "Apply preferred domain routing for every initial message for SM policy to a PCF instance", which indicates that the domains in Table 2 should be applied in order of preference to select a producer NF. In Table 2, the domains are listed in order of preference. Thus, when an SCP has a list of PCFs that can handle a service request, the SCP will select the PCF with the most preferred domain according to the order of preference listed in Table 2, and route the service request to a PCF instance with an FQDN that matches the most preferred domain.
[0055] The second rule in Table 1 indicates that the first and next service requests for the access and mobility policy control (npcf-am-policy-control) service with a particular subscription permanent identifier (SUPI) range will cause the preferred NF location routing rule to be applied. The access and mobility policy control service provides AMF access control and mobility management related policies to the AMF, including 1) policy creation based on a request from the AMF during UE registration, 2) notifying the AMF of updated policies subscribed to, and 3) deleting policy context for the UE. Thus, when a first or next message requesting the npcf-am-policy control service is received by the SCP and the message has a SUPI in the range X to Y, the SCP will use the domain priority in Table 2 to select a PCF to provide the npcf-am-policy-control service. If the message does not have a SUPI in the range X to Y, the action specified by the second rule in Table 1 does not apply. However, the fifth rule in Table 1 is a default rule indicating that if one of the more specific rules does not apply, then the preferred domain (location) based routing will be applied to all services. Continuing the example, because of the default fifth rule in Table 1, a request for an npcf-am-policy service with a SUPI range that does not match the second rule will still have the preferred location based routing applied.
[0056] The third rule in Table 1 indicates that if a message requesting a nudm user equipment context management (nudm-uecm) service is received, the preferred NF location routing will be applied only for the next message for nudm registration for non-3GPP access. The nudm user equipment context management service provides information about the transaction information of the UE to the consumer NF, enables the consumer NF to register and deregister the information for the serving UE in the UDM, and enables the consumer NF to update the UE context information in the UDM. The consumer of the nudm-uecm service is the AMF. The producer NF is the UDM. Thus, when a message arrives at the SCP requesting the nudm-uecm service, the SCP will determine whether the message is the first message or the next message. If the message is the next message, the SCP will determine whether the message is for non-3GPP access. If the message is for non-3GPP access, the SCP will use the preferred domain order listed in Table 2 to select a UDM to provide the service, and route the message to the selected UDM.
[0057] The fourth rule in Table 1 indicates that preferred domain routing will be applied for any service message to a producer with domain north.oracle.com. The fifth row in Table 1 indicates that preferred domain-based routing will be applied for all services by default if no specific rule is provisioned as an exception. Note that Table 6.3.1 of 3GPP TS 23.501 includes guidelines for the selection and reselection of producer NFs that can be realized by the SCP 101. Because the data about the selected preferred producer NF is local to the SCP instance, an operator can configure different location priority rules for SCPs located in different regions. However, this is much easier than configuring all consumer NFs to select preferred producer NFs according to their location.
[0058] 7 is a flow chart illustrating an example overall process for applying preferred NF location selection and routing at an SCP. With reference to FIG. 7, in step 700, the SCP receives a service request from a consumer NF. For example, the SCP 101 may receive a service request from a consumer NF 110 in the same domain as the SCP 101. The service request may identify a service and may optionally include a producer NF selected by the consumer NF that can handle the service request.
[0059] In step 702, the SCP 101 performs a lookup in a preferred NF location routing rule database using information from the service request. The information used to perform the lookup may include an identifier for the service type and other more specific parameters. Examples of parameters that identify the service type are the 3GPP service identifiers for nudm-sm-policycontrol, nudm-am-policycontrol, and nudm-uecm, which identify the session management policy control service, the access and mobility policy control service, and the UE context management service, respectively. Examples of other parameters from the service request that may be used to perform a lookup in the preferred NF location routing rule database include the SUPI, the DNN, and the domain of the requesting NF.
[0060] In step 704, the SCP locates a preferred NF location routing rule based on the information from the service request. For example, the SCP 101 may locate a rule, such as one of the rules shown in Table 1, using parameters extracted from the service request message.
[0061] In step 706, the SCP selects a producer NF for handling the service request based on application of preferred NF location routing rules. For example, the SCP 101 may utilize the domain priorities in Table 2 to select a preferred producer NF for handling a given service request. In alternative examples, the selection may be made based on the IP address or other location indication of the producer NF. In one example, the selected producer NF may be the producer NF with the highest domain or location priority that can handle the service request.
[0062] The service request is routed to the selected producer NF in step 708. For example, the SCP 101 may route the service request to the selected producer NF using a preferred NF location routing rule.
[0063] Figure 7 shows a single case where a message is received and rules are applied, while Figure 8 is a more detailed flow chart of an algorithm that may be implemented by the preferred NF location routing module 604. Referring to Figure 8, in step 800 an incoming service request arrives from a consumer NF. In step 802 it is determined whether the message is an initial message. Initial message means that the message is a message that creates a context or resource instance at a producer NF. The next message for the context should arrive at the same producer or the same set of producers with the same context as for the message flow.
[0064] If the message is an initial message, control proceeds to step 804, where it is determined whether there is a rule for a preferred location-based routing of the message. If there is a rule, control proceeds to step 806, where it is determined whether an action rule is located. If a matching rule is located, control proceeds to step 808, where a list of producer NFs that can handle the request is generated based on the data in the request message. The SCP can obtain the list by querying the NRF. The list may include producer NFs that the SCP may route to based on health, congestion, etc. Guidelines for generating such a list can be found in section 6.3.1 of 3GPP TS 23.501, and section 4.17.12 of 3GPP TS 23.502.
[0065] After step 808, control proceeds to step 810, where it is determined whether the list includes one or more producer NFs. If the list includes one or more producer NFs, control proceeds to step 812, where it is determined whether the rule set includes a producer NF in the preferred set that has a domain configured by the operator. If the list includes an NF in the preferred set, i.e., if the rule has a producer NF with a domain that matches the priority to the operator, then the routing must be to one of the producer NFs in the preferred domain. In step 814, the list of producer NFs is ordered based on the preferred domain order configured by the operator. In step 816, the SCP 101 selects the first available producer NF from the ordered list and updates the request to set up routing to the selected producer NF. In step 818, the SCP 101 routes to the selected producer NF.
[0066] Returning to step 802, if the message is not an initial message, control proceeds to step 820, where it is determined whether a provider is identified by the consumer and available for routing. If a provider is identified by the consumer and available for routing, control returns to step 818, where the message is routed to the consumer identified producer NF.
[0067] If in step 820, a provider has not been specified by the consumer for routing, control proceeds to step 822, where it is determined whether there are preferred location or domain-based rules specified for the next message. If there are rules specified for the next message, control proceeds to steps 806-818, where the rules are applied and used to select a preferred NF to route the message to. If no rules have been specified for the next message, control proceeds to step 818, where the message is routed to a producer NF or rejected based on operator policy.
[0068] The subject matter described herein includes preferred NF location rules implemented by an SCP. Implementing preferred NF location routing rules is advantageous because implementing such rules improves the functionality of computer networks by reducing latency in service transactions between consumer NFs and producer NFs. Preferred NF location routing as described herein enables preferred NF selection based on service type and / or other message parameters such as SUPI and domain. Preferred NF location routing also enables re-routing of service requests after initial selection by a consumer NF and routing of service requests that take NF failures into account. Implementing preferred NF location routing rules in an SCP is advantageous because implementing such rules in an SCP reduces the need for NRFs or consumer NFs to be provisioned with complex preferred NF location routing rules, thus making scaling and updating of routing rules more efficient for geographic locations.
[0069] The disclosure of each of the following references is incorporated herein by reference in its entirety: References 1.3GPP TS 23.501; 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; System Architecture for 5G System (5GS); Stage 2 (Release 16) V16.4.0 (2020-03) 2.3GPP TS 23.502; 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Procedures for 5G Systems (5GS); Stage 2 (Release 16) (2020-03) V16.4.0 (2020-03) 3.3GPP TS29.510; 3rd Generation Partnership Project; Technical Specification Group Core Networks and Terminals; 5G Systems; Network Function Repository Services; Stage 3 (Release 16) V16.4.0 (2020-07) It will be understood that various details of the presently disclosed subject matter can be changed without departing from the scope of the presently disclosed subject matter. Further, the above description is merely illustrative and not limiting.
Claims
1. 1. A method for preferred network function (NF) location based routing using a service communication proxy (SCP), the method comprising: receiving, at the SCP, a service request message from a consumer NF; said SCP performing a lookup in a preferred NF location routing rule database at said SCP using at least one parameter extracted from said service request message; said SCP searching in said preferred NF location routing rule database for a preferred NF location routing rule corresponding to said at least one parameter extracted from said service request message; the SCP selecting a producer NF for processing the service request based on application of the preferred NF location routing rule, the preferred NF location routing rule database including identifiers of a plurality of different producer NF domains and a plurality of different location priorities configured for the producer NF domains based on a location of the SCP, and the selecting the producer NF based on application of the preferred NF location routing rule includes selecting, on behalf of the consumer NF, the producer NF having a most preferred configured location priority based on a location of the SCP, the method comprising: The method includes the step of the SCP routing the service request message to the producer NF.
2. The step of receiving the service request message includes a step of receiving the service request message using a producer NF selected by the consumer NF that can provide the service requested by the service request message; 2. The method of claim 1, wherein the step of selecting a producer NF comprises the steps of selecting one of the producer NFs from NFs registered with the SCP based on application of the preferred NF location routing rule, or querying a Network Function Repository Function (NRF) to obtain a list of NFs that can provide the service.
3. The step of receiving a service request message includes a step of receiving the service request without using a producer NF selected by a consumer NF that can provide the service requested by the service request message, 2. The method of claim 1, wherein the step of selecting a producer NF includes the steps of obtaining a list of NFs from NFs registered with the SCP or querying a Network Function Repository Function (NRF) to obtain a list of NFs that can provide the service, and selecting the producer NF from the list.
4. The method of any one of claims 1 to 3, wherein the step of performing the lookup in the preferred NF location routing rule database includes performing the lookup using a Third Generation Partnership Project (3GPP) service identifier in the service request message.
5. 5. The method of claim 4, wherein performing a lookup in the preferred NF location routing rule database comprises performing the lookup using a parameter in a header or a body of the service request message in addition to the service identifier.
6. The method of claim 5 , wherein the parameters in the header or body of the service request message include a subscription identifier.
7. The method of claim 6 , wherein the subscription identifier comprises a subscription permanent identifier (SUPI) from the service request message.
8. The method according to any one of claims 1 to 7, wherein the step of selecting the producer NF using the preferred NF location routing rule comprises the step of selecting an available producer NF using a domain address as an indication of the location of the producer NF.
9. The method according to any one of claims 1 to 7, wherein the step of selecting the producer NF using the preferred NF location routing rule comprises the step of selecting an available producer NF using an internet protocol address of the producer NF as an indication of the location of the producer NF.
10. 1. A system for preferred network function (NF) location-based routing using a service communication proxy (SCP), the system comprising: an SCP including at least one processor and a memory; a preferred NF location routing rules database located in said memory; and a preferred NF location routing module implemented by the at least one processor, the preferred NF location routing module for receiving a service request message from a consumer NF, performing a lookup in a preferred NF location routing rule database using at least one parameter extracted from the service request message, locating a preferred NF location routing rule in the preferred NF location routing rule database corresponding to the at least one parameter extracted from the service request message, selecting a producer NF for processing the service request based on application of the preferred NF location routing rule, and routing the service request message to the producer NF, the preferred NF location routing rule database including identifiers of a plurality of different producer NF domains and a plurality of different location priorities configured for the producer NF domains based on a location of the SCP, and selecting the producer NF based on application of the preferred NF location routing rule includes selecting, on behalf of the consumer NF, the producer NF having the most preferred configured location priority based on the location of the SCP.
11. 11. The system of claim 10, wherein the preferred NF location routing module is configured to receive a service request message using a producer NF selected by a consumer NF that can provide the service requested by the service request message, and to select a producer NF from NFs registered with the SCP or to query a Network Function Repository Function (NRF) to obtain a list of NFs that can provide the service.
12. 11. The system of claim 10, wherein the preferred NF location routing module is configured to receive a service request without a producer NF selected by a consumer NF that can provide the service requested by the service request message, and select a producer NF by obtaining a list of NFs from NFs registered with the SCP or by querying a Network Function Repository Function (NRF) to obtain a list of NFs that can provide the service and selecting the producer NF from the list.
13. The system of any one of claims 10 to 12, wherein the preferred NF location routing module is configured to perform the lookup in the preferred NF location routing rule database using a Third Generation Partnership Project (3GPP) service identifier in the service request message.
14. 14. The system of claim 13, wherein the preferred NF location routing module is configured to perform the lookup in the preferred NF location routing rules database using parameters or attributes present in a header or body of the service request message in addition to the service identifier.
15. The system of claim 14 , wherein the parameters in the header or body of the service request message include a subscription permanent identifier (SUPI).
16. The system of any one of claims 10 to 15, wherein selecting the producer NF using the preferred NF location routing rule comprises selecting an available producer NF using a domain address as an indication of the location of the producer NF.
17. The system of any one of claims 10 to 15, wherein selecting the producer NF using the preferred NF location routing rule comprises selecting an available producer NF using an internet protocol address of the producer NF as an indication of the location of the producer NF.
18. A program comprising executable instructions which, when executed by a processor of a computer, controls the computer to perform the method of any one of claims 1 to 9.
Citation Information
Patent Citations
server
JP2005269008A
Methods, systems, and computer readable media for providing a service proxy function in a telecommunications network core using a service-based architecture
WO2020091934A1