Cluster template schema for provisioning clusters in a cloud-computing platform
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-25
- Publication Date
- 2026-08-13
Smart Images

Figure US2025047896_13082026_PF_FP_ABST
Abstract
Description
Attorney Docket No. RAKU-12300WO Title: CLUSTER TEMPLATE SCHEMA FOR PROVISIONING CLUSTERS IN A CLOUDCOMPUTING PLATFORMCROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to U.S Provisional Application Serial No. 63 / 753,810, filed February 4, 2025; the entire contents of which are incorporated herein by reference.FIELD
[0002] The present disclosure relates to a cluster template schema for provisioning clusters in a cloud-computing platform.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-proprietary 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 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.Attorney Docket No. RAKU-12300WO SUMMARY
[0005] In one aspect, a Service Management and Orchestration (SMO) is configured to generate 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 SMO transmits a provisioning request referencing the template hierarchy to a cloud computing platform.
[0006] In another aspect, a method includes generating, by a computing device, 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 method includes transmitting, by the computing device, a provisioning request referencing the template hierarchy to a cloud computing platform.
[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 generate 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. A provisioning request referencing the template hierarchy is transmitted to a cloud computing platform.Attorney Docket No. RAKU-12300WO 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 an example computing device suitable for implementing methods in accordance with embodiments of the disclosure;
[0014] Fig. 6 illustrates an example schema in accordance with an embodiment;
[0015] Fig. 7 illustrates an example hierarchical template instance in accordance with an embodiment; and
[0016] Fig. 8 illustrates an example hierarchical template instance in accordance with an embodiment.Attorney Docket No. RAKU-12300WO DETAILED DESCRIPTION
[0017] 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).
[0018] 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 methods 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.
[0019] 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 recitedAttorney Docket No. RAKU-12300WO 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.
[0020] 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.
[0021] Fig. 1 illustrates an example network environment 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 generation (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 (0-RAN) standard. The RAN 108 may connect to a core network 110 implementing various core NF s, such as an access and mobility management function (AMF), user plane function (UPF), and session management function (SMF).
[0022] The RAN 108 may be coupled to a service management and orchestration (SMO)Attorney Docket No. RAKU-12300WO 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.
[0023] 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.
[0024] The SMO 112 may further interface with a deployment management service (DMS) 114b. The DMS 114b may allocated 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.
[0025] 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 cloud computing platform 118 that is available to execute workload. Each node 122 may execute 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, and performing other management functions. The cluster 120 may be a cluster according toAtorney Docket No. RAKU-12300WO KUBERNETES or other orchestration platform.
[0026] 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.
[0027] Referring to Fig. 2, the illustrated hierarchical template instance 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 template list field. A reference to the hierarchical template instance 200 may be included in the template list field. Table 1 lists example attribute properties for ProvisioningRequest and Table 2 lists attribute properties for a template. An example schema for a hierarchical template instance 200 is shown in Fig. 6. Example hierarchical template instances 200 populated with example values for attributes are shown in Figs. 7 and 8.Attorney Docket No. RAKU-12300WO Table 1. Attribute Properties for ProvisioningRequestAttorney Docket No. RAKU-12300WO Table 2. Attribute Properties for Template
[0028] The hierarchical template instance 200 may include a root template instance 202 that references one or more cluster template instances 204. Each cluster template instance 204 may reference one or more node group template instances 206. Each node group template instance 206 may reference one or more node template instances 208. Each cluster template instance 204 and node template instance 208 may specify parameters defining the instantiation of a cluster 120Attorney Docket No. RAKU-12300WO and node 122, respectively. A node group template instance 206 may define a configuration of a node group including a plurality of nodes 122.
[0029] The root template instance 202 may further reference one or more other template instances 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 instance 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 instance 212 may define parameters governing 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 instance 214 may specify a policy that governs the configuration or operation of any aspect of a cluster 120.
[0030] Each template instance 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 fill able with one or more values. A template identifier may be a combination of a template name and a version identifier that uniquely 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.
[0031] 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 theAttorney Docket No. RAKU-12300WO 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.
[0032] 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).
[0033] The parameters of a template instance may include a reference to another template instance. For example, an instance of a cluster template instance 204 may reference one or more node group template instances 206; a node group template instance 206 may reference one or more node template instances 208. A first template instance may reference a second template instance by including the instance identifier of the second template instance in the parameters of the first template instance.
[0034] The parameters of a root template instance 202, cluster template instance 204, node group template instance 206, and / or node template instance 208 may reference a network template instance 210, a power template instance 212, and / or a policy template instance 214. Alternatively, the scope of a network template instance 210, a power template instance 212, and / or a policy template instance 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.
[0035] The parameters of a template instance may indicate any other attribute of a component (cluster 120, node group, node 122, network, etc.) to be instantiated according to the template instance. For example, a cluster template instance 204 may indicate a number of nodes (e.g., aAttorney Docket No. RAKU-12300WO number of referenced node template instances 208) and the parameters of each referenced node template instance 208 may indicate an amount of resources (processor cores, memory, storage, network bandwidth, etc.). Parameters of a node group template instance 206 may refer to node template instances 208 belonging to a node group represented by the node group template instance 206 and include parameters defining behavior of the node group.
[0036] In some embodiments, some of the templates are standardized whereas others are customized. Standardized template 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.
[0037] A hierarchical template instance 200 of template instances may be transmitted to the IMS 114a in various ways. For example, a ProvisioningRequest API call include an instance of the root template instance 202 that references one or more other template instances. The other template instances may be transmitted with the ProvisioningRequest API call and related to the instance of the root template instance 202 using instance identifiers of the other template instances included in the instance of the root template instance 202. The other template instances 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 template instance may be represented using any approach for representing a data structure, such as a JAVASCRIPT object notation (JSON) object, representational state transfer (REST) obj ect, or other type of obj ect. Each template instance may be structured according to a schema defining variables, types of variables (string, integer, etc.) and possibly descriptions and otherAttorney Docket No. RAKU-12300WO attributes.
[0038] Fig. 3 illustrates a method 300 for generating a hierarchical template instance 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.
[0039] Step 302 may be performed manually, by processing a human or machine-generated 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.
[0040] 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 template instances. For example, the configuration of each cluster 120 may be stored as parameters in a cluster template instance 204; the configuration of each node group may be stored as parameters in a node group template instance 206; the configuration of each node 122 may be stored as parameters in a node template instance 208; the configuration of a network may be stored in a network template instance 210; power utilization limits may be stored as parameters in a power template instance 212; otherAttorney Docket No. RAKU-12300WO configurations of the one or more clusters 120 may be stored as parameters in one or more policy template instances 214.
[0041] Where step 304 is performed manually, the template hierarchy may be used to reduce redundancy. For example, parameters that are common to all clusters 102 may be stored in a cluster template instance 204 with global scope. Parameters that are common to all node groups may be stored in a node group template instance 206 that has a cluster or global scope. Likewise, a network template instance 210, power template instance 212, and / or policy template instance 214 may be of global, cluster, or node group scope.
[0042] Alternatively or additionally, a template instance with parameters that are common to multiple entities (cluster 120, node group, node 122) may be referenced by template instances corresponding to a specific entity such that a user does not need to manually enter the parameters for each entity. For example, a cluster template instance 204, node group template instance 206, and / or node template instance 208 may include parameters that include the instance identifier of another template, such as the instance identifier of a network template instance 210, power template instance 212, and / or policy template instance 214.
[0043] The method 300 may include generating, at step 306, a root template instance 202 and linking, at step 308, the root template instance 202 to the template instances 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 template instances populated at step 304. For example, the template instance identifiers of cluster template instance 204. Other template instance identifiers of template instances that are descendants of the clusterAttorney Docket No. RAKU-12300WO template instance 204 may be omitted from the parameters of the root template instance 202. A first template instance is a descendent of a second template instance if the first template instance is referenced in the parameters of the second template instance or a descendent of the second template instance. Template instances with global scope that are not referenced by another template instance may also have the template instance identifier thereof included in the parameters of the root template instance 202, such as a network template instance 210, power template instance 212, and / or policy template instance 214. Alternatively, template instances of global scope may be descendants of a cluster template instance 204 or other template instance such that the instance identifiers thereof are not included in the parameters of the root template instance 202.
[0044] The method 300 may include transmitting, at step 310, the root template instance 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 root template instance 202 or a reference thereto in the template field of the ProvisioningRequest API call.
[0045] The method 300 may further include transmitting, at step 312, one or more other template instances that are descendants of the root template instance 202 to the IMS 114a. For example, step 312 may include transmitting one or more cluster template instances 204, one or more node group template instances 206, one or more node template instances 208, one or more network template instances 210, one or more power template instances 212, and one or more policy template instance 214. Transmitting at step 312 may be performed in various ways. The descendants of the root template instance 202 may be transmitted with the ProvisioningRequest API call. Alternatively, the IMS 114a may traverse the hierarchical template instance 200 after receiving the root template instance 202 and retrieve all referenced template instances that are notAttorney Docket No. RAKU-12300WO already stored by the IMS 114a. The descendants of the root template instance 202 may be transmitted by the SMO 112 to the IMS 114a in HTTP POST transactions.
[0046] Fig. 4 illustrates a method 400 that may be executed by the IMS 114a in response to receiving the hierarchical template instance 200. For example, the method 400 may be executed by the IMS 114a in response to the ProvisioningRequest API call from step 310.
[0047] The method 400 may include allocating, at step 402, resources to one or more clusters according to one or more cluster template instances 204 included in the hierarchical template instance 200. For example, each cluster template instance 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 cluster template instance 204 may be instantiated at step 404 as defined in the cluster template instance 204 and any other in-scope template instances (e.g., template 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 cluster template instance 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.
[0048] 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 node template instances 208 referenced by the cluster template instance 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 template instances (e.g., template instances that have the node 122 in the scope thereof such as global scope, all-cluster scope, cluster scope, nodeAttorney Docket No. RAKU-12300WO group scope, or all node scope).
[0049] The method 400 may include configuring, at step 408, node groups including the nodes 122 from step 406 according to any node group template instances 206 and any other in-scope instances (e.g., template instances that have the node groups in the scope 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 node group template instance 206.
[0050] 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 network template instances 210 referenced by the cluster template instance 204 used to instantiate the cluster and any other in-scope instances (e.g., template instances that have the cluster 120 in the scope thereof such as global scope, allcluster scope, or cluster scope). Configuring a network in a cluster 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.
[0051] 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 power template instances 212 that are either referenced by a template instance 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.
[0052] The instantiations of steps 404 and 406 and the configuration of steps 408, 410, and 412Attorney Docket No. RAKU-12300WO may be accomplished by processing the hierarchical template instance 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.
[0053] 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.
[0054] A template hierarchy 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 hierarchical template instance 200, which, when implemented by the IMS 114a, may change the configuration of previously instantiated clusters, node groups, or nodes 122, referenced by the template hierarchy. For example, the revised template hierarchy may reference updated or upgraded software for implementing a cluster 120, node group, or node 122. The revised hierarchical template instance 200 may include a revised template instance 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.
[0055] The use of a hierarchical template instance 200 as defined above along with corresponding methods for creating and processing a template hierarchy provide many advantages. Templates instances may be reused without repetition by defining a scope thereof or having multipleAttorney Docket No. RAKU-12300WO templates instances all refer to another template instance. 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 template instances is thereby reduced both when templates are initially used to instantiate a cluster 120 or when template instances are used to update a cluster 120. By revising a hierarchical template instance 200 and using the hierarchical template instance 200 to update a previously instantiated cluster, incremental updates or upgrades may be performed.
[0056] Using a hierarchical template instance 200 a vendor or operator can add any desired parameter to be used when instantiated 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 template instance (e.g., a root template instance 202) that includes all parameters (e.g., any of the parameters that may be included in a cluster template instance 204, node group template instance 206, node template instance 208, network template instance 210, power template instance 212, or policy template instance 214). The ability to specify the scope of a template instance further enables a desired behavior to be achieved by a vendor or operator. The hierarchical template instance 200 further enables a human-understandable representation of one or more clusters 120, which facilitates inspection and maintenance.
[0057] Fig. 5 illustrates an embodiment of a computing device 500 that may be used to implement any of the computing components described above. As shown in Fig. 5, the device 500 includes processor 510, a memory 520, a storage component 530, an input component 540, an output component 550, a communication interface 560, and a bus 570.
[0058] The processor 510, as used herein, means any type of computational circuit that mayAttorney Docket No. RAKU-12300WO comprise hardware elements and software elements. The processor 510 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 510 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.
[0059] Memory 520 includes a non-transitory computer readable medium. Memory 520 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 510. The memory 520 comprises machine-readable instructions which are executable by the processor 510. These machine-readable instructions when executed by the processor 510 cause the processor 510 to perform one or more method steps of an embodiment described above.
[0060] Storage component 530 stores information and / or software related to the operation and use of the device 500. For example, storage component 530 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.
[0061] Input component 540 is configured to receive information, such as user input. For example, the input component 540 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 540 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. RAKU-12300WO
[0062] Output component 550 is configured to provide output information from the device 500. For example, the output component 550 may be, but not limited to, a display, a speaker, instructions to an external device, and / or one or more light-emitting diodes (LEDs).
[0063] Communication interface 560 is an interface that provides a communication connection to other devices, such as external devices and internal devices. The connection by the communication interface 560 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 500 and other devices. In other words, the standard of the communication interface 560 is not limited.
[0064] The bus 570 acts as an interconnect between the processor 510, the memory 520, the storage component 530, the input component 540, the output component 550, and the communication interface 560 of the device 500. The bus 570 may include a wired interconnection or a wireless interconnection.
[0065] The number and arrangement of components shown in Fig. 5 are provided as an example. In practice, device 500 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 5. Additionally, or alternatively, a set of components (e.g., one or more components) of device 500 may perform one or more functions described as being performed by another set of components of device 500. Further, one or more method steps described in any of the embodiments may be performed utilizing a plurality of devices 500 in communication with one another.
[0066] In a first example embodiment, a Service Management and Orchestration (SMO) is configured to: generate 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 moreAttorney Docket No. RAKU-12300WO nodes to be instantiated in each cluster of the one or more clusters; and transmit a provisioning request referencing the template hierarchy to a cloud computing platform.
[0067] In a second example embodiment according to the first example embodiment, each template instance of the plurality of template instances defines a scope of the each template instance.
[0068] In a third example embodiment according to the second example embodiment, the scope of the each template instance includes at least one of global scope, cluster scope, node group scope, and node scope.
[0069] In a fourth example embodiment according to the first example embodiment, the plurality of template instances include one or more cluster template instances, parameters of each cluster template instance of the one or more cluster template instances defining instantiation of a cluster of the one or more clusters, the parameters defining instantiation of the cluster and including references to node template instances including parameters defining instantiation of the one or more nodes of each cluster of the one or more clusters.
[0070] In a fifth example embodiment according to the fourth example embodiment, the parameters of each cluster template instance of the one or more cluster template instances further includes references to node group template instances of the plurality of template instances defining configuration of the one or more nodes of each cluster of the one or more clusters into node groups.
[0071] In a sixth example embodiment according to the first example embodiment, the plurality of template instances include one or more network template instances defining one or more networks for the one or more clusters.
[0072] In a seventh example embodiment according to the first example embodiment, theAttorney Docket No. RAKU-12300WO plurality of template instances include one or more power template instance defining utilization limits for the one or more clusters.
[0073] In an eighth example embodiment according to the first example embodiment, the SMO is further configured to transmit the provisioning request to an infrastructure management service (IMS) of the cloud computing platform.
[0074] In a ninth example embodiment according to the first example embodiment, the cloud computing platform is an O-cloud according to the open radio access network (0-RAN) standard.
[0075] In a tenth example embodiment according to the first example embodiment, the SMO is a Service Management and Orchestration framework according to the open radio access network (0-RAN) standard.
[0076] In an eleventh example embodiment according to the first example embodiment, the one or more clusters are O-Cloud node clusters.
[0077] In a twelfth example embodiment, a method includes: generating, by a computing device, 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; and transmitting, by the computing device, a provisioning request referencing the template hierarchy to a cloud computing platform.
[0078] In a thirteenth example embodiment according to the twelfth example embodiment, each template instance of the plurality of template instances defines a scope of the each template instance.
[0079] In a fourteenth example embodiment according to the thirteenth example embodiment, the scope of the each template instance includes at least one of global scope, cluster scope, nodeAtorney Docket No. RAKU-12300WO group scope, and node scope.
[0080] In a fifteenth example embodiment according to the twelfth example embodiment, the plurality of template instances include one or more cluster template instances, parameters of each cluster template instance of the one or more cluster template instances defining instantiation of a cluster of the one or more clusters, the parameters defining instantiation of the cluster and including references to node template instances including parameters defining instantiation of the one or more nodes of each cluster of the one or more clusters.
[0081] In a sixteenth example embodiment according to the fifteenth example embodiment, the parameters of each cluster template instance of the one or more cluster template instances further includes references to node group template instances of the plurality of template instances defining configuration of the one or more nodes of each cluster of the one or more clusters into node groups.
[0082] In a seventeenth example embodiment according to the twelfth example embodiment, the plurality of template instances include one or more network template instances defining one or more networks for the one or more clusters.
[0083] In an eighteenth example embodiment according to the twelfth example embodiment, the plurality of template instances includes one or more power template instance defining utilization limits for the one or more clusters.
[0084] In a nineteenth example embodiment according to the twelfth example embodiment, the one or more clusters are O-cloud node clusters.
[0085] In a twentieth example embodiment, 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: generate a plurality of template instances arranged in a template hierarchy,Attorney Docket No. RAKU-12300WO 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; and transmit a provisioning request referencing the template hierarchy to a cloud computing platform.
Claims
Attorney Docket No. RAKU-12300WO Claims:
1. A Service Management and Orchestration (SMO) configured to:generate 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; andtransmit a provisioning request referencing the template hierarchy to a cloud computing platform.
2. The SMO of claim 1, wherein each template instance of the plurality of template instances defines a scope of the each template instance.
3. The SMO of claim 2, wherein the scope of the each template instance includes at least one of global scope, cluster scope, node group scope, and node scope.
4. The SMO of claim 1, the plurality of template instances include one or more cluster template instances, parameters of each cluster template instance of the one or more cluster template instances defining instantiation of a cluster of the one or more clusters, the parameters defining instantiation of the cluster and including references to node template instances including parameters defining instantiation of the one or more nodes of each cluster of the one or more clusters.
5. The SMO of claim 4, wherein the parameters of each cluster template instance of the one or more cluster template instances further includes references to node group templateAttorney Docket No. RAKU-12300WO instances of the plurality of template instances defining configuration of the one or more nodes of each cluster of the one or more clusters into node groups.
6. The SMO of claim 1, wherein the plurality of template instances includes one or more network template instances defining one or more networks for the one or more clusters.
7. The SMO of claim 1, wherein the plurality of template instances includes one or more power template instance defining utilization limits for the one or more clusters.
8. The SMO of claim 1, further configured to transmit the provisioning request to an infrastructure management service (IMS) of the cloud computing platform.
9. The SMO of claim 1, wherein the cloud computing platform is an O-cloud according to the open radio access network (O-RAN) standard.
10. The SMO of claim 1, wherein the SMO is a Service Management and Orchestration framework according to the open radio access network (O-RAN) standard.
11. The SMO of claim 1, wherein the one or more clusters are O-Cloud node clusters.
12. A method comprising:generating, by a computing device, a plurality of template instances arranged in a template hierarchy, the plurality of template instances specifying instantiation of one or moreAttorney Docket No. RAKU-12300WO clusters and one or more nodes to be instantiated in each cluster of the one or more clusters; and transmitting, by the computing device, a provisioning request referencing the template hierarchy to a cloud computing platform.
13. The method of claim 12, wherein each template instance of the plurality of template instances defines a scope of the each template instance.
14. The method of claim 13, wherein the scope of the each template instance includes at least one of global scope, cluster scope, node group scope, and node scope.
15. The method of claim 12, the plurality of template instances include one or more cluster template instances, parameters of each cluster template instance of the one or more cluster template instances defining instantiation of a cluster of the one or more clusters, the parameters defining instantiation of the cluster and including references to node template instances including parameters defining instantiation of the one or more nodes of each cluster of the one or more clusters.
16. The method of claim 15, wherein the parameters of each cluster template instance of the one or more cluster template instances further includes references to node group template instances of the plurality of template instances defining configuration of the one or more nodes of each cluster of the one or more clusters into node groups.
17. The method of claim 12, wherein the plurality of template instances includes oneAttorney Docket No. RAKU-12300WO or more network template instances defining one or more networks for the one or more clusters.
18. The method of claim 12, wherein the plurality of template instances includes one or more power template instance defining utilization limits for the one or more clusters.
19. The method of claim 12, wherein the one or more clusters are O-cloud node clusters.
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: generate 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; andtransmit a provisioning request referencing the template hierarchy to a cloud computing platform.