O-cloud policy implementation using a cluster template

WO2026169301A1PCT designated stage Publication Date: 2026-08-13RAKUTEN MOBILE INC +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-10-28
Publication Date
2026-08-13

Smart Images

  • Figure US2025052907_13082026_PF_FP_ABST
    Figure US2025052907_13082026_PF_FP_ABST
Patent Text Reader

Abstract

A system is configured to receive a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances. The system instantiates the one or more clusters and one or more nodes in each cluster of the one or more clusters in a cloud-computing platform according to the template hierarchy. The system configures the one or more clusters and one or more nodes for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) Title: O-CLOUD POLICY IMPLEMENTATION USING A CLUSTER TEMPLATECROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims priority to U.S Provisional Application Serial No. 63 / 756,573, filed February 10, 2025; the entire contents of which are incorporated herein by reference.FIELD

[0002] The present disclosure relates to a O-cloud policy implementation using a cluster template. BACKGROUND

[0003] The information disclosed in this background section is only for enhancement of understanding of the general background of the disclosure and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.

[0004] The open radio access network (0-RAN) standards are non-proprietaiy standards used to implement hardware and software in a cellular communication network. One aspect of the O-RAN standards is a service management and orchestration (SMO) framework for implementing back-end software for managing a cellular communication network. The O-RAN 02 interface is a component that provides an interface between the SMO framework and an infrastructure management (O-Cloud) framework for supporting virtual network functions (NF) of an 0-RAN network. In particular, the 02 interface enables infrastructure management service (IMS) to process performance measurement (PM) in order to measure and report the performance of components of a cellular communication network.SUMMARYAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO)

[0005] In one aspect, a system is configured to receive a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances. The system is configured to instantiate the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloud-computing platform according to the plurality of template instances. The system configures the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.

[0006] In another aspect, a method includes receiving, by a computer system, a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances. The method includes instantiating, by the computer system, the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloud-computing platform according to the plurality of template instances. The method includes configuring, by the computer system, the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.

[0007] In another aspect, a non-transitory computer-readable medium stores executable code that, when executed by one or more processing devices, causes the one or more processing devices to: receive a plurality of template instances arranged in a template hierarchy, theAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances; instantiate the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloudcomputing platform according to the plurality of template instances; and configure the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Features, aspects, and advantages of embodiments of the disclosure will be described below with reference to the accompanying drawings, in which like reference numerals denote like elements, and wherein:

[0009] Fig. 1 is a schematic block diagram of a network environment in which clusters may be deployed in accordance with an embodiment;

[0010] Fig. 2 is a schematic block diagram showing a template hierarchy in accordance with an embodiment;

[0011] Fig. 3 is a process flow diagram of a method for defining a template hierarchy in accordance with an embodiment;

[0012] Fig. 4 is a process flow diagram of a method for instantiating clusters according to a template hierarchy in accordance with an embodiment;

[0013] Fig. 5 is a schematic block diagram of components implementing and managing an O-cloud in accordance with an embodiment;Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO)

[0014] Fig. 6 is a process flow diagram of a method for implementing a policy in accordance with an embodiment;

[0015] Fig. 7 is a schematic block diagram of an example computing device suitable for implementing methods in accordance with embodiments of the disclosure;

[0016] Fig. 8 illustrates an example hierarchical template instance in accordance with an embodiment; and

[0017] Fig. 9 illustrates an example schema in accordance with an embodiment.DETAILED DESCRIPTION

[0018] The following detailed description of example embodiments refers to the accompanying drawings. The present disclosure provides illustrations and descriptions but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the present disclosure or may be acquired from practice of the implementations. Further, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). Additionally, the flowchart and description of operations provided below relate to at least one of the embodiments in the present disclosure. It should be noted that it is possible to make other embodiments that do not exactly match the flowchart and its description. It is understood that in other embodiments one or more operations may be omitted, one or more operations may be added, one or more operations may be performed simultaneously (at least in part).

[0019] It will be apparent that systems and / or methods, described herein, may be implemented in different forms of hardware, software, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methodsAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) should not limit their implementations. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It is understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.

[0020] Even though particular combinations of features are recited in the claims and / or disclosed in the specification, the particular combinations are not intended to limit the disclosure of implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. Even if a dependent claim directly depends on only one claim, the present disclosure may indicate that the dependent claim is dependent on other claims in the claim set.

[0021] No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” (in other words, nouns not mentioned in the plural) are intended to include one or more items, and may be used interchangeably with “one or more.” Also, as used herein, the terms “has,” “have,” “having,” “include,” “including,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Furthermore, expressions such as “at least one of [A] and [B],” “[A] and / or [B],” or “at least one of [A] or [B]” are to be understood as including only A, only B, or both A and B.

[0022] Fig. 1 illustrates an example telecommunication network 100 in which the systems and methods disclosed herein may be used. User equipment (UE) 102, such as a mobile phone, transmits wireless signals to one or more antennas 104 coupled to a radio unit (RU) 106 configured to manage generated signals to be transmitted over the antenna 104 and to detect signals received by the antenna 104. The RU 106 may be implemented as a gNodeB (gNB) in a fifth generationAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) (5G) network, sixth generation network (6G) (e.g., a 6NB), or other type of network. The RU 106 is coupled to a radio access network (RAN) 108 including components executing RAN network functions (NF), such as a distributed unit (DU) and / or a central unit (CU) according to the Open Radio Access Network (O-RAN) standard. The RAN 108 may connect to a core network 110 implementing various core NFs, such as an access and mobility management function (AMF), user plane function (UPF), and session management function (SMF).

[0023] The RAN 108 may be coupled to a service management and orchestration (SMO) orchestrator according to the O-RAN standard (hereinafter “SMO 112”). The SMO 112 may implement various functions to manage execution of the RAN 108. For example, the SMO 112 may automatically configure, monitor, and manage failure of components of the RAN 108.

[0024] The SMO 112 may interface with an infrastructure management service (IMS) 114a that collects and reports performance measurement (PM) of infrastructure of a cloud-computing platform 118 functions relating to the RAN 108. The SMO 112 may interface with the IMS 114a through an 02 interface 116 according to the O-RAN standard.

[0025] The SMO 112 may further interface with a deployment management service (DMS) 114b. The DMS 114b may allocate resources of a cluster 120 for use by workloads executing in the cloud-computing platform 118 and manage the instantiation of software components in the cluster 120 for executing the workloads. In contrast, the IMS 114a may manage the allocation of resources to the cluster 120 and the instantiation of a cluster 120 in the cloud-computing platform 118. The cluster 120 may be an O-cloud node cluster.

[0026] The cluster 120 may include a plurality of nodes 122. Each node 122 may be a virtualized unit of computing resources (processor cores, memory, storage, network bandwidth) in the cloudcomputing platform 118 that is available to execute workload(s). Each node 122 may executeAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) one or more containers that each execute a workload. The instantiation of containers is managed by the DMS 114b. The cluster 120 may provide a framework in which the nodes 122 execute, including one or more virtual networks enabling communication between the nodes 122 and gateways for communicating with networks external to the cluster 120. The cluster 120 may further provide a framework for monitoring functioning of nodes 122, including re-instantiating failed nodes 122, scaling the number of nodes 122 up or down according to utilization to achieve a target, and performing other management functions. The cluster 120 may be a cluster according to KUBERNETES or other orchestration platform.

[0027] In prior approaches, the SMO 112 uses an application programming interface (API) implemented by the IMS 114a to invoke instantiation of a cluster 120. In particular, the SMO 112 may transmit a “ProvisioningRequest” to the IMS 114a. Each ProvisioningRequest call includes a single cluster template field that specifies parameters of the cluster to be instantiated.

[0028] Referring to Fig. 2, the illustrated hierarchical template 200 may be included in, or referenced by, the cluster template field of a provisioning request, e.g., a ProvisioningRequest call. The ProvisioningRequest call may include attributes such as a request identifier and name (a human readable identifier and name of a request instance assigned by the caller, e.g., SMO 112), a description (e.g., human readable description of the request instance, which may be generated by the SMO 112), a phase status request (an array for storing status elements for each stage of a request process), a node cluster list (for receiving identifiers of clusters and nodes instantiated according to the ProvisioningRequest), and a resource identifiers (e.g., an array listing resources used to fulfill the ProvisioningRequest call). The ProvisioningRequest may include a profile list field. A reference to an instance of the hierarchical template 200 may be included in the profile list field. Table 1 lists example attribute properties for ProvisioningRequest and Table 2 listsAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) attribute properties for a parameter profile, e.g., a realization or instance of a hierarchical template 200. An example instance of a hierarchical template 200 populated with example values for attributes are shown in Fig. 8. An example schema for a hierarchical template 200 is shown in Fig. 9.Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) Table 1. Attribute Properties for ProvisioningRequestAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) Table 2. Attribute Properties for Parameter Profile

[0029] The hierarchical template 200 may include a root template 202 that references one or more cluster templates 204. Each cluster template 204 may reference one or more node group templates 206. Each node group template 206 may reference one or more node templates 208. Each cluster template 204 and node template 208 may specify parameters defining the instantiationAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) of a cluster 120 and node 122, respectively. A node group template 206 may define a configuration of a node group including a plurality of nodes 122.

[0030] The root template 202 may further reference one or more other templates that define configurations that do not relate specifically to the instantiation of a cluster 120, node group, or node 122. For example, a network template 210 may define a configuration of a virtual network, gateways, or other network configurations of a cluster 120 or group of multiple clusters 120. A power template 212 may define parameters governing energy utilization of computing resources by a node 122, node group, or cluster 120 in order to maintain power consumption below prescribed limits. A policy template 214 may specify a policy that governs the configuration or operation of any aspect of a cluster 120.

[0031] A template, such as the hierarchical template 200, or any of the templates included in the hierarchical template 200, contains schemas which define the input parameters being used to provision an O-Cloud resource with its parameter validation rules (e.g. valid data type and value range). A template instance realizes a template, which contains the values of the parameters in key-value pairs as defined in the template schema, along with template name and template version referring to the original template being used or realized. The template instance realizing a template is also referred to herein as a parameter profile, e.g., an object realizing the template with fields thereof populated with values of the parameter based on the schemas in the template.

[0032] Each template 202-214 may have some or all of a corresponding template identifier, instance identifier, a scope, a category, and one or more parameters. The template identifier may identify a template e.g., the schema of the template instance, which may include a collection of fields and corresponding definitions, each field being fillable with one or more values. A template identifier may be a combination of a template name and a version identifier that uniquelyAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) identifies a template. The instance identifier may identify a specific template instance corresponding to the template identifier, e.g., an object according to the template identified by the template identifier with fields thereof populated with values.

[0033] The scope may define which components are to be governed by the template instance. For example, a scope may be global: all components in the cloud-computing platform 118 will be configured according to the parameters of the template instance. The scope may be clusters: all clusters 120 will be configured according to the parameters of the template instance. The scope may be a specific cluster: all components of a cluster 120 will be configured according to the parameters of the template instance. The scope may be nodes: all nodes 122 will be configured according to the parameters of the template instance. The scope may be a specific node 122: only a node configured according to the template instance will be configured according to the parameters of the template instance. Other possible scopes may include all nodes 122 in a data center, server rack, or other group of nodes 122.

[0034] The category of a template may indicate a type of component (cluster 120, node group, node 122) instantiated or configured according to instances of the template. The category of a template may indicate a type of functionality configured according to the template (network, power, or other policy).

[0035] The parameters of a template instance may include a reference to another template instance. For example, an instance of a cluster template 204 may reference one or more instances of a node group template 206; an instance of a node group template 206 may reference one or more instances of a node template 208. A first template instance may reference a second template instance by including the instance identifier of the second template instance as a value in the parameters of the first template instance.Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO)

[0036] The parameters of an instance of a root template 202, instance of a cluster template 204, instance of a node group template 206, and / or instance of a node template 208 may reference an instance of a network template 210, a power template 212, and / or a policy template 214. Alternatively, the scope of an instance of a network template 210, a power template 212, and / or a policy template 214 may specify applicability to all clusters 120, all nodes 122, all nodes 122 of a cluster 120, all nodes 122 of a node group, or other components according to a scope.

[0037] The parameters of an instance of a template may indicate any other attribute of a component (cluster 120, node group, node 122, network, etc.) to be instantiated according to the instance of the template. For example, an instance of a cluster template 204 may indicate a number of nodes (e.g., a number of referenced instances of a node template 208) and the parameters of each referenced instance of a node template 208 may indicate an amount of resources (processor cores, memory, storage, network bandwidth, etc.). Parameters of an instance of a node group template 206 may refer to instances of a node template 208 belonging to a node group represented by the instance of the node group template 206 and include parameters defining behavior of the node group.

[0038] In some embodiments, some of the templates are standardized whereas others are customized. Standardized template(s) may be part of a collection of templates the IMS 114a is configured with. Accordingly, instances of standardized templates may include a template identifier and a listing of parameters without defining the fields in which parameters belong. Instances of customized templates may include definitions of the fields of the template and one or more parameters for each field.

[0039] Instances of templates of an instance of a hierarchical template 200 may be transmitted to the IMS 114a in various ways. For example, a ProvisioningRequest API call include an instanceAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) of the root template 202 that references one or more other instances of one or more templates. The other instances of one or more templates may be transmitted with the ProvisioningRequest API call and related to the instance of the root template 202 using instance identifiers of the other instances of the one or more templates included in the instance of the root template 202. The other instances of the one or more templates may be transmitted by the SMO 112 to the IMS 114a separately from the ProvisioningRequest, such as in the form of POST transactions according to hypertext transfer protocol (HTTP) or other protocol. Each instance of the one or more templates may be represented using any approach for representing a data structure, such as a JAVASCRIPT object notation (JSON) object, representational state transfer (REST) object, or other type of object. Each instance of the one or more templates may be structured according to a schema defining variables, types of variables (string, integer, etc.) and possibly descriptions and other attributes.

[0040] Fig. 3 illustrates a method 300 for generating an instance of a hierarchical template 200 for a cluster 120. The method 300 may include configuring, at step 302, the cluster 120, which may include configuring attributes of the cluster 120 itself, a configuration of node groups and nodes 122 of the cluster 120, a network, power utilization limits, and possibly one or more other policies for the cluster 120. The configuring of step 302 may include defining a topology of the cluster 120, including the number of nodes 122, computing resources of each node 122, network connections between nodes 122, workloads (e.g., application instances) on each node, configurations of workloads, or any other attribute of a node 122. Configuring a cluster 120 may include configuring behavior such as scaling up or scaling down of nodes 122 in response to loading.

[0041] Step 302 may be performed manually, by processing a human or machine-generatedAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) manifest, or by an orchestrator configured to perform step 302, such as the SMO 112. Step 302 may be performed by the SMO 112 in response to loading of the RAN 108 and / or core network 110.

[0042] The method 300 may include populating, at step 304, template parameters for the one or more clusters 120 configured at step 302. Step 304 may include storing parameter values from the configuration of step 302 into corresponding instances of one or more templates. For example, the configuration of each cluster 120 may be stored as parameters in an instance of a cluster template 204; the configuration of each node group may be stored as parameters in an instance of a node group template 206; the configuration of each node 122 may be stored as parameters in an instance of a node template 208; the configuration of a network may be stored in an instance of a network template 210; power utilization limits may be stored as parameters in an instance of a power template 212; other configurations of the one or more clusters 120 may be stored as parameters in one or more instances of one or more policy templates 214.

[0043] Where step 304 is performed manually or automatically or by another component, such as the SMO, the hierarchical template 200 may be used to reduce redundancy. For example, parameters that are common to all clusters 102 may be stored in an instance of a cluster template 204 with global scope. Parameters that are common to all node groups may be stored in an instance of a node group template 206 that has a cluster or global scope. Likewise, an instance of a network template 210, power template 212, and / or policy template 214 may be of global, cluster, or node group scope.

[0044] Alternatively or additionally, an instance of a template with parameters that are common to multiple entities (cluster 120, node group, node 122) may be referenced by instances of one or more templates corresponding to a specific entity such that a user does not need to manually enterAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) the parameters for each entity. For example, an instance of a cluster template 204, node group template 206, and / or node template 208 may include parameters that include the instance identifier of another template instance, such as the instance identifier of an instance of a network template 210, power template 212, and / or policy template 214.

[0045] The method 300 may include generating, at step 306, an instance of a root template 202 and linking, at step 308, the instance of the root template 202 to the instances of one or more templates populated at step 304. Step 306 may be performed manually or by another component, such as the SMO 112. Step 306 may include populating the root template with a template identifier, template category (e.g., root template instance), a template instance identifier, and one or more parameters. The one or more parameters may include template instance identifiers of one or more instances of one or more templates populated at step 304. For example, the template instance identifiers of an instance of a cluster template 204. Other template instance identifiers of instances of one or more templates that are descendants of the instance of the cluster template 204 may be omitted from the parameters of the instance of the root template 202. A first instance of a template is a descendent of a second instance of a template if the first instance is referenced in the parameters of the second instance or a descendent of the second instance. Instances of templates with global scope that are not referenced by another instance of a template may also have the template instance identifier thereof included in the parameters of the instance of the root template 202, such as an instance of a network template 210, power template 212, and / or policy template 214. Alternatively, instances of one or more templates of global scope may be descendants of an instance of a cluster template 204 or other instance of another template such that the instance identifiers thereof are not included in the parameters of the root template 202.

[0046] The method 300 may include transmitting, at step 310, the instance of the root templateAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) 202 to the IMS 114a. Step 310 may be performed by the SMO 112, manually, or by some other component. Step 310 may include transmitting a ProvisioningRequest API call to the IMS 114a that includes the instance of the root template 202 or a reference thereto in the template field of the ProvisioningRequest API call.

[0047] The method 300 may further include transmitting, at step 312, one or more other instances of one or more other templates that are descendants of the instance of the root template 202 to the IMS 114a. For example, step 312 may include transmitting one or more instances of a cluster template 204, one or more instances of a node group template 206, one or more instances of a node template 208, one or more instances of a network template 210, one or more instances of a power template 212, and one or more instances of a policy template 214. Transmitting at step 312 may be performed in various ways. The descendants of the instance of the root template 202 may be transmitted with the ProvisioningRequest API call. Alternatively, the IMS 114a may traverse the instance of the hierarchical template 200 after receiving the instance of the root template 202 and retrieve all referenced instances of one or more templates that are not already stored by the IMS 114a. The descendants of the instance of the root template 202 may be transmitted by the SMO 112 to the IMS 114a in HTTP POST transactions.

[0048] Step 310 and 312 may be combined into a single step where the instance of the root template 202 and one or more other instances of one or more other templates that are descendants of the instance of the root template 202 are transmitted to the IMS 114a in a single ProvisioningRequest API call.

[0049] Fig. 4 illustrates a method 400 that may be executed by the IMS 114a in response to receiving the instance of the hierarchical template 200. For example, the method 400 may be executed by the IMS 114a in response to the ProvisioningRequest API call from step 310.Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO)

[0050] The method 400 may include allocating, at step 402, resources to one or more clusters 120 according to one or more instances of the cluster template 204 included in the instance of the hierarchical template 200. For example, each instance of the cluster template 204 may include parameters specifying an amount of computing resources (processor cores, memory, storage, and / or network bandwidth, etc.) to be allocated to a cluster 120. Step 402 may therefore include allocating those amounts of resources to the cluster 120. A cluster 120 corresponding to each instance of the cluster template 204 may be instantiated at step 404 as defined in the instance of the cluster template 204 and any other in-scope instances of one or more other templates (e.g., instances that have the cluster 120 in the scope thereof such as a global scop, all-cluster scope, cluster scope). Step 404 may include configuring the cluster 120 according to parameters included in the instance of the cluster template 204. Instantiating a cluster 120 may include instantiating data structures and executables for implementing a cluster, such as a cluster manager, a virtual network, or the like.

[0051] The method 400 may include instantiating, at step 406, one or more nodes 122 for each cluster 120 instantiated at step 404. For example, step 406 may include instantiating nodes 122 corresponding to instances of a node template 208 referenced by the instance of the cluster template 204 that was used to instantiate the cluster 120. Step 406 may include instantiating the nodes 122 according to parameters in any other in-scope instances of one or more templates (e.g., instances that have the node 122 in the scope thereof such as global scope, all-cluster scope, cluster scope, node group scope, or all node scope).

[0052] The method 400 may include configuring, at step 408, node groups including the nodes 122 from step 406 according to any instances of the node group template 206 and any other inscope instances of one or more templates (e.g., instances that have the node groups in the scopeAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) thereof such as global scope, all-cluster scope, cluster scope, node group scope, or all node group scope). Configuring a node group may include configuring associating nodes 122 with a node group, establishing permissions, sharing of resources, and / or network connections among nodes 122 of the node group according to parameters in the instance of the node group template 206.

[0053] The method 400 may include configuring, at step 410, one or more networks of each cluster 120 instantiated at step 404 according to one or more instances of the network template 210 referenced by the instance of the cluster template 204 used to instantiate the cluster 120 and any other in-scope instances (e.g., template instances that have the cluster 120 in the scope thereof such as global scope, all-cluster scope, or cluster scope). Configuring a network in a cluster 120 may include setting up one or more virtual networks, setting up gateways for interfacing with other networks, configuring routers or other network components, configuring routing protocols, or performing other networking configuration functions.

[0054] The method 400 may include configuring, at step 412, utilization limits for of an entity (e g., a cluster 120, node group, and / or node instantiated at steps 404, 406, and 408) according to one or more instances of the power template 212 that are either referenced by an instance of a template used to instantiate the entity or having a scope including the entity. In some embodiments, configuration of power limits is performed as part of instantiation at steps 404, 406, and 408 such that step 412 does not constitute a separate step.

[0055] The instantiations of steps 404 and 406 and the configuration of steps 408, 410, and 412 may be accomplished by processing the instance of the hierarchical template 200 and generating artifacts including configurations, scripts, and / or other files for performing the tasks corresponding to a step 404, 406, 408, 410, 412. The scripts of each artifact may then be executed to achieve the instantiation or configuration of a given step corresponding to the artifact.Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO)

[0056] Once one or more clusters 120, node groups, and nodes 122 are instantiated and configured according to steps 402-412, the method 400 may include performing actions to utilize the cluster. For example, one or more workloads may be instantiated on the nodes 122 of each cluster 120 at step 414 and the workloads may commence executing at step 416. Steps 414 and 416 may be performed using KUBERNETES, such as using a scheduler to instantiate pods managing execution of containers. Workloads may then execute within the containers. Workloads may function to process PM data for the RAN 108 and core network 110 or perform other actions. Workloads may include the workloads of any network functions (NF) of a telecommunication network.

[0057] A hierarchical template 200 may likewise be used to update one or more clusters 120, node groups, or nodes 122. For example, the SMO may send a ProvisioningRequest with a revised instance of the hierarchical template 200, which, when implemented by the IMS 114a, may change the configuration of previously instantiated clusters, node groups, or nodes 122, referenced by the instance of the hierarchical template 200. For example, the revised instance of the hierarchical template 200 may reference updated or upgraded software for implementing a cluster 120, node group, or node 122. The revised instance of the hierarchical template 200 may include a revised instance of a template with global scope (or more limited scope) in order to implement a new network policy, power management policy, or other policy with respect to a cluster 120 or group of clusters.

[0058] The use of an instance of the hierarchical template 200 as defined above along with corresponding methods for creating and processing a hierarchical template 200 provide many advantages. Instances of templates may be reused without repetition by defining a scope thereof or having multiple instances of templates all refer to another instance of another template.Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) Likewise, the IMS 114a may be configured with a catalog of templates that may be referenced by name (e.g., name and version number) along with values for fields of the templates. The size of an instance of a template is thereby reduced both when templates are initially used to instantiate a cluster 120 or when instances of the templates are used to update a cluster 120. By revising an instance of a hierarchical template 200 and using the instance of the hierarchical template 200 to update a previously instantiated cluster, incremental updates or upgrades may be performed.

[0059] Using an instance of a hierarchical template 200 a vendor or operator can add any desired parameter to be used when instantiating a cluster 120, node group, or node 122. The approach described herein is further flexible enough to allow any hierarchical structure desired to be specified and implemented, including a flat structure including a single instance of a template (e.g., a root template 202) that includes all parameters (e.g., any of the parameters that may be included in an instance of a cluster template 204, an instance of a node group template 206, an instance of a node template 208, an instance of a network template 210, an instance of a power template 212, or an instance of a policy template 214). The ability to specify the scope of an instance of a template further enables a desired behavior to be achieved by a vendor or operator. The hierarchical template 200 further enables a human-understandable representation of one or more clusters 120, which facilitates inspection and maintenance.

[0060] Referring to Figs. 5 to 7, an instance of a hierarchical template 200 may include instances of one or more policy templates 214 that specify policies defining operation of the SMO 112, IMS 114a, DMS 114b, cluster 120, and / or cloud-computing platform 118.

[0061] For example, referring specifically to Fig. 5, the SMO 112 may implement or access a federated O-cloud orchestration and management (FOCOM) 500 and a network function orchestrator (NFO) 502. The FOCOM 500 performs high-level management of the infrastructureAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) of the cloud-computing platform 118 including managing inventory and processing alerts. The NFO 502 may perform life cycle management of network functions (NF) that are deployed in the cloud-computing platform 118.

[0062] The FOCOM 500 may interface with the IMS 114a to add nodes to a cluster 120, such as detecting when a new node is physically added, initialize the new node, and allocate the new node to the cluster 120. The DMS 114b may interface with the NFO 502 to deploy NFs on the nodes 122 of a cluster 120, such as the illustrated distributed unit NF (DU NF) 506.

[0063] The SMO 112 may implement or access a non-real-time radio intelligent controller (RIC) (non-RT RIC) 504. The non-RT RIC 504 may perform non-time-critical functions with respect to the RAN 108, such as providing policy guidance, managing RAN applications (rApps), training machine learning models with data from the RAN, performing network analytics for improving the RAN, or other functions. Each node 122 of the cluster 120 may be managed by a cluster orchestrator 508 implementing the cluster 120. The cluster orchestrator 508 may, for example, be a KUBERNETES control plane and / or other type of orchestrator.

[0064] Referring to Fig. 6, one or more instances of one or more policy templates 214 of an instance of a hierarchical template 200 may be processed according to the method at the IMS 114a to implement a policy defined in one or more instances of one or more policy templates 214. For example, the IMS 114a may provision the resources of the cloud-computing platform 118 (e g. build a node cluster 120) according to rules and targets defined in an instance of the policy template 214. For example, the instance of the policy template 214 may define targets and rules for configuring infrastructure resources in the cloud-computing platform 118. Each instance of a policy template 214 may be processed according to the method 600 independently from an instance of the hierarchical template 200 or independently from an instance of a hierarchical template 200Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) that defines instantiation of a cluster 120.

[0065] Each instance of a policy template 214 (“the policy template instance”) may express an intent that is then translated at step 602 to select and / or generate one or more rules (hereinafter “rules”) corresponding to the intent at step 604. Step 602 may include validating the policy template instance, e.g., verifying that the intent does not violate limitations of the cloud-computing platform 118. The method 600 may include initializing, at step 606, one or more components according to the rules. Step 606 may include selecting a number of the components as well as the configuration of the components according to the rule. The rules may be defined according to logic hosted by the entity executing the method 600, such as the SMO 112. As shown by the examples discussed below with reference to Fig. 7, the rules may define a configuration of infrastructure of the cloud-computing platform 118.

[0066] The method 600 may include monitoring and / or enforcing the rules at step 608. For example, the rule may define behavior with respect to loading of the cloud-computing platform 118 such that monitoring and / or enforcing the rule may include evaluating whether a configuration of one or more components and / or the number of components conforms to the rule based on current loading of the cloud-computing platform 118. Where a rule is violated, step 608 may include adjusting the configuration and / or number of components to achieve conformity to the rule.

[0067] The method 600 may include adjusting, at step 610, the rules according to the policy and data obtained by monitoring at step 608. Adjusting the rules may include adjusting limits or constraints of the rules to ensure that operation of the cloud-computing platform conforms to the intent indicated by the policy template instance. The policy template instance may define a temporal component: a time of day, day of the week, or other temporal definition that defines when a policy applies. Accordingly, step 610 may include adjusting the rules over time according toAttomey Docket No. PI25-00059W001 (RAKU- 12500 WO) the temporal component.

[0068] Feedback regarding the execution of the method 600 may be provided to the user. For example, where a ProvisioningRequest call is used to transmit the policy template instance, the ProvisioningPhases call may be used to indicate enforcement status of the policies of the policy template instance.

[0069] Various policies may be defined by the policy template instance or other data structure. The policy template instance may include a scope as defined above. Accordingly, processing the policy template instance may be performed with respect to the clusters 120, nodes 122, node groups, or other subdivision within the scope defined by the policy template instance. The policy template instance may be an instance of a policy template 214 defining a capacity policy for promoting efficient utilization of computing resources of the cloud-computing platform 118. The policy template instance may be an instance of a policy template 214 defining execution of performance measurement jobs for processing performance data of the cloud-computing platform 118. The policy template instance may be an instance of a policy template 214 defining allocation of computing resources of the cloud-computing platform 118.

[0070] The policies and components discussed below are exemplary only. Other components and other policies may be implemented according to the policy template instance. For example, components configured according to the policy template instance may include the SMO 112, software of the IMS 114a, software of the DMS 114b, O-Cloud node cluster, node group, node, networking interfaces / devices, accelerators etc. Configuring of a component according to the policy template instance may be performed by the IMS or by the component itself ingesting and implementing the policy template instance.

[0071] The approach described herein able a user to express and implement an intent for a cloud-Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) computing platform 118, such as an O-cloud, which may be a KUBERNETES managed O-cloud. For example, infrastructure requirements for network services (NS) and NF applications may be determined on or before deployment of the applications (e.g., Day-0 or Day-1 functions).

[0072] The approach described herein enables policies to be implemented that manage O-cloud infrastructure, e.g. auto-scaling of the cluster 120 itself and node shutdown and recovery along with other infrastructure management tasks may be managed according to one or more policies. Other Day-0, Day-1, and Day-2 functions such as energy saving infrastructure updates and network slicing may likewise be implemented according to policies using the approach described herein.

[0073] The use of an instance of a policy template 214, such as from the SMO 112 to the cloudcomputing platform 118, provides interoperable policy intent declaration that translates to an outcome / state in the cloud-computing platform 118, and the implementation of the policy intent can be vendor-specific. This allows separating the policy framework (e.g., the policy template instance and corresponding schema (see, e.g., Fig. 9)) from the platform that is supporting the policy framework. This enables standardization of use cases and policy while taking advantage of evolving Cloud technologies. For example, the policy framework may be standardized for various use cases (e.g., Network Energy Savings (NES)) whereas implementation of the policy framework may be vendor specific.

[0074] Fig. 7 illustrates an embodiment of a computing device 700 that may be used to implement a computer system implementing any of the components described above. As shown in Fig. 7, the device 700 includes processor 710, a memory 720, a storage component 730, an input component 740, an output component 750, a communication interface 760, and a bus 770.

[0075] The processor 710, as used herein, means any type of computational circuit that mayAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) comprise hardware elements and software elements. The processor 710 may be embodied as a multi-core processor, a single core processor, or a combination of one or more multi-core processors and / or one or more single core processors, a distributed processing system, or the like. The processor 710 may be a Central Processing Unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), an application-specific integrated circuit (ASIC), or another type of processing component.

[0076] Memory 720 includes a non-transitory computer readable medium. Memory 720 includes a random-access memory (RAM), a read only memory (ROM), and / or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and / or an optical memory) that stores information and / or instructions for use by processor 710. The memory 720 comprises machine-readable instructions which are executable by the processor 710. These machine-readable instructions when executed by the processor 710 cause the processor 710 to perform one or more method steps of an embodiment described above.

[0077] Storage component 730 stores information and / or software related to the operation and use of the device 700. For example, storage component 730 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and / or a solid-state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium, along with a corresponding drive.

[0078] Input component 740 is configured to receive information, such as user input. For example, the input component 740 may include, but not be limited to, a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone. Additionally, or alternatively, the input component 740 may include a sensor for sensing information (e.g., a global positioning system (GPS), an accelerometer, a gyroscope, and / or an actuator).Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO)

[0079] Output component 750 is configured to provide output information from the device 700. For example, the output component 750 may be, but not limited to, a display, a speaker, instructions to an external device, and / or one or more light-emitting diodes (LEDs).

[0080] Communication interface 760 is an interface that provides a communication connection to other devices, such as external devices and internal devices. The connection by the communication interface 760 can be a wired connection, a wireless connection, or a combination of wired and wireless connections, and can be a direct connection or an indirect connection via a communication network that exists between the device 700 and other devices. In other words, the standard of the communication interface 760 is not limited.

[0081] The bus 770 acts as an interconnect between the processor 710, the memory 720, the storage component 730, the input component 740, the output component 750, and the communication interface 760 of the device 700. The bus 770 may include a wired interconnection or a wireless interconnection.

[0082] The number and arrangement of components shown in Fig. 7 are provided as an example. In practice, device 700 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 7. Additionally, or alternatively, a set of components (e.g., one or more components) of device 700 may perform one or more functions described as being performed by another set of components of device 700. Further, one or more method steps described in any of the embodiments may be performed utilizing a plurality of devices 700 in communication with one another.

[0083] In a first example embodiment, a system is configured to: receive a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster ofAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) the one or more clusters, the plurality of template instances further including one or more policy template instances; instantiate the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloud-computing platform according to the plurality of template instances; and configure the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.

[0084] In a second example embodiment according to the first example embodiment, the plurality of template instances further includes one or more cluster template instances, the system further configured to instantiate the one or more clusters on the cloud-computing platform according to the one or more cluster template instances.

[0085] In a third example embodiment according to the first example embodiment, the one or more policy template instances include a policy template instance defining targets and rules for configuring infrastructure resources in the cloud-computing platform.

[0086] In a fourth example embodiment according to the first example embodiment, the one or more policy template instances include a policy template defining an energy policy.

[0087] In a fifth example embodiment according to the first example embodiment, the one or more policy template instances include a policy template instance defining a capacity policy for promoting efficient utilization of computing resources of the cloud-computing platform.

[0088] In a sixth example embodiment according to the first example embodiment, the one or more policy template instances include a policy template instance defining execution of performance measurement jobs for processing performance data of the cloud-computing platform.

[0089] In a seventh example embodiment according to the first example embodiment, the one orAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) more policy template instances include a policy template instance defining allocation of computing resources of the cloud-computing platform.

[0090] In an eighth example embodiment according to the first example embodiment, the cloudcomputing platform is an O-cloud.

[0091] In a ninth example embodiment according to the first example embodiment, the cloudcomputing platform is a KUBERNETES-managed O-cloud.

[0092] In a tenth example embodiment according to the first example embodiment, the system is further configured to configure the cloud-computing platform by configuring a deployment management service (DMS).

[0093] In an eleventh example embodiment according to the first example embodiment, the system is further configured to configure the cloud-computing platform by configuring an infrastructure management service (IMS).

[0094] In a twelfth example embodiment, a method includes: receiving, by a computer system, a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances; instantiating, by the computer system, the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloudcomputing platform according to the plurality of template instances; and configuring, by the computer system, the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.

[0095] In a thirteenth example embodiment according to the twelfth example embodiment, theAttorney Docket No. PI25-00059W001 (RAKU- 12500 WO) plurality of template instances further includes one or more cluster template instances, the method further comprising instantiating, by the computer system, the one or more clusters on the cloud-computing platform according to the one or more cluster template instances.

[0096] In a fourteenth example embodiment according to the twelfth example embodiment, the one or more policy template instances include a policy template instance defining targets and rules for configuring infrastructure resources in the cloud-computing platform.

[0097] In a fifteenth example embodiment according to the twelfth example embodiment, the one or more policy template instances include a policy template defining an energy policy.

[0098] In a sixteenth example embodiment according to the twelfth example embodiment, the one or more policy template instances include a policy template instance defining a capacity policy for promoting efficient utilization of computing resources of the cloud-computing platform.

[0099] In a seventeenth example embodiment according to the twelfth example embodiment, the one or more policy template instances include a policy template instance defining execution of performance measurement jobs for processing performance data of the cloud-computing platform.

[0100] In an eighteenth example embodiment according to the twelfth example embodiment, the one or more policy template instances include a policy template instance defining allocation of computing resources of the cloud-computing platform.

[0101] In a nineteenth example embodiment according to the twelfth example embodiment, the method further includes configuring, by the computer system, the cloud-computing platform by configuring an infrastructure management service (IMS).Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO)

[0102] In a twentieth example embodiment, a non-transitory computer-readable medium storing executable code that, when executed by one or more processing devices, causes the one or more processing devices to: receive a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances; instantiate the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloudcomputing platform according to the plurality of template instances; and configure the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.

Claims

Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) Claims:

1. A system configured to:receive a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances;instantiate the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloud-computing platform according to the plurality of template instances; andconfigure the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.

2. The system of claim 1, wherein the plurality of template instances further includes one or more cluster template instances, the system further configured to instantiate the one or more clusters on the cloud-computing platform according to the one or more cluster template instances.

3. The system of claim 1, wherein the one or more policy template instances include a policy template instance defining targets and rules for configuring infrastructure resources in the cloud-computing platform.Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) 4. The system of claim 1, wherein the one or more policy template instances include a policy template defining an energy policy.

5. The system of claim 1, wherein the one or more policy template instances include a policy template instance defining a capacity policy for promoting efficient utilization of computing resources of the cloud-computing platform.

6. The system of claim 1, wherein the one or more policy template instances include a policy template instance defining execution of performance measurement jobs for processing performance data of the cloud-computing platform.

7. The system of claim 1, wherein the one or more policy template instances include a policy template instance defining allocation of computing resources of the cloud-computing platform.

8. The system of claim 1, wherein the cloud-computing platform is an O-cloud.

9. The system of claim 1, wherein the cloud-computing platform is a KUBERNETES-managed O-cloud.

10. The system of claim 1, further configured to configure the cloud-computing platform by configuring a deployment management service (DMS).Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) 11. The system of claim 1, further configured to configure the cloud-computing platform by configuring an infrastructure management service (IMS).

12. A method comprising:receiving, by a computer system, a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances;instantiating, by the computer system, the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloud-computing platform according to the plurality of template instances; andconfiguring, by the computer system, the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.

13. The method of claim 12, wherein the plurality of template instances further includes one or more cluster template instances, the method further comprising instantiating, by the computer system, the one or more clusters on the cloud-computing platform according to the one or more cluster template instances.

14. The method of claim 12, wherein the one or more policy template instances include a policy template instance defining targets and rules for configuring infrastructure resources in the cloud-computing platform.Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO)15. The method of claim 12, wherein the one or more policy template instances include a policy template defining an energy policy.

16. The method of claim 12, wherein the one or more policy template instances include a policy template instance defining a capacity policy for promoting efficient utilization of computing resources of the cloud-computing platform.

17. The method of claim 12, wherein the one or more policy template instances include a policy template instance defining execution of performance measurement jobs for processing performance data of the cloud-computing platform.

18. The method of claim 12, wherein the one or more policy template instances include a policy template instance defining allocation of computing resources of the cloudcomputing platform.

19. The method of claim 12, further comprising configuring, by the computer system, the cloud-computing platform by configuring an infrastructure management service (IMS).Attorney Docket No. PI25-00059W001 (RAKU- 12500 WO) 20. A non-transitory computer-readable medium storing executable code that, when executed by one or more processing devices, causes the one or more processing devices to:receive a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or more clusters and one or more nodes to be instantiated in each cluster of the one or more clusters, the plurality of template instances further including one or more policy template instances;instantiate the one or more clusters and the one or more nodes in each cluster of the one or more clusters in a cloud-computing platform according to the plurality of template instances; andconfigure the one or more clusters and the one or more nodes in each cluster of the one or more clusters for deploying workloads of network functions of a telecommunication network according to the one or more policy template instances.