Patent Description:
In telecommunications networks, a service endpoint is an address on a network node that uniquely identifies an entity that provides service to service consumers. The service endpoint can include an Internet protocol (IP) address or a combination of IP address and transport layer port number, which is also referred to as an IP endpoint.

In fifth generation (<NUM>) telecommunications networks, the network node that provides service is referred to as a network function (NF) service producer. A network node that consumes services is referred to as a NF service consumer. A network function can be both a NF service producer and a NF service consumer depending on whether it is consuming or providing service.

A given NF service producer may have many service endpoints. NF service producers register with a network function repository function (NRF). The NRF maintains a NF profile of available NF instances and their supported services. Consumer NFs can subscribe to receive information about NF service producer instances that have registered with the NRF. Once registered, NF instances in the <NUM> network may establish sessions with one or more network exposure functions (NEFs). Notably, the NEF is a Third Generation Partnership Project (3GPP) network function that provides a means to securely expose the services and capabilities provided by producer network functions servicing the network.

In many instances, a <NUM> network may be segmented into multiple regions in accordance to a hierarchical deployment. In such a configuration, a root NRF must be designated and configured to communicate with a plurality of regional NRFs positioned in the various regions of the network (e.g., a public land mobile network (PLMN)). More specifically, each regional NRF is configured to register itself with the root NRF using the 'Nrflnfo' attribute. As per 3GPP <NUM>, if a NRF receives a Nnrf service request (e.g., such as subscription request, discovery request, or access-token request) and that NRF does not have the information needed to fulfil the request, then that NRF forwards the service request to a pre-configured NRF. In the hierarchical deployment, the root NRF is assigned as the pre-configured NRF. The root NRF is configured to process the forwarded Nnrf service request and identify the regional NRF that includes the NF service producers capable of servicing the request (e.g., referencing stored <NF-Type>lnfo and <NF-Type>InfoList attribute data and mapped nfinstance identifiers associated with NF service producers). The root NRF may then forward the request to the target regional NRF (and NF service producer) that can further process the service request.

However, there are many NF service producers that do not support <NF-Type>lnfo and <NF-Type>InfoList and hence do not include this information in the registration or registration update request (e.g., NFUpdate message) initially sent to the regional NRF. In such a scenario, the NF service producer's information is unable to include the data in the Nrflnfo provided to the root NRF. Accordingly, such a NF service producer cannot be discovered for any Nnrf service operations by the root NRF and the NF consumers from other regions when operating within a hierarchical deployment. Such a deficiency can unnecessarily lead to a service outage scenarios.

"<NPL> describes functionalities supported by the NRF in a <NUM> Core network, 5GC. The functionalities include maintaining a NF profile, maintaining a SCP profile, supporting service discovery function, supporting SCP discovery function, and allowing NF or SCP instances to subscribe to, and get notified.

Accordingly, there exists a need for improved methods and systems for discovering network function service producers in a hierarchical network.

Methods, systems, and computer readable media for discovering network function (NF) service producers in a hierarchical network, are disclosed. The present invention is defined by the features disclosed in the independent claims. Additional embodiments are disclosed in the dependent claims.

According to an aspect of the disclosed subject matter, a method includes receiving, by a regional NF repository function (NRF) operating in a first region of a hierarchical network, a NF registration request message from a NF service producer operating in the first region and detecting, by the regional NRF, an absence of <NF-Type>Info and/or <NF-Type>lnfolist attribute data in the received NF registration request message. The method further includes creating, by the regional NRF, an entry in Nrflnfo structure information directed toward a root NRF operating in the hierarchical network, wherein the entry includes an nfinstance identifier that identifies the NF service producer and is mapped to an empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data and sending, by the regional NRF to the root NRF, the Nrflnfo structure information via a registration message or update registration message.

According to another aspect of the method described herein, the root NRF and the regional NRF are operating in separate regions of the hierarchical network.

According to another aspect of the method described herein, the root NRF stores the Nrflnfo structure information in a local state information database.

According to another aspect of the method described herein, root NRF is configured to direct the service request message from a second regional NRF to the regional NRF using the Nrflnfo structure information stored in the state information database.

According to another aspect of the method described herein, the service request message includes at least one of: a Nnrf subscription request message, a Nnrf discovery request message, or a Nnrf access token request message.

According to another aspect of the method described herein, the regional NRF utilizes a configuration table to determine if the NF service producer is permitted to be included in the Nrflnfo structure information with the empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data.

According to another aspect of the method described herein, the configuration table indicates one or more NF types that are prohibited from being added to the Nrflnfo structure information with an empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data.

According to another aspect of the disclosed subject matter described herein, one system for discovering network function service producers in a hierarchical network includes a root NRF that operates in a hierarchical network and includes a state information database configured to store Nrflnfo information. The system further includes a regional NRF operating in a first region of the hierarchical network and configured to receive a NF registration request message from a NF service producer operating in the first region, detect an absence of <NF-Type>lnfo and/or <NF-Type>InfoList attribute data in the received NF registration request message, create an entry in Nrflnfo structure information directed toward the root NRF, wherein the entry includes an nfinstance identifier that identifies the NF service producer and is mapped to an empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data, and sending to the root NRF the Nrflnfo structure information via a registration message or update registration message.

According to another aspect of the system described herein, the root NRF and the regional NRF are operating in separate regions of the hierarchical network.

According to another aspect of the system described herein, the root NRF stores the Nrflnfo structure information in a local state information database.

According to another aspect of the system described herein, the root NRF is configured to direct the service request message from a second regional NRF to the regional NRF using the Nrflnfo structure information stored in the state information database.

According to another aspect of the system described herein, the service request message includes at least one of: a Nnrf subscription request message, a Nnrf discovery request message, or a Nnrf access token request message.

According to another aspect of the system described herein, the regional NRF utilizes a configuration table to determine if the NF service producer is permitted to be included in the Nrflnfo structure information with the empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data.

According to another aspect of the system described herein, the configuration table indicates one or more NF types that are prohibited from being added to the Nrflnfo structure information with an empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data.

According to another aspect of the disclosed subject matter described herein, one or more non-transitory computer readable media having stored thereon executable instructions that when executed by at least one processor of a computer cause the computer to perform steps comprising: receiving, by a regional NRF operating in a first region of a hierarchical network, a NF registration request message from a NF service producer operating in the first region and detecting, by the regional NRF, an absence of <NF-Type>Info and/or <NF-Type>InfoList attribute data in the received NF registration request message. The steps performed further include creating, by the regional NRF, an entry in Nrflnfo structure information directed toward a root NRF operating in the hierarchical network, wherein the entry includes an nfinstance identifier that identifies the NF service producer and is mapped to an empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data and sending, by the regional NRF to the root NRF, the Nrflnfo structure information via a registration message or update registration message.

According to another aspect of the one or more non-transitory computer readable media described herein, the root NRF and the regional NRF are operating in separate regions of the hierarchical network.

According to another aspect of the one or more non-transitory computer readable media described herein, the root NRF stores the Nrflnfo structure information in a local state information database.

According to another aspect of the one or more non-transitory computer readable media described herein, root NRF is configured to direct the service request message from a second regional NRF to the regional NRF using the Nrflnfo structure information stored in the state information database.

According to another aspect of the one or more non-transitory computer readable media described herein, the service request message includes at least one of: a Nnrf subscription request message, a Nnrf discovery request message, or a Nnrf access token request message.

According to another aspect of the one or more non-transitory computer readable media described herein, the regional NRF utilizes a configuration table to determine if the NF service producer is permitted to be included in the Nrflnfo structure information with the empty structure field indicative of absent <NF-Type>lnfo and/or <NF-Type>InfoList attribute data.

According to another aspect of the one or more non-transitory computer readable media described herein, the configuration table indicates one or more NF types that are prohibited from being added to the Nrflnfo structure information with an empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>lnfoList attribute data.

The subject matter described herein may be implemented in hardware, software, firmware, or any combination thereof. As such, the terms "function" "node" or "module" as used herein refer to hardware, which may also include software and/or firmware components, for implementing the feature being described. In one example implementation, the subject matter described herein may be implemented using one or more computer readable media having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Example computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.

The subject matter described herein relates to methods, systems, and computer readable media for discovering network function service producers in a hierarchical network. In particular, the disclosed subject matter includes methods and systems that improve the visibility of NF service producers that operate in different regions of a hierarchical network and do not support <NF-Type>Info and/or <NF-Type>InfoList attribute data. As used herein, <NF-Type>Info and <NF-Type>lnfoList can also be respectively represented as >ocxinfo and xxxinfolist, where <NF-Type>Info or 'xxx' represents a specific NF-type per 3GPP TS <NUM> section <NUM>. Reference will now be made in detail to various embodiments of the subject matter described herein, examples of which are illustrated in the accompanying drawings.

<FIG> is a block diagram illustrating an example <NUM> system network architecture, e.g., a home <NUM> core (5GC) network. The architecture in <FIG> includes an NRF <NUM> and an SCP <NUM>, which may be located in the same home public land mobile network (PLMN). As described above, NRF <NUM> may maintain profiles of available NF service producer service instances and their supported services and allow consumer NFs or SCPs to subscribe to and be notified of the registration of new/updated NF service instances. SCP <NUM> may also support service discovery and selection of NF instances. SCP <NUM> may perform load balancing of connections between consumer and NF service producers. In addition, using the methodologies described herein, SCP <NUM> may perform preferred NF location based selection and routing.

NRF <NUM> is a repository for NF or service profiles of NF instances. In order to communicate with a NF instance, a consumer NF or an SCP must obtain the NF service profile or the NF instance from NRF <NUM>. The NF or service profile is a JavaScript object notation (JSON) data structure defined in 3GPP Technical Specification (TS) <NUM>. The NF or service profile definition includes at least one of a fully qualified domain name (FQDN), an Internet protocol (IP) version <NUM> (IPv4) address, or an IP version <NUM> (IPv6) address. In <FIG>, any of the nodes (other than NRF <NUM>) can be either consumer NFs or NF service producers, depending on whether they are requesting or providing services. In the illustrated example, the nodes include a policy control function (PCF) <NUM> that performs policy related operations in a network, a user data management (UDM) function <NUM> that manages user data, and an application function (AF) <NUM> that provides application services. The nodes illustrated in <FIG> further include a session management function (SMF) <NUM> that manages sessions between access and mobility management function (AMF) <NUM> and PCF <NUM>. AMF <NUM> performs mobility management operations similar to those performed by a mobility management entity (MME) in <NUM> networks. An authentication server function (AUSF) <NUM> performs authentication services for user devices, such as user equipment (UE) <NUM>, seeking access to the network.

A network slice selection function (NSSF) <NUM> provides network slicing services for devices seeking to access specific network capabilities and characteristics associated with a network slice. A network exposure function (NEF) <NUM> provides application programming interfaces (APIs) for application functions seeking to obtain information about Internet of things (loT) devices and other UEs attached to the network. NEF <NUM> performs similar functions to the service capability exposure function (SCEF) in <NUM> networks.

A radio access network (RAN) <NUM> connects UE <NUM> to the network via a wireless link. Radio access network <NUM> may be accessed using a g-Node B (gNB) (not shown in <FIG>) or other wireless access point. A user plane function (UPF) <NUM> can support various proxy functionality for user plane services. One example of such proxy functionality is multipath transmission control protocol (MPTCP) proxy functionality. UPF <NUM> may also support performance measurement functionality, which may be used by UE <NUM> to obtain network performance measurements. Also illustrated in <FIG> is a data network (DN) <NUM> through which UEs access data network services, such as Internet services.

Security edge protection proxy (SEPP) <NUM> filters incoming traffic from another PLMN and performs topology hiding for traffic exiting the home PLMN. SEPP <NUM> may communicate with a SEPP in a foreign PLMN which manages security for the foreign PLMN. Thus, traffic between NFs in different PLMNs may traverse two SEPP functions, one for the home PLMN and the other for the foreign PLMN. In some embodiments, the SEPP is an gateway device positioned on the edge of a network.

SEPP <NUM> may utilize an N32-c interface and an N32-f interface. An N32-c interface is a control plane interface between two SEPPs usable for performing an initial handshake (e.g., a TLS handshake) and negotiating various parameters for an N32-f interface connection and related message forwarding. An N32-f interface is a forwarding interface between two SEPPs usable for forwarding various communications (e.g., 5GC requests) between a consumer NF and a NF service producer after applying application level security protection.

As indicated above, the deployment of an NRF hierarchical system is required when two or more NRF segments are supported in a given network, such as a public land mobile network (PLMN). To illustrate, <FIG> depicts a hierarchical network <NUM> that includes a plurality of regional NRFs <NUM>-<NUM> and a root NRF <NUM>. Notably, each of regional NRFs <NUM>-<NUM> is located in a separate network segments, or regions. Each regional NRF is configured to provide management, discovery, and access-token services to registered regional NFs (e.g., both NF service consumers and NF service producers). Regional NRFs <NUM>-<NUM> may also be configured to forward Nnrf service requests to root NRF <NUM> if a specific service request from an NF service consumer cannot be serviced by the regional NRF (and/or its registered NF service producers in the region) that originally receives the service request from the NF service consumer.

In some embodiments, root NRF <NUM> may be a part of and/or reside in any of network segment of hierarchical network <NUM>. Root NRF <NUM> can also be deployed as a geo-redundant element for purposes of high-availability. Moreover, each of regional NRFs <NUM>-<NUM> and root NRF <NUM> is depicted in <FIG> as including redundant failover backups (e.g., three instances of each regional NRF in each region). Namely, the failover backups illustrated in <FIG> represent triple side redundancy measures employed by the operator(s) of hierarchical network <NUM>.

In some embodiments, root NRF <NUM> is designated and configured to communicate with each the plurality of regional NRFs <NUM>-<NUM> positioned and/or operating in the various regions of a PLMN. More specifically, each of regional NRF <NUM>-<NUM> is configured to register itself with root NRF <NUM>. Notably, the registration message and/or registration update message sent by a regional NRF to root NRF <NUM> contains 'Nrflnfo attribute' information. As used herein, Nrflnfo attribute refers to a minimal amount of data that describes a regional NRF, its registered NF service producers, and the services provided by the registered NF service producers. In some embodiments, the Nrflnfo attribute information is an array that contains a listing of nfinstance identifiers (i.e., nfinstancelDs) corresponding to various NF service producers registered with the regional NRF. Notably, the nfinstance identifiers in the Nrflnfo attribute information serves as a key. Further, the Nrflnfo attribute information contains a map of including <NF-Type>lnfo and/or <NF-Type>InfoList structure data for each registered NF service producer that supports info/infolist data. In particular, the map includes a number of entries that correlate a nfinstancelD with the <NF-Type>Info and/or <NF-Type>lnfoList structure data.

An exemplary Nrflnfo attribute structure is depicted in a tabular format in <FIG>. In particular, Nrflnfo attribute <NUM> contains a plurality of <NF-Type>Info attributes listed in column <NUM> that includes the NF service types that are registered with the regional NRF. For example, column <NUM> of Nrflnfo attribute <NUM> lists a number of registered UDR, UDM, AUSF, AMF, SMF, SUPF, PCF, DSF, CHF, NEF, NWDAF, PCSCF, GMLC, LMF, NF, and HSS instances as example NF service producer types included in the Nrflnfo attribute that is provided by the regional NRF to the root NRF in registration requests and registration update requests while operating in hierarchical NRF deployments. Column <NUM> lists the corresponding <NF-Type>Info data that is respectively mapped to the attribute indicated in column <NUM>.

As per the 3GPP TS <NUM> standard, if a regional NRF receives a Nnrf service request (e.g., such as a Nnrf subscription request, Nnrf discovery request, or Nnrf access-token request) and does not have the information (e.g., NF service producer identifier) needed to fulfil the request, then that regional NRF is configured to forward the service request to another pre-configured NRF. In a hierarchical deployment, the pre-configured NRF is designated as the root NRF (e.g., root NRF <NUM>) for the network. Specifically, the root NRF is configured to process the received service request from the regional NRF in a first region and attempts to identify another regional NRF in a different region that includes registered NF service producers that can provide the requested service. More specifically, root NRF <NUM> may then forward the request to the target regional NRF which can further process the request.

An example of this relaying of a service request message among different regional NRFs is called intermediate forwarding. For example, <FIG> depicts a signaling message flow diagram regarding an NF service discovery being conducted using an intermediate forwarding NRF. In <FIG>, an example network includes NRFs <NUM>, <NUM>, and <NUM> that are communicatively connected to each other. NRF <NUM> may be configured to send a Nnrf service discovery message <NUM> to NRF <NUM> that requests NF instance identifiers for NF service producers that provide a particular service (that is not provided by an NF service producer registered with NRF <NUM>). NRF <NUM> determines that it does not have any registered NF service producers that provide or support the requested service (e.g., as indicated by <query parameters>) and similarly sends message <NUM> (which may be forwarded message <NUM>) to NRF <NUM>. Moreover, NRF <NUM> is also configured to send a '<NUM> Not Found' message <NUM> to NRF <NUM> indicating that NRF <NUM> does not include any registered NF service producers. After receiving service request message <NUM>, NRF <NUM> is configured to determine (e.g., query its state information) if it includes a registered NF service producer that provides the requested service (i.e., indicated in message <NUM>). If NRF <NUM> includes a registered NF service producer that provides the requested service, NRF <NUM> generates and sends a "<NUM> OK" message <NUM> to NRF <NUM> (see message 3a). Upon receiving message <NUM>, NRF <NUM> forwards message <NUM> to the original requesting NRF <NUM>. Returning to NRF <NUM>, if NRF <NUM> does not include a registered NF service producer that provides the requested service, then it generates and sends an error message (e.g., a 4xx/5xx (ProblemDetails) message 3b) to NRF <NUM> (see message 3b). After receiving this error message, NRF <NUM> forwards the same message (e.g., see message 4b) to original requesting NRF <NUM>.

<FIG> depicts a block diagram of a hierarchical network <NUM> that includes NF service producers that do not provide and/or support <NF-Type>Info and <NF-Type>lnfoList attributes. In some instances, NF service producers may not be configured to provide this optional attribute data (per 3GPP standards) because the NF service producers may be part of multi-vendor deployments, part of a previous product release that is yet configured to support the NFInfo attributes, or the like. Notably, <NF-Type>Info and <NF-Type>InfoList attributes may be optional attributes of the NFprofile provided by some NF service producers. In scenarios such as this, the NF service producer's information (i.e., <NF-Type>Info and <NF-Type>lnfoList attribute information) is not propagated or provided to the root NRF. Consequently, NF service producers that do not provide their info/infolist information to regional NRFs cannot be discovered for any Nnrf service operation by any NF service consumers operating in other regions supported by other regional NRFs (since this information is not forwarded to the root NRF) in a hierarchical deployment. To illustrate an example scenario, consider NF service producer <NUM> registering with regional NRF <NUM> in region <NUM>. Notably, NF service producer <NUM> registers with regional NRF <NUM> without including any <NF-Type>lnfo and <NF-Type>InfoList attribute information during registration. Consequently, when regional NRF <NUM> sends a registration request or update registration request containing its Nrflnfo to root NRF <NUM>, no information regarding NF service producer <NUM> will be included.

At some point in time after NF service producer <NUM> registers with regional NRF <NUM>, NF service consumer <NUM> in region <NUM> sends a Nnrf discovery service request for a particular NF service producer to regional NRF <NUM>. Since regional NRF <NUM> does not include a registration for the requested NF service producer (e.g., there are no NF service producers in region <NUM> matching the discovery criteria in the discovery service request), NRF <NUM> is configured to forward the Nnrf discovery service request to root NRF <NUM>. After receiving the forwarded discovery request from NRF <NUM>, root NRF <NUM> will not (and/or cannot) propagate the Nnrf discovery service request to regional NRF <NUM> because root NRF <NUM> has no knowledge (i.e., is unaware) of NF service producer <NUM> being registered to regional NRF <NUM>. Notably, root NRF <NUM> never received Nrflnfo containing the nfinstancelD and <NF-Type>lnfo and <NF-Type>InfoList attribute information associated with NF service producer <NUM> from regional NRF <NUM>. As such, root NRF <NUM> will respond by sending an error response to regional NRF <NUM>.

To remedy this lack of NF server producer visibility occurring at root NRF <NUM>, the disclosed subject matter provides a solution wherein the root NRF is provided with NF server producer instance information despite the NF server producer not providing and/or supporting <NF-Type>Info and <NF-Type>InfoList attributes. One scenario depicting an exemplary solution can similarly be depicted using <FIG>. For example, NF service producer <NUM> may initiate registration with regional NRF <NUM> in region <NUM>. Notably, NF service producer <NUM> registers with regional NRF <NUM> without including the optional <NF-Type>Info and <NF-Type>lnfoList attribute information during the registration process. After receiving the registration request from NF service producer <NUM> in which the <NF-Type>Info and <NF-Type>InfoList attributes are missing/absent, regional NRF <NUM> may be configured to include the nfinstance identifier (e.g., nfinstancelD) of NF service producer <NUM> along with an empty <NF-Type>Info and <NF-Type>InfoList attribute fields. More specifically, regional NRF <NUM> accepts the registration request message from NF service producer <NUM> absent the <NF-Type>Info and <NF-Type>lnfoList attribute information. In response to detecting the absence of the <NF-Type>Info and <NF-Type>InfoList attribute information, regional NRF <NUM> is configured to construct <NF-Type>lnfo and <NF-Type>InfoList attribute information as an empty structure for inclusion in the Nrflnfo to be sent to root NRF <NUM>.

An example of adding the empty structure is shown in <FIG>, which depicts exemplary Nrflnfo attribute entries. For example, column <NUM> of Nrflnfo attribute <NUM> includes a plurality of Nrflnfo attribute entries. Each of these entries includes 'Served<NF-Type>lnfo', as shown in data structure <NUM>. To illustrate, the first entry in Nrflnfo <NUM> is 'servedAmflnfo', which may include a number of different AMFs that are registered with a regional NRF in a specific region. For example, column <NUM> of data structure <NUM> lists a plurality of instance identifiers that correspond to a respective plurality of AMFs registered with the regional NRF. If the AMF supports <NF-Type>lnfo and <NF-Type>InfoList attributes, then the AMF's instancelD is added in column <NUM> and its corresponding InfoStructure information (i.e., <NF-Type>Info and/or <NF-Type>InfoList attribute data) is added in column <NUM> (e.g., <NF-Type>lnfoStructure1 in column <NUM> is mapped to 'InstanceID1' identifying the AMF in column <NUM>). In contrast, if the AMF does not support <NF-Type>Info and <NF-Type>InfoList attributes, then the regional NRF (to which the AMF is registered) is configured to generate a Served<NF-Type>lnfo entry. Instead of simply not adding any information to the Served<NF-Type>lnfo in the Nrflnfo <NUM>, the regional NRF will insert the instancelD of the NF service producer in column <NUM> (e.g., InsancelD2 is the NF service producer instance identifier). In addition, the regional NRF will construct and add an empty structure (e.g., <Empty>) as its corresponding InfoStructure information in column <NUM> (e.g., <Empty> entry in column <NUM> is mapped to 'InstanceID2' identifying the regional NRF in second entry of column <NUM>).

Returning to <FIG>, after regional NRF <NUM> constructs the <NF-Type>Info and <NF-Type>InfoList attribute information, the regional NRF inserts the attribute information as an entry into the Nrflnfo. By doing this, a registration request and/or registration update request containing the Nrflnfo is triggered and sent by regional NRF <NUM> to root NRF <NUM>. An example Nrflnfo schema containing a constructed empty structure is described below and illustrated in <FIG>.

After the Nrflnfo is provided to root NRF <NUM>, root NRF <NUM> will have the regional NRF profile of regional NRF <NUM> and the nfinstancelDs of all of the NF service producers registered with regional NRF <NUM>.

Once root NRF <NUM> is provisioned with the above information, NF service consumer <NUM> in region <NUM> may send a Nnrf service request (e.g., discovery request) for a particular NF service producer to NRF <NUM>. Since regional NRF <NUM> does not have a registration for the requested NF service producer and cannot serve the service request itself (e.g., there are no NF service producers in region <NUM> matching the discovery criteria in the discovery request from NF service consumer <NUM>), regional NRF <NUM> is configured to forward the discovery request to root NRF <NUM>. After receiving the forwarded discovery request from regional NRF <NUM>, root NRF <NUM> is configured to access its local state information database that contains Nrflnfo from the regional NRFs <NUM>-<NUM>. In particular, root NRF <NUM> is configured to receive Nrflnfo (which includes the NFlnfo attribute for each NF service producer) included in registration request message and registration update request messages from each regional NRF in the hierarchical network. Moreover, root NRF <NUM> is configured to inspect the state information data to check for all the Nrflnfo data using smart logic. Notably, the root NRF <NUM> is configured to utilize the stored Nrflnfo data identify the specific regional NRFs where NF service producers capable of catering the service request are located. In some instances, the root NRF <NUM> may identify a multiple of NF service producers (e.g., regional NRFs <NUM> and <NUM>). After root NRF <NUM> has identified/located all of the NF service producers that are capable of servicing the service request message, root NRF <NUM> is configured to process and sort the NF service producer identification data using operator-defined algorithms. For example, the sorting performed (e.g., sorting of identified NF service producers) by root NRF <NUM> may be based on attributes including NF types of the NF service producers. In some embodiments, considering/sorting NF service producers by NF-Type may be the default mode of operation. In other embodiments, root NRF <NUM> may also be configured with a local policy or extension that defines how to interpret NF service producers that do not have an info/infoList attribute. In addition to NF type, the local policy at the root NRF can consider priority scores assigned to the NF service producers, available capacity of the NF service producers, the locality of the NF service producers, and/or the like. Notably, based on the attributes mentioned above, root NRF <NUM> is configured to execute an algorithm defined by the policy/extension that identifies the NF service producers and generates an ordered list indicating the specific NF service producers (and their respective NRFs) to handle the service request message. After generating the list including ordered NF service producer information, root NRF <NUM> is able to forward the Nnrf service request to regional NRF <NUM> for further processing. Notably, root NRF <NUM> is able to identify NF service producers that do not support the info/infolist attribute that are operating in different regions in a hierarchical network deployment.

<FIG> is a diagram illustrating an schema of an Nrflnfo attribute structure that is communicated to a root NRF. In <FIG>, Nrflnfo structure <NUM> includes two Chflnfo instances. In particular, Chflnfo instance <NUM> includes the nfinstancelD (e.g., 5e23ebb0-c493. ) for a first CHF instance operating in the local region. Notably, Chflnfo instance <NUM> has not provided the Chflnfo attribute to the regional NRF. As such, the regional NRF is configured to construct the ServedChflnfo attribute with an nfinstancelD and the empty structure data (e.g., see closed brackets at the end of instance <NUM>). In some embodiments, the empty representation can also be configurable based on the root NRF support of empty attribute syntax.

In contrast, Chflnfo instance <NUM> (e.g., with nfinstancelD bb41b1bb-<NUM>. ) has provided the Chfinfo attribute for inclusion in the Nrflnfo structure <NUM>. Notably, Chfinfo instance <NUM> includes a defined SUPI range as part of the NFinfo corresponding to an NF service producer that does support <NF-Type>lnfo and <NF-Type>InfoList attributes.

<FIG> is an exemplary configuration table that is utilized by a regional NRF according to an embodiment of the subject matter described herein. In some embodiments, a regional NRF can utilize a configuration table <NUM> to determine which NF-Type can be included with the empty <NF-Type>Info and/or <NF-Type>lnfoList attribute if missing in the NF service producer's NFprofie. In <FIG>, column <NUM> lists a plurality of example NF Types that can be registered with a regional NRF. Likewise, column <NUM> of configuration table <NUM> indicates if the NF type is one that the regional NRF can include an empty <NF-Type>Info and/or <NF-Type>InfoList attribute in the NRF info should the regional NRF receive a NF registration request message from an NF service producer. For example, configuration table <NUM> indicates that the UDM, AUSF, PCF, UDR, BSF, and CHF are types of NF service producers in which the region NRF may include an empty structure for the <NF-Type>Info and/or <NF-Type>InfoList attribute fields in the Nrflnfo attribute that will be sent to the root NRF via a registration request or registration update request. In contrast, column <NUM> of configuration table <NUM> indicates an AMF, UPF, and SMF as being NF types that have mandatory <NF-Type>lnfo and/or <NF-Type>InfoList attributes. As such, these NF service producers must provide their <NF-Type>Info and/or <NF-Type>InfoList attribute to the regional NRF for inclusion in the Nrflnfo (i.e., an empty structure for info/infolist attribute cannot be constructed in the Nrflnfo for these mandatory NF service producers).

<FIG> is a flow chart illustrating an example process for discovering network function service producers in a hierarchical network according to an embodiment of the subject matter described herein. In some embodiments, method <NUM> depicted in <FIG> is an algorithm, program, or script stored in memory that when executed by a processor performs the steps recited in blocks <NUM>-<NUM>. In some embodiments, the method <NUM> represents a list of steps (or changes in steps) embodied in a state machine (e.g., either via software code programming or via a set of rules) and/or logic of the NRF and/or host computing device.

In block <NUM>, the method includes receiving, by a regional NRF operating in a first region of a hierarchical network, a NF registration request message from a NF service producer operating in the first region. In some embodiments, a regional NRF receives an Nnrf registration request message from a NF service producer that seeks registration.

In block <NUM>, the method includes detecting, by the regional NRF, an absence of <NF-Type>Info and/or <NF-Type>InfoList attribute data in the received NF registration request message. In some embodiments, the regional NRF inspects the received NF registration request message and determines that the message does not include <NF-Type>Info and/or <NF-Type>InfoList attribute data associated with the NF service producer.

In block <NUM>, the method includes creating, by the regional NRF, an entry in Nrflnfo structure information directed toward a root NRF operating in the hierarchical network. In some embodiments, the entry includes an nfinstance identifier that identifies the NF service producer and is mapped to an empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data. The regional NRF is configured to send a registration message or an update registration message that includes Nrflnfo corresponding to the NF service producers registered with the regional NRF. In some embodiments, the regional NRF is configures to insert an entry containing the nfinstancelD of the NF service producer and an empty structure for the <NF-Type>Info and/or <NF-Type>lnfoList attribute fields.

In block <NUM>, the method includes sending, by the regional NRF to the root NRF, the Nrflnfo structure information via a registration message or update registration message. In some embodiments, the regional NRF sends a registration message (or update registration message) to the root NRF that contains Nrflnfo that includes the nfinstancelD of the NF service producer (along with other NF service producers operating in the region) and empty <NF-Type>Info and/or <NF-Type>InfoList attribute fields.

Claim 1:
A method (<NUM>) for discovering network function (NF) service producers in a hierarchical network (<NUM>), the method comprising:
receiving (<NUM>), by a regional NF repository function (NRF) (<NUM>) operating in a first region of a hierarchical network (<NUM>), a NF registration request message from a NF service producer operating in the first region;
detecting (<NUM>), by the regional NRF (<NUM>), an absence of <NF-Type>lnfo and/or <NF-Type>InfoList attribute data in the NF registration request message;
creating (<NUM>), by the regional NRF (<NUM>), an entry in Nrflnfo structure information directed toward a root NRF (<NUM>) operating in the hierarchical network (<NUM>), wherein the entry includes an nfinstance identifier that identifies the NF service producer and is mapped to an empty structure field indicative of absent <NF-Type>Info and/or <NF-Type>InfoList attribute data; and
sending (<NUM>), by the regional NRF (<NUM>) to the root NRF (<NUM>), the Nrflnfo structure information via a registration message or an update registration message.