BACKGROUND
Technical Field
This disclosure is in the field of IMS cellular network management, and more particularly, in the field of managing the use of resources in a cellular network to carry out a number of network functions at a selected data center.
Description of the Related Art
Cellular networks are ubiquitous in today's world. Currently most cellular networks, such as the various versions of 3G, LTE, 4G, and 5G follow the 3GPP model, with a hierarchical design comprising many radio towers, many edge data centers, a number of regional data centers and a few national data centers that serve the various regional data centers spanning a large geographical area. Various network functions, as defined by 3GPP, run on these data centers. Different network functions provide different utility to the cellular network. For example, the network function User Plane Function (UPF) provides packet routing and data access to a user equipment such as a cellphone. UPF is typically run at an edge data center because it interacts with a user equipment directly. For example, Unified Data Management (UDM) provides subscription management and encryption. UDM is typically run at a national data center because it handles many users spanning a large geographical area. It also requires more computational power which is not always available at regional data centers. The fixed assignments of the various network functions at each data center give rise to deficiency. Data centers designed to run certain network functions at peak traffic will have surplus resources during low traffic times. Localized traffic may impact national network performance if it overloads a network function running on a national data center.
BRIEF SUMMARY
According to the present disclosure various network functions are dynamically instantiated on a selected data center to utilize the best resources available. The resource-to-use selection is carried out using estimations enabled by artificial intelligence (AI) and machine learning.
According to one embodiment, an analytic module and a data lake receive performance data from the various data centers a cellular network. The analytic module will analyze the received performance data and apply artificial intelligence and machine learning to determine current resource use and estimate future resources available on various data centers of the cellular network. The analytic module then selects appropriate network functions to run on selected data center. The analytic module, interacting with an execution transfer module will instantiate the selected network function on the selected data center. By selecting the appropriate data center to run a selected network function, the deficiency described above can be mitigated. For example, a network function typically run in a national data center can be instantiated in a regional data center or an edge data center in response to sudden high traffic at the national data center and recognizing lower traffic at a particular edge data center.
A method of load balancing various network functions in a cellular network includes receiving performance data from various data centers in the network and instantiating selected network functions on selected data centers using analytic estimates of resources available in the future on those data centers. The received performance data is stored in a data lake. The stored performance data and the received performance data as they occur are analyzed using artificial intelligence and machine learning. The analyzed results are used to select an appropriate network function to run on a selected data center where the resources available there in the future are most favorable. The selected network function is instantiated on the selected data center to utilize the resources available.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 is a system diagram of a typical 3GPP cellular network.
FIG. 2 is a detailed system diagram of a load balancing of cellular network according to principles of the present disclosure.
FIG. 3A is a system diagram depicting a load balancing operation from a national data center to an edge data center by instantiation of a selected network function at different data centers.
FIG. 3B is a system diagram depicting a load balancing operation from an edge data center to a national data center by instantiation of a selected network function at different data centers.
FIG. 4 is a system diagram of a continuous integration, continuous delivery pipeline.
FIG. 5 is a system diagram showing various network functions running on an edge data center.
FIG. 6 is a system diagram showing a network function running on a national data center.
FIG. 7 is a flow chart showing the operation of a load balancing IMS cellular network system.
DETAILED DESCRIPTION
FIG. 1 shows a 3GPP cellular network 10, which is known by persons skilled in the art and is defined by 3GPP standard. The cellular network 10 comprises a plurality of user equipment including, for example, a cellphone 12 or a plurality of smart appliances 14 such as a local camera, a home security system, a home HVAC system, or a smart refrigerator; a radio tower 16 coupled wirelessly to the plurality of user equipment; an edge data center (EDC) 20 coupled with the radio tower 16 and a local Internet of Things (IoT) 14 having, in one example, various smart applications and appliances 14 that communicate via the internet or private network; a regional data center (RDC) 18 coupled to the radio tower 16; and a national data center (NDC) 22 coupled to the RDC 18 and EDC 20.
FIG. 2 shows a detailed system diagram of an embodiment of the present disclosure showing load balancing an IMS cellular network system 210. The inventive cellular network system 210 according to present disclosure further comprises: an analytics module 230 coupled to the NDC 22, the RDC 18, and the EDC 20, a data lake 240 coupled to the analytic module 230, the NDC 22, the RDC 18, and the EDC, 20 and an execution transfer module 241 coupled to the analytics module 230 and the data lake 240. In some embodiments, the execution transfer module 241 can be directly coupled to various data centers, such as the EDC 20, the RDC 18 and/or the NDC 22. Alternatively, the execution transfer module 241 can be within the analytics module 230 and be considered part of that module. Various network functions are set in advance to run on different data centers to operate the cellular network system 210. Some network functions 270, for example, such as UPF, are set up by the system to be run on the EDC 20 as the default selection. Some network functions 260, for example, SMF and AMF, set up by the system run on the RDC 18 as the default selection. The majority of network functions 250, for example, UDM, NRF, or CHF, are selected to be run on the NDC 22 as the default selection.
In a standard IMS network, there will typically be several million EDCs 20, several thousand RDCs 18, and a dozen or fewer NDCs 22. A large number EDC's are being added on a regular basis so the number available will continue to grow and expand, while a modest number of RDCs are being added. The number of NDCs is relatively constant. As more resources are needed based in increased growth of the IMS network, it is common to add more processors and computing power to the current NDCs, not to create a new one, but on the other hand, it is expected and common to add new EDCs on a regular basis. The present disclosure takes advantage of the current pattern and expectation that EDCs are being added to the IMS network and will recognize and make use of them as they come on line.
It is to be noted that a wide variety of acronyms are used in the 3GPP system, including in the various versions of 3G, LTE, 4G and 5G as names of the various network functions are defined by the 3GPP standard committee. The meaning and operation of such network functions are widely published and well known and understood by persons skilled in the art and, therefore, are not described in detail herein. There are a number of other network functions that are not listed within the acronyms in FIG. 2 that will be present in systems using the inventive disclosure and the failure to list one does not mean it cannot be used within the present disclosure. The number of network functions is currently quite large and continues to grow over time, and the 5G network, as well as future versions of 5G and the expected 6G, 7G and 8G, will include some not previously used network functions, but are considered to fall within the claimed subject matter.
The network functions 250, 260, and 270 are selected by default to run at respective data centers because of the functions they serve can, in most instances, be more efficiently carried out at that particular data center. For example, UPF serves user plane functions, which are closely related to the operation of user equipment, for example, cellphone 12 and IoT 14 are best run on the EDC 20. They are physically closer to the radio tower 16 and might, in fact, bypass the tower 16 and run directly from the local IoT 14 on the EDC 20. As another example, UDM serves unified data management including user subscription management, customer profile, and encryption keys. It is typically run on an aggregated level on the NDC 22.
In this embodiment, the data lake 240 receives performance data as they occur from EDC 20, RDC 18, and NDC 22. Data lake 240 stores the performance data for analytic module 230 to analyze. Analytic module 230 utilizes the stored performance data from data lake 240, the performance data as the occur from EDC 20, RDC 18, and NDC 22, and various artificial intelligence (AI) and machine learning (ML) techniques to estimate the resource used on each EDC 20, RDC 18, and NDC 22. The analytic module 230 determines where resources are available to instantiate a network function. Resources may include, but are not limited to, computation power, data storage, latency between endpoints, or favorable electricity cost.
FIG. 3A shows a network function 300, for example UDR, being load balanced out from NDC 22 to EDC 20. In one embodiment, the analytic module 230 analyzes and estimates the future resource usage in NDC 22 and EDC 20. It may decide that the resource becomes less available in NDC 22 and the resource becomes more available in EDC 20. For example, the EDC 20 is experiencing less local traffic and has surplus computation power whereas NDC 22 is experiencing higher national traffic from other locales. The analytic module 230 determines that it is more appropriate to run a UDR in EDC 20 than to run it in NDC 22. The network function UDR 300 is terminated on NDC 22 and a new instance of UDR is instantiated as network function 310 on EDC 20 to serve users at the locale.
FIG. 3B shows the network function 320, for example UDR, being load balanced out from EDC 20 to NDC 22. In one embodiment, the analytic module 230 determines that the EDC 20 will experience higher local traffic in the future and there will be little surplus computation power based on stored historical data on data lake 240 and it will be more appropriate to run UDR in NDC 22 than EDC 20. A new instance of network function UDR 320 is instantiated on NDC 22 and the network function UDR 310 is terminated.
FIG. 4 shows an example of a continuous integration continuous delivery (Cl/CD) pipeline 40. In one embodiment, the Cl/CD pipeline 40 is used to instantiate various network functions in various data centers including, for example, EDC 20. The Cl/CD pipeline comprises: a source code repository 42, an automatic instantiation configuration repository 44, a testing framework 46 including a plurality of tests, and a deployment module 48. The Cl/CD pipeline 40 is coupled to the analytic module 230 and various data centers, for example, EDC 20. In one embodiment, the source code repository 42 is version controlled, for example, it may use git or svn as the repository management system. The Cl/CD pipeline 40 reads a plurality of source code files from code repository 42 and a configuration from the automatic instantiation configuration repository 44. The configuration determines how a network function executable is built by the pipeline 40. In one embodiment, the configuration being read is chosen according to the performance data the analytic module 230 receives. After a network function executable is built, the pipeline 40 will run the executable against a plurality of tests in the test framework 46. These tests ensure performance and integrity of the built executable. In one embodiment, the tests the network function executable is run against are determined by the performance data the analytic module 230 receives. Once the executable passes all tests in the test framework 46, it will be deployed by the deployment module 48. The deployment module runs the network function executable on a machine in a selected data center, for example EDC 20. The selected data center is determined by the performance data the analytic module 230 receives. In one embodiment, the deployment module 48 also terminates a running network function executable on a selected data center if the same type of network function is deployed to a different data center.
FIG. 5 shows various network functions running in EDC 20. The cellular network system disclosed in the present application allows network functions 50 that are typically run in NDC 22, such as CSCF or UDR, and network functions 52 that are typically run in RDC, such as AMF or SMF, to be instantiated and run in EDC 20.
FIG. 6 shows a network function 60 that is typically run in EDC 20. The cellular network system disclosed in the present application allows the network function 60 to instantiate and run on NDC 22.
FIG. 7 shows a flow chart 700 of the operation of the analytic module 230. At step 710 the analytic module 230 receives performance data from data lake 240 and the various data centers. At step 720 the analytic module 230 analyzes the data using AI and ML. The results are used in step 730 where the analytic module determines the resources available in the future for each of the various data centers. In step 740 the analytic module decides if load balancing should be performed to utilize the resources available in the future. If yes, in step 750 the analytic module selects a network function to be instantiated and in step 760 the analytic module selects a data center where the selected network function will be instantiated. In step 770 the selected network function is instantiated in the selected data center. In one embodiment, in optional step 780 the analytic module terminates the selected network function if it was running in a data center that is not the selected data center. After the instantiating the selected network function in the selected data center, the analytic module returns to step 710 to receive performance data.
The various embodiments described above can be combined to provide further embodiments. All of the U.S. patents, U.S. patent application publications, U.S. patent applications, foreign patents, foreign patent applications and non-patent publications referred to in this specification and/or listed in the Application Data Sheet are incorporated herein by reference, in their entirety. Aspects of the embodiments can be modified, if necessary to employ concepts of the various patents, applications and publications to provide yet further embodiments.
These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.