Method, system, and computer-readable medium for priority network function (NF) location routing using a service communication proxy (SCP)
By using Service Communication Proxy (SCP) based on priority NF location routing method in 5G communication network, the problem that consumer NF cannot choose the optimal producer NF is solved, and faster service request processing and more efficient routing rules are achieved. manage.
Patent Information
- Application Number
- CN202180038142.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-07-31
- Filing Date
- 2021-02-26
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2041-02-26
AI Technical Summary
In 5G communication networks, consumer NFs may not be able to select the optimal producer NF to handle specific service requests, resulting in increased service latency and each consumer NF implements a priority producer NF selection algorithm that becomes a scalability issue.
By using the Service Communication Proxy (SCP) based on the routing method of priority NF locations, SCP receives service request messages from the consumer NF, extracts parameters in the service request header or message body, performs searches in the priority NF location routing rule database, and locates corresponding locations priority NF location routing rules and select producer NF based on these rules to handle service requests.
The optimal choice for producer NF is realized, which reduces the latency of service requests, improves the functionality of the computer network, and simplifies the expansion and update of routing rules.
Smart Images

Figure CN115918053B_ABST
Abstract
Description
[0001] Priority declaration
[0002] This application claims priority to U.S. Patent Application Serial No. 16 / 945,794, filed on July 31, 2020, the disclosure of which is incorporated herein by reference in its entirety Technical Field
[0003] The subject matter described herein relates to routing messages to producer network functions in a 5G communication network. More particularly, the subject matter described herein relates to methods, systems, and computer-readable media for preferential NF location routing using a service communication proxy. Background Art
[0004] In 5G telecom networks, a network node that provides services is called a producer network function (NF). A network node that consumes services is called a consumer NF. A network function can be both a producer NF and a consumer NF, depending on whether it is consuming or providing services.
[0005] A given producer NF may have many service endpoints, where a service endpoint is a combination of a fully qualified domain name (FQDN) / Internet Protocol (IP) address and a port number on a network node hosting the producer NF. Producer NFs register with the Network Function Repository Function (NRF). The NRF maintains NF profiles of available NF instances and the services they support. Consumer NFs can subscribe to receive information about producer NF instances that have registered with the NRF.
[0006] In addition to consumer NFs, another 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, and the Service Communication Proxy load balances or provides alternative / optimal routes between producer NF service instances that provide the required services, or routes traffic directly to the destination producer NF.
[0007] In addition to SCP, other examples of intermediate proxy nodes or groups of network nodes that route traffic between producer and consumer NFs include Security Edge Protection Proxy (SEPP), Serving Gateway, and nodes in 5G service mesh. SEPP is a network node used to protect control plane traffic exchanged between different 5G Public Land Mobile Networks (PLMNs). Thus, SEPP performs message filtering, policing, and topology hiding for all Application Programming Interface (API) messages.
[0008] A service gateway is a node that sits in front of a set of producer NFs that provide a given service. The service gateway can load balance incoming service requests between producer NFs that provide the service in a manner similar to SCP.
[0009] A service mesh is the name given to a set of intermediate proxy nodes that enable communication between producer and consumer NFs. A service mesh can include one or more SCPs, SEPPs, and service gateways.
[0010] One problem that arises in 5G communication networks is that a consumer NF may not be able to select the optimal producer NF to handle a specific service. For example, a consumer NF may obtain a list of producer NFs to handle a specific service request from an NRF. The NRF may execute an internal policy to adjust the priority of the producer NF in the discovery response. However, due to the lack of basic information about the location information of the consumer NF, the NRF may not provide optimal guidance on the priority of the producer NF. The consumer NF may execute an internal policy to select one of the producer NFs to handle the service request. However, the consumer NF may not select the optimal producer in the NF to handle the service request. For example, when there is an available producer NF in the same or closest data center as the consumer NF, a consumer NF located in one geographic area may select a producer NF located in a different geographic area. In addition, given the number of consumer NFs, the need for each consumer NF to implement a priority producer NF selection algorithm becomes a scalability issue.
[0011] Thus, in view of these difficulties, there is a need for improved methods, systems, and computer-readable media for selecting and routing service requests to producer NFs. Summary of the invention
[0012] A method for routing based on a preferred network function (NF) location using a service communication proxy (SCP) includes receiving a service request message from a consumer NF. The method also includes performing, by the SCP, a lookup in a preferred NF location routing rule database at the SCP using at least one parameter extracted from a header or a body of the service request message. The method also includes locating, by the SCP, a preferred NF location routing rule corresponding to at least one parameter extracted from a header or a body of the service request message in the preferred NF location routing rule database. The method also includes selecting, by the SCP, a producer NF to process the service request based on application of the preferred NF location routing rule. The method also includes routing, by the SCP, the service request message to the producer NF.
[0013] According to another aspect of the subject matter described herein, receiving a service request message includes receiving the service request in indirect communication through an SCP with or without delegated discovery from a consumer, and wherein selecting a 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.
[0014] According to another aspect of the subject matter described herein, performing a lookup in a priority NF location routing rules database includes performing a lookup using a Third Generation Partnership Project (3GPP) service identifier in a service request message.
[0015] According to another aspect of the subject matter described herein, performing a lookup in the priority NF location routing rules database includes performing a lookup using a subscription identifier or any other parameter present in a header or body in addition to a service identifier.
[0016] According to another aspect of the subject matter described herein, performing a lookup using a subscription identifier or any other parameter present in a header or body includes performing a lookup using a subscription identifier, wherein the subscription identifier includes a subscription persistent identifier (SUPI) from a service request message.
[0017] According to another aspect of the subject matter described herein, selecting a producer NF using a preferred NF location routing rule includes selecting an available producer NF using a domain address as an indicator of a location of the producer NF.
[0018] According to another aspect of the subject matter described herein, selecting a producer NF using a preferred NF location routing rule includes selecting an available producer NF using an Internet Protocol address as an indicator location of the producer NF.
[0019] According to another aspect of the subject matter described herein, selecting a producer NF includes sorting a producer NF list according to a priority specified by a priority NF location routing rule, and selecting a highest priority available producer NF in the list as a producer NF to process the service request message.
[0020] According to another aspect of the subject matter described herein, a system for routing based on a priority network function (NF) location using a service communication proxy (SCP) is provided. The system includes an SCP, which includes at least one processor and a memory. The system also includes a priority NF location routing rule database located in the memory. The system also includes a priority NF location routing module implemented by at least one processor, which is used to receive a service request message from a consumer NF, perform a search in a priority NF location routing rule database using at least one parameter extracted from the service request message, locate a priority NF location routing rule corresponding to at least one parameter extracted from the service request message in the priority NF location routing rule database, select a producer NF to process the service request based on the application of the priority NF location routing rule, and route the service request message to the producer NF.
[0021] According to another aspect of the subject matter described herein, the preferred NF location routing module is configured to receive a service request in indirect communication through an SCP with or without delegated discovery from a consumer, and select a producer NF by 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 a producer NF from the list.
[0022] According to another aspect of the subject matter described herein, the priority NF location routing module is configured to perform a lookup in a priority NF location routing rules database using a Third Generation Partnership Project (3GPP) service identifier in a service request message.
[0023] According to another aspect of the subject matter described herein, the priority NF location routing module is configured to perform a lookup in the priority NF location routing rules database using a subscription persistent identifier (SUPI) or any other parameter present in a header or body of a service request message.
[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 a domain identifier as an indicator of the location of the producer NF.
[0025] 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 indicator location of the producer NF.
[0026] According to another aspect of the subject matter described herein, the priority NF location routing module is configured to sort the producer NF list according to a priority specified by the priority NF location routing rule and select an available producer NF with the highest priority in the list as the producer NF to process the service request.
[0027] According to another aspect of the subject matter described herein, a non-transitory computer-readable medium having executable instructions stored thereon, the instructions controlling the computer to perform steps when executed by a processor of a computer. The steps include receiving a service request message from a consumer NF. The steps also include performing a lookup in a preferred NF location routing rule database using at least one parameter extracted from a header or body of the service request message. The steps also include locating a preferred NF location routing rule corresponding to at least one parameter extracted from the service request message in the preferred NF location routing rule database. The steps also include selecting a producer NF to process the service request based on the application of the preferred NF location routing rule. The steps also include routing the service request message to the producer NF.
[0028] 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 for implementing the described features, which may also include software and / or firmware components. In an exemplary embodiment, the subject matter described herein may be implemented using a computer-readable medium having computer-executable instructions stored thereon, which, when executed by a processor of a computer, controls the computer to perform steps. Exemplary computer-readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application-specific integrated circuits. In addition, the computer-readable medium implementing the subject matter described herein may be located on a single device or computing platform, or may be distributed across multiple devices or computing platforms. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The subject matter described herein will now be explained with reference to the accompanying drawings, in which:
[0030] Figure 1 is a network diagram illustrating an exemplary 5G service architecture;
[0031] Figure 2 is a message flow diagram illustrating exemplary messages exchanged between a consumer NF, an NRF, and a producer NF when performing 5G service routing without an SCP;
[0032] Figure 3 is a network diagram illustrating consumer and producer NFs of data centers located in different geographical areas;
[0033] Figure 4 is a message flow diagram illustrating exemplary messages exchanged between a consumer NF, an NRF, an SCP, and a producer NF when performing preferred NF location routing, wherein the consumer NF obtains an initial list of producer NFs from the NRF and executes its local policy to select a producer;
[0034] Figure 5 is a message flow diagram illustrating exemplary messages exchanged between a consumer NF, an SCP, an NRF, and a producer NF, wherein the consumer NF sends a service request to the SCP without first obtaining a list of producer NFs from the NRF;
[0035] Figure 6 is a block diagram of an SCP having a priority NF location routing module and a priority NF location routing rules database;
[0036] Figure 7 is a flowchart diagram of an exemplary process for setting a preferred NF location route using an SCP; and
[0037] Figure 8 is a detailed flow chart illustrating an exemplary process of preferential NF location routing using SCP. DETAILED DESCRIPTION
[0038] The subject matter described herein relates to methods, systems, and computer-readable media for prioritized NF location routing using SCP.The subject matter can be implemented in a 5G system network architecture or a network architecture including 5G and non-5G network elements. Figure 1 is a block diagram illustrating an exemplary 5G system network architecture. Figure 1 The architecture in includes NRF 100 and SCP 101, which can be located in the same home public land mobile network (HPLMN). As described above, NRF 100 can maintain the profile of available producer NF service instances and the services they support, and allow consumer NF or SCP to subscribe and be notified of the registration of new / updated producer NF service instances. SCP 101 can also support service discovery and selection of producer NF. SCP 101 can perform load balancing on the connection between consumer and producer NF. In addition, using the method described in this article, SCP 101 can perform selection and routing based on priority NF location.
[0039] NRF 100 is a repository of NF profiles. In order to communicate with producer NF, consumer NF or SCP must obtain NF profile from NRF 100. NF profile is a JavaScript Object Notation (JSON) data structure defined in 3GPP TS29.510. NF profile definition 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.
[0040] exist Figure 1In the example, any of the nodes (except SCP 101 and NRF 100) can be a consumer NF or a producer NF, depending on whether they are requesting services or providing services. In the illustrated example, the nodes include 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. Figure 1 The nodes illustrated in FIG. 1 also include 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 a user equipment (UE) 114 that seeks to access the network.
[0041] The Network Slice Selection Function (NSSF) 116 provides network slicing services for devices seeking to access specific network capabilities and features associated with a network slice. The Network Exposure Function (NEF) 118 provides an Application Programming Interface (API) for application functions seeking to obtain information about Internet of Things (IoT) devices and other UEs attached to the network. The NEF 118 performs functions similar to the Service Capability Exposure Function (SCEF) in 4G networks.
[0042] Radio access network (RAN) 120 connects UE 114 to the network via a wireless link. g-Node B (gNB) ( Figure 1 The UE 114 may use a wireless access point (not shown) or other wireless access point to access the radio access network 120. The user plane function (UPF) 122 may support various proxy functions for user plane services. An 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. Figure 1 Also illustrated in FIG. 1 is a data network (DN) 124 through which the UE accesses data network services, such as Internet services.
[0043] SEPP 126 filters incoming traffic from another PLMN and performs topology hiding for traffic leaving the home PLMN. SEPP 126 can communicate with SEPPs in foreign PLMNs that manage foreign PLMN security. Thus, traffic between NFs in different PLMNs may pass through two SEPP functions, one for the home PLMN and the other for the foreign PLMN.
[0044] As mentioned above, one problem with conventional 5G service routing is that the consumer NF may not be able to select the optimal producer NF to handle a given service request. Figure 2 is a message flow diagram illustrating an exemplary message exchange between a consumer NF, an NRF, and a producer NF in the case where the consumer NF selects a producer NF in the absence of an SCP. Figure 2 , in line 1, the producer NF, which is UDM in the illustrated example, registers with the NRF 100. The producer NF 104A is located on the east coast and the domain is udm.east.com. The NRF 100 receives the NRF registration request and records or stores the registration details about 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. In line 2 of the message flow diagram, the NRF 100 responds to the registration request indicating that the registration was successful.
[0045] In line 3 of the message flow diagram, producer NF 104B sends an NRF Registration Request to NRF 100. Producer NF 104B is also a UDM. Producer NF 104B is located on the west coast with a domain of udm.west.com. NRF 100 receives the Registration Request and stores the registration details about producer NF 104B. In line 4 of the message flow diagram, NRF 100 responds to the NRF Registration Request indicating that the registration was successful.
[0046] In line 5 of the message flow diagram, the consumer NF 110 sends a discovery request message to the NRF 100. The discovery request message includes the requested service type. The NRF 100 receives the service discovery request and performs a lookup in its service database to identify potential producer NFs that provide the service. In line 6 of the message flow diagram, the 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 the NRF 100 responds with a list including producer NF 104A and producer NF 104B.
[0047] The consumer NF 110 receives the producer NF list from the NRF 100 and selects one of the producer NFs to process the service request based on the internal policy of the consumer NF 110. As described above, the consumer NF 110 may implement a suboptimal policy and select a producer NF located in a data center different from or even farthest from the consumer NF 110, which may result in increased latency in providing services.
[0048] Figure 3 The problem of suboptimal producer NF selection is illustrated in more detail. Figure 3, producer NF 104A is located in data center 1 on the east coast. Producer NF 104B is located in data center 2 in the north region. Producer NF 104C is located in a data center in the west region. Consumer NF 110 resides in data center 1 together with NRF 100. If consumer NF 110 requires a service provided by one of producer NFs 104A, 104B, and 104C, assuming that all three producer NFs have the same priority, then producer NF 104A is the producer NF that can provide the service with the lowest latency.
[0049] The producer NF 104A, 104B and 104C publishes its service details to the NRF 100. However, the producer NF 104A, 104B and 104C cannot publish general guidelines / attributes / information for the NRF or consumer NF to use their services following a specific priority. The producer can publish and allow domain ranges and other attributes, which will make the producer NF discoverable or undiscoverable on the NRF for a given consumer domain. However, the producer NF cannot publish adjusted priorities / priority lists for a given consumer domain.
[0050] For a consumer NF, including the requester-NF-instance-ID or requester-NF-instance-FQDN in the discovery request is optional. Therefore, when a consumer NF sends a discovery request, the NRF does not always have the data required to generate the correct set of producer NFs with update priority order for a given NF instance. As a result, a consumer NF may select a producer NF that is not the best possible producer NF to handle the service request. For example, in Figure 3 , the consumer NF 110 may select the producer NF 104B or the producer NF 104C to handle the service request even if the producer NF 104A is available. The production NF co-located with the consumer NF is preferred because the latency of messaging with the consumer NF is low and the round trip time (RTT) is short. In addition, there may be situations where the consumer NF may want to reach an alternative producer in another region / location / domain, for example, when the producer NF co-located with the consumer NF is down. In this 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 and Figure 3 , if producer NF 104A is down, consumer NF 110 will prefer producer NF 104B due to the better latency between data center 1 and data center 2. However, producer NF instances cannot register with NRF to help with discovery responses in this case.
[0051] In summary, when multiple producer NFs are available, the 3GPP standard does not specify a method or solution for the consumer NF to find the priority producer for each consumer region. It is challenging to implement a complex strategy to select the nearest producer based on operator policy in the consumer NF instance.
[0052] Therefore, in view of these difficulties, a priority NF location routing rule can be configured for the SCP at the geographical location to select a priority producer NF to handle the service request. Due to the strategic position of the SCP in the network, the SCP is a better location to implement the priority NF location routing rule. The SCP can implement the priority NF location routing rule when receiving a service request with or without a producer NF selected by the consumer. Figure 4 is a message flow diagram of priority NF location routing and SCP 101 receiving a service request from a consumer NF. Figure 4 The message flow in follows Model C in Section E1 of 3GPP TS 23.501, where the consumer NF performs discovery, selects NFs, and sends a service request with the selected producer NF to the SCP. However, in the illustrated example, the SCP applies the priority NF location routing rule to select the optimal producer NF to handle the service request and routes the service request to the selected producer NF.
[0053] refer to Figure 4 In the message flow in, at line 1, consumer NF 110 sends a service discovery request to NRF 100. NRF 100 receives the service discovery request and identifies the NF list that can process the service discovery request. Figure 4 In the example of , it is assumed that the NF list includes producer NF 104A, producer NF 104B and producer NF 104C.
[0054] In 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 process the service request.
[0055] 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 priority NF location routing rule is provided for the service request. In this example, it is assumed that a priority NF location routing rule is provided. Thus, in line 4, SCP 101 applies the priority NF location routing rule. In this example, it is assumed that the application of the priority 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.
[0056] As described above, in another example, the SCP 101 may implement the preferred NF location routing without receiving a selected producer NF from a consumer NF. Figure 5 is a message flow diagram illustrating this situation. Figure 5 , in 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, performs a lookup in its database, and identifies a list of NFs that can handle the service request. In line 3 of the message flow diagram, the NRF 100 sends a service discovery response to the SCP 101 with a list of NFs that can handle the service request.
[0057] In line 4, SCP 101 applies the priority NF location routing rule to select one of the NFs from the NF list to process the service request. In the illustrated example, it is assumed that the application of the priority NF location routing rule results in the selection of producer NF 104A. Thus, in line 5 of the message flow diagram, SCP 101 sends the service request to producer NF 104A.
[0058] Figure 6 is a block diagram illustrating an exemplary architecture of SCP 101. Figure 6 , SCP 101 includes at least one processor 600 and memory 602. SCP 101 also includes a priority NF location routing module 604 that implements the priority NF location routing as described herein and a priority NF location routing rules database 606 that contains rules for preferentially selecting a producer NF to handle a service request based on location. Tables 1 and 2 shown below illustrate exemplary priority NF routing rules that may be provided in the priority NF location routing rules database 606.
[0059]
[0060]
[0061] Table 1: Priority NF location routing rules
[0062] domain Priority (smaller numbers indicate higher priority) east.oracle.com 0 central.oracle.com 1 North-east.oracle.com 1 North.oracle.com 2
[0063] Table 2: Producer NF location priority
[0064] In Table 2, the priority is assigned based on the domain of the producer NF. 3GPP TS29.510 (Release 15 and 16) requires that the producer NF registers its services using a fully qualified domain name (FQDN) and / or an IP address. Any of these parameters can be used to implement the priority NF location routing rules as described herein. The FQDN contains the producer service location given by its domain. For example, the domain pcf1.oracle.com indicates the policy control function host in the oracle.com domain. Similarly, operators deploy IP subset ranges with a given area. The SCP can use the domain or IP subset range to select the nearest available producer NF to handle a given service request. The priority NF location routing rules can be used to find or override the consumer NF priority for producer NF selection or reselection.
[0065] In Table 1, routing rules are configured based on attributes available in the header or body of the service message. The first rule in Table 1 indicates that all initial session management policy control function (nudm-smpolicycontrol) service requests will apply NF priority location routing to select the priority policy control function to handle the request. The session management policy control service is performed by the PCF and includes policies related to provisioning, updating, and removing sessions for the SMF. It should be noted that the location priority in Table 2 is specific and dedicated 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 rules in Table 2 can be used for SCPs located in the domain east.oracle.com. When the SCP configured with the priority 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 priority domain routing for all initial messages of SM policy for PCF instance", which indicates that the domains in Table 2 should be applied in priority order to select the producer NF. In Table 2, the domains are listed in priority order. Thus, if the SCP has a list of PCFs that can handle the service request, the SCP will select the PCF with the highest priority domain according to the priority order listed in Table 2 and route the service request to the PCF instance with the FQDN matching the highest priority domain.
[0066] The second rule in Table 1 indicates that initial and subsequent service requests for the Access and Mobility Policy Control (npcf-am-policy-control) service with a specific Subscription Persistent Identifier (SUPI) range will apply the NF priority location routing rule. The Access and Mobility Policy Control service provides AMF access control and mobility management related policies to the AMF, which includes 2) policy creation based on requests from the AMF during UE registration, 3) notification of updated policies for subscriptions to the AMF, and 4) deletion of the UE's policy context. Therefore, if the SCP receives an initial or subsequent message requesting the npcf-am-policy control service and the message has a SUPI in the XY range, then the SCP will use the domain priority in Table 2 to select the PCF to provide the npcf-am-policy-control service. If the message does not have a SUPI in the XY range, then the action specified by the second rule in Table 1 will 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 priority domain (location) based routing will be applied to all services. Continuing with the example, due to the default fifth rule in Table 1, npcf-am-policy service requests whose SUPI range does not match the second rule will still have preferred location-based routing applied.
[0067] The third rule in Table 1 indicates that when a message requesting the NUDM User Equipment Context Management (NUDM-UECM) service is received, priority NF location routing will be applied only for subsequent messages registered by NUDM for non-3GPP access. The NUDM User Equipment Context Management service provides information related to the transaction information of the UE to the consumer NF, allows the consumer NF to register and deregister its information for the served UE in the UDM, and allows 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. Therefore, if a message arrives at the SCP requesting the NUDM-UECM service, the SCP will determine whether the message is an initial message or a subsequent message. If the message is a subsequent 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 priority domain order listed in Table 2 to select the UDM providing the service and route the message to the selected UDM.
[0068] The fourth rule in Table 1 indicates that priority domain routing will be applied to any service message directed to a producer with the domain north.oracle.com. The fifth row in Table 1 indicates that if no specific rule is supplied as an exception, then priority domain based routing will be applied to all services by default. It should be noted that Table 6.3.1 of 3GPP TS 23.501 contains guidelines for the selection and reselection of producer NFs that can be implemented by SCP 101. Since the data of the selected priority producer NF is local to the SCP instance, the operator can configure different location priority rules for SCPs located in different regions. However, this is much easier than configuring each consumer NF to select a priority producer NF based on location.
[0069] Figure 7 is a flow chart illustrating an exemplary overall process for applying preferential NF location selection and routing at an SCP. Figure 7 , at step 700, the SCP receives a service request from a consumer NF. For example, SCP 101 may receive the service request from consumer NF 110 in the same domain as SCP 101. The service request may identify a service and may optionally contain a selected producer NF of the consumer NF that is capable of processing the service request.
[0070] At step 702, SCP 101 performs a lookup in the priority NF location routing rules database using the information from the service request. The information used to perform the lookup may include an identifier of the service type and other more specific parameters. An example of a parameter identifying the service type is a 3GPP service identifier, which is used for nudm-sm-policycontrol, nudm-am-policycontrol, and nudm-uecm, which identify session management policy control service, access and mobility policy control service, and UE context management service, respectively. Examples of other parameters from the service request that can be used to perform a lookup in the priority NF location routing rules database include SUPI, DNN, and the domain of the requesting NF.
[0071] At step 704, the SCP locates a priority 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 illustrated in Table 1, using parameters extracted from the service request message.
[0072] At step 706, the SCP selects a producer NF to handle the service request based on the application of the priority NF location routing rule. For example, the SCP 101 may utilize the domain priority in Table 2 to select a producer NF that preferentially handles a given service request. In an alternative example, the selection may be performed based on an 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 is capable of handling the service request.
[0073] The service request is routed to the selected producer NF at step 708. For example, SCP 101 may route the service request to the producer NF selected using a preferred NF location routing rule.
[0074] Although Figure 7 The diagram shows a single case where a message is received and a rule is applied, but Figure 8 is a more detailed flow chart of an algorithm that may be implemented by the priority NF location routing module 604. Figure 8 In step 800, an incoming service request comes from a consumer NF. In step 802, it is determined whether the message is an initial message. An initial message is a message that creates a context or resource instance at a producer NF. Subsequent messages of the context should arrive at the same producer or a group of producers with the same message flow context.
[0075] If the message is an initial message, control proceeds to step 804, where it is determined whether there are rules for preferential location-based routing of the message. If there are rules, 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 this list by querying the NRF. The list may contain producer NFs that the SCP can route to based on health, congestion, etc. Guidance for generating such lists can be found in Section 6.3.1 of 3GPP TS 23.501 and Section 4.17.12 of 3GPP TS 23.502.
[0076] After step 808, control proceeds to step 810, where it is determined whether the list includes one or more producer NFs. If the list contains one or more producer NFs, then control proceeds to step 812, where it is determined whether the rule set contains any producer NF with a domain configured by the operator in the priority set. If the list contains an NF in the priority set, i.e., the rule has a producer NF whose domain matches the operator's priority, then the route must be to one of the producer NFs in the priority domain. At step 814, the producer NF list is sorted based on the priority 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 establish a route to the selected producer NF. In step 818, the SCP 101 routes to the selected producer NF.
[0077] Returning to step 802, if the message is not an initial message, control proceeds to step 820, where it is determined whether the provider is specified by the consumer and available for routing. If the provider is specified by the consumer and available for routing, control returns to step 818, where the message is routed to the producer NF specified by the consumer.
[0078] In step 820, if the consumer has not specified a provider for routing, then control passes to step 822, where it is determined whether there are any rule priority positions or domain-based rules specified for subsequent messages. If there are rules specified for subsequent messages, then control passes to steps 806-818, where the rules are applied and used to select and route messages to priority NFs. If no rules are specified for subsequent messages, then control passes to step 818, where the message is routed to the producer NF or rejected based on operator policy.
[0079] The subject matter described herein includes priority NF location rules implemented by an SCP. It is advantageous to implement priority NF location routing rules because implementing such rules improves the functionality of a computer network by reducing latency in service transactions between consumer NFs and producer NFs. Priority NF location routing as described herein allows selection of a priority NF based on service type and / or other message parameters such as SUPI or domain. Priority NF location routing also allows rerouting of service requests after an initial selection by a consumer NF, and allows routing of service requests that take into account NF failures. It is advantageous to implement priority NF location routing rules at an SCP because implementing the rules at an SCP reduces the need to supply complex priority NF location routing rules to an NRF or consumer NF, thereby making expansion and updating of routing rules more efficient for geographic location.
[0080] The disclosures of each of the following references are incorporated herein by reference in their entirety:
[0081] References
[0082] 1. 3GPP TS 23.501; 3 rd Generation Partnership Project; TechnicalSpecification Group Services and System Aspects; System architecture for the5G System(5GS); Stage 2(Release 16)V16.4.0(2020-03)
[0083] 2. 3GPP TS 23.502; 3 rd Generation Partnership Project; TechnicalSpecification Group Services and System Aspects; Procedures for the 5G System(5GS); Stage 2(Release 16)(2020-03)V16.4.0(2020-03)
[0084] 3. 3GPP TS 29.510; 3 rd Generation Partnership Project; TechnicalSpecification Group Core Network and Terminals; 5G System; Network FunctionRepository Services; Stage 3(Release 16),V16.4.0(2020-07)
[0085] 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.In addition, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.
Claims
1. A method for priority network function (NF) location based routing using a service communication proxy (SCP), comprising: receiving a service request message from a consumer NF at the SCP; performing, by the SCP, a lookup in a priority NF location routing rules database at the SCP using at least one parameter extracted from the service request message; locating, by the SCP, in a priority NF location routing rule database, a priority NF location routing rule corresponding to the at least one parameter extracted from the service request message; selecting, by the SCP based on application of a priority NF location routing rule, a producer NF to process the service request, wherein the priority NF location routing rule database includes identifiers of a plurality of different producer NF domains and a plurality of different location priorities configured for the producer NF domains based on the location of the SCP, and wherein selecting the producer NF based on application of the priority NF location routing rule includes selecting, on behalf of the consumer NF, a producer NF configured with a most preferred location priority based on the location of the SCP; as well as The service request message is routed by the SCP to the producer NF.
2. The method of claim 1, wherein receiving a service request message comprises: A service request message is received with a consumer NF selecting a producer NF that is capable of providing a service requested by the service request message, and wherein selecting the producer NF comprises: selecting one of the producer NFs from NFs registered with the SCP or obtaining a list of NFs that are capable of providing the service based on application of a priority NF location routing rule.
3. The method of claim 1, wherein receiving a service request message comprises: A service request for a producer NF capable of providing a service requested by the service request message is received without selection by a consumer NF, and wherein selecting the producer NF comprises: 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 capable of providing the service and selecting the producer NF from the list.
4. The method of any one of claims 1 to 3, wherein performing a lookup in the priority NF location routing rules database comprises: The lookup is performed using a 3rd Generation Partnership Project (3GPP) service identifier in a service request message.
5. The method of claim 4, wherein performing a lookup in the priority NF location routing rules database comprises: The lookup is performed using parameters other than the service identifier in the header or body of the service request message.
6. The method of any one of claims 1 to 3, wherein selecting a producer NF using a priority NF location routing rule comprises: An available producer NF is selected using the domain address as an indicator of the location of the producer NF.
7. The method of any one of claims 1 to 3, wherein selecting a producer NF using a priority NF location routing rule comprises: An available producer NF is selected using the Internet Protocol address of the producer NF as an indicator location of the producer NF.
8. A system for using a service communication proxy (SCP) for priority network function (NF) location based routing, comprising: An SCP comprising at least one processor and a memory; a priority NF location routing rules database located in the memory; as well as a priority NF location routing module implemented by the at least one processor, configured to receive a service request message from a consumer NF, perform a lookup in a priority NF location routing rule database using at least one parameter extracted from the service request message, locate a priority NF location routing rule corresponding to the at least one parameter extracted from the service request message in the priority NF location routing rule database, select a producer NF to process the service request based on the application of the priority NF location routing, and route the service request message to the producer NF, wherein the priority NF location routing rule database includes identifiers of a plurality of different producer NF domains and a plurality of different location priorities configured for the producer NF domains based on the location of the SCP, and wherein selecting a producer NF based on the application of the priority NF location routing rule includes selecting, on behalf of the consumer NF, a producer NF configured with a highest priority location priority based on the location of the SCP.
9. The system of claim 8, wherein the priority NF location routing module is configured to: receive a service request message with a consumer NF selecting a producer NF that can provide a service requested by the service request message, and select the producer NF by obtaining a list of NFs that can provide the service from NFs registered with the SCP or by querying a network function repository function (NRF).
10. The system of claim 8, wherein the priority NF location routing module is configured to: receive a service request for a producer NF that is not selected by a consumer NF and is capable of providing a service requested by the service request message, and select a producer NF by obtaining a list of NFs that are capable of providing the service from NFs registered with the SCP or querying a network function repository function (NRF) to obtain a list of NFs that are capable of providing the service and selecting the producer NF from the list.
11. The system of any one of claims 8 to 10, wherein the priority NF location routing module is configured to perform a lookup in a priority NF location routing rules database using a third generation partnership project (3GPP) service identifier in a service request message.
12. The system of claim 11, wherein the priority NF location routing module is configured to perform a lookup in a priority NF location routing rules database using parameters or attributes other than a service identifier present in a header or body of a service request message.
13. The system of any one of claims 8 to 10, wherein selecting a producer NF using a priority NF location routing rule comprises: An available producer NF is selected using the domain address as an indicator of the location of the producer NF.
14. The system of any one of claims 8 to 10, wherein selecting a producer NF using a priority NF location routing rule comprises: An available producer NF is selected using the Internet Protocol address of the producer NF as an indicator location of the producer NF.
15. A non-transitory computer readable medium having executable instructions stored thereon, wherein the instructions, when executed by a processor of a computer, control the computer to perform steps, the steps comprising: receiving, at a service communication proxy (SCP), a service request message from a consumer network function (NF); performing, by the SCP, a lookup in a priority NF location routing rules database using at least one parameter extracted from the service request message; locating, by the SCP, in a priority NF location routing rule database, a priority NF location routing rule corresponding to the at least one parameter extracted from the service request message; selecting, by the SCP based on application of a priority NF location routing rule, a producer NF to process the service request, wherein the priority NF location routing rule database includes identifiers of a plurality of different producer NF domains and a plurality of different location priorities configured for the producer NF domains based on the location of the SCP, and wherein selecting the producer NF based on application of the priority NF location routing rule includes selecting, on behalf of the consumer NF, a producer NF configured with a most preferred location priority based on the location of the SCP; as well as The service request message is routed by the SCP to the producer NF.