This disclosure is generally directed to systems, methods, and computer-readable media relating to pattern detection in the context of a cellular telecommunication network core implemented within a cloud computing platform. This technology may address a number of problems or deficiencies that can arise within that context. For example, the technology can reveal insights from machine learning that would otherwise be unavailable to the carrier or administrator associated with the cellular telecommunication network core. Similarly, the technology can automate or streamline activities in a manner that reduces or eliminates human interactivity and corresponding human error, as discussed further below. Other potential advantages of various embodiments of the technology are also discussed throughout this disclosure.
In some examples, the systems of this disclosure may equip a cellular telecommunication carrier implemented on a cloud computing platform with tools to build a real-time self-perfecting or self-improving network, including a fifth-generation and beyond cellular network. One mechanism for doing so may include modeling inferences associated with a managed container-orchestration system. Another mechanism to do so may include disposing one or more models in a plurality, majority, substantial or predominant majority, or in an entirety, of managed container-orchestration system clusters on which is executing the cellular telecommunication network core. An additional mechanism may include deploying a software development kit that enables one to execute an open network pattern reactor while interfacing, in a plug-and-play manner, with a variety of different brands of input and output components. Implementing the above functionality may enable the system to perform operations that include understanding patterns within the cellular telecommunication network core and/or implementing self-perfecting or self-improving techniques as a layer inside of the cellular telecommunication network core, as discussed in more detail below.
In one example, a method may include (i) predicting a network deficiency by applying a machine learning model trained on a log from a monitoring tool that monitors a resource within a cloud computing platform on which is executing at least part of a cellular telecommunication network core that is configured within a managed container-orchestration system as specified by a file chart generated by a cloud native computing package manager and (ii) modifying how the cellular telecommunication network core is configured within the managed container-orchestration system such that the predicted network deficiency is at least partially prevented by modifying the file chart according to a recommendation of the machine learning model and deploying the modified file chart. In further examples, the machine learning model is configured to predict, as output, a future state of the cellular telecommunication network core based on a candidate modification to the cellular telecommunication network core as input.
In some examples, the machine learning model is generated by labeling the log from the monitoring tool with a containerized network function of the cellular telecommunication network that is executing on the resource within the cloud computing platform and training the machine learning model on the log labeled with the containerized network function.
In some examples, the machine learning model generates the recommendation by generating, as outputs, a set of multiple predicted states of the cellular telecommunication network core based on, as inputs, a set of respective candidate modifications to the cellular telecommunication network core and selecting, as the recommendation, a specific candidate modification from the respective candidate modifications that maximizes a function that is directed to maximizing price performance in terms of satisfying a service level agreement between a carrier of the cellular telecommunication network core and an end-user.
In some examples, the candidate modification to the cellular telecommunication network core comprises at least one of: a null action of maintaining a current condition of the cellular telecommunication network core, elastically sizing up or down an instance or a number of instances of the resource in the cloud computing platform, relocating a containerized network function toward or away from an edge of the cloud computing platform, switching a version of the containerized network function, or switching a source or brand of the containerized network function.
In some examples, modifying the file chart generated by the cloud native computing package manager and deploying the modified file chart is performed by the cellular telecommunication network core such that the cellular telecommunication network core is autonomously self-improving.
In some examples, the machine learning model comprises a deep neural network that recommends cellular telecommunication network core modifications to be performed through the managed container-orchestration system. In further examples, the method inputting, into the deep neural network, a root cause extracted through a root cause analysis.
In some examples, the method includes outputting, by the deep neural network, a specific cellular telecommunication network modification that at least partially prevents the predicted network deficiency by performing a modification to the file chart generated by the cloud native computing package manager and deploying the modified file chart.
In some examples, the method includes evaluating a result of the modification to the file chart generated by the cloud native computing package manager in comparison to a service level agreement between an operator of the cellular telecommunication network core and a user of the cellular telecommunication network.
In some examples, the method comprises penalizing or rewarding, within the deep neural network, the modification to the file chart generated by the cloud native computing package manager.
In some examples, penalizing or rewarding, within the deep neural network, the modification to the file chart generated by the cloud native computing package manager is performed by the cellular telecommunication network core such that the cellular telecommunication network core is autonomously self-improving.
In some examples, the deep neural network is configured such that the deep neural network labels states of the cellular telecommunication network core with recommended cellular telecommunication network core modifications.
In some examples, the deep neural network comprises a deep q-network or a bidirectional long short-term memory autoencoder.
In some examples, a respective instance of the deep neural network is disposed in a majority of each cluster of the managed container-orchestration system on which the cellular telecommunication network core operates.
In some examples, the method is performed by a data dependent application and the data dependent application inputs data from a network stack across a distributed event store and stream processing platform within a data center.
In some examples, the distributed event store and stream processing platform inputs data from at least three of the following components of the network stack: a radio access network core probe for cloud-native automated service assurance component, a radio access network core observability framework component, a cloud computing services operations component, and a virtualization operations component.
In some examples, a corresponding system includes at least one physical computing processor of a computing system and a non-transitory computer-readable medium encoding instructions that, when executed by the at least one physical computing processor, cause the computing system to perform operations including: (i) predicting a network deficiency by applying a machine learning model trained on a log from a monitoring tool that monitors a resource within a cloud computing platform on which is executing at least part of a cellular telecommunication network core that is configured within a managed container-orchestration system as specified by a file chart generated by a cloud native computing package manager and (ii) modifying how the cellular telecommunication network core is configured within the managed container-orchestration system such that the predicted network deficiency is at least partially prevented by modifying the file chart according to a recommendation of the machine learning model and deploying the modified file chart. In further examples, the machine learning model is configured to predict, as output, a future state of the cellular telecommunication network core based on a candidate modification to the cellular telecommunication network core as input.
In some examples, a method includes providing a software development kit, wherein the software development kit is configured such that the software development kit generates software that performs operations including: (i) predicting a network deficiency by applying a machine learning model trained on a log from a monitoring tool that monitors a resource within a cloud computing platform on which is executing at least part of a cellular telecommunication network core that is configured within a managed container-orchestration system as specified by a file chart generated by a cloud native computing package manager and (ii) modifying how the cellular telecommunication network core is configured within the managed container-orchestration system such that the predicted network deficiency is at least partially prevented by modifying the file chart according to a recommendation of the machine learning model and deploying the modified file chart. In further examples, the machine learning model is configured to predict, as output, a future state of the cellular telecommunication network core based on a candidate modification to the cellular telecommunication network core as input.
In some examples, the software development kit comprises a plug-and-play component that interfaces with the cloud native computing package manager in a manner that is agnostic between different brands of cloud native computing package manager.
In some examples, the software development kit is configured such that deploying the modified file chart is performed through a managed container-orchestration system facilitator application and the software development kit comprises a plug-and-play component that interfaces with the managed container-orchestration system facilitator application in a manner that is agnostic between different brands of managed container-orchestration system deployment facilitator applications.
In some examples, the software development kit comprises a plug-and-play component that interfaces with the managed container-orchestration system in a manner that is agnostic between different brands of managed container-orchestration systems.
For a better understanding of the present invention, reference will be made to the following Detailed Description, which is to be read in association with the accompanying drawings:
The following description, along with the accompanying drawings, sets forth certain specific details in order to provide a thorough understanding of various disclosed embodiments. However, one skilled in the relevant art will recognize that the disclosed embodiments may be practiced in various combinations, without one or more of these specific details, or with other methods, components, devices, materials, etc. In other instances, well-known structures or components that are associated with the environment of the present disclosure, including but not limited to the communication systems and networks, have not been shown or described in order to avoid unnecessarily obscuring descriptions of the embodiments. Additionally, the various embodiments may be methods, systems, media, or devices. Accordingly, the various embodiments may be entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects.
Throughout the specification, claims, and drawings, the following terms take the meaning explicitly associated herein, unless the context clearly dictates otherwise. The term “herein” refers to the specification, claims, and drawings associated with the current application. The phrases “in one embodiment,” “in another embodiment,” “in various embodiments,” “in some embodiments,” “in other embodiments,” and other variations thereof refer to one or more features, structures, functions, limitations, or characteristics of the present disclosure, and are not limited to the same or different embodiments unless the context clearly dictates otherwise. As used herein, the term “or” is an inclusive “or” operator, and is equivalent to the phrases “A or B, or both” or “A or B or C, or any combination thereof,” and lists with additional elements are similarly treated. The term “based on” is not exclusive and allows for being based on additional features, functions, aspects, or limitations not described, unless the context clearly dictates otherwise. In addition, throughout the specification, the meaning of “a,” “an,” and “the” include singular and plural references.
In general, the machine learning model can correlate specific actions performed by containerized network functions of the cellular telecommunication network core with effects within the cellular telecommunication network core that predictably result from performing the specific actions. For example, the machine learning model can correlate, as inputs, the action of one or more containerized network functions with one or more effects or results of such actions, in terms of output. The inputs can include toggling on or off a containerized network function and/or modifying or adjusting one or more features or attributes related to functioning of the containerized network function. Illustrative examples of effects or results from these inputs may include increasing or decreasing (i.e., sizing) demand for containerized network function instances, clusters, computational power or resources, memory, network bandwidth or other network resources, etc., and/or increasing or decreasing one or more of these resources in response to such demand. Additional illustrative examples of selective, responsive, or compensatory actions that the machine learning model can recommend include placing, inserting, deploying, locating, and/or relocating one or more containerized network functions to a particular location, such as a particular compute region and/or a particular data center. For example, certain low latency applications may benefit from certain resources being deployed closer to the edge of the network and/or may benefit from moving other resources, such as containerized network functions, to a centralized component of the cloud computing platform. Similarly, the recommended actions may include selecting, specifying, and/or altering the versioning of a containerized network function and/or selecting, specifying, and/or altering the branding, source, and/or original manufacturer or developer of a containerized network function. One or more of these actions may be recommended or performed based on a determination or calculated decision that the action would optimize satisfaction of a service level agreement or otherwise be optimally suited for the use case that a particular end-user or customer specifies or indicates.
As used herein, the term “managed container-orchestration system” can generally refer to a system for managing, orchestrating, and/or automating operating system level virtualization. Such systems may involve the kernel allowing the existence of multiple isolated user space instances, which can be referred to as containers, zones, virtual private servers, partitions, virtual environments, virtual kernels, or jails. In some examples, the managed orchestration system can be open source. In one illustrative example of the managed container-orchestration system, the system includes Kubernetes and/or a cloud computing platform implementation of Kubernetes, such as Elastic Kubernetes Service. As used herein, the term “cloud native computing package manager” can generally refer to a software application that manages the creation, maintenance, handling, and/or deployment of software packages and/or file charts for deployment on a cloud computing platform. An illustrative example of the cloud native computing package manager can include HELM.
In example embodiments, one or more of the data centers shown within diagram 200 may provide a cloud computing platform on which is implemented a cellular telecommunication network core that, when configured in coordination with radio access network 204 and user equipment 202, provides cellular service to an end-user of user equipment 202. In particular, the cellular telecommunication network may include a cloud-native open radio access network providing fifth-generation and beyond cellular services through virtualization, in which hardware and/or infrastructure components are implemented as software components (e.g., containerized software components or network functions) within a cloud computing platform, such as an on-demand public cloud computing platform, for example.
In the example of diagram 200, breakout edge data center 206 may provide a managed container-orchestration system (e.g., Elastic Kubernetes Service) cluster 208 on which executes a containerized network function as part of the fifth-generation cellular telecommunication network. In this particular example, the network function at cluster 208 may include a user plane function directed to data services, such as cellular Internet data services.
In contrast, the instances of regional data center 207 may execute one or more instances of a cluster 220 and/or a cluster 222, which execute respective containerized network functions. In particular, cluster 220 may execute a user plane function directed to voice (e.g., telephone calls over the 5G network) and/or cluster 222 may execute a short message service function (“SMSF”) directed to short message service or text messaging functioning. As another example, the instances of national data center 209 may operate a managed container-orchestration system cluster 224, which may execute a containerized network function in terms of a unified data repository or database that stores subscription-related data. Indicator 210 further indicates to the reader that cluster 224, when executing the unified data repository, helps to verify whether a subscriber is valid and, therefore, whether the subscriber has permission to receive cellular service. Although the example of this figure is described in terms of a fifth-generation cellular telecommunication network, those having skill in the art will readily ascertain that the various embodiments and inventive concepts described herein are equally applicable to earlier and later generation cellular telecommunication networks, in a substantially parallel manner, when those networks are virtualized for operation on a cloud computing platform, as discussed above and in more detail further below.
Generally speaking, embodiments of one or more inventive solutions described herein may focus upon infrastructure-defining data, which may be specified in files such as YAML and/or JSON files, and the correlation of this infrastructure-defining data with network function application data to thereby provide an understanding of network behavior. In particular, correlating the infrastructure-defining data with network function application data may provide insights regarding what kind of requests the network is processing at a particular point in time, as well as insights regarding how the overall infrastructure is behaving. These correlations may be extracted or identified using machine learning methodologies, as discussed further below, thereby creating a corresponding predictive machine learning model. In some examples, these correlations may be agnostic regarding the particular processing that is occurring on the network functions, while nevertheless the correlations may provide insights regarding how the infrastructure is behaving under multiple different variations of loads. The predictive machine learning model may also further provide insights or predictions regarding how particular network function actions may trigger corresponding failures within the cellular telecommunication network. Generally speaking, these predictions may be valuable at least to the extent that the predictions provide warnings regarding failures before the failures actually occur, thereby enabling administrators or the network itself (see the discussing of self-improving networks with respect to
The above methodology is particularly well-suited to an environment, such as the environment depicted in
More specifically, in some embodiments, the feature enabling the quantitative and qualitative improvements in terms of observability metrics includes a platform-specific tool that the cloud computing platform provides for monitoring its services. The tool may be platform-specific in the sense that it is provided by the cloud computing platform rather than the cellular telecommunication network core provider (e.g., in scenarios where these two entities are independent and distinct). In the example of Amazon Web services, the platform-specific tools may include CloudWatch logs, although the various technologies disclosed in this application are not limited to that particular brand or implementation. Platform-specific tools may provide quantitative and qualitative improvements in terms of observability, in comparison to traditional (off-cloud) cellular telecommunication network infrastructures, for at least two separate reasons. First, the use of virtualization provides bit-by-bit perfect measurement information which is not otherwise available or practical in the context of off-cloud or analog cellular telecommunication network infrastructures. Second, the use of platform-specific measurement tools benefits from the greater understanding, visibility into, and/or access to the cloud computing platform, its resources, and/or its underlying physical infrastructure than that possessed by the cellular telecommunication network carrier leveraging such a cloud computing platform for provisioning of a fifth-generation network. Accordingly, there may be no individuals within a traditional off-cloud cellular telecommunication network carrier who would have such a meaningful and comprehensive understanding of the network's behavior. The platform-specific measurement tools provide greater versatility and provide more granular inputs and outputs than traditional measurement tools associated with off-cloud infrastructures. These more granular inputs and outputs can provide higher resolution data along various axes or spectrums, such as time, than the traditional measurement tools associated with off-cloud infrastructures.
In particular, diagram 300 shows each one of a multitude of distinct network functions that are being executed within the cloud computing platform as part of the fifth-generation cellular telecommunication network core. These network functions may include generic management cluster network functions 312-328, a call session control function 332, an Internet protocol short message gateway function 334, a unified data management/authentication server function 336, a secure telephone identity revisited (STIR) and signature-based handling of asserted information using tokens (SHAKEN) function 340, a service centralization and continuity application server function 342, a home subscriber server (HSS)/home subscriber register (HLR) function 344, a development management function 346, a short message service function 348, a shared data layer/zero touch service function 350, an equipment identity register network function 352, an access session border controller directed to media function 380, an interconnect session border controller directed to media function 382, an access session border controller directed to network function 384, an interconnect session border controller directed to signaling function 385, a multimedia resource function 386 directed to transcoding, an access border controller directed to zero touch service function 390, a multimedia resource function 393 directed to general functioning, an access and mobility management function 374, an evolved packet data gateway function 373, a session management function 375, a user plane function 376 directed to voice, and a user plane function 394 directed to cellular Internet data.
As further shown within diagram 300, the cloud computing platform can provide different types of clusters to accommodate different customer preferences or requirements. A legend 370 helps to indicate four illustrative examples of such different types of clusters that the cloud computing platform provides to the cellular telecommunication network carrier. As shown, legend 370 indicates that these different types of clusters may include a virtual network function, a normal cluster for a containerized network function at a national data center, a performance cluster for a containerized network function at a national data center, and the performance cluster for a containerized network cluster at a regional data center or a breakout edge data center. The different hatching used within diagram 300 helps to illustrate how the virtual network function type of cluster may be used for cluster 308 executing generic management cluster network functions 312-328, the normal type of cluster for containerized network functions at a national data center may be used for the network functions executing within a cluster 330, the performance type of cluster for containerized network functions at a national data center may be used for the network functions executing at a cluster 378, and the performance type of cluster for containerized network functions executing at regional data centers and/or breakout edge data centers may be used for the network functions executing at a cluster 373 and a cluster 393. Generally speaking, the performance types of clusters may be used for network functions that have a higher degree of criticality or importance to the overall functioning of the cellular telecommunication network, or which require or request higher resiliency, lower latency, or lower processing times, in comparison to other network function such that the performance types of clusters provide higher speed or reliability, for example, even if the cost is higher.
In one example, the three different types of logs may correspond to three different types of clusters: performance clusters, generic clusters, and management clusters. Due to their nature relating to low latency, performance clusters may provide logs at a higher frequency, such as every 15 seconds. As used herein, the term “log” can generally refer to a snapshot description of how a particular cluster is performing or operating at a particular time stamp. Such a log may describe one or more of the following items of data: how much computational power is available, CPU utilization, memory utilization, one or more limitations that have been specified with respect to the cluster, general usage, how much free space is available, etc. In contrast, in some examples, generic clusters and/or management clusters may provide logs at lower frequencies, such as every 60 seconds.
Additionally, as further shown within diagram 400, open network pattern reactor 402 may further include pattern detection 426, which may include a managed container-orchestration system resource recommender 428, a root cause analysis 430, and/or a machine learning powered tremor detector 432, such as an anomaly detector, for example. Pattern detection 438 may correspond to the machine learning model of method 100, although one or more of its subcomponents shown in
As discussed above, in some examples, pattern detection 426 may operate in a plug-and-play manner with respect to cloud native computing package manager 404-1, managed container-orchestration system facilitator application 406-1, and/or managed container-orchestration system 408-1. Generally speaking, pattern detection 426 may be generated by a software development kit, may form a software development kit, and/or may be included within a software development kit. In such examples, the software development kit and/or its generated program can include a plug-and-play component that interfaces with the cloud native computing package manager in a manner that is agnostic between different brands of cloud native computing package manager. Additionally, or alternatively, in some examples the software development kit is configured such that deploying the modified file chart is performed through a managed container-orchestration system facilitator application. In these examples, the software development kit can include a plug-and-play component that interfaces with the managed container-orchestration system facilitator application in a manner that is agnostic between different brands of managed container-orchestration system deployment facilitator applications. Similarly, in further examples, the software development kit can include a plug-and-play component that interfaces with the managed container-orchestration system in a manner that is agnostic between different brands of managed container-orchestration systems.
As further shown within
In terms of workflow, pattern detection 426 and/or machine learning powered tremor detector 432 may ingest one or more of the logs generated by platform-specific monitoring tool 410. In some examples, the logs may form JSON files. The logs and/or JSON files may be ingested into a pre-processing component (see data ingestion/pre-processing 1002 in
Optionally, the results of detecting whether or not one or more logs or log subcomponents indicates a tremor or anomaly may be indicated to a human data analyst or network engineer. The human data analyst or network engineer, individually or in cooperation with open network pattern reactor 402, may determine or recommend one or more specific actions or network modifications to be performed in response. Alternatively, in another example, open network pattern reactor 402 may operate in a manner that is effectively autonomous and self-improving, thereby minimizing or eliminating human intervention, as discussed in more detail below.
Generally speaking, cloud native computing package manager 404-1 may manage, administer, maintain, and/or deploy one or more file packages that defines or specifies all, or part of the corresponding cellular telecommunication network core implemented on the cloud computing platform. Accordingly, any change to the cellular telecommunication network core may be associated with a corresponding change to the file package. Such a change may be recommended by managed container-orchestration system resource recommender 428, resulting in the modified or updated file package being generated by cloud native computing package manager 404 and deployed using managed container-orchestration system 408-1 on a cloud computing platform and its corresponding data centers. One or more examples of managed container-orchestration system facilitator application 406-1 may assist, facilitate, streamline, and/or render more efficient this deployment process, as further discussed above.
Both
As discussed above, machine learning powered tremor detector 432 may be powered by machine learning. The machine learning model generated by, or corresponding to, machine learning powered tremor detector 432 may be descriptive in the sense that it predicts future states of the network or one or more network subcomponents in response to previous or current states of the network or its subcomponents. Additionally, or alternatively, machine learning powered tremor detector 416 may be descriptive in the sense of simply identifying statistical or other tremors or anomalies, which deviate beyond a threshold or other indicator of normal or expected performance variation, without necessarily indicating or suggesting a future state of the network. In other words, in some examples machine learning powered tremor detector 432 can identify tremors, anomalies, and/or warnings regarding abnormalities in terms of network behavior without necessarily suggesting a future consequence of such abnormalities.
Additionally, or alternatively, managed container-orchestration system resource recommender 428 may also be powered by machine learning. In some examples, managed container-orchestration system resource recommender 428 may form, or correspond to, a machine learning model that is distinct and independent from machine learning powered tremor detector 432. In other examples, managed container-orchestration system resource recommender 428 and machine learning powered tremor detector 416 may form part of the same machine learning model or subcomponents within the same overall machine learning model.
In some examples, managed container-orchestration system resource recommender 428 may be prescriptive rather than descriptive, in contrast to machine learning powered tremor detector 432. Accordingly, rather than merely (i) flagging or labeling anomalous network behavior and/or (ii) describing predicted future events in response to previous or current events are network conditions, managed container-orchestration system resource recommender may prescriptively label an ingested description of a condition of a network and/or network subcomponent with a corresponding recommended action and/or recommended network modification. In some examples, managed container-orchestration system resource recommender 428 may operate on output from root cause analysis 430 in a manner that deemphasizes and/or excludes one or more items of more comprehensive log information used as the input to root cause analysis 430. In other words, in these examples, managed container-orchestration system resource recommender 428 may rely upon root cause analysis 430 to at least partially strip-down and/or simplify one or more instances of more comprehensive logs to thereby focus upon the extracted root cause generated as the output of root cause analysis 430. In response to ingesting a description of the extracted root cause from root cause analysis 430, managed container-orchestration system resource recommender 428 may label or classify the root cause with a recommended action or recommended network modification, or otherwise output such a recommendation.
When adopting a recommended specific action or network modification, the corresponding action or modification may be implemented by changing the file chart generated by cloud native computing package manager 404-1 (i.e., modifying inputs to cloud native computing package manager 404-1 such that cloud native computing package manager 404-1 generates a modified file chart different than a previous version of the file chart that cloud native computing package manager 404-1 generated in a previous iteration), since the file chart effectively defines, structures, or configures the corresponding cellular telecommunication network core in the context of the virtualized environment provided by the cloud computing platform. More generally, the recommended actions or network modifications may include granular changes to the configurations of the managed container-orchestration system clusters deployed for implementing the cellular telecommunication network core.
Based upon the received information being input, machine learning model 412H can generate a set of candidate modifications, as indicated by a headline 442H. As used herein, the term “candidate modification” including the adjective “candidate” can refer broadly to both specific changes or deviations to the cellular telecommunication network core and/or to maintaining a current state of the cellular telecommunication network core rather than performing an actual modification. The example of diagram 400H shows five different candidate modifications 414H-422H. Candidate modification 414H corresponds to the null response or a decision to maintain the current configuration of the cellular telecommunication network core. Candidate modification 416H refers to a sizing modification to the cellular telecommunication network core, in which one or more resources may be dynamically or elastically increased or decreased in number or intensity, for example. Candidate modification 418H refers to locating or relocating a resource, such as a containerized network function 444H, to a particular or different location within the cloud computing platform. In particular, containerized network functions may be relocated, in some examples, closer to, or away from, the edge of the network or a centralized location within the network. Candidate modification 420H refers to specifying, changing, or updating a version of a containerized network function. Additionally, or alternatively, candidate modification 422H refers to specifying, changing, or updating a source or brand from which a particular containerized network function originates.
A headline 438H indicates that, in response to the generation of various candidate network modifications, machine learning model 412H or open network pattern reactor 402 may compare a predicted result of the network modification with a service level agreement. This comparison may result in scores 424H-432H, as indicated by a headline 440H, which indicates how well the predicted update to the cellular telecommunication network core would satisfy the service level agreement while also minimizing cost, for example. In general, the corresponding score may be sensitive to costs such that the scoring algorithm or heuristic, or other business logic, does not attempt to maximize the service level agreement without regard to cost, in which case an unreasonably large or infinite expenditure of cost may be used to maximize the service level agreement. Rather, the corresponding scoring algorithm may intelligently attempt to maximize price-performance with respect to the service level agreement and while reflecting or respecting one or more different weights indicating how sensitive or avoidant the scoring algorithm should be with respect to cost expenditures. In particular, from among multiple different candidate modifications that each successfully satisfy the service level agreement, the machine learning model may intelligently select the particular candidate modification that satisfies the service at the lowest cost. At a decision step 436H, the machine learning model or open network pattern reactor may select the candidate network modification resulting in the highest predicted score. In the example of diagram 400H, this may correspond to candidate modification 416H, as shown, such that the machine learning model may subsequently perform, initiate, or otherwise command the implementation of that specific candidate modification to the cellular telecommunication network core at a step 434H.
Similar to
In the context of
State 514 may refer to a set of some or all numerical data describing the cellular telecommunication network, such as data retrieved from platform-specific monitoring tool 410. The corresponding machine learning model or pattern detection layer 502 can attempt to understand behavioral patterns in terms of at least CPU, memory, and/or network utilization in response to one or more specific actions to be performed by containerized network functions of the cellular telecommunication network core. Generally speaking, the machine learning model can predict one or more effects of one or more actions being performed by the containerized network functions. Accordingly, pattern detection layer 502 may apply policy 512, using the predicted effects as inputs, to thereby generate one or more recommended actions (i.e., corresponding to the selection of the most desirable one of the predicted effects), as shown in diagram 500 using indicator 503.
Policy 512 may be configured to specify one or more recommended actions such that the recommended actions are intended to at least partially prevent a network deficiency identified as one of the predictable effects of current or previous behavior by the containerized network functions. As used herein, the term “network deficiency” can generally refer to any suboptimal performance within a network according to a policy or design specifications. In some examples, predicting the network deficiency can include predicting a deviation from a service level agreement beyond a threshold. For example, policy 512 may effectively monitor for predicted future deviations from one or more goals, objectives, and/or specifications of a service level agreement. Upon detecting a predicted future deviation from a goal or other term of the service level agreement, policy 512 may specify a recommended action that is intended to at least partially prevent or remediate the predicted future deviation. Performance of the recommended action corresponding to indicator 503 may result in a new environment 506, which can correspond to an updated version of state 514 (where s indicates the previous state and s′ may indicate the new state resulting from the recommended action). Additionally, or alternatively, pattern detection layer 502 may apply one or more evaluation functions to environment 506 to further ascertain whether the change in state 514, in response to the performance of the recommended action corresponding to indicator 503, was preferable or instead not preferred or undesirable. In other words, method 100 may further include, in some examples, evaluating a result of the modification to the file chart generated by the cloud native computing package manager in comparison to a service level agreement between an operator of the cellular telecommunication network core and a user of the cellular telecommunication network.
For example, pattern detection layer 502 may monitor whether the recommended action exacerbated or increased the deviation from the specified goal or other term of the service level agreement. In such cases, pattern detection layer 502 may effectively penalize the recommended action corresponding to indicator 503 within deep neural network 510. Alternatively, as shown, pattern detection layer 502 may apply a reward 502 to the recommended action corresponding to indicator 503 based on the evaluation function indicating that the change in state 514 was preferred or desirable, such as by preventing a deviation from the goal or term of the service level agreement, as further discussed above. In other words, in some examples method 100 may further include penalizing or rewarding, within the deep neural network, the modification to the file chart generated by the cloud native computing package manager based on the evaluated result of the modification to the file chart generated by the cloud native computing package manager.
Illustrative examples of actions corresponding to indicator 503 may include instantiating or spinning up a new cluster within the managed container-orchestration system, instantiating a new instance of a containerized network function within the cellular telecommunication network core, increasing an amount of computational resources available to the network, increasing a number of bytes available for processing by a corresponding containerized network function, and/or any one or more of the illustrative examples of types of network modifications shown in
Generally speaking, the neural network 510 may correspond to managed container-orchestration system resource recommender 428 within pattern detection 426 shown in diagram 400 of
In some examples, modifying the file chart generated by the cloud native computing package manager and deploying the modified file chart is performed by the cellular telecommunication network core such that the cellular telecommunication network core is autonomously self-improving. More specifically, in some examples, penalizing or rewarding, within the deep neural network, the modification to the file chart generated by the cloud native computing package manager is performed by the cellular telecommunication network core such that the cellular telecommunication network core is autonomously self-improving.
As shown within diagram 500, pattern detection layer 502 can correspond to open network pattern reactor 402, and both of these can operate in a manner that is autonomously self-improving. For example, pattern detection layer 502 may operate in a manner that forms a closed loop, as shown, such that human intervention is reduced, eliminated, or otherwise rendered unnecessary, including intervention by a DevOps engineer or a network engineer, for example.
As further described above, state 514 may include some or all of the numerical measurements available to the cellular telecommunication network core about its own state and/or behavior. In various examples, the technology of this application may benefit from, or otherwise leverage, one or more platform-specific tools that monitor the operation or behavior of subcomponents within the cloud computing platform on which the cellular telecommunication network core is executing. The platform-specific tools may provide logs in the form of JSON files that describe various attributes and/or behaviors of one or more subcomponents of the cloud computing platform. These logs can provide a rich and comprehensive database of information on which to generate state 514 for pattern detection layer 502. In particular, the logs can provide a higher level of resolution and/or granularity in comparison to off-cloud measurement tools used in related methodologies, as further discussed above.
Similar to
Containerized network function 510B and containerized network function 544C may correspond to labels 440H-450H, as further discussed above. In other words, in some examples, the various logs generated by the platform-specific monitoring tool may not include the identification of the containerized network function that a particular resource of the cloud computing platform, such as a node or a cluster, is executing, is assigned to, or is contributing to. The platform-specific monitoring tool may not necessarily possess this information for one or more reasons, including potentially the cloud computing platform not necessarily having visibility into or comprehension of the specific software processes being implemented by the customer or carrier administering the cellular telecommunication network. Accordingly, at a high level, this application discloses the inventive insight that such granular, robust, comprehensive, and/or high-frequency logs of information, which can indicate useful items of data such as computational usage, memory usage, network transactions, and/or errors, can be matched or correlated with the containerized network functions that are triggering or resulting in these results or effects within the cloud computing platform. For these reasons, in some examples, the logs can be labeled with the instance identifier and/or type of the containerized network function, and this labeled data can be used as training data for the machine learning model, according to supervised machine learning. In this manner, the machine learning model can thereby develop an understanding of the correlation between the actions that containerized network functions performed, on the one hand, and resource consumption or network effects on the other hand. This correlation can form a primary or fundamental correlation on which the machine learning model is built. Nevertheless, in further examples, this primary correlation can form the foundation for higher order or more complicated correlations to be ascertained by the machine learning model, including correlations between candidate network modifications, such as candidate modifications 414H-422H, and scores for formulas or heuristics directed to satisfying service-level agreements while minimizing cost, as further discussed above.
The cellular service carrier can perform the labeling because the cellular service carrier may possess this information (i.e., information indicating which particular containerized network function is executing at or is assigned to a particular resource within the cloud computing platform) as the customer or user of the cloud computing platform. In contrast, the platform-specific monitoring tool, as part of the cloud computing platform, may not necessarily possess this information readily and/or may not automatically include this information within the corresponding logs. Accordingly, this application discloses an inventive methodology whereby the information identifying the containerized network function can be inserted or labeled onto these logs to train a machine learning model and/or to form inputs into a previously-trained machine learning model.
The example of diagram 600 indicates a single model, corresponding to long short-term memory autoencoder 640, but in additional or alternative examples multiple models may be used. In such examples, the multiple models may be communicatively interconnected such that they can share inferences and/or other information, with the goal of minimizing a number of penalties inflicted upon a particular recommended action or recommended modification to the cellular telecommunication network core.
As further shown within
In the context of the deep neural network or bidirectional long short-term memory autoencoder described above, one goal would be to minimize the differences between the predicted values, which correspond to the instances of the square icons, on the one hand, and a remaining type of value charted within diagram 700, either the actual data points corresponding to the circle icons and/or the decoded data points corresponding to the triangle icons. When the difference between these two sets of data points is sufficiently minimized according to a policy or threshold comparison, then this may trigger or initiate the deep neural network to recommend the corresponding specific action or modification to the cellular telecommunication network core.
With respect to method 100 and/or the machine learning models described above in connection with
Diagram 800 also illustrates how a multitude of different applications within the network stack 801 and data dependent applications 803 are implemented within a cloud computing platform, as indicated by the different instances of a cloud computing platform indicator 802. In contrast, a local server indicator 818 highlights to the reader that radio access network local applications 816 may be implemented locally rather than in the cloud.
As further discussed above, network stack 801 and data dependent applications 803 may be configured according to a continuous integration and continuous delivery (CI/CD) pipeline, including network CI/CD 842 and data CI/CD 844. Network CI/CD 842 and data CI/CD 844 may store data within a corresponding cloud storage bucket indicated by different instances of cloud storage bucket 830. Data CI/CD 844 may further include data infrastructure templates 846. Diagram 800 also further indicates how network CI/CD 842 provides generic network information regarding inventory, whereas data CI/CD 844 provides data inventory information, including infrastructure metrics and logs 880.
Diagram 800 further includes, at the bottom, a data platform governance component 834, which further includes a data access management component 836, a data product catalog 838, and the data monitoring and policy component 840. Data access management component 836 may perform auto-registration procedures, whereas data product catalog 838 may generate a catalog 880 automatically, as shown.
On the right-hand side, diagram 800 may further illustrate how data dependent applications 803 interact with a cellular telecommunication network API 872, which provides an interface with an enterprise CI/CD component 874, end-users 876, and/or an enterprise observability framework 878, as shown. Cellular telecommunication network API 872 may also ingest enterprise service level indicators 880 from distributed event store and stream processing pipeline 868.
Infrastructure domain account 946 may ingest data from the independent software vendor accounts by utilizing a data firehose 950, which is configured to handle a massive amount of streaming data. One illustrative example of data firehose 950 may include Kinesis. The ingested data may be processed by a component 956, such as Lambda, to provide decoding, decompression, and/or data governance registry processing (e.g., Kafka Schema processing). Infrastructure domain account 946 may also maintain a virtual public cloud 962, including three instances of a storage bucket corresponding to raw data storage, main data storage, and error data storage, as shown.
In the bottom, diagram 1000 also further indicates how each one of the different three stages of the workflow may use a different brand, product, and/or solution for computing code and for computational power, respectively. These are indicated by respective and different identifiers, ID1-ID6. After model deployment and inferencing stage 1028, data may be stored as output within an open storage bucket 1040.
In particular, shown is example host computer system(s) 1201. For example, such computer system(s) 1201 may execute a scripting application, or other software application, as further discussed above, and/or to perform one or more of the other methods described herein. In some embodiments, one or more special-purpose computing systems may be used to implement the functionality described herein. Accordingly, various embodiments described herein may be implemented in software, hardware, firmware, or in some combination thereof. Host computer system(s) 1201 may include memory 1202, one or more central processing units (CPUs) 1214, I/O interfaces 1218, other computer-readable media 1220, and network connections 1222.
Memory 1202 may include one or more various types of non-volatile and/or volatile storage technologies. Examples of memory 1202 may include, but are not limited to, flash memory, hard disk drives, optical drives, solid-state drives, various types of random access memory (RAM), various types of read-only memory (ROM), neural networks, other computer-readable storage media (also referred to as processor-readable storage media), or the like, or any combination thereof. Memory 1202 may be utilized to store information, including computer-readable instructions that are utilized by CPU 1214 to perform actions, including those of embodiments described herein.
Memory 1202 may have stored thereon control module(s) 1204. The control module(s) 1204 may be configured to implement and/or perform some or all of the functions of the systems or components described herein. Memory 1202 may also store other programs and data 1210, which may include rules, databases, application programming interfaces (APIs), software containers, nodes, pods, clusters, node groups, control planes, software defined data centers (SDDCs), microservices, virtualized environments, software platforms, cloud computing service software, network management software, network orchestrator software, network functions (NF), artificial intelligence (AI) or machine learning (ML) programs or models to perform the functionality described herein, user interfaces, operating systems, other network management functions, other NFs, etc.
Network connections 1222 are configured to communicate with other computing devices to facilitate the functionality described herein. In various embodiments, the network connections 1222 include transmitters and receivers (not illustrated), cellular telecommunication network equipment and interfaces, and/or other computer network equipment and interfaces to send and receive data as described herein, such as to send and receive instructions, commands and data to implement the processes described herein. I/O interfaces 1218 may include a video interface, other data input or output interfaces, or the like. Other computer-readable media 1220 may include other types of stationary or removable computer-readable media, such as removable flash drives, external hard drives, or the like.
The various embodiments described above can be combined to provide 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.