IP Library Granted Patent US 11,621,998
Granted Patent B2
US 11,621,998 · App. 17/373,320 · Granted Apr 4, 2023

Dynamic creation and execution of containerized applications in cloud computing

Inventors: Stephen M. Hebert (Houston, TX); Robert L. Sherrard (McKinney, TX); Leonardo E. Reiter (Allen, TX)
Assignee: AGARIK SAS
H04L67/10G06F9/4843G06F9/505G06F2209/549
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,621,998
App. No.
17/373,320
Granted
Apr 4, 2023
Kind
B2
Abstract

A method, system, and computer-readable storage medium for creating and executing containerized applications in cloud computing are disclosed. For example, one method involves identifying a command. Such a command indicates an application to be executed by a compute node. The method also involves generating a job for transmission to the compute node. The job indicates a container. The compute node, upon receipt of the job, is configured to create an environment for such a container, execute the application within the container, and generate results of the execution of the application.

Claims (66)

1. A method comprising:

receiving, via a web node, a command from a client via an inbound communications Application Programming Interface;

receiving said command from said web node at a head node;

analyzing said command, via said head node, to obtain information to execute said command, wherein

the command is to be performed by a compute node,

the command indicates

one or more requested applications to be executed by said compute node, and

one or more operations to be performed comprising

creation or updating of said one or more requested applications,

creation or updating of an environment,

the command provides one or more parameters used in

said creation or said updating of said one or more requested applications,

said creation or said updating of said environment,

execution of said one or more requested applications;

identifying, via said head node, said one or more requested applications to be executed for said client by said compute node based on said command;

identifying or determining, via said head node, said environment for each requested application of said one or more requested applications based on said command or based on a type of application being requested,

wherein said environment is in a form of an environment template comprising a stored representation of said environment,

wherein said environment template is used by said compute node to create a customized template used in a container,

wherein said container represents isolated computational space supported by said compute node, customized to execute said one or more requested applications;

determining, at said head node, whether said environment is to be created based on said command; and

generating a job by said head node, to transmit to said compute node, in response to said command, wherein

the job indicates said container,

wherein said container provides said environment that supports said execution of said one or more requested applications,

the job includes instructions for said creation, said updating and said execution of said one or more requested applications and said environment within said container at said compute node;

transmitting said job to said compute node;

creating, via said compute node, said environment for the container using said environment template,

executing, via said compute node, a first requested application of said one or more requested applications within the container, and

generating, via said compute node, results of the executing of the first requested application.

2. The method of claim 1 , further comprising

determining the environment by selecting the environment template, wherein the environment template is selected based, at least in part, on the each requested application; and

selecting the compute node, wherein

the compute node is selected from a cluster of compute nodes,

the compute node is selected based on a set of parameters, and

the set of parameters comprises a parameter that identifies the environment.

3. The method of claim 1 , further comprising

launching the container at the compute node;

creating the environment within the container, according to a second environment template for a second requested application of said one or more requested applications;

configuring the second requested application;

executing the second requested application within the container;

generating results of the executing of the second requested application.

4. The method of claim 3 , further comprising

storing the results from the executing of the first requested application and the results from the executing of the second requested application; and

de-provisioning the container once said executing said first requested application and said second requested application is complete.

5. The method of claim 3 , wherein said executing said second requested application within the container occurs after the first requested application has completed.

6. The method of claim 3 , further comprising

launching a second container at the compute node;

creating a second environment within the second container, according to the second environment template for the second requested application; and

executing the second requested application within the second container.

7. The method of claim 1 , further comprising

identifying a second requested application, of said one or more requested applications, to be executed as part of the command;

determining a second environment, based on the second requested application;

selecting a second compute node, wherein the second compute node is selected based on the second environment; and

generating a second job for transmission to the second compute node, wherein

the second job indicates a second container,

the second compute node is configured to create the second environment within the second container, and

the second compute node is configured to execute the second requested application within the second container.

8. The method of claim 1 , further comprising

prior to the generating the job, generating a second job for transmission to the compute node, wherein

the second job indicates an update to the environment,

the compute node is configured to update the environment, and

the compute node is configured to save the environment after the environment is updated.

9. The method of claim 1 , further comprising

prior to the generating the job, generating a second job for transmission to the compute node, wherein

the second job indicates an update to the first requested application,

the compute node is configured to update the first requested application, and

the compute node is configured to save the first requested application after the first requested application is updated.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2022
From: NIMBIX, INC.
To: AGARIK SAS
Reel/Frame 060681/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2021
From: HEBERT, STEPHEN M.; SHERRARD, ROBERT L.; REITER, LEONARDO E.
To: NIMBIX, INC.
Reel/Frame 057921/0580 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2021
From: HEBERT, STEPHEN M.; SHERRARD, ROBERT L.; REITER, LEONARDO E.
To: NIMBIX, INC.
Reel/Frame 056827/0619 →
Continuity (5)
Continuation 16285928 · Feb 26, 2019
Continuation 15917395 · Mar 9, 2018
Continuation 14541877 · Nov 14, 2014
Provisional Application 61905259 · Nov 17, 2013
Related Publication 20220038528A1 · Feb 3, 2022