IP Library › Granted Patent US 12,645,444
Granted Patent B2
US 12,645,444 · App. 18/345,433 · Granted Jun 2, 2026

Unified virtualized and containerized CI/CD chain

Inventors: Sebastien Bouat (Grenoble, FR); Valentin D. Emmanuele (Grenoble, FR); Maxim Patrushev (Grenoble, FR)
Assignee: Hewlett Packard Enterprise Development LP
G06F8/65
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 12,645,444
App. No.
18/345,433
Granted
Jun 2, 2026
Kind
B2
Abstract

Examples of the present technology provide automated Continuous Integration/Continuous Deployment (CI/CD) systems that unify the CI/CD methodology for virtualized and containerized software environments. To realize this unification, CI/CD systems of the present technology are intelligently designed to leverage a common set of inputs (i.e., artifacts and deployment descriptors) that can facilitate automatic deployment of the software system in either a virtualized environment, a containerized environment, or both. Accordingly, CI/CD systems of the present technology provide a flexible software development tool that facilitates efficient, and automated deployment of software systems in both virtualized and containerized environments.

Claims (72)

1 . A method, comprising:

receiving a deployment descriptor describing an inventory of components to be instantiated and deployed in a software system, relationships between the components within the software system, and configuration parameters for the components;

receiving artifacts describing the components being instantiated as instantiated components;

in response to determining to deploy the software system in a virtualized environment, using the deployment descriptor and the artifacts to deploy the software system in the virtualized environment; and

in response to determining to deploy the software system in a containerized environment, deploying the software system in the containerized environment by:

using the deployment descriptor and the artifacts to compute a containerization workflow for building a container image for the software system, wherein the containerization workflow comprises a set of instructions for instantiating the components and deploying the instantiated components,

providing the containerization workflow to a container image automation service, wherein the container image automation service builds the container image for the software system from the containerization workflow, and

deploying the software system in the containerized environment using the built container image.

2 . The method of claim 1 , further comprising:

building and packaging the components being instantiated as the instantiated components.

3 . The method of claim 1 , wherein deploying the software system in the virtualized environment comprises:

using the deployment descriptor and the artifacts to determine virtual computing resources for deploying the software system in the virtualized environment; and

in response to allocation of the determined virtual computing resources, computing and executing a virtualization workflow for deploying the software system in the virtualized environment using the allocated virtual computing resources.

4 . The method of claim 3 , further comprising:

requesting the determined virtual computing resources from a virtual computing resource manager.

5 . The method of claim 1 , wherein deploying the software system in the containerized environment further comprises:

using the deployment descriptor and the artifacts to determine containerization configuration parameters for building the container images for the software system; and

providing the determined containerization configuration parameters to the container image automation service, wherein the container image automation service builds the container images for the software system based on the containerization workflows and the determined containerization configuration parameters.

6 . The method of claim 1 , wherein:

the container image automation service publishes the built container images to a container image repository; and

the containerized environment pulls the built container images from the container image repository to run the software system in the containerized environment.

7 . The method of claim 1 , wherein the deployment descriptor comprises at least one of:

a settings file that defines the configuration parameters for each component; and

a layout file that defines instantiation of components and describes how the components connect to each other.

8 . A Continuous Integration/Continuous Deployment (CI/CD) system, comprising:

a memory comprising computer code; and

one or more processors operatively connected to the memory and configured to execute the computer code to:

receive a deployment descriptor describing an inventory of components to be deployed in a software system, relationships between the components within the software system, and configuration parameters for the components;

receive artifacts describing the components being instantiated as instantiated components;

in response to determining to deploy the software system in a virtualized environment, use the deployment descriptor and the artifacts to deploy the software system in the virtualized environment; and

in response to determining to deploy the software system in a containerized environment, deploying the software system in the containerized environment by:

using the deployment descriptor and the artifacts to compute containerization workflows for building container images for the software system, wherein the containerization workflows comprise a set of instructions for instantiating the components and deploying the instantiated components,

building container images for the software system from the containerization workflows, and

deploying the software system in the containerized environment using the built container images.

9 . The CI/CD system of claim 8 , further comprising computer code that causes the system to:

build and package the components being instantiated as the instantiated components.

10 . The CI/CD system of claim 8 , further comprising computer code that causes the system to:

publish the built container images to a container repository, wherein the containerized environment pulls the built container images from the container repository to run the software system in the containerized environment.

11 . The CI/CD system of claim 10 , wherein a container image automation service of the CI/CD system builds the container images and publishes the built container images to the container repository.

12 . The CI/CD system of claim 8 , wherein deploying the software system in the virtualized environment comprises:

using the deployment descriptor and the artifacts to determine virtual computing resources for deploying the software system in the virtualized environment; and

in response to allocation of the determined virtual computing resources, computing and executing a virtualization workflow for deploying the software system in the virtualized environment using the allocated virtual computing resources.

13 . The CI/CD system of claim 12 , wherein the deployment descriptor comprises at least one of:

a settings file that defines the configuration parameters for each instantiated component; and

a layout file that defines instantiation of the components and describes how the components connect to each other.

14 . The CI/CD system of claim 8 , wherein deploying the software system in the containerized environment further comprises:

using the deployment descriptor and the artifacts to determine containerization configuration parameters for building the container images for the software system; and

building the container images for the software system based on the containerization workflows and the determined containerization configuration parameters.

15 . A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to:

receive a deployment descriptor describing an inventory of components to be deployed in a software system, relationships between the components within the software system, and configuration parameters for the components;

determining to deploy the software system in one of a containerized environment or in a virtualized environment;

in response to determining to deploy the software system in the containerized environment, using the deployment descriptor to deploy the software system in the containerized environment by computing a containerization workflow for building a container image for the software system based on the deployment descriptor; and

in response to determining to deploy the software system in the virtualized environment, deploying the software system in the virtualized environment by:

using the deployment descriptor to determine virtual computing resources for deploying the software system in the virtualized environment; and

in response to allocation of the determined virtual computing resources, computing and executing a virtualization workflow for deploying the software system in the virtualized environment using the allocated virtual computing resources.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein deploying the software system in the containerized environment comprises:

using the deployment descriptor to compute a containerization workflow for building a container image for the software system, wherein the containerization workflow comprises a set of instructions for instantiating the components and deploying the instantiated components;

providing the containerization workflow to a container image automation service, wherein the container image automation service builds the container image for the software system from the containerization workflow; and

deploying the software system in the containerized environment using the built container image.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein the deployment descriptor comprises at least one of:

a settings file that defines the configuration parameters for each instantiated component; and

a layout file that defines instantiation of the components and describes how the components connect to each other.

18 . The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the computing system to:

receive artifacts describing the components being instantiated as the instantiated components;

in response to determining to deploy the software system in the containerized environment, use the artifacts and the deployment descriptor to deploy the software system in the containerized environment; and

in response to determining to deploy the software system in the virtualized environment, deploying the software system in the virtualized environment by:

using the artifacts and the deployment descriptor to determine the virtual computing resources for deploying the software system in the virtualized environment.

19 . The non-transitory computer-readable storage medium of claim 16 , wherein:

the container image automation service publishes the built container image to a container repository; and

the containerized environment pulls the built container image from the container repository to run the software system in the containerized environment.

20 . The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the system to:

build and package the components being instantiated as the instantiated components.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2023
From: BOUAT, SEBASTIEN; EMMANUELE, VALENTIN D.; PATRUSHEV, MAXIM
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 064378/0872 →
Priority Claims (1)
EP 23305577 · Apr 14, 2023 · regional
Continuity (1)
Related Publication 20240345823A1 · Oct 17, 2024
References Cited (14)
US 10929117B2 · Goldmann · 2021 [cited by examiner]
US 11755369B2 · Doudali · 2023 [cited by examiner]
US 11790101B2 · Hall · 2023 [cited by examiner]
US 20120117531A1 · Rosenbaum · 2012 [cited by examiner]
US 20160350081A1 · Kumar · 2016 [cited by examiner]
US 20200228402A1 · Parker · 2020 [cited by applicant]
US 20220035650A1 · Banerjee et al. · 2022 [cited by applicant]
US 20220147378A1 · Tarasov · 2022 [cited by examiner]
US 20220201447A1 · Asawa et al. · 2022 [cited by applicant]
US 20240078172A1 · Duggal · 2024 [cited by examiner]
WO 2021245447A1 · 2021 [cited by applicant]
AWS Startup Collection, “Using Containers to Build a Microservices Architecture”, available online at <https://medium.com/aws-activate-startup-blog/using-containers-to-build-a-microservices-architecture-6e1b8bacb7d1>, J… [cited by applicant]
Cloud Architecture Center, “Best practices for operating containers”, available online at <https://cloud.google.com/architecture/best-practices-for-operating-containers#immutability>, Feb. 28, 2023, 16 pages. [cited by applicant]
NGMN Alliance, “Service-Based Architecture in 5G Case Study and Deployment Recommendations”, 2019, 24 pages. [cited by applicant]