Static discovery fallback for query-based network function interaction discovery

Systems and methods are provided for an improved method of network function interaction. In order for a network function consumer to interact with a network function producer, the network function consumer utilizes a default query-based discovery process, wherein a component such as a network resource function identifies candidate network function producers. A secondary static configuration is created for use if the primary query-based process is unavailable. Based on a determination that the primary query-based process is unavailable, the network function consumer identifies a network function producer from the static configuration and communicates one or more service requests to the network function producer. Once it is determined that primary query-based discovery is available, the network function consumer reverts to the query-based discovery process for subsequent network function interactions.

SUMMARY

The present disclosure is directed, in part, to utilizing a static configuration fallback for query-based network function interaction discovery, substantially as shown in and/or described in connection with at least one of the figures, and as set forth more completely in the claims.

In aspects set forth herein, a static configuration for network function discovery is created and utilized upon a determination that a default query-based discovery process is unavailable. Modern telecommunication networks utilize functionally-defined core network components for the provision of any number of user-desirable services. In order to discover and select an appropriate network function producer to provide a network function service, a network function consumer may use a query-based process. The network function consumer queries an entity, such as a network repository function, in order to discover which network function producers are available. When communication links/interfaces and network repository functions operate nominally, the network function consumer initiating a discovery request should not generally encounter a problem identifying/selecting an appropriate network function producer; however, if the network function consumer fails to successfully complete the query-based discovery process, it may be unable to identify, and therefore unable to communicate a service request to, a network function producer. By creating a static configuration backup and then using the static configuration when it is determined that the query-based process is unavailable, network function consumers will be enable to more continuously communicate with network function producers.

DETAILED DESCRIPTION

Various technical terms, acronyms, and shorthand notations are employed to describe, refer to, and/or aid the understanding of certain concepts pertaining to the present disclosure. Unless otherwise noted, said terms should be understood in the manner they would be used by one with ordinary skill in the telecommunication arts. An illustrative resource that defines these terms can be found in Newton's Telecom Dictionary, (e.g., 32dEdition, 2022).

Embodiments of the technology described herein may be embodied as, among other things, a method, system, or computer-program product. Accordingly, the embodiments may take the form of a hardware embodiment, or an embodiment combining software and hardware. An embodiment takes the form of a computer-program product that includes computer-useable instructions embodied on one or more computer-readable media that may cause one or more computer processing components to perform particular operations or functions.

By way of background, modern telecommunication networks utilize a plurality of functionally-defined instances, known as network functions in order to provide services to users. From authentication to mobility, network slicing to user plane functionality, traditional components of a telecommunication core network are increasingly separated into more precisely-functionally-defined segments. In order to operate correctly, network functions interact with each other to request and respond to service requests. A network function that requests a service is known as a network function consumer and a network function that provides the service is known as a network function producer. There are presently four models defined in the 3GPP specifications for facilitating the interactions between a network function consumer and a network function producer; three of the four models include the use of a network resource function to provide a query-based discovery or selection process, wherein a network consumer (directly, or via a service communication proxy) queries the network resource function to discover one or more candidate network function producers that are available to fulfill the network function consumer's service request. This query-based discovery/selection process is agnostic to the form of the network function consumer and the network function producer (e.g., the consumer could be an AMF, AUF, SMF, UPF, etc., and the producer could be a UDM, UDR, SMF, etc.). Once the query-based discovery process is complete, the network function consumer interacts with the network function producer identified by the network resource function from the query-based discovery process.

The query-based discovery process has significant advantages over static configurations (such as used by default in model “A” of the NF-NF interaction scheme set forth in 3GPP TS 23.501). Utilizing the query-based approach, a network function consumer can essentially select and communicate a network function producer without (or with significantly less) risk that the network function producer is too congested or otherwise unavailable to fulfill the service request, which could be a factor of a particular network function producer or a communication link between the network function producer and the network. Current solutions, particularly as set forth in the technical specifications, do not foresee the unfortunately realistic occasion that the one or more components used in the query-based discovery process (e.g., the network resource function) fail to answer the network function consumer's discovery request. Whether because of an unavailable link or because the network resource function, itself, is unavailable, the network function consumer's inability to complete the query-based discovery process is likely to lead to a failure of the network function consumer to identify (and therefore successfully request a network service request to) an appropriate network function producer.

In order to solve these problems, the present disclosure is directed to systems, methods, and computer readable media that improve conventional network function interaction models by using a static configuration when it is determined that a default query-based discovery process is unavailable. By creating and storing a static configuration that is available to network function consumers but relying on the query-based discovery process as a default configuration, network function consumers will retain the benefits of the query-based discovery process unless network function discovery resources such as the network resource function are unavailable. Utilizing the static configuration as a fallback or backup configuration only if the query-based discovery resource is unavailable (or performing sufficiently undesirably so as to materially degrade performance of the network function consumer), the network function consumer retains the highest possible level of functionality for network function service interactions.

Accordingly, a first aspect of the present disclosure is directed to a method for network function interaction. The method comprises creating a static network function configuration comprising one or more network function producers. The method further comprises storing the static network function configuration. The method further comprises determining that a primary query-based discovery process is unavailable, the primary query-based discovery process comprising obtaining network function producer information from a network resource function. The method further comprises identifying a candidate network function producer from the one or network function producers of the static network function configuration. The method further comprises communicating a network function service request from the network function consumer to the candidate network function producer.

Another aspect of the present disclosure is directed to a system for network function interaction. The system comprises a network function consumer, a network function producer, a network resource function, and one or more networked computer processing components. The one or more networked computer processing components are configured to create a static network function configuration comprising the network function producers and storing the static network function configuration at a location that does not comprise the network resource function. The one or more networked computer processing components are further configured to determine that a primary query-based discovery process is unavailable, the primary query-based discovery process comprising obtaining, by the network function consumer, network function producer information from the network resource function. The one or more networked computer processing components are further configured to query the static network configuration to identify the network function producer. The one or more networked computer processing components are further configured to communicate a network function service request from the network function consumer to the network function producer.

Yet another aspect of the present disclosure is directed to a method for communicating between entities of a cellular core network. The method comprises determining that a primary query-based discovery process is unavailable to a network function consumer configured to utilized a first network resource function for the primary query-based discovery process. The method further comprises performing one or more fallback procedures to facilitate communicating a network function service request from the network function consumer to a network function producer.

Referring toFIG.1, an exemplary computer environment is shown and designated generally as computing device100that is suitable for use in implementations of the present disclosure. Computing device100is but one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should computing device100be interpreted as having any dependency or requirement relating to any one or combination of components illustrated. In aspects, the computing device100is generally defined by its capability to transmit one or more signals to a an access point and receive one or more signals from the access point (or some other access point); the computing device100may be referred to herein as a user equipment, wireless communication device, or user device. The computing device100may take many forms; non-limiting examples of the computing device100include a cell phone, tablet, internet of things (IoT) device, smart appliance, automotive or aircraft component, pager, personal electronic device, wearable electronic device, activity tracker, desktop computer, laptop, PC, and the like.

With continued reference toFIG.1, computing device100includes bus102that directly or indirectly couples the following devices: memory104, one or more processors106, one or more presentation components108, input/output (I/O) ports110, I/O components112, and power supply114. Bus102represents what may be one or more busses (such as an address bus, data bus, or combination thereof). Although the devices ofFIG.1are shown with lines for the sake of clarity, in reality, delineating various components is not so clear, and metaphorically, the lines would more accurately be grey and fuzzy. For example, one may consider a presentation component such as a display device to be one of I/O components112. Also, processors, such as one or more processors106, have memory. The present disclosure hereof recognizes that such is the nature of the art, and reiterates thatFIG.1is merely illustrative of an exemplary computing environment that can be used in connection with one or more implementations of the present disclosure. Distinction is not made between such categories as “workstation,” “server,” “laptop,” “handheld device,” etc., as all are contemplated within the scope ofFIG.1and refer to “computer” or “computing device.”

Memory104includes computer-storage media in the form of volatile and/or nonvolatile memory. Memory104may be removable, nonremovable, or a combination thereof. Exemplary memory includes solid-state memory, hard drives, optical-disc drives, etc. Computing device100includes one or more processors106that read data from various entities such as bus102, memory104or I/O components112. One or more presentation components108presents data indications to a person or other device. Exemplary one or more presentation components108include a display device, speaker, printing component, vibrating component, etc. I/O ports110allow computing device100to be logically coupled to other devices including I/O components112, some of which may be built in computing device100. Illustrative I/O components112include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.

A first radio120and second radio130represent radios that facilitate communication with one or more wireless networks using one or more wireless links. In aspects, the first radio120utilizes a first transmitter122to communicate with a wireless network on a first wireless link and the second radio130utilizes the second transmitter132to communicate with a wireless network on a second wireless link. Though two radios are shown, it is expressly conceived that a computing device with a single radio (i.e., the first radio120or the second radio130) could facilitate communication over one or more wireless links with one or more wireless networks via both the first transmitter122and the second transmitter132. Illustrative wireless telecommunications technologies include CDMA, GPRS, TDMA, GSM, and the like. One or both of the first radio120and the second radio130may carry wireless communication functions or operations using any number of desirable wireless communication protocols, including 802.11 (Wi-Fi), WiMAX, LTE, 3G, 4G, LTE, 5G, NR, VoLTE, or other VoIP communications. In aspects, the first radio120and the second radio130may be configured to communicate using the same protocol but in other aspects they may be configure dot communicate using different protocols. In some embodiments, including those that both radios or both wireless links are configured for communicating using the same protocol, the first radio120and the second radio130may be configured to communicate on distinct frequencies or frequency bands (e.g., as part of a carrier aggregation scheme). As can be appreciated, in various embodiments, each of the first radio120and the second radio130can be configured to support multiple technologies and/or multiple frequencies.

Turning now toFIGS.2A-2C, various embodiments are illustrated of a network environment in which the present disclosure may be employed. Such a network environment is illustrated and designated generally as network environment200. Network environment200is but one example of a suitable network environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the network environment be interpreted as having any dependency or requirement relating to any one or combination of components illustrated.

The network environment200generally represents a communication model for interaction between two or more network functions (NFs) within a core network of a telecommunication service provider. Generally, a first network function (NF), known as an NF consumer consumes services provided by another NF, known as an NF producer in order to perform any one or more necessary or desirable operations of a telecommunications network. For example, if a UE, such as the computing device100ofFIG.1, initiates a wireless voice call, the call setup process may include an interaction between a session management function (SMF) and a unified data management (UDM) function in order to obtain subscriber profile information associated with the UE. In this example, the process by which the SMF discovers, selects, and then communicates requests and responses with the UDM is known as NF-NF service interaction. A network function, as used herein, is meant to refer to one or more computer processing components, storage components, and/or software instances that has a functionally-defined behavior and communication interface; for example, an access mobility function (AMF), session management function (SMF), user plane function (UPF), unified data management (UDM), and many others are network functions in 3GPP/5G networks.

Current implementations for NF-NF service interaction take one of four forms, known as communication models in technical specifications such as 3GPP TS23.501. In a first form, not illustrated, an NF consumer directly communicates with an NF producer of their choice—all without an intermediary network resource function (NRF) or a service communication proxy (SCP). In the first form, query-based discovery is not used. In a second form, illustrated inFIG.2A, an NF consumer202discovers NF producers by querying an NRF206using a discovery query220; based on a discovery result222that is sent back to the NF consumer202indicating one or more available NF producers, the NF consumer can select the NF producer204and subsequently communicate a service request224to the NF producer204. After processing the service request224, the NF producer204communicates a service response226directly to the NF consumer202and any subsequent requests228are directly communicated from the NF consumer202to the NF producer204, and the process repeats as necessary. In a third form, illustrated inFIG.2B, the same discovery and NF profile interaction between the NF consumer202and the NRF206is utilized; however, instead of directly communicating service requests and responses between the NF consumer202and the NF producer204, an SCP208facilitates communication. Based on the discovery result, the NF consumer selects one or more NF producers. In some aspects of this form, the SCP208interacts with the NRF206using one or more selection communications242to get NF producer selection parameters (such as location, capacity, and the like) in order to select and subsequently communicate service requests form the NF consumer202to an NF producer in the set of NF producers selected by the NF consumer. Accordingly, a first service request230is communicated from the NF consumer202to the SCP208, a second service request236is communicated from the SCP208to the selected NF producer204, a first service response238is communicated from the NF producer204to the SCP208, a second service response232is communicated from the SCP208to the NF consumer202, and any subsequent service requests are routed from the NF consumer202to the NF producer204via the SCP208using a first subsequent request234and a second subsequent request240. Finally, in a fourth form illustrated inFIG.2C, NF consumers such as the NF consumer202do not do any discovery or selection. In lieu of conducting NF discovery, the NF consumer202includes any discovery and/or selection parameters in the first service request230that is communicated form the NF consumer202to the SCP208. Subsequently, the one or more selection communications242between the SCP208and the NRF206are utilized to identify and select a suitable NF service producer. The remaining series of service requests and responses between the NF producer204and the NF consumer202via the SCP208are then the same as in the third form (i.e., the first service request230, the second service request236, the first service response238, the second service response232, and any subsequent service requests such as the first subsequent request234and the second subsequent request240).

Any embodiment of network environment200described with reference toFIGS.2A-2Cmay be used for the provision of any number of network function services. Notably, in all three forms of interactions between NF consumers and NF producers illustrated inFIGS.2A-2C, an NRF (with or without an SCP) is utilized for query-based NF producer discovery and selection. In the first form discussed above but not illustrated inFIGS.2A-2C, a static configuration at the NF consumer is used for handling outgoing requests. That is, current solutions for interactions between NF consumer and NF producers (i.e., NF-NF interactions) either utilize a query-based process or a static process—not both. One critical advantage of using the query-based discovery process is that the NRF (alone or in combination with the SCP) may be used to select the best (or a desirable) NF producer in order to provide an NF service to the NF consumer. That is, query-based discovery is uniquely beneficial in instances where a particular network comprises multiple candidate NF producers, and a first NF producer is either unavailable, at capacity, or located at a great distance with high latency; the query-based process, as opposed the static-only model A configuration, would identify and facilitate selection of a second NF producer by the NF consumer.

Turning now toFIG.3, an improved network environment300is illustrated for use with the present disclosure. The network environment300includes a plurality of network functions, at least one network resource function, and in some aspects may comprise one or more service communication proxies, which are used to perform an improved method of NF-NF interaction. The network environment300comprises a first network function302, which may be known as an NF consumer (such as the NF consumer202ofFIGS.2A-2C). The first network function302utilizes one or more components to discover and select an NF producer; in one aspect, the first network function302is connected to a first SCP304via a first link306and may utilize the first link306as a default procedure to dynamically discover and select an NF producer (however, in the case of a model such as the one depicted inFIG.2Awhere an SCP is absent, the first link306may connect the first network function302and the NRF318directly). Under normal operating procedures, the first network function302may utilize the first link306(or a direct connection with the NRF318) to discover and select an NF producer such as a third network function324. If the first link306fails, or the first network function302is otherwise unable to perform query-based NF producer discovery by way of the NRF318, the first network function may be unable to perform its intended functions. Aspects of the present disclosure are directed to providing a static backup to the default query-based discovery and selection process that the first network function302performs.

In order to utilize a secondary static configuration for network function discovery and interaction, a static network configuration will be created and stored in a location independent of the NRF318(i.e., at a location that does not comprise the NRF318). In one aspect the static network configuration will be created and stored at each NF consumer, such as the first network function302or a second network function312; in another aspect, such as aspects per the forms shown inFIGS.2B and2C, the static network configuration will be created and stored at a proxy such as the first SCP304or a second SCP308, accessible by one or more NF consumers such as the first network function302and the second network function312. In yet other aspects, the static network configuration may be stored in other locations that, so long as they are not the NRF318(e.g., the static network configuration could be stored on a unified data repository (UDR)).

The static network configuration may be created, replaced, or updated as desirable by a particular network operator. In a first aspect, the static network configuration may be created when the location in which the static network configuration is put in service; in other words, if the static network configuration is to be stored on the first network function302, then the static network configuration could be created when the first network function302is put in to service. Referred to as an in-service aspect, the static network configuration in this aspect may reflect the configuration of the network at the time the storage location is put in-service or at a previous/predetermined time. For example, if the first network function302is put in service earlier than the second network function312, the configuration of the network (i.e., the existence/details of NF producers) is different, and the static network configuration is based on the time of the NF consumer being placed in-service, then the static network configuration stored by the first network function302would be different than the static network configuration stored by the second network function312. In another aspect, the static network configuration may be replaced, whether regularly or upon an event occurring; for example, the static network configuration stored by one or more of the first network function302and the second network function312may be overwritten and replaced by a new static network configuration at a predetermined interval (e.g., once every hour, once a day, once per week, and the like), or upon an event taking place (e.g., a new component such as a network function consumer, network function producer, SCP, NRF, or any other desirable component is put in to service, or upon every successful completion of a query-based discovery process). In a third aspect, the static network configuration may be replaced at a pre-determined interval or upon an event taking place, wherein the static network configuration is checked for staleness or compared to information obtained from an NRF during a query-based discovery process, or any other desirable manner. In any aspect, the static network configuration may be created, replaced, or updated based on information of the network configuration from an NRF such as the NRF318or based on information populated and stored by a network operator in another location such as a unified data repository.

Even though the static network configuration is available to network function consumers such as the first network function302, the present disclosure only utilizes the secondary static configuration when it is determined that the primary query-based process is unavailable or degraded. That is, upon a determination or indication that the first network function302is unable to utilize the default/primary query-based discovery process (or that the query-based discovery process is sufficiently degraded, which may be manifested by a greater than threshold delay or latency in receiving an answer from the destination of the query-based discovery request), the first network function302will revert to the backup/secondary static configuration. Such a determination may be made by the first network function302or by one or more other computer processing components; in some aspects, the determination may be based on a determination that a communication link used for query-based discovery (e.g., the first link306or a link between an SCP, such as the first SCP304, and an NRF, such as the NRF308) is down or disrupted, the NRF318is unavailable or degraded/congested (e.g., based on requests to the NRF318timing out, responses taking a greater than predetermined threshold amount of time, receiving404or503errors, a TCP buffer overflow, or any other error or state that is indicative of failure or degradation of the first link306), the NRF318is unavailable or operating abnormally, or on an indication that affirmatively indicates that the link306is not functioning normally. Regardless of how it is determined that the default query-based discovery process is unavailable to the first network function302, the first network function302will switch from the primary/default query-based discovery process to the secondary/backup static configuration.

Upon a determination that the primary query-based discovery process is unavailable, an NF consumer such as the first network function302will utilize the secondary static configuration. Prior to falling back to the secondary static configuration, an NF consumer such as the first network function302may test other paths to an NRF that is determined or indicated to be disrupted, such as the NRF318, in order to confirm that the NRF is, in fact, disrupted. For example, if the first network function302typically conducts a query-based discovery with the NRF318utilizing the first communication link306, the first SCP304, and a third communication link320, and if the first network function302determines or receives an indication that the NRF318is unavailable or degraded, then the first network function302may, prior to falling back to the secondary static network configuration, attempt to communicate with the NRF318via a second communication link310, a second SCP308, and a fourth communication link322(or any other route to the NRF318wherein one or more links or intervening components are different between the first attempt and the second attempt). In other aspects, the first network function302may additionally or alternatively attempt query-based discovery using a second NRF (not pictured) if it is determined or indicated that the NRF318is unavailable or degraded. In another aspect, upon a determination or indication that the NRF318is unavailable or degraded, the first network function302may wait for a predetermined period of time and then re-attempt the same query based discovery with the NRF318, and may further repeat the re-attempts a predetermined number of times before falling back to the secondary static configuration. Regardless of what combination of features is utilized prior to falling back to the secondary static configuration, once the secondary static configuration is invoked, the first network function302queries the static network configuration, whether it is local to the first network function302or requires communicating one or more queries to the first SCP304via the first communication link306. The static network configuration generally comprises information relating identities, locations, and functions of one or more NF producers, or as otherwise defined in 3GPP TS23.501. Using the static network configuration, a candidate NF producer, such as the third network function324, is identified and then the NF consumer, such as the first network function302, communicates network function service requests thereto, using a communication link from the static network configuration, such as a fifth communication link326. In aspects, after a predetermined/configurable amount of time or upon communication or completion of a predetermined number of network function service requests, the first network function302will re-attempt to use the primary query-based discovery process and revert to said primary process as soon it is determine to be available or the degradation is no longer occurring.

Turning now toFIG.4, a flow chart is provided for a method400for using a static configuration fallback for NF-NF interactions. At a first step410, it is determined that a default query-based NF discovery process has failed, according to any one or more aspects described herein. At a second step420, in response to determining that the query-based NF discovery process has failed, an NF consumer such as the NF consumer202ofFIGS.2A-2Cor the first NF302ofFIG.3accesses a static configuration repository and selects an NF producer, according to any one or more aspects described herein. At a third step430, the NF consumer communicates one or more NF service requests to the NF producer selected from the static configuration repository, in accordance with any one or more aspects described herein. In some aspects, the method400additionally comprises a fourth step440, wherein after a predetermined period of time, the NF consumer re-attempts to utilize the default query-based NF discovery process, in accordance with any one or more aspects described herein.