Systems and methods for AI policy-based automated assurance

The integration of AI/ML in event-driven architectures allows for real-time network optimization by generating adaptive policies, addressing inefficiencies in existing systems and enhancing operational efficiency.

JP2025533395AActive Publication Date: 2025-10-07RAKUTEN SYMPHONY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025513413
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-12-13
Publication Date
2025-10-07
Estimated Expiration
2042-12-13

AI Technical Summary

Technical Problem

Existing event-driven architectures (EDAs) often rely on text-based communication patterns, which can be inefficient and lack real-time adaptability, leading to high turnaround times in optimizing network operations.

Method used

A system utilizing a policy manager that integrates AI/ML applications to receive events, generate new assurance policies, and trigger corrective actions based on AI/ML recommendations, enabling real-time optimization of network resources and operations.

Benefits of technology

This approach enhances network assurance by optimizing operations in near real-time, reducing manual intervention, and improving the efficiency and responsiveness of network management systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025533395000001_ABST
    Figure 2025533395000001_ABST
Patent Text Reader

Abstract

The system includes a processing circuit; and a memory coupled to the processing circuit, the memory configured to store executable instructions that, in response to being executed by the processing circuit, facilitate performance of operations including receiving, by a policy manager, one or more events from a data bus; triggering an existing assurance policy based on the one or more events; triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing assurance policy; receiving, by the policy manager, change recommendations from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendations from the AI / ML application; and triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy that implements the change recommendation.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This description relates to a system for automated assurance based on AI-recommended policies and methods for using the same. [Background technology]

[0002] Event-driven architecture (EDA) is a software architecture that facilitates the production, detection, consumption, and reaction to events. An event is a change in state or an annotated label based on the logged output of an entity in the system. For example, when a consumer purchases an online product, the product's state changes from "for sale" to "sold." The seller's system architecture treats this state change as an event, and its occurrence is signaled to other applications in the architecture. Summary of the Invention [Problem to be solved by the invention]

[0003] What is produced, published, propagated, detected, or consumed are messages called event notifications and non-events, which are state changes that trigger message emissions. Events occur, and event messages are produced and propagated to report the events that occurred. Nevertheless, the term "event" is often used metonymically to refer to notification event messages. EDAs are often designed on message-driven architectures where such communication patterns involve one of the inputs (e.g., message) to be text-based to differentiate how each communication is handled. [Means for solving the problem]

[0004] In some embodiments, a system includes a processing circuit; and a memory coupled to the processing circuit, the memory configured to store executable instructions that, in response to being executed by the processing circuit, facilitate performance of operations including receiving, by a policy manager, one or more events from a data bus; triggering an existing assurance policy based on the one or more events; triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing assurance policy; receiving, by the policy manager, change recommendations from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendations from the AI / ML application; and triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy that implements the change recommendation.

[0005] In some embodiments, a method performed by the processing circuitry includes receiving, by a policy manager, one or more events from a data bus; triggering an existing assurance policy based on the one or more events; triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing assurance policy; receiving, by the policy manager, a change recommendation from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendation from the AI / ML application; and triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy that implements the change recommendation.

[0006] In some embodiments, in a non-transitory tangible computer-readable storage medium having a computer program stored thereon, the computer program includes instructions that, when executed, cause a processing circuit to perform operations including receiving, by a policy manager, one or more events from a data bus; triggering, based on the one or more events, an existing assurance policy; triggering, based on the existing assurance policy, a prediction request to an artificial intelligence (AI) / machine learning (ML) application; receiving, by the policy manager, a change recommendation from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendation from the AI / ML application; and triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy that implements the change recommendation. [Brief explanation of the drawings]

[0007] Aspects of the present embodiments are best understood from the following detailed description read in conjunction with the accompanying drawings. In accordance with standard practice in the industry, various features are not drawn to scale. Dimensions of various features have been arbitrarily increased or decreased for clarity of discussion.

[0008] FIG. 1 is a block diagram of a correlation and policy engine (CPE) according to some embodiments.

[0009] FIG. 2 is a diagrammatic representation of a CPE, according to some embodiments.

[0010] FIG. 3 is a data flow diagram of a method for physical resource block (PRB) management, according to some embodiments.

[0011] FIG. 4 is a data flow diagram of a method for automatic level scaling, according to some embodiments.

[0012] FIG. 5 is a data flow diagram of a method for data center resource optimization, according to some embodiments.

[0013] FIG. 6 is a high-level functional block diagram of a processor-based system according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0014] The following embodiments include many different examples for implementing different features of the subject matter. Examples of components, values, operations, materials, arrangements, etc. are described below to simplify the embodiments. These are, of course, examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc. are also contemplated. For example, the formation of a first feature above or on a second feature in the following description includes embodiments in which the first and second features are formed in direct contact, and further includes embodiments in which an additional feature is formed between the first and second features such that the first and second features are not in direct contact. Additionally, the present embodiments repeat reference numerals and / or letters in various examples. This repetition is for simplicity and clarity and is not intended to suggest a relationship between the various embodiments and / or configurations discussed.

[0015] Additionally, spatially relative terms such as "beneath," "below," "lower," "above," "upper," and the like may be used herein for ease of description to describe the relationship of one element or feature to another element or feature as illustrated in the figures. Spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation shown in the figures. One or more device embodiments may be otherwise oriented (rotated 90 degrees or at other orientations), and the spatially relative descriptors used herein may be similarly interpreted accordingly.

[0016] EDA architectural patterns are applied by the design and implementation of applications and systems that transmit event messages between loosely coupled software components and services. Event-driven systems typically consist of event emitters (agents, data sources), event consumers (sinks), and event channels (the medium through which event messages travel from emitters to consumers). Event emitters detect, collect, and forward event messages. Event emitters cannot know the consumers of event messages; they cannot even know if event consumers exist; and if consumers exist, they cannot know how the event messages will be used or further processed. Event consumers apply reactions upon presentation of event messages. Reactions may or may not be provided entirely by the event consumer. For example, event consumers may filter event message frames while event policies perform and generate transformations to forward the event message frames to other components, or event consumers may provide self-contained reactions to such event message frames. An event channel is a conduit through which event message frames are transmitted from event emitters to event consumers. In some embodiments, after an event consumer receives an event message frame, it becomes an event emitter and forwards the event message frame to other event consumers. The configuration for the correct delivery of event message frames resides within the event channel. The physical implementation of an event channel is based on components such as message-oriented middleware or point-to-point communication, which may rely on a more appropriate transaction execution framework (e.g., a configuration file that establishes the event channel).

[0017] A correlation and policy engine (CPE) is a software application that programmatically understands relationships. CPEs are configured for use in system management tools to aggregate, normalize, and analyze event data. Event correlation is a technique for making sense of a large number of events and identifying a small number of significant events in a mass of information. This is achieved by exploring and analyzing the relationships between events. Additionally, a CPE is a program or process that receives machine-readable policies and applies them to specific problem domains to constrain the behavior of network resources.

[0018] In programming and software design, an event is a change of state (e.g., an action or occurrence) recognized by software that often arises asynchronously from the external environment handled by the software. Computer event messages are generated or triggered by the system, by a user, or in other ways based on events. Event messages are handled synchronously with program flow; that is, software is configured to have one or more dedicated locations (e.g., data sinks) where event messages are handled. Sources of event messages include users interacting with the software through computer peripherals (e.g., by typing on a keyboard). Other sources are hardware devices such as timers. The software is further configured to trigger its own set of event messages into event channels (e.g., to communicate the completion of a task). Software that changes behavior in response to event messages is said to be event-driven, often with the goal of being interactive.

[0019] The Policy Manager is a network assurance policy engine that triggers actions on northbound systems based on the matching of defined conditions on events received from southbound systems.

[0020] The policy manager decides (Decision) to what extent a service / device is allowed to do what it is attempting / requesting, and can enforce that decision (Enforcement). Some examples of policies include (1) can customers use this service? (2) is there enough capacity to support this new service? (3) what happens to non-SLA (Service Level Agreement) customers when a node approaches congestion? (4) is a service request / activity a security threat?

[0021] Rule-based systems are configured to be used to store and manipulate knowledge to interpret information in useful ways. Typically, the term "rule-based system" applies to systems with human-created or curated rule sets.

[0022] In software-defined networking (SDN), the southbound interface is the OpenFlow protocol specification that enables communication between controllers, switches, and other network nodes with low-level components. This also allows routers to identify network topology, determine network flows, and implement requests sent to the router via the northbound interface. The southbound application programming interface (API) allows end users to gain greater control over the network, increasing the efficiency level of the SDN controller as it evolves based on real-time demands. Additionally, the SDN controller communicates with the forwarding plane to make network changes that progressively move the SDN controller as enterprise calls evolve. To configure the network layer to be more responsive to real-time traffic demands, administrators add or remove entries from the internal flow tables of network switches and routers.

[0023] In contrast to southbound APIs, northbound interfaces enable communication between high-level components. While traditional networks use firewalls or load balancers to control data plane behavior, SDNs install applications that use controllers, and these applications communicate with the controllers through northbound interfaces. Northbound APIs facilitate innovation or customization of network control and processing for network operators because APIs can be cleaned by programmers fluent in programming languages ​​and this task does not require specialized knowledge. Northbound interfaces are APIs or protocols that allow low-level network components to communicate with higher-level or more central components. Meanwhile, southbound interfaces allow high-level components to send commands to low-level network components.

[0024] In some embodiments, automated assurance based on artificial intelligence (AI) recommendation policies is discussed. AI is machine-implemented intelligence, as opposed to the natural intelligence exhibited by animals and humans. AI refers to systems that perceive their environment and take actions that maximize the likelihood of achieving their goals.

[0025] In other approaches, implementing network assurance is based on manual procedures. Network assurance is based on network key performance indicators (KPIs), and manual tuning has been used to optimize network operations. However, the turnaround time for optimizing network assurance operations remains high (e.g., minutes to days).

[0026] A performance indicator, or KPI, is a type of performance measurement. KPIs evaluate the success of an activity (such as a project, program, product, or other initiative). KPIs provide a focus for strategic and operational improvement, generate an analytical basis for decision-making, and help focus attention on what is most important.

[0027] In some embodiments, the policy manager consumes recommendations from the AI / ML applications on an on-demand basis in response to conditions (e.g., predicted) in the network via a unified, high-throughput, low-latency platform for handling real-time data feeds. In some embodiments, the AI / ML applications suggest actions based on the learning models via data about events in JSON (an open-standard file format and data exchange format using human-readable text for storing and transmitting data objects composed of attribute-value pairs and arrays (or other serializable values)), which the policy manager consumes and triggers actions to northbound systems. In some embodiments, whole-network assurance (day 2) operations are optimized with the help of AI / ML recommendations streamed on a streaming processing platform (e.g., event channels) and consumed by a rules engine such as the policy manager. "Day 0" operations are design and procurement; "Day 1" operations are installation, provisioning, segmentation, and network startup; and "Day 2" operations are running the network.

[0028] In some embodiments, enhanced mobile broadband (eMBB) KPI / SLA real-time prediction and physical resource block (PRB) management for AI-driven network assurance is discussed.

[0029] An SLA is a commitment between a service provider and a client. Aspects of the service include quality, availability, and responsibility agreed upon between the service provider and the service user. The most common component of an SLA is that the service will be delivered to the customer as agreed upon in the contract. As an example, Internet service providers (ISPs) and telecommunications companies commonly include SLAs in the terms of their customer contracts to define in plain language the level of service being sold. In this case, the SLA typically includes technical definitions of mean time between failures (MTBF), mean time to repair, or mean time to restore (MTTR); identification of the party responsible for reporting or paying for failures; responsibility for various data rates; throughput; jitter; or similar measurable details.

[0030] In the long-term evolution (LTE is a standard for wireless broadband communications for mobile devices and data terminals based on the GSM / EDGE and UMTS / HSPA standards), a PRB is described as consisting of 12 contiguous subcarriers for one slot (0.5 ms) and is the smallest element of resource allocation assigned by the eNodeB (eNB is the hardware connected to the cellular network that communicates wirelessly directly with the mobile handset (UE), similar to the base transceiver station (BTS) in a GSM network). EMBB uses 5G as a successor to 4G LTE mobile broadband services, bringing faster connections, higher throughput, and more capacity, which is useful for higher traffic areas such as stadiums, cities, and concert venues.

[0031] In some embodiments, autoscaling at the cloud native network function (CNF), network function (NF), and / or network service (NS) level using AI predictions is discussed.

[0032] CNFs are software implementations or applications of functions that traditionally run on physical devices but run within containers. Because CNFs run as containers and their lifecycles can be managed by Kubernetes using container image registries such as OCI Docker or OS container runtimes, CNFs are characterized by containerized microservices that communicate with each other through standardized RESTful APIs, a small performance footprint, the ability to scale horizontally, and independence from the guest operating system.

[0033] The NF comprises: (1) an Access and Mobility Management Function (AMF) that supports termination of Non-Access Stratum (NAS) signaling, NAS encryption and integrity protection, registration management, connection management, mobility management, access authentication and authorization, and security context management; (2) a Session Management Function (SMF) that supports session management (session establishment, modification, and release), User Equipment (UE) IP address allocation and management, Dynamic Host Configuration Protocol (DHCP) functions, termination of NAS signaling related to session management, downlink (DL) data notification, and traffic steering configuration for the User Plane Function (UPF) for appropriate traffic routing; and (3) a Session Management Function (SMF) that supports packet routing and forwarding, packet inspection, and Quality of Service (QoS) handling, and serves as an external Protocol Data Unit (PDU) session point of interconnection to the Data Network (DN), interfacing with and between RATs (Radio Access Technologies) and DNs. (4) a unified policy framework that provides policy rules to the control plane (CP) functions, and a policy control function (PCF) that supports access to subscription information for policy decisions in the unified data repository (UDR); (5) an authentication server function (AUSF) that acts as an authentication server; (6) a unified data management (UDM) that supports authentication and key agreement (AKA) credential generation, user identity handling, access authorization, and subscription management; (7) an application function (AF) that supports application influence on traffic routing, access to the network exposure function (NEF), and interaction with the policy framework for policy control; (8) an NEF that supports capability and event exposure, secure provision of information from external applications to the 3GPP network, and internal / external information translation; and (9) a service discovery function that supports service discovery.It includes an NF repository function (NRF) that maintains NF profiles and available NF instances, and a network slice selection function (NSSF) that supports selecting a network slice instance to serve a UE, determining allowable NSSAIs, and determining the AMF set to be used to serve the UE.

[0034] A NS is an application running at or above the network application layer that provides data storage, manipulation, presentation, communication, or other capabilities based on application layer network protocols, often implemented using a client-server or peer-to-peer architecture. Each service is typically provided by a server component running on one or more computers (often dedicated server computers that offer multiple services) and accessed over the network by client components running on other devices.

[0035] In some embodiments, automated resource optimization in multiple data centers (DCs) through AI predictions is discussed.

[0036] A data center is a building, a dedicated space within a building, or a group of buildings used to house computer systems and related components such as communication and storage systems. Information technology (IT) operations are critical to business continuity and therefore include redundant or backup components and infrastructure for power supplies, data communication connections, environmental controls (e.g., air conditioning, fire protection), and various security devices.

[0037] In some embodiments where KPI / SLA real-time prediction and PRB management for eMBB slices is implemented, a virtualized distributed unit (vDU) pushes performance monitor (PM) metrics to an observability framework (OBF) application once per minute. The VDU runs as a virtual network function (VNF) within a network functions virtualization (NFV) infrastructure. The OBF application collects telemetry data from the NFs, enabling the use of AI / ML to optimize and operate the 5G network. The OBF application provides visibility into the performance and operation of the CNFs in near real time. This collected data is used to optimize the network through a closed-loop automation module that executes procedures to provide auto-scaling and healing while minimizing manual work and reducing errors.

[0038] In some embodiments, the OBF application performs decoding of the received PM data and publishes the PM data to a data bus, which is a communication system that transfers data between components within a computer or between computers. This term covers the associated hardware components (wires, optical fibers, etc.) and software, including communication protocols.

[0039] In some embodiments, a policy manager subscribes to any incoming events on the data bus and data bus sources (e.g., event sources). In some embodiments, an active policy for threshold monitoring in the policy manager is triggered based on one or more incoming events. In some embodiments, based on the triggered policy, the policy manager calculates the UE downlink throughput, expressed as equation (1).

number

[0040] Here, dl is downlink, thpt is throughput, GDRB is guaranteed, thp is throughput, Vol is volume, and D1 is the first data center and Packet Core Gateway (PCB). Thus, the UE throughput volume of the Packet Core Gateway (PCB) is guaranteed. PCB is a cloud-native user plane traffic processing and gateway function. Throughput represents the success rate of message delivery over a communication channel, such as Ethernet or packet radio, in a communication network. These messages contain data delivered over physical or logical links or through network nodes. Throughput is usually measured in bits per second (bit / s or bps), sometimes data packets per second (p / s or pps), or data packets per time slot. System throughput, or aggregate throughput, is the sum of the data rates delivered to all terminals in the network. Throughput is essentially synonymous with digital bandwidth consumption and is determined numerically by applying queuing theory, where the load in packets per time unit is expressed as the arrival rate (λ) and the drop in packets per time unit is expressed as the departure rate (μ). The throughput of a communication system is affected by various factors, including constraints such as the underlying analog physical medium, the available processing power of system components, and end-user behavior.

[0041] In cellular networks, the wireless downlink is the transmission path from the cell site to the mobile phone. Traffic and signaling that flows within the Base Station Subsystem (BSS) and Network Switching Subsystem (NSS) are further identified as the uplink and downlink. In computer networks, the downlink is the connection from data communications equipment to data terminal equipment. This is also known as the downstream connection.

[0042] Equation 1 describes how the download throughput of a UE is equal to the UE throughput volume over time, measured in bits per second. In some embodiments, the UE is a computer or computing system. Additionally or alternatively, the UE has a liquid crystal display (LCD), light emitting diode (LED), or organic light emitting diode (OLED) screen interface that provides a touchscreen interface with digital buttons and a keyboard or physical buttons along with a physical keyboard. In some embodiments, the UE connects to the Internet and interconnects with other devices. Additionally or alternatively, the UE integrates an integrated camera, the ability to make and receive voice and video calls, video games, and global positioning system (GPS) capabilities. Additionally or alternatively, the UE runs an operating system (OS) that allows the installation and execution of third-party apps specialized for those capabilities. In some embodiments, the UE is a computer (such as a tablet computer, netbook, digital media player, digital assistant, graphing calculator, handheld game console, handheld personal computer (PC), laptop, mobile internet device (MID), personal digital assistant (PDA), pocket calculator, portable media player, or ultra-mobile PC), a mobile phone (such as a camera phone, feature phone, smartphone, phablet), a digital camera (such as a digital camcorder or digital still camera (DSC), digital video camera (DVC) or front camera), a pager, a personal navigation device (PND), a wearable computer (such as a calculator watch, smartwatch, head-mounted display, earphones, biometric device, or the like), or a smart card.

[0043] In some embodiments, the result of equation (1) is evaluated against thresholds obtained from the slice manager and enrichment of Cloud Management as a Service (CMaaS) Radio Resource Management (rRm) policy data.

[0044] In some embodiments, the slice manager is responsible for the creation of network slices and NS subnets. The RRm ensures efficient use of available network resources. The slice manager is described as a network orchestrator that interfaces with various functions performed by each layer to coherently manage each slice request. The slice manager enables efficient and flexible slice creation that is reconfigured during the slice's lifecycle. Operationally, the slice manager is responsible for several tasks that provide more effective coordination between layers, such as end-to-end (E2E) service management, which is the mapping of various service instances (e.g., NSs) expressed in terms of SLA requirements to appropriate network functions that can satisfy the service constraints; virtualization of physical network resources to simplify resource management operations performed to allocate network functions; and slice lifecycle management to dynamically reconfigure each slice to accommodate possible SLA requirement changes.

[0045] The thresholds include guaranteed throughput (guaThpt), maximum throughput (maxThpt), rRMPolicyMaxRatio, rRMPolicyMinRatio, rRMPolicydedicatedRatio, and download throughput per UE dLThptPerUE low or dLThptPerUE high.

[0046] The rRM policy contains guidance on the split of radio resources between the slices that the cell supports. The rRM policy ratio is used to specify the percentage of PRBs for the corresponding slice, on a time average. In some embodiments, the sum of the values ​​is less than or equal to 100. The averaging time is implementation dependent.

[0047] In some embodiments, the policy manager triggers an AI / ML recommendation request. In some embodiments, the AI / ML application predicts new thresholds and streams recommendations onto the data bus along with new PRB counts. In some embodiments, the AI / ML recommendations are consumed from the data bus. In some embodiments, a new active policy is based on the AI / ML recommendations. In some embodiments, in response to a new active policy being triggered, the policy manager triggers the slice manager for a PRB configuration change.

[0048] In some embodiments, CNF / NF / NS level autoscaling using AI prediction is discussed. In some embodiments, UPF N3 DL PM data is sent to the OBF application every minute. The 5G N3 interface is responsible for carrying user data from the Radio Access Network (RAN) to the User Plane Function (UPF), enabling the creation of both low and high latency services.

[0049] In some embodiments, the OBF application performs enrichment of UPF N3 DL throughput counters in a central inventory. The policy manager includes an enrichment unit that enriches messages arriving with inventory information to ensure successful policy execution. In some embodiments, the enrichment unit is configured with a message enrichment cache that is built by an enrichment unit synchronization process. In a non-limiting example, a field or parameter is missing in received event data. Then, the event is enriched with the help of the inventory to fill in the missing fields and parameters, so that a decision is made and a predetermined action occurs.

[0050] In some embodiments, the policy manager subscribes to the data bus and incoming events. In some embodiments, an active policy for scaling in the policy manager is triggered based on the incoming events. In some embodiments, the policy manager calculates the slice utilization percentage and evaluates whether a threshold has been breached. Non-limiting examples include a scale-in threshold below 40% or a scale-out threshold above 60%. In response to a threshold being breached, the policy manager triggers an AI / ML recommendation request. In some embodiments, the AI / ML application predicts a new threshold and streams a recommendation onto the data bus along with the new scale-in or scale-out threshold. In some embodiments, the AI / ML recommendation is streamed from the data bus and consumed by the policy manager. In some embodiments, a new active policy based on the AI / ML recommendation is generated by the policy manager. In some embodiments, in response to the new active policy being triggered, a slice manager action for a UPF scale-in or scale-out operation is triggered.

[0051] In some embodiments, automated resource optimization with AI predictions in multiple DCs is discussed. In some embodiments, a user request to optimize a slice is sent to a slice manager via a user interface (UI). In some embodiments, the slice manager streams the request over a data bus. In some embodiments, a policy manager consumes the request from the slice manager over the data bus to optimize the slice. In some embodiments, an active policy for optimizing the slice in the policy manager is triggered based on an incoming event. In some embodiments, based on the triggered policy, the policy manager triggers an AI / ML recommendation request. In some embodiments, an AI / ML application predicts a threshold and streams a recommendation with a "MIGRATE UPF" over the data bus. In some embodiments, the AI / ML recommendation is streamed over the data bus and consumed by the policy manager. In some embodiments, a new active policy is generated in the policy manager based on the AI / ML recommendation. In some embodiments, in response to an incoming event that triggers the new active policy, the policy manager triggers the slice manager to perform a "UPF MIGRATE" operation on a second DC.

[0052] FIG. 1 is a block diagram of a correlation and policy engine (CPE) 100 according to some embodiments.

[0053] The CPE 100 generally includes an event source input block 102, a policy manager block 104, and an action consumer block 106.

[0054] The event source input block 102 includes an event emitter (an agent, a data source, or an event emitter in other suitable embodiments). The event emitter detects, collects, and forwards event messages. The event emitter cannot know the consumers of the event messages, nor can it know if there are even any event consumers, and if there are any, how the event messages will be used or further processed.

[0055] Event sources 102 include events from cloud network 108. Cloud network computing is the on-demand availability of computer system resources, particularly data storage (e.g., cloud storage) and computing power, without direct, active management by users. Large clouds often have functions distributed across multiple locations, each of which is a data center. Event sources from cloud network 108 are events that occur in the cloud network. In a non-limiting example, one or more incidents occur within a DC (a building, a dedicated space within a building, or a group of buildings used to house computer systems and related components such as communication and storage systems) of cloud network 108.

[0056] Event sources 102 include events from a 5G Core Network (CN) 110. The backbone or CN 110 is a portion of a computer network that interconnects networks and provides a pathway for the exchange of information between different local area networks (LANs) or subnetworks. The CN ties together various networks within the same building, different buildings in a campus environment, or across a wide area. A large enterprise with many locations has a CN to tie the locations together, for example, because a server cluster needs to be accessed by different divisions of the company located in different geographic locations. The portion of the network connection (e.g., ethernet, wireless) that ties these divisions together is often referred to as the CN. One example of a CN is the Internet backbone. Event sources from the 5G CN 110 are events that occur in the 5G CN. In a non-limiting example, one or more incidents occur within a server cluster (a set of servers that work together to appear as a single system (each node is configured, controlled, and scheduled by software to perform the same task)) of the 5G CN 110.

[0057] The event source 102 includes an event from a 5G radio access network (RAN) 112. The RAN is part of a mobile communication system. The RAN implements radio access technology. The RAN resides between devices such as mobile phones, computers, or remotely controlled machines and provides connectivity to a CN such as the CN 110. Depending on the standard, mobile phones and other wirelessly connected devices are known by different names such as UE, terminal equipment (TE), and mobile station (MS). Examples of RAN types include a global system for mobile communications (GSM) radio access network, a GSM RAN (GRAN), a GERAN (essentially the same as a GRAN but specifying the inclusion of EDGE packet radio services), a universal mobile telecommunications system (UMTS) RAN, a UTRAN (UMTS terrestrial RAN), and an E-UTRAN (e.g., a long term evolution (LTE) high-speed and low-latency radio access network). The event source from the 5G RAN 112 is an event that occurs in the 5G RAN. In a non-limiting example, one or more incidents occur within a TE and / or MS of the 5G RAN 112.

[0058] The event source 102 includes events from the 5G transport network 114. The 5G transport network 114 includes a fronthaul and a backhaul portion.

[0059] The backhaul portion of the network includes intermediate links between CNs, such as CN 110, and smaller subnetworks at the edge of the network. The most common network type in which backhaul is implemented is a mobile network. Mobile network backhaul is also referred to as mobile backhaul, connecting cell sites to CNs. Two methods of implementing mobile backhaul are fiber-based backhaul and wireless point-to-point backhaul. In technical and commercial definitions, backhaul generally refers to the side of the network that communicates with the global Internet. There may also be a middle-mile network between customers' own LANs and their exchanges. In some embodiments, this is a local wide area network (WAN) connection.

[0060] The fronthaul network coincides with, but is subtly different from, the backhaul network. In Cloud RAN (C-RAN), backhaul data is decoded from the fronthaul network at a centralized controller, from which the backhaul data is forwarded to the CN. The fronthaul portion of the C-RAN includes intermediate links between the centralized radio controller and radio heads (or masts) at the edge of the cellular network. Event sources from the 5G transport network 114 are events that occur in the 5G transport network 114. In a non-limiting example, one or more incidents occur within a radio controller or network switch of the 5G transport network 114.

[0061] The Policy Manager 104 is a large-scale real-time Complex Event Processing (CEP consists of a set of concepts and techniques for processing real-time events and extracting information from the arriving event stream) engine that automates various workflows and network healing operations. The CPE 100 processes events based on network assurance policies. Based on predefined policies and rules, the Policy Manager 104 filters events, enriches events, correlates events, and processes events for action.

[0062] The policy manager 104 includes a cleaner 116 that accepts events from the event source block 102, removes unwanted events, and passes the filtered events to an enricher 118 for further processing. In some embodiments, these filtered events are forwarded using a message policy cache built by a message policy synchronization process. During operation, messages are passed between programs or components of a single program. Messaging is a form of communication used in concurrent and parallel computing, object-oriented programming, and channel communication, where communication is achieved by sending a message to a recipient. A message is sent to an object specifying a request for action.

[0063] The policy manager 104 includes an enrichment unit 118 that enriches messages arriving from the cleaning unit 116 with inventory information to ensure successful policy execution. In some embodiments, the enrichment unit 118 is comprised of a message enrichment cache that is built by an enrichment unit synchronization process. In a non-limiting example, a field or parameter is missing in the received event data, and the event is enriched with the help of inventory to fill in the missing fields and parameters, so that a decision is made and a predetermined action occurs.

[0064] The policy manager 104 includes an evaluator 120 that evaluates and processes the enriched events arriving from the enricher 118. The evaluator 120 is configured to identify the root cause (e.g., what led to or initiated the received event), determine the relevant action according to a predetermined network assurance policy, and notify the action manager 120 accordingly.

[0065] The policy manager 104 includes a trigger 122 that matches network assurance policies with events based on the output of the evaluator 120, which identifies the root cause of the received event, and forwards the matched policy / event to the action consumer 106 to initiate an action workflow.

[0066] The action consumer 106 includes a ticket alert 124. The ticket alert 124 generates an incident or trigger to initiate a workflow action.

[0067] The action consumer 106 includes a trigger workflow 126. In some embodiments, the trigger workflow 126 performs an action based on a user-generated network assurance policy. In some embodiments, the trigger workflow 126 initiates sending a notification. In some embodiments, the trigger workflow 126 initiates a reboot, restart, scale-in, scale-out, or other suitable action within an embodiment.

[0068] The action consumer 106 includes a notification action 128. In some embodiments, the notification action 128 is an email, a text message, or a graphical user interface (GUI) display on a user interface, such as user interface 618 (FIG. 6), that notifies the policy generator and / or network operator that an event has been received, diagnosed, action has been taken, and the results of the action (e.g., the success or failure of the action taken).

[0069] FIG. 2 is a diagrammatic representation of a CPE 200, according to some embodiments.

[0070] In some embodiments, CPE 200 is similar to CPE 100. In some embodiments, event source 202 is similar to data ingestion block 102, policy manager 204 is similar to policy manager 104, and action consumer 206 is similar to action manager 106.

[0071] Policy manager 204 is a large-scale real-time CEP engine that automates various workflows and network healing operations (e.g., repair and / or restoration). Policy manager 204 processes events based on predefined network assurance policies and / or rules. Policy manager 204 filters events, enriches events, correlates events, and processes events for action. Policy manager 204 provides a framework to support CEP capabilities. In some embodiments, computational logic in memory mitigates latency issues. In some embodiments, multi-source event ingestion covers a wider range of use cases in complex networks and infrastructures. In some embodiments, policy manager 204 is configured with a scalable architecture based on business requirements (e.g., new business policies to be implemented). In some embodiments, policy manager 204 supports multiple computational logics in near real-time processing, such as event "AND", event "OR", counting event occurrences, and events followed by mathematical operations on event counters. In a non-limiting example, the computational logic supports executing an action managed by the action manager 230 in response to an "XYZ" event followed by an "ABC" event "AND" ("UVW" event "OR" "DEF" event) along with ten occurrences of the "GHI" event. In some embodiments, policy queries are applied to a potentially infinite stream of data. In some embodiments, events are processed immediately. In some embodiments, results are driven directly as the policy manager 204 processes events to match sequences. In some embodiments, this aspect effectively leads to the policy manager 204 having near real-time capabilities.

[0072] A user and / or network operator generates a policy template using UI 208. In some embodiments, UI 208 is configured with a GUI configured to allow a user to view a policy generation template into which information for generating a policy is entered. In some embodiments, UI 208 is similar to UI 618 (FIG. 6). In some embodiments, orchestrator 234 (orchestration is the automated configuration, coordination, and management of computer systems and software) provides a general policy, an artificial intelligence (AI)-generated policy, or a policy from any external service. The generated policy is sent to policy manager 210, which relays the generated policy to database 212.

[0073] The generated policy template is saved as a draft in database 212. Policy templates are configured to be validated, activated, deactivated, edited, and deleted. In this manner, templates are stored in database 212 until needed and activated on command by a user.

[0074] The data bus 214 receives data from various sources from the data ingestion block 202, such as a cloud platform 216, network application counters 218, container application counters 220, other events through the internet, events through a public cloud 222, and events through a fault and performance system 224. Included between the data bus 214 and the cloud platform 216, network application counters 218, and container application counters 220 are an OBF application 234 and an AI / ML application 236.

[0075] The terms "observability" and "monitoring" are often used interchangeably but have different meanings. Observability describes the ability to obtain the (internal) state of a system based on external outputs. The goal is to externalize system state based on sensor data outputs. Monitoring describes the discipline of collecting metrics and alerts to monitor the health and performance of discrete IT infrastructure components (e.g., servers, storage, network devices). Observability uses telemetry data to create actionable feedback loops and extends the scope of traditional monitoring by collecting different types of data. By collecting and correlating data, observability focuses on gaining actionable system-level insights.

[0076] In some embodiments where KPI / SLA real-time prediction and PRB management for eMBB slices is implemented, a virtualized distributed unit (vDU) pushes performance monitor (PM) metrics to the OBF application 234 once per minute. The VDU runs as a virtual network function (VNF) within a network function virtualization (NFV) infrastructure. The OBF 234 collects telemetry data from the NFs, enabling the use of AI / ML applications 236 to optimize and operate the 5G network. The OBF application 234 provides visibility into the performance and operation of the CNFs in near real time. This collected data is used to optimize the network through a closed-loop automation module (not shown) that executes procedures to provide automatic UPF scaling and healing while minimizing manual work and reducing errors.

[0077] In some embodiments, the OBF application 234 performs decoding of the received PM data and publishes the PM data to the data bus 214. In some embodiments, the UPF N3 DL PM data is sent to the OBF application 234 every minute. The 5G N3 interface is responsible for transporting user data from the RAN, such as the RAN 112, to the User Plane Function (UPF), enabling the creation of both low and high latency services. In some embodiments, the OBF application 234 performs enrichment of UPF N3 DL throughput counters in the central inventory 228.

[0078] In some embodiments, policy manager 204 consumes recommendations from AI / ML applications 236 on an on-demand basis in response to conditions (e.g., predicted) in a network, such as cloud network 108, 5G core network 110, 5G RAN network 112, or 5G transport network 114, via a unified, high-throughput, low-latency platform for handling real-time data feeds. In some embodiments, AI / ML applications 236 suggest actions based on learned models, via data about events that policy manager 204 consumes and triggers actions on northbound systems. In some embodiments, whole-network assurance (day 2) operations are optimized with AI / ML recommendations streamed on a streaming processing platform and consumed by a rules engine, such as policy manager 204.

[0079] In some embodiments, policy manager 204 triggers the AI / ML recommendation request. In some embodiments, AI / ML 236 predicts new thresholds and streams recommendations along with new PRB counts onto data bus 214. In some embodiments, AI / ML recommendations are consumed from data bus 214. In some embodiments, active policies for AI / ML recommendation slice manager actions are triggered. In some embodiments, policy manager 204 triggers slice manager for PRB configuration changes.

[0080] In some embodiments, policy manager 204 subscribes to incoming events on data bus 214. In some embodiments, active policies for scaling in policy manager 204 are triggered based on the incoming events. In some embodiments, policy manager 204 calculates slice utilization percentages and evaluates whether a current threshold, such as a scale-in threshold below 40% or a scale-out threshold above 60%, has been breached. In response to a threshold being breached, policy manager 204 triggers an AI / ML recommendation request. In some embodiments, AI / ML application 236 predicts new thresholds and streams recommendations along with new scale-in or scale-out recommendations onto data bus 214. In some embodiments, the AI / ML recommendations are streamed from data bus 214 and consumed by policy manager 204. In some embodiments, new active policies based on the AI / ML recommendations are generated by policy manager 204. In some embodiments, in response to an incoming event that triggers a new active policy, the policy manager 204 triggers the slice manager 238 for a UPF SCALEIN or SCALEOUT operation.

[0081] In some embodiments, automated resource optimization with AI predictions across multiple DCs is discussed. In some embodiments, a user request to optimize a slice is received at slice manager 238 via a UI. In some embodiments, slice manager 238 streams the request over data bus 214. In some embodiments, policy manager 204 consumes the request from slice manager 238 over data bus 214 to optimize the slice. In some embodiments, an active policy to optimize the slice is triggered in policy manager 204. In some embodiments, policy manager 204 triggers an AI / ML recommendation request in response to an active policy being triggered by an incoming event. In some embodiments, AI / ML application 236 predicts a new threshold and streams the recommendation with "MIGRATE UPF" onto data bus 214. In some embodiments, the AI / ML recommendation is streamed over data bus 214 and consumed by policy manager 204. In some embodiments, a new active policy is generated in policy manager 204 based on the AI / ML recommendation. In some embodiments, in response to the incoming event triggering the new active policy, the policy manager 204 triggers the slice manager 238 for a "UPF MIGRATE" operation to the second data center.

[0082] In order to make decisions and take predetermined actions in response to missing fields and / or parameters in the event data received on data bus 214, events that lack these fields and / or parameters are enriched in policy correlation and evaluation (PCE) module 226 through inventory 228 that provides the missing fields and / or parameters. In some embodiments, this is referred to as inventory enrichment.

[0083] The PCE module 226 logically evaluates and processes events from the data bus 214 based on policies from the policy manager 210. The PCE 226 is configured to identify the root cause of the event, determine associated actions according to predetermined policies, and inform the action manager 230 of any associated actions according to the predetermined policies.

[0084] The action manager 230 accepts the results after the event processing by the PCE 226 and takes corresponding actions regarding the results. In a non-limiting example, the action manager 230 sends an email, sends a request to the API endpoint 232, or takes other appropriate actions within an embodiment. The action manager 230 obtains the status of the performed actions and updates the database 212 so that the user can visualize the job status in the UI 208.

[0085] FIG. 3 is a data flow diagram of a method 300 for physical resource block (PRB) management, according to some embodiments.

[0086] 3 is discussed to provide an understanding of the operation of CPEs 100 and 200 through method 300 for PRB management. In some embodiments, method 300 for PRB management is a functional overview of a CPE, such as CPE 100 and / or 200. In some embodiments, method 300 for PRB management is performed by processing circuitry 602, described below with respect to FIG. 6. In some embodiments, some or all of the operations of method 300 for PRB management are performed according to instructions corresponding to instructions 606, described below with respect to FIG. 6.

[0087] Although method 300 for PRB management includes operations 302-322, the operations are not necessarily performed in the order shown. Operations may be added, moved, reordered, and / or removed where appropriate, in accordance with the spirit and scope of the embodiments. In some embodiments, one or more of the operations of method 300 for PRB management are repeated. In some embodiments, unless otherwise specified, the operations of method 300 for PRB management are performed sequentially.

[0088] In some embodiments, policy manager 204 analyzes, computes, enriches, and evaluates the collected events. In some embodiments, a user generates policy templates through a user interface (UI), such as UI 208 or UI 618. The generated policies filter the collected events, enrich the events (e.g., add any relevant event data), correlate the enriched events, and process the enriched events for action.

[0089] A user interface (UI), such as UI 208 or UI 618, is the space where interaction between humans and machines occurs. The goal of this interaction is to enable effective human operation and control of the machine while simultaneously providing feedback from the machine to aid the operator in their decision-making process. Non-limiting examples of UIs include the interactive aspects of computer operating systems, hand tools, heavy machinery operator controls, and process control. A UI is composed of one or more layers, including a human-machine interface (HMI), which interfaces the machine with physical input hardware, such as a keyboard, mouse, or gamepad, and output hardware, such as a computer monitor, speakers, and printer. A device that implements an HMI is called a human interface device (HID). Other terms for a human-machine interface are a human-machine interface (MMI), and, when the machine in question is a computer, a human-computer interface. Additional UI layers may interact with one or more human senses, including haptic UI (touch), visual UI (sight), auditory UI (sound), olfactory UI (smell), balance UI (balance), and gustatory UI (taste).

[0090] Actions are triggered based on matching policies. In some embodiments, a CPE core, such as processing circuit 602 of FIG. 6, logically evaluates and processes collected events. In some embodiments, the CPE core identifies root causes, determines associated actions according to predetermined policies, and instructs an action manager, such as action manager 230, according to predetermined network assurance policies. In some embodiments, action manager 230 collects the results of event processing and takes respective actions related to the collected results. In non-limiting examples, action manager 230 sends emails, sends requests to application programming interface (API) endpoints, or takes other appropriate actions within an embodiment. In some embodiments, action manager 230 obtains job status feedback to determine the status of executed jobs and updates back-end applications in a database so that users can determine the status of jobs through a UI.

[0091] In operation 302 of the method 300 for PRB management, one or more vDUs 324 push PM metrics to the OBF 234 every minute. In some embodiments, the vDU 324 is a gNodeB (gNB) that pushes PM data every minute. A GNodeB is a 3GPP-compliant 5G-NR (new radio) base station implementation. A GNodeB is comprised of an independent NF that implements 3GPP-compliant NR RAN protocols.

[0092] Push technology, or server push, is a style of Internet-based communication in which requests for a given transaction are initiated by a publisher or central server. Push contrasts with "pull / get," in which requests for information transmission are initiated by the receiver or client. Push services are often based on pre-expressed information preferences (e.g., subscriptions). Push is referred to as a "publish / subscribe" model. Clients "subscribe" to various information "channels" provided by the server, and when new content becomes available on one of those channels, the server pushes the information to the client. The process flows from operation 302 to operation 304.

[0093] In operation 304 of the method 300 for PRB management, the OBF application 234 performs decoding of the PM data received every minute and publishes the decoded PM data to the data bus 214. From operation 304, the process flows to operation 306.

[0094] In operation 306 of the method 300 for PRB management, the policy manager 204 subscribes to incoming events on the data bus 214 and the event source. The process flows from operation 306 to operation 308.

[0095] In operation 308 of the method 300 for PRB management, an existing active policy for UE throughput threshold monitoring in the policy manager 204 is triggered based on one or more incoming events. The process flows from operation 308 to operation 310.

[0096] In operation 310 of the method 300 for PRB management, the policy manager 204 determines the downlink throughput per UE. As previously described, the downlink throughput per UE is determined by dividing the guaranteed UE downlink throughput volume by the guaranteed UE downlink throughput time (e.g., dLThptPerUE=GDRB.UEThpVolDL.PCG / GDRB.UEDLThpTime). In some embodiments, the guaranteed UE downlink throughput volume and the guaranteed UE downlink throughput time are determined by an SLA. In some embodiments, the SLAs establishing the guaranteed UE downlink throughput volume and the guaranteed UE downlink throughput time are integrated into a rules-based policy that the policy manager 204 acts on based on events streaming from the data bus 214. The process flows from operation 310 to operation 312.

[0097] In operation 312 of the method 300 for PRB management, the policy manager 204 determines one or more UE downlink throughput thresholds derived from the slice manager 238 and enrichment of incoming events from the CMaaS rRM policy data. In some embodiments, the thresholds include guaranteed throughput, maximum throughput, rRM policy maximum ratio, rRM policy minimum ratio, rRM policy dedicated ratio, low UE downlink throughput, and high UE downlink throughput. In a non-limiting example, the low UE downlink throughput threshold is equal to 120% of the guaranteed throughput. In this way, the provider ensures that the network operates at 120% of the throughput promised to its subscribers. In another non-limiting example, the high UE downlink throughput is equal to 80% of the maximum throughput. In this way, the provider receives an alert when the UE downlink capacity is at 80% of the maximum, and the provider can take action to ensure that more resources become available before the UE downlink capacity exceeds the maximum. In some embodiments, the network application counters 218 and the container counters 220 are enriched with data from the slice manager 238 for throughput data and the CMaaS for rRM policy data. The process flows from operation 312 to operation 314.

[0098] In operation 314 of the method for PRB management 300, the policy manager 204 triggers an AI / ML recommendation request. The process flows from operation 314 to operation 316.

[0099] In operation 316 of the method 300 for PRB management, the AI / ML 236 predicts a new throughput threshold and streams the recommendation along with the new PRB count to the data bus 214. The process flows from operation 316 to operation 318.

[0100] In operation 318 of the method 300 for PRB management, the AI / ML recommendations are consumed by the policy manager 204 from the data bus 214. The process flows from operation 318 to operation 320.

[0101] In operation 320 of the method 300 for PRB management, a new active policy is generated based on the AI / ML recommendations by the policy manager 204. The process flows from operation 320 to operation 322.

[0102] In operation 322 of the method 300 for PRB management, the policy manager 204 triggers the slice manager 238 for a PRB configuration change based on triggering the new active policy.

[0103] FIG. 4 is a data flow diagram of a method 400 for automatic level scaling, according to some embodiments.

[0104] FIG. 4 is discussed to provide an understanding of the operation of CPEs 100 and 200 through method 400 for automatic level scaling. In some embodiments, method 400 for automatic level scaling is a functional overview of a CPE, such as CPE 100 and / or 200. In some embodiments, method 400 for automatic level scaling is performed by processing circuitry 602, described below with respect to FIG. 6. In some embodiments, some or all of the operations of method 400 for automatic level scaling are performed according to instructions corresponding to instructions 606, described below with respect to FIG. 6.

[0105] The method 400 for automatic level scaling includes operations 402-420, although the operations are not necessarily performed in the order shown. Operations may be added, moved, reordered, and / or removed where appropriate, in accordance with the spirit and scope of the embodiments. In some embodiments, one or more of the operations of the method 400 for automatic level scaling are repeated. In some embodiments, the operations of the method 400 for automatic level scaling are performed in order, unless otherwise specified.

[0106] In operation 402 of the method 400 for automatic level scaling, the UPF 424N3 DL PM data is sent every minute to the OBF 234. The process flows from operation 402 to operation 404.

[0107] In operation 404 of the method 400 for automatic level scaling, the OBF application 234 performs enrichment of the UPF N3 downlink throughput counter data with data from the central inventory 228 and sends the enriched UPF N3 downlink throughput counter data to the data bus 214. The process flows from operation 404 to operation 406.

[0108] In operation 406 of the method 400 for automatic level scaling, the policy manager 204 subscribes to incoming events on the data bus 214. The process flows from operation 406 to operation 408.

[0109] In operation 408 of the method 400 for automatic level scaling, an existing active policy for scaling is triggered in the policy manager 204 based on one or more incoming events. The process flows from operation 408 to 410.

[0110] In operation 410 of the method 400 for automatic level scaling, the policy manager 204 determines a slice utilization percentage. In some embodiments, the slice utilization percentage is a quantifier for the efficiency of the slice manager 238 in packing network slices. The process flows from operation 410 to operation 412.

[0111] In operation 412 of the method 400 for automatic level scaling, the policy manager 204 determines whether the slice utilization percentage exceeds a scale-in (below 40%) or scale-out (above 60%) threshold, and in response to exceeding the scale-in (below 40%) or scale-out (above 60%) threshold, an AI / ML recommendation request is triggered.

[0112] In 5G cores and upcoming 6G cores, the UPF (a virtual machine or container implemented as a UPF instance in a cluster) is responsible for sending data to and receiving data from subscribers in PDU sessions. To reduce resource consumption for UPF instances, the number of UPF instances started depends on the number of PDU sessions, which is often controlled by a scaling algorithm. In some embodiments, the AI / ML application 236 makes recommendations for scaling the UPF instances packed into containers based on scale-in and scale-out thresholds.

[0113] In operation 414 of the method 400 for automatic level scaling, the AI / ML application 236 predicts new thresholds and streams recommendations along with new scale-in or scale-out thresholds onto the data bus 214. The process flows from operation 414 to operation 416.

[0114] In operation 416 of the method 400 for automatic level scaling, the AI / ML recommendations are consumed by the policy manager 204 from the data bus 214. The process flows from operation 416 to operation 418.

[0115] In operation 418 of the method 400 for automatic level scaling, a new active policy is generated based on the AI / ML recommendations. The process flows from operation 418 to operation 420.

[0116] In operation 420 of the method 400 for automatic level scaling, in response to triggering events of the new active policy, the policy manager 204 triggers the slice manager 238 for UPF SCALEIN and SCALEOUT operations.

[0117] FIG. 5 is a data flow diagram of a method 500 for data center resource optimization, according to some embodiments.

[0118] FIG. 5 is discussed to provide an understanding of the operation of CPEs 100 and 200 through method 500 for data center resource optimization. In some embodiments, method 500 for data center resource optimization is a functional overview of a CPE, such as CPE 100 and / or 200. In some embodiments, method 500 for data center resource optimization is performed by processing circuitry 602, described below with respect to FIG. 6. In some embodiments, some or all operations of method 500 for data center resource optimization are performed according to instructions corresponding to instructions 606, described below with respect to FIG. 6.

[0119] Method 500 for data center resource optimization includes operations 502-518, although the operations are not necessarily performed in the order shown. Operations may be added, moved, reordered, and / or removed where appropriate, in accordance with the spirit and scope of the embodiments. In some embodiments, one or more of the operations of method 500 for data center resource optimization are repeated. In some embodiments, unless otherwise specified, the operations of method 500 for data center resource optimization are performed sequentially.

[0120] In operation 502 of the method 500 for data center resource optimization, a user 524 requests optimization of a slice from the slice manager 238 from a UI, such as UI 208 or UI 618. The process flows from operation 502 to operation 504.

[0121] In operation 504 of the method 500 for data center resource optimization, the slice manager 238 streams the user requests over the data bus 214. The process flows from operation 504 to operation 506.

[0122] In operation 506 of the method 500 for data center resource optimization, the policy manager 204 consumes a request via the data bus 214 to optimize a slice from the slice manager 238. The process flows from operation 506 to operation 508.

[0123] In operation 508 of the method 500 for data center resource optimization, an existing active policy for slice optimization in the policy manager 204 is triggered based on one or more incoming events. The process flows from operation 508 to operation 510.

[0124] In operation 510 of the method 500 for data center resource optimization, the policy manager 204 triggers an AI / ML recommendation request to the AI / ML application 236. The process flows from operation 510 to operation 512.

[0125] In operation 512 of the method 500 for data center resource optimization, the AI / ML application 236 predicts new thresholds and streams the recommendation with "MIGRATE UPF" onto the data bus 214. The process flows from operation 512 to operation 514.

[0126] In operation 514 of the method 500 for data center resource optimization, the AI / ML recommendations are consumed by the policy manager 204 from the data bus 214. The process flows from operation 514 to operation 516.

[0127] In operation 516 of the method for data center resource optimization 500, a new active policy is generated by the policy manager 204 based on the AI / ML recommendations. The process flows from operation 516 to operation 518.

[0128] In operation 518 of the method 500 for data center resource optimization, in response to triggering the new active policy, the policy manager 204 triggers the slice manager 238 for a “UPF MIGRATE” operation to migrate the UPF from the existing data center to another data center.

[0129] 6 is a high-level functional block diagram of a processor-based system 600, according to some embodiments. In some embodiments, system 600 is a general-purpose computing device that includes hardware processing circuitry 602 and a non-transitory computer-readable storage medium 604. Storage medium 604 is encoded with (i.e., stores) computer instructions 606 (i.e., a set of executable instructions, such as an AI recommendation automated assurance policy manager), among other things. Execution of instructions 606 by hardware processing circuitry 602 represents (at least in part) a tool that implements some or all of a method (hereinafter referred to as a process and / or method), such as methods 300, 400, 500, described herein, according to one or more embodiments.

[0130] The hardware processing circuit 602 is electrically coupled to a computer-readable storage medium 604 via a bus 608. The hardware processing circuit 602 is further electrically coupled to an I / O interface 610 by the bus 608. A network interface 612 is further electrically connected to the processing circuit 602 via the bus 608. The network interface 612 is connected to a network 614, via which the processing circuit 602 and the computer-readable storage medium 604 can be connected to external elements. The processing circuit 602 is configured to execute computer instructions 606 encoded on the computer-readable storage medium 604 such that the system 600 can be used to perform the processes and / or methods described above, such as methods 300, 400, 500 of FIGS. 3, 4, 5. In one or more embodiments, the processing circuit 602 is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application-specific integrated circuit (ASIC), and / or other suitable processing unit.

[0131] In one or more embodiments, computer-readable storage medium 604 is an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, computer-readable storage medium 604 includes a semiconductor or solid-state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and / or an optical disk. In one or more embodiments using an optical disk, computer-readable storage medium 604 includes a compact disk-read memory (CD-ROM), a compact disk-read / write (CD-R / W), and / or a digital video disk (DVD).

[0132] In one or more embodiments, storage medium 604 stores computer instructions 606 configured to enable system 600 to perform portions of the processes and / or methods described above. In one or more embodiments, storage medium 604 further stores information, such as an AI recommended automated assurance policy engine, that facilitates the execution of the processes and / or methods described above.

[0133] System 600 includes an I / O interface 610, such as UI 208. I / O interface 610 is coupled to external circuitry. In one or more embodiments, I / O interface 610 includes a keyboard, keypad, mouse, trackball, trackpad, touchscreen, cursor direction keys, and / or other suitable I / O interfaces within the contemplated scope of this disclosure for communicating information and commands to processing circuit 602.

[0134] System 600 further includes a network interface 612 coupled to processing circuit 602. Network interface 612 allows system 600 to communicate with a network 614 to which one or more other computer systems are connected. Network interface 612 may include a wireless network interface such as BLUETOOTH, WIFI, WIMAX, GPRS, WCDMA, etc., or a wired network interface such as ETHERNET, USB, IEEE-864, etc. In one or more embodiments, the processes and / or methods described above are implemented in more than one system 600.

[0135] The system 600 is configured to receive information through an I / O interface 610. The information received through the I / O interface 610 includes one or more of instructions, data, and / or other parameters for processing by the processing circuit 602. The information is transferred to the processing circuit 602 via a bus 608. The system 600 is configured to receive information related to a UI, such as a UI 618, through the I / O interface 610. The information is stored on the computer-readable medium 604 as the user interface (UI) 208.

[0136] In some embodiments, the aforementioned processes and / or methods are implemented as a stand-alone software application for execution by a processing circuit. In some embodiments, the aforementioned processes and / or methods are implemented as a software application that is part of an additional software application. In some embodiments, the aforementioned processes and / or methods are implemented as a plug-in to a software application.

[0137] In some embodiments, the processes are implemented as program functions stored on a non-transitory computer-readable storage medium, examples of which include, but are not limited to, one or more of external / removable and / or internal / built-in storage or memory units, such as optical disks, e.g., DVDs, magnetic disks, e.g., hard disks, ROMs, RAMs, and semiconductor memories, e.g., memory cards.

[0138] In some embodiments, a system includes a processing circuit; and a memory coupled to the processing circuit, the memory configured to store executable instructions that, in response to being executed by the processing circuit, facilitate performance of operations including receiving, by a policy manager, one or more events from a data bus; triggering an existing assurance policy based on the one or more events; triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing assurance policy; receiving, by the policy manager, change recommendations from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendations from the AI / ML application; and triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy that implements the change recommendation.

[0139] In some embodiments, the executable instructions, in response to being executed by the processing circuit, facilitate performance of an operation further including receiving, in an observability framework (OBF) application, performance monitor (PM) metrics from a distributed unit (DU) before receiving one or more events from the data bus; publishing, by the OBF application, decoded PM metrics corresponding to a portion of the one or more events to the data bus; and subscribing, by a policy manager, to the data bus to receive one or more events from the data bus.

[0140] In some embodiments, the executable instructions, in response to being executed by the processing circuit, facilitate performance of an operation further including, in response to triggering an existing guarantee policy based in part on the one or more events, determining, by a policy manager, a downlink throughput for each user equipment (UE) based on guaranteed UE throughput volumes over time; determining, by the policy manager and based in part on the one or more events, whether the UE downlink throughput has violated a low threshold determined by the guaranteed throughput or a high threshold determined by the maximum throughput; and, in response to the low threshold or high threshold being violated, triggering a prediction request to an AI / ML application.

[0141] In some embodiments, triggering corrective action to be taken based on triggering a new assurance policy that implements the change recommendation includes modifying physical resource blocks (PRBs) of one or more enhanced mobile broadband (eMBB) slices by a slice manager based on a request from a policy manager.

[0142] In some embodiments, the executable instructions, in response to being executed by the processing circuit, facilitate performance of an operation further including receiving N3 interface downlink PM metrics from a user plane function (UPF) in an observability framework (OBF) application before receiving one or more events from the data bus; enriching the N3 interface downlink PM metrics with data corresponding to the N3 interface downlink PM metrics from a central inventory; and subscribing, by a policy manager, to the data bus to receive one or more events from the data bus including the enriched N3 interface downlink PM metrics.

[0143] In some embodiments, the executable instructions, in response to being executed by the processing circuit, promote performance of an operation further including: determining, by a policy manager, a slice utilization percentage in response to triggering an existing guarantee policy based on one or more events that are enriched N3 interface downlink PM metrics; determining, by the policy manager and based on the enriched N3 interface downlink PM metrics, whether the slice utilization percentage violates a scale-in threshold or a scale-out threshold; and triggering a prediction request to an AI / ML application in response to the scale-in threshold or the scale-out threshold being violated.

[0144] In some embodiments, the executable instructions, in response to being executed by the processing circuit, facilitate performance of an operation further including receiving a slice optimization request from a user interface (UI) at a slice manager before receiving one or more events from the data bus, streaming the slice optimization request to the data bus by the slice manager, and receiving the slice optimization request from the data bus by the policy manager.

[0145] In some embodiments, the executable instructions, in response to being executed by the processing circuit, further include: in response to triggering an existing assurance policy based on one or more events that are slice optimization requests, triggering a prediction request to the AI / ML application; and, by the AI / ML application, recommending a "MIGRATE UPF" action based on a slice optimization threshold received with the slice optimization request, and in response to the slice optimization threshold being violated, triggering a new assurance policy that implements the change recommendation, where triggering the corrective action to be taken includes triggering execution of a "UPF MIGRATE" operation by the slice manager.

[0146] In some embodiments, a method performed by the processing circuitry includes receiving, by a policy manager, one or more events from a data bus; triggering an existing assurance policy based on the one or more events; triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing assurance policy; receiving, by the policy manager, a change recommendation from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendation from the AI / ML application; and triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy that implements the change recommendation.

[0147] In some embodiments, the method further includes receiving performance monitor (PM) metrics from a distributed unit (DU) in an observability framework (OBF) application before receiving the one or more events from the data bus; publishing, by the OBF application, decoded PM metrics corresponding to a portion of the one or more events to the data bus; and subscribing, by a policy manager, to the data bus to receive the one or more events from the data bus.

[0148] In some embodiments, the method further includes, in response to triggering an existing guaranteed policy based in part on the one or more events, determining, by the policy manager, a downlink throughput for each user equipment (UE) based on guaranteed UE throughput volumes over time; determining, by the policy manager and based in part on the one or more events, whether the UE downlink throughput breaches a low threshold determined by the guaranteed throughput or a high threshold determined by the maximum throughput; and, in response to the low threshold or the high threshold being breached, triggering a prediction request to an AI / ML application.

[0149] In some embodiments, triggering corrective action to be taken based on triggering a new assurance policy that implements the change recommendation includes modifying physical resource blocks (PRBs) of one or more enhanced mobile broadband (eMBB) slices by a slice manager based on a request from a policy manager.

[0150] In some embodiments, the method further includes receiving N3 interface downlink PM metrics from a user plane function (UPF) in an observability framework (OBF) application before receiving the one or more events from the data bus; enriching the N3 interface downlink PM metrics with data corresponding to the N3 interface downlink PM metrics from the central inventory; and subscribing, by a policy manager, to the data bus to receive one or more events from the data bus including the enriched N3 interface downlink PM metrics.

[0151] In some embodiments, the method further includes determining, by the policy manager, a slice utilization percentage in response to triggering an existing guarantee policy based on the one or more events, the events being the enriched N3 interface downlink PM metrics; determining, by the policy manager and based on the enriched N3 interface downlink PM metrics, whether the slice utilization percentage violates a scale-in threshold or a scale-out threshold; and triggering a prediction request to an AI / ML application in response to the scale-in threshold or the scale-out threshold being violated.

[0152] In some embodiments, the method further includes receiving a slice optimization request from a user interface (UI) at the slice manager before receiving one or more events from the data bus, streaming the slice optimization request to the data bus by the slice manager, and receiving the slice optimization request from the data bus by the policy manager.

[0153] In some embodiments, the method further includes triggering a prediction request to the AI / ML application in response to triggering an existing assurance policy based on one or more events that are slice optimization requests, and recommending a "MIGRATE UPF" action by the AI / ML application based on a slice optimization threshold received with the slice optimization request, wherein triggering a new assurance policy that implements the change recommendation in response to the slice optimization threshold being violated includes triggering execution of a "UPF MIGRATE" operation by the slice manager.

[0154] In some embodiments, a non-transitory tangible computer-readable storage medium having a computer program stored thereon includes instructions that, in response to the computer program being executed, cause a processing circuit to perform operations including receiving, by a policy manager, one or more events from a data bus; triggering an existing assurance policy based on the one or more events; triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing assurance policy; receiving, by the policy manager, change recommendations from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendations from the AI / ML application; and triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy that implements the change recommendation.

[0155] In some embodiments, the instructions, in response to being executed by the processing circuit, facilitate performance of an operation further including receiving, in an observability framework (OBF) application, performance monitor (PM) metrics from a distributed unit (DU) before receiving one or more events from the data bus; publishing, by the OBF application, decoded PM metrics corresponding to a portion of the one or more events to the data bus; and subscribing, by a policy manager, to the data bus to receive one or more events from the data bus.

[0156] In some embodiments, the instructions, in response to being executed by the processing circuit, facilitate performance of an operation further including receiving N3 interface downlink PM metrics from a user plane function (UPF) in an observability framework (OBF) application before receiving one or more events from the data bus; enriching the N3 interface downlink PM metrics with data corresponding to the N3 interface downlink PM metrics from a central inventory; and subscribing, by a policy manager, to the data bus to receive one or more events from the data bus including the enriched N3 interface downlink PM metrics.

[0157] In some embodiments, the instructions, in response to being executed by the processing circuit, promote performance of an operation further including receiving a slice optimization request from a user interface (UI) at a slice manager before receiving one or more events from the data bus, streaming the slice optimization request to the data bus by the slice manager, and receiving the slice optimization request from the data bus by the policy manager.

[0158] The foregoing outlines features of some embodiments to enable those skilled in the art to better understand the embodiments. Those skilled in the art will readily appreciate that the embodiments may be used as a basis for designing or modifying other processes and structures to achieve the same purposes and / or advantages of the embodiments described herein. Those skilled in the art will further recognize that such equivalent constructions do not depart from the spirit and scope of the embodiments, and that various changes, substitutions, and alterations do not depart from the spirit and scope of the embodiments.

Claims

1. a processing circuit; a memory coupled to the processing circuitry, which, in response to being executed by the processing circuitry, receiving, by a policy manager, one or more events from the data bus; triggering an existing warranty policy based on the one or more events; Triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing guarantee policy; and receiving, by the policy manager, change recommendations from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendation from the AI / ML application; triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy to implement the change recommendation; a memory configured to store executable instructions that facilitate performance of operations including: A system comprising:

2. The executable instructions, in response to being executed by the processing circuitry, receiving performance monitor (PM) metrics from a distributed unit (DU) in an observability framework (OBF) application prior to receiving the one or more events from the data bus; publishing, by the OBF application, onto the data bus, decoded PM metrics corresponding to a portion of the one or more events; subscribing, by the policy manager, to the data bus to receive the one or more events from the data bus; The system of claim 1 , further comprising:

3. The executable instructions, in response to being executed by the processing circuitry, determining, by the policy manager, a downlink throughput for each user equipment (UE) based on a guaranteed UE throughput volume over time in response to triggering the existing guaranteed policy based in part on the one or more events; determining, by the policy manager and based on the portion of the one or more events, whether a UE downlink throughput has violated a low threshold determined by a guaranteed throughput or a high threshold determined by a maximum throughput; triggering the prediction request to the AI / ML application in response to the low threshold or the high threshold being violated; The system of claim 2 , further comprising:

4. 4. The system of claim 3, wherein triggering the corrective action to be taken based on triggering the new assurance policy that implements the change recommendation comprises modifying physical resource blocks (PRBs) of one or more enhanced mobile broadband (eMBB) slices by a slice manager based on a request from the policy manager.

5. The executable instructions, in response to being executed by the processing circuitry, receiving N3 interface downlink PM metrics from a User Plane Function (UPF) in an Observability Framework (OBF) application before receiving the one or more events from the data bus; Enriching the N3 interface downlink PM metrics with data corresponding to the N3 interface downlink PM metrics from a central inventory; subscribing to the data bus to receive the one or more events from the data bus that include the enriched N3 interface downlink PM metrics by the policy manager; The system of claim 1 , further comprising:

6. The executable instructions, in response to being executed by the processing circuitry, determining, by the policy manager, a slice utilization percentage in response to triggering the existing guarantee policy based on the one or more events that are the enriched N3 interface downlink PM metrics; determining, by the policy manager and based on the enriched N3 interface downlink PM metrics, whether the slice utilization percentage violates a scale-in threshold or a scale-out threshold; triggering the prediction request to the AI / ML application in response to the scale-in threshold or the scale-out threshold being breached; The system of claim 5 , further comprising:

7. The executable instructions, in response to being executed by the processing circuitry, receiving a slice optimization request from a user interface (UI) in a slice manager before receiving the one or more events from the data bus; streaming, by the slice manager, the slice optimization request onto the data bus; receiving, by the policy manager, the slice optimization request from the data bus; The system of claim 1 , further comprising:

8. The executable instructions, in response to being executed by the processing circuitry, triggering the prediction request to the AI / ML application in response to triggering the existing guarantee policy based on the one or more events, the slice optimization request being the slice optimization request; recommending, by the AI / ML application, a "MIGRATE UPF" action based on a slice optimization threshold received with the slice optimization request; Facilitate the performance of operations, including 8. The system of claim 7, wherein triggering the corrective action to be taken based on triggering the new assurance policy that implements the change recommendation in response to the slice optimization threshold being violated includes triggering execution of a "UPF MIGRATE" operation by the slice manager.

9. A method performed by a processing circuit, comprising: receiving, by a policy manager, one or more events from the data bus; triggering an existing warranty policy based on the one or more events; Triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing guarantee policy; and receiving, by the policy manager, change recommendations from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendation from the AI / ML application; triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy to implement the change recommendation; A method for providing

10. receiving performance monitor (PM) metrics from a distributed unit (DU) in an observability framework (OBF) application prior to receiving the one or more events from the data bus; publishing, by the OBF application, onto the data bus, decoded PM metrics corresponding to a portion of the one or more events; subscribing, by the policy manager, to the data bus to receive the one or more events from the data bus; The method of claim 9 further comprising:

11. determining, by the policy manager, a downlink throughput for each user equipment (UE) based on a guaranteed UE throughput volume over time in response to triggering the existing guaranteed policy based in part on the one or more events; determining, by the policy manager and based on the portion of the one or more events, whether a UE downlink throughput has violated a low threshold determined by a guaranteed throughput or a high threshold determined by a maximum throughput; triggering the prediction request to the AI / ML application in response to the low threshold or the high threshold being violated; The method of claim 10 further comprising:

12. 12. The method of claim 11, wherein triggering the corrective action to be taken based on triggering the new assurance policy that implements the change recommendation comprises modifying physical resource blocks (PRBs) of one or more enhanced mobile broadband (eMBB) slices by a slice manager based on a request from the policy manager.

13. receiving N3 interface downlink PM metrics from a User Plane Function (UPF) in an Observability Framework (OBF) application before receiving the one or more events from the data bus; Enriching the N3 interface downlink PM metrics with data corresponding to the N3 interface downlink PM metrics from a central inventory; subscribing to the data bus to receive the one or more events from the data bus that include the enriched N3 interface downlink PM metrics by the policy manager; The method of claim 9 further comprising:

14. determining, by the policy manager, a slice utilization percentage in response to triggering the existing guarantee policy based on the one or more events that are the enriched N3 interface downlink PM metrics; determining, by the policy manager and based on the enriched N3 interface downlink PM metrics, whether the slice utilization percentage violates a scale-in threshold or a scale-out threshold; triggering the prediction request to the AI / ML application in response to the scale-in threshold or the scale-out threshold being breached; The method of claim 13 further comprising:

15. receiving a slice optimization request from a user interface (UI) in a slice manager before receiving the one or more events from the data bus; streaming, by the slice manager, the slice optimization request onto the data bus; receiving, by the policy manager, the slice optimization request from the data bus; The method of claim 9 further comprising:

16. triggering the prediction request to the AI / ML application in response to triggering the existing guarantee policy based on the one or more events, the slice optimization request being the slice optimization request; recommending, by the AI / ML application, a "MIGRATE UPF" action based on a slice optimization threshold received with the slice optimization request; Further provided with 16. The method of claim 15, wherein triggering the corrective action to be taken based on triggering the new assurance policy to implement the change recommendation in response to the slice optimization threshold being violated includes triggering execution of a "UPF MIGRATE" operation by the slice manager.

17. A non-transitory tangible computer-readable storage medium storing a computer program, comprising: The computer program, when executed, receiving, by a policy manager, one or more events from the data bus; triggering an existing warranty policy based on the one or more events; Triggering a prediction request to an artificial intelligence (AI) / machine learning (ML) application based on the existing guarantee policy; and receiving, by the policy manager, change recommendations from the AI / ML application; generating, by the policy manager, a new assurance policy based on the change recommendation from the AI / ML application; triggering, by the policy manager, a corrective action to be taken based on triggering the new assurance policy to implement the change recommendation; A non-transitory tangible computer-readable storage medium containing instructions that cause a processing circuit to perform operations including:

18. The instructions, in response to being executed by the processing circuitry, receiving performance monitor (PM) metrics from a distributed unit (DU) in an observability framework (OBF) application prior to receiving the one or more events from the data bus; publishing, by the OBF application, onto the data bus, decoded PM metrics corresponding to a portion of the one or more events; subscribing, by the policy manager, to the data bus to receive the one or more events from the data bus; 20. The non-transitory tangible computer-readable storage medium of claim 17 that facilitates performance of an operation further comprising:

19. The instructions, in response to being executed by the processing circuitry, receiving N3 interface downlink PM metrics from a User Plane Function (UPF) in an Observability Framework (OBF) application before receiving the one or more events from the data bus; Enriching the N3 interface downlink PM metrics with data corresponding to the N3 interface downlink PM metrics from a central inventory; subscribing to the data bus to receive the one or more events from the data bus that include the enriched N3 interface downlink PM metrics by the policy manager; 20. The non-transitory tangible computer-readable storage medium of claim 17 that facilitates performance of an operation further comprising:

20. The instructions, in response to being executed by the processing circuitry, receiving a slice optimization request from a user interface (UI) in a slice manager before receiving the one or more events from the data bus; streaming, by the slice manager, the slice optimization request onto the data bus; receiving, by the policy manager, the slice optimization request from the data bus; 20. The non-transitory tangible computer-readable storage medium of claim 17 that facilitates performance of an operation further comprising:

Citation Information

Patent Citations

  • Method and system for polymorphic algorithm-based network slice orchestration

    US11012872B1

  • Resource allocation and activation / deactivation configuration of open radio access network (o-ran) network slice subnets

    US20210258866A1