# US 2023/0069604 A1 · Use of crds as descriptors for applications, application components, deployments, clouds, ai/ml models, and rte in an o-ran system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2023/0069604 A1
- Document ID: US20230069604A1
- Status: Published application
- Kind: A1
- Application number: 17/893,155
- Filed: 2022-08-22
- Published: 2023-03-02
- Earliest claimed: 2021-08-24
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Giridhar Subramani Jayavelu; Mahesh Jethanandani
- Web page: https://patentgrep.com/patent/US20230069604A1

## CPC

- G06F 8/63: {Image based installation; Cloning; Build to order}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Some embodiments use CRDs (custom resource definitions) to define resources in an O-RAN system. These resources include applications (xApps, rApps, etc.), components of these applications, deployment constructs, cloud constructs, AI/ML models and RTE constructs. Using these CRD descriptors, app developers can develop and distribute their applications in a platform independent manner. The CRDs of some embodiments are used to on board applications into an O-RAN system. In some embodiments, the SMO (Service, Management and Orchestration) framework of the O-RAN system has a service for processing CRDs. In some of these embodiments, this SMO service has one controller to process the new application CRD. In some embodiments, the SMO identifies clouds for placements of the deployed applications and directs Kubernetes managers of the identified clouds to deploy the applications.

## Claims

### Claim 1

A method of deploying an application in an O-RAN (Open Radio Access Network) system, the method comprising:
receiving an application Custom Resource Definition (CRD) that defines a set of one or more components of the application as a resource in the datacenter;
receiving an API (Application Programming Interface) request referring to the application CRD to deploy the set of one or more components of the application;
performing an automated process to process the API request by reference to the application CRD in order to deploy the set of one or more components of the application in a datacenter.

### Claim 2 (depends on 1)

The method of claim 1, wherein the application is one of an xApp or rApp in the O-RAN system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the API request is a create request, the method further receiving and processing one or more of a read API request to perform a read operation with respect to the deployed application, an update API request to perform an update operation with respect to the deployed application and a delete API request to delete the application.

### Claim 4 (depends on 1)

The method of claim 1, wherein the application CRD defines all the components of the application and performing the automated process deploys all the components of the application in a datacenter.

### Claim 5 (depends on 1)

The method of claim 1, wherein the use of the application CRD allows the application to be deployed in a plurality of different O-RAN systems that have O-RAN components from different vendors.

### Claim 6 (depends on 1)

The method of claim 1, wherein said receiving and performing operations are performed by the service, management and orchestration (SMO) framework of the O-RAN system.

### Claim 7 (depends on 6)

The method of claim 6, wherein the SMO comprises an orchestrator that includes a deployment manager, a placer and a deployment tool, the method further comprising:
receiving, at the deployment manager, a container file that has a plurality of CRDs related to the application being deployed;
parsing, at the deployment manager, the container file to produce a cloud descriptor and a deployment descriptor CRD;
using the placer to process the cloud descriptor and deployment descriptor to select a cloud to deploy the application;
using the deployment tool to direct the selected cloud to deploy the application, wherein the datacenter is a datacenter of the selected cloud.

### Claim 8 (depends on 7)

The method of claim 7, wherein a Kubernetes manager in the selected cloud processes the application CRD to deploy the set of application components.

### Claim 9 (depends on 8)

The method of claim 8, wherein using the deployment tool comprises configuring the deployment tool to use the selected cloud’s set of APIs to provide the application CRD.

### Claim 10 (depends on 7)

The method of claim 7, wherein the deployment tool is a deployment tool that is associated with the selected cloud, wherein the orchestrator has a plurality of different deployment tools for a plurality of different clouds that are candidates for deploying applications.

### Claim 11

A non-transitory machine readable medium storing a program which when executed by at least one processing unit deploys an application in an O-RAN (Open Radio Access Network) system, the program comprising sets of instructions for:
receiving an application Custom Resource Definition (CRD) that defines a set of one or more components of the application as a resource in the datacenter;
receiving an API (Application Programming Interface) request referring to the application CRD to deploy the set of one or more components of the application;
performing an automated process to process the API request by reference to the application CRD in order to deploy the set of one or more components of the application in a datacenter.

### Claim 12 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the application is one of an xApp or rApp in the O-RAN system.

### Claim 13 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the API request is a create request, the program further comprises a set of instructions for receiving and processing one or more of a read API request to perform a read operation with respect to the deployed application, an update API request to perform an update operation with respect to the deployed application and a delete API request to delete the application.

### Claim 14 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the application CRD defines all the components of the application and performing the automated process deploys all the components of the application in a datacenter.

### Claim 15 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the use of the application CRD allows the application to be deployed in a plurality of different O-RAN systems that have O-RAN components from different vendors.

### Claim 16 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the set of instructions for said receiving and performing operations are performed by the service, management and orchestration (SMO) framework of the O-RAN system.

### Claim 17 (depends on 16)

The non-transitory machine readable medium of claim 16, wherein the SMO comprises an orchestrator that includes a deployment manager, a placer and a deployment tool, the program further comprising sets of instructions for:
receiving, at the deployment manager, a container file that has a plurality of CRDs related to the application being deployed;
parsing, at the deployment manager, the container file to produce a cloud descriptor and a deployment descriptor CRD;
using the placer to process the cloud descriptor and deployment descriptor to select a cloud to deploy the application;
using the deployment tool to direct the selected cloud to deploy the application, wherein the datacenter is a datacenter of the selected cloud.

### Claim 18 (depends on 17)

The non-transitory machine readable medium of claim 17, wherein a Kubernetes manager in the selected cloud processes the application CRD to deploy the set of application components.

### Claim 19 (depends on 18)

The non-transitory machine readable medium of claim 18, wherein the set of instructions for using the deployment tool comprises a set of instructions for configuring the deployment tool to use the selected cloud’s set of APIs to provide the application CRD.

### Claim 20 (depends on 17)

The non-transitory machine readable medium of claim 17, wherein the deployment tool is a deployment tool that is associated with the selected cloud, wherein the orchestrator has a plurality of different deployment tools for a plurality of different clouds that are candidates for deploying applications.
