IP Library Granted Patent US 11,704,103
Granted Patent B1
US 11,704,103 · App. 17/587,845 · Granted Jul 18, 2023

Enhanced cloud-computing environment deployment

Inventors: Jay Indravadan Shah (Aldie, VA); Jignesh Sura (Broadlands, VA); Jehan Jayant Sethna (Vienna, VA); Clayton Myers (Oak Hill, VA); Timothy Lang (McLean, VA)
Assignee: MicroStrategy Incorporated
G06F8/63G06F9/541H04L67/10H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,704,103
App. No.
17/587,845
Granted
Jul 18, 2023
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for enhanced cloud computing deployment. In some implementations, a computer system provides a repository comprising (i) deployment tools configured to provide a deployment application programming interface (API), (ii) a set of container files configured to operate together to provide a server environment, and (iii) configuration data for the container images. The computer system can provide a deployment workflow package that, when invoked for a cloud computing account of the customer, is configured to retrieve the container files, configuration data, and deployment tools from the repository over a communication network and store the retrieved items in the cloud computing account. The deployment workflow package is also configured to run the deployment tools and create deployment infrastructure in the cloud computing account.

Claims (52)

1. A method performed by one or more computers, the method comprising:

providing, by the one or more computers, a repository comprising (i) deployment tools configured to provide a deployment application programming interface (API) for deploying server environments within a cloud computing account, (ii) a set of container files configured to operate together to provide a server environment when the container files are run as containers, and (iii) configuration data for the container images; and

providing, by the one or more computers, a deployment workflow package to a computing system associated with a customer, wherein the deployment workflow package, when invoked for a cloud computing account of the customer, is configured to:

retrieve the set of container files from the repository over a communication network and store the retrieved set of container files in the cloud computing account of the customer;

retrieve the configuration data from the repository over a communication network and store the retrieved configuration data in the cloud computing account of the customer;

retrieve the deployment tools from the repository over a communication network and store the retrieved deployment tools in the cloud computing account of the customer; and

run the deployment tools, hosted in the cloud computing account of the customer, the deployment tools comprising (i) an API gateway for the deployment API and (ii) a deployment orchestrator module configured to create and manage a cluster of processing nodes according to instructions received through the deployment API.

2. The method of claim 1 , further comprising:

identifying a customer account for the customer; and

changing permissions for the repository to permit the customer account to access contents of the repository.

3. The method of claim 1 , wherein the repository comprises multiple sets of deployment tools or configuration data corresponding to different cloud computing platforms.

4. The method of claim 1 , wherein the deployment tools, when hosted in the cloud computing account of the customer, are configured to create and deploy server environments in the cloud computing account of the customer without granting permissions to access the cloud computing account of the customer.

5. The method of claim 1 , wherein the configuration data comprises data indicating software dependencies and configuration settings for installing or running containers based on the container images in the repository.

6. The method of claim 1 , wherein the deployment tools include one or more automation scripts, and the deployment workflow package is configured to invoke the one or more automation scripts to create the deployment tools, create a cluster of processing nodes, or deploy a server environment in a cluster of processing nodes.

7. The method of claim 1 , wherein the deployment orchestrator module is configured to create a cluster of processing nodes responsive to a cluster creation command through the deployment API, wherein the cluster creation command triggers a cluster creation workflow that automatically generates, in the cluster, an environment configuration module.

8. The method of claim 7 , wherein the environment configuration module is configured to respond to an environment creation command provided through the deployment API after creation of a cluster of processing nodes, and wherein the environment configuration module is configured to respond to the environment creation command by:

creating a namespace for a new environment,

identifying a set of containers needed for the new environment, and

running, in the created namespace, instances of the identified set of containers based on the retrieved container images stored in the cloud computing account, wherein parameters for the containers are set according to the retrieved configuration data stored in the cloud computing account.

9. A system comprising:

one or more computers; and

one or more computer-readable media storing instructions that, when executed by the one or more computers, cause the system to perform operations comprising:

providing, by the one or more computers, a repository comprising (i) deployment tools configured to provide a deployment application programming interface (API) for deploying server environments within a cloud computing account, (ii) a set of container files configured to operate together to provide a server environment when the container files are run as containers, and (iii) configuration data for the container images; and

providing, by the one or more computers, a deployment workflow package to a computing system associated with a customer, wherein the deployment workflow package, when invoked for a cloud computing account of the customer, is configured to:

retrieve the set of container files from the repository over a communication network and store the retrieved set of container files in the cloud computing account of the customer;

retrieve the configuration data from the repository over a communication network and store the retrieved configuration data in the cloud computing account of the customer;

retrieve the deployment tools from the repository over a communication network and store the retrieved deployment tools in the cloud computing account of the customer; and

run the deployment tools, hosted in the cloud computing account of the customer, the deployment tools comprising (i) an API gateway for the deployment API and (ii) a deployment orchestrator module configured to create and manage a cluster of processing nodes according to instructions received through the deployment API.

10. The system of claim 9 , wherein the operations further comprise:

identifying a customer account for the customer; and

changing permissions for the repository to permit the customer account to access contents of the repository.

11. The system of claim 9 , wherein the repository comprises multiple sets of deployment tools or configuration data corresponding to different cloud computing platforms.

12. The system of claim 9 , wherein the deployment tools, when hosted in the cloud computing account of the customer, are configured to create and deploy server environments in the cloud computing account of the customer without granting permissions to access the cloud computing account of the customer.

13. The system of claim 9 , wherein the configuration data comprises data indicating software dependencies and configuration settings for installing or running containers based on the container images in the repository.

14. The system of claim 9 , wherein the deployment tools include one or more automation scripts, and the deployment workflow package is configured to invoke the one or more automation scripts to create the deployment tools, create a cluster of processing nodes, or deploy a server environment in a cluster of processing nodes.

15. The system of claim 9 , wherein the deployment orchestrator module is configured to create a cluster of processing nodes responsive to a cluster creation command through the deployment API, wherein the cluster creation command triggers a cluster creation workflow that automatically generates, in the cluster, an environment configuration module.

16. The system of claim 15 , wherein the environment configuration module is configured to respond to an environment creation command provided through the deployment API after creation of a cluster of processing nodes, and wherein the environment configuration module is configured to respond to the environment creation command by:

creating a namespace for a new environment,

identifying a set of containers needed for the new environment, and

running, in the created namespace, instances of the identified set of containers based on the retrieved container images stored in the cloud computing account, wherein parameters for the containers are set according to the retrieved configuration data stored in the cloud computing account.

17. One or more non-transitory computer-readable media storing instructions that, when executed by the one or more computers, cause the system to perform operations comprising:

providing, by the one or more computers, a repository comprising (i) deployment tools configured to provide a deployment application programming interface (API) for deploying server environments within a cloud computing account, (ii) a set of container files configured to operate together to provide a server environment when the container files are run as containers, and (iii) configuration data for the container images; and

providing, by the one or more computers, a deployment workflow package to a computing system associated with a customer, wherein the deployment workflow package, when invoked for a cloud computing account of the customer, is configured to:

retrieve the set of container files from the repository over a communication network and store the retrieved set of container files in the cloud computing account of the customer;

retrieve the configuration data from the repository over a communication network and store the retrieved configuration data in the cloud computing account of the customer;

retrieve the deployment tools from the repository over a communication network and store the retrieved deployment tools in the cloud computing account of the customer; and

run the deployment tools, hosted in the cloud computing account of the customer, the deployment tools comprising (i) an API gateway for the deployment API and (ii) a deployment orchestrator module configured to create and manage a cluster of processing nodes according to instructions received through the deployment API.

18. The one or more non-transitory computer-readable media of claim 17 , wherein the operations further comprise:

identifying a customer account for the customer; and

changing permissions for the repository to permit the customer account to access contents of the repository.

19. The one or more non-transitory computer-readable media of claim 17 , wherein the repository comprises multiple sets of deployment tools or configuration data corresponding to different cloud computing platforms.

20. The one or more non-transitory computer-readable media of claim 17 , wherein the deployment tools, when hosted in the cloud computing account of the customer, are configured to create and deploy server environments in the cloud computing account of the customer without granting permissions to access the cloud computing account of the customer.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072974/0529 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SUPPLEMENTARY PATENT SECURITY AGREEMENT Recorded Feb 18, 2022
From: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 059256/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2022
From: SHAH, JAY INDRAVADAN; SURA, JIGNESH; SETHNA, JEHAN JAYANT; MYERS, CLAYTON; LANG, TIMOTHY
To: MICROSTRATEGY INCORPORATED
Reel/Frame 058826/0535 →