IP Library Granted Patent US 10,691,514
Granted Patent B2
US 10,691,514 · App. 15/617,428 · Granted Jun 23, 2020

System and method for integration, testing, deployment, orchestration, and management of applications

Inventors: Thomas Patrick McClory (Carlsbad, CA); Jatil Chandrakant Damania (Jersey City, NJ); Scott Matthew Vidmar (Graham, WA); Joshua Matthew Leder (La Union, CR); Allen Turner Hurff (Los Angeles, CA)
Assignee: DATAPIPE, INC.
G06F9/546G06F8/30G06F8/41G06F8/60G06F8/71G06F9/45558G06F9/505G06F9/5027G06F11/3684G06F11/3688G06Q10/06398H04L41/5041H04L41/5054H04L63/0236H04L63/0281G06F8/77G06F2009/45583G06F2009/45587G06F2009/45591G06F2209/501G06F2209/541G06F2209/548H04L41/5083H04L63/1433H04L67/10
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 10,691,514
App. No.
15/617,428
Granted
Jun 23, 2020
Kind
B2
Abstract

Disclosed herein are system, apparatus, article of manufacture, method, and/or computer program product embodiments for creating and managing a software application. In an embodiment, an application template may first be identified. Application creation configuration information for a new software application may then be determined based on the identified application template. Application source code information may be generated based on the application creation configuration information and stored in a provisioned application source code data store. A build of the application source code information may then be initiated to generate the software application. An application infrastructure configured to host the software application may be provisioned in an infrastructure services provider system, and the software application may be automatically deployed to the provisioned application infrastructure including appropriate security concerns. Additionally, application infrastructure and deployment telemetry may be generated to monitor health of software application and associated infrastructure.

Claims (114)

1. A system, comprising:

at least one processor; and

a memory operatively coupled to the at least one processor, the at least one processor configured to perform operations comprising:

identifying an application template stored in a template data store;

determining application creation configuration information, for a software application, based on the identified application template;

generating application source code information based on the application creation configuration information, the application source code information including application build configuration information;

provisioning an application source code data store based on the application creation configuration information;

storing the application source code information in the application source code data store;

creating an integration workflow including an application build process configured to build the application source code information based on the application build configuration information;

predicting an infrastructure need, based at least in part on the integration workflow including the application build process;

scaling an infrastructure limit, based at least in part on the integration workflow including the application build process;

initiating a build of the application source code information, based on the application build configuration information, to generate the software application;

provisioning an application infrastructure configured to host the software application in an infrastructure services provider system based at least in part on the infrastructure need as predicted, the infrastructure limit as scaled, and the application creation configuration information;

initiating a rebuild of the application source code information, in response to a change in the application source code information detected via the integration workflow;

testing the software application according to a testing workflow comprising a logic gate; and

deploying the software application to the application infrastructure upon generation of the software application, in response to a notification corresponding to the logic gate.

2. The system of claim 1 , wherein the at least one processor is further configured to:

retrieve available developer configuration information associated with an application developer, wherein the developer configuration information includes default application creation configuration information for the application developer or an organization associated with the application developer;

dynamically generate queries for application-specific configuration information based on the developer configuration information and the identified application template;

transmit each query to an application orchestration client application;

receive one or more responses to the transmitted queries from the application orchestration client application; and

determine the application creation configuration information based on the developer configuration information, the identified application template, and the received one or more responses.

3. The system of claim 1 , wherein the at least one processor is further configured to:

identify a programming language from the application creation configuration information;

generate one or more source code files based on the identified programming language and the application creation configuration information;

receive application programming interface (API) configuration information for an existing service used by the software application;

define one or more service methods based on the received API configuration information, wherein each service method is defined in the identified programming language and connects to an endpoint of the existing service; and

generate code stubs within the one or more source code files based on the received API configuration information, wherein each code stub is defined in the identified programming language and incorporates one of the one or more service methods to enable access to the existing service.

4. The system of claim 1 , wherein the at least one processor is further configured to:

determine a location of an artifact data store based on the application creation configuration information;

validate the location of the artifact data store;

connect the integration workflow to the application source code data store and the artifact data store;

retrieve the application source code information from the application source code data store;

reinitiate the application build process to generate the software application; and

store the software application in the artifact data store.

5. The system of claim 4 , wherein the at least one processor is further configured to:

identify one or more errors in the application source code information via the testing workflow, wherein the testing workflow comprises at least one of a unit test, integration test, or code analysis.

6. The system of claim 4 , wherein the reinitiating the application build process is triggered by an accelerated application development, deployment, orchestration, and management application (AADDOMA) separate from the provisioned application infrastructure, and wherein the application build process is executed within the provisioned application infrastructure.

7. The system of claim 1 , wherein the at least one processor is further configured to:

periodically provide application creation status information to an application orchestration client application.

8. A computer-implemented method, comprising:

identifying an application template stored in a template data store;

determining application creation configuration information for a software application, based on the identified application template;

generating application source code information based on the application creation configuration information, the application source code information including application build configuration information;

provisioning an application source code data store based on the application creation configuration information;

storing the application source code information in the application source code data store;

creating an integration workflow including an application build process configured to build the application source code information based on the application build configuration information;

predicting an infrastructure need, based at least in part on the integration workflow including the application build process;

scaling an infrastructure limit, based at least in part on the integration workflow including the application build process;

initiating a build of the application source code information, based on the application build configuration information, to generate the software application;

provisioning an application infrastructure configured to host the software application in an infrastructure services provider system based at least in part on the infrastructure need as predicted, the infrastructure limit as scaled, and the application creation configuration information;

initiating a rebuild of the application source code information, in response to a change in the application source code information detected via the integration workflow;

testing the software application according to a testing workflow comprising a logic gate; and

deploying the software application to the application infrastructure upon generation of the software application.

9. The method of claim 8 , wherein determining the application creation configuration information further comprises:

retrieving available developer configuration information associated with an application developer, wherein the developer configuration information includes default application creation configuration information for the application developer or an organization associated with the application developer;

dynamically generating queries for application-specific configuration information based on the developer configuration information and the identified application template;

transmitting each query to an application orchestration client application;

receiving one or more responses to the transmitted queries from the application orchestration client application; and

determining the application creation configuration information based on the developer configuration information, the identified application template, and the received one or more responses.

10. The method of claim 8 , wherein generating the application source code information further comprises:

identifying a programming language from the application creation configuration information;

generating one or more source code files based on the identified programming language and the application creation configuration information;

receiving application programming interface (API) configuration information for an existing service used by the software application;

defining one or more service methods based on the received API configuration information, wherein each service method is defined in the identified programming language and connects to an endpoint of the existing service; and

generating code stubs within the one or more source code files based on the received API configuration information, wherein each code stub is defined in the identified programming language and incorporates one of the one or more service methods to enable access to the existing service.

11. The method of claim 8 , wherein initiating the build of the application source code information further comprises:

determining a location of an artifact data store based on the application creation configuration information;

validating the location of the artifact data store;

connecting the integration workflow to the application source code data store and the artifact data store;

retrieving the application source code information from the application source code data store;

initiating the application build process to generate the software application; and

storing the software application in the artifact data store.

12. The method of claim 11 , wherein creating the integration workflow further comprises:

identifying one or more errors in the application source code information via the testing workflow, wherein the testing workflow comprises at least one of a unit test, integration test, or code analysis.

13. The method of claim 11 , wherein the initiating the application build process is triggered by an accelerated application development, deployment, orchestration, and management application (AADDOMA) separate from the provisioned application infrastructure, and wherein the application build process is executed within the provisioned application infrastructure.

14. The method of claim 8 , further comprising:

periodically providing application creation status information to an application orchestration client application.

15. A non-transitory computer-readable storage device having instructions stored thereon that, when executed by at least one processor, causes the at least one processor to perform operations comprising:

identifying an application template stored in a template data store;

determining application creation configuration information for a software application, based on the identified application template;

generating application source code information based on the application creation configuration information, the application source code information including application build configuration information;

provisioning an application source code data store based on the application creation configuration information;

storing the application source code information in the application source code data store;

creating an integration workflow including an application build process configured to build the application source code information based on the application build configuration information;

predicting an infrastructure need, based at least in part on the integration workflow including the application build process;

scaling an infrastructure limit, based at least in part on the integration workflow including the application build process;

initiating a build of the application source code information, based on the application build configuration information, to generate the software application;

provisioning an application infrastructure configured to host the software application in an infrastructure services provider system based at least in part on the infrastructure need as predicted, the infrastructure limit as scaled, and the application creation configuration information;

initiating a rebuild of the application source code information, in response to a change in the application source code information detected via the integration workflow;

testing the software application according to a testing workflow comprising a logic gate; and

deploying the software application to the application infrastructure upon generation of the software application, in response to a notification corresponding to the logic gate.

16. The non-transitory computer-readable storage device of claim 15 , wherein to determine the application creation configuration information, the operations further comprise:

retrieving available developer configuration information associated with an application developer, wherein the developer configuration information includes default application creation configuration information for the application developer or an organization associated with the application developer;

dynamically generating queries for application-specific configuration information based on the developer configuration information and the identified application template;

transmitting each query to an application orchestration client application;

receiving one or more responses to the transmitted queries from the application orchestration client application; and

determining the application creation configuration information based on the developer configuration information, the identified application template, and the received one or more responses.

17. The non-transitory computer-readable storage device of claim 15 , wherein to generate the application source code information, the operations further comprise:

identifying a programming language from the application creation configuration information;

generating one or more application code files based on the identified programming language and the application creation configuration information;

receiving application programming interface (API) configuration information for an existing service used by the software application;

defining one or more service methods based on the received API configuration information, wherein each service method is defined in the identified programming language and connects to an endpoint of the existing service; and

generating code stubs within the one or more application code files based on the received API configuration information, wherein each code stub is defined in the identified programming language and incorporates one of the one or more service methods to enable access to the existing service.

18. The non-transitory computer-readable storage device of claim 15 , wherein to initiate the build of the application source code information, the operations further comprise:

determining a location of an artifact data store based on the application creation configuration information;

validating the location of the artifact data store;

connecting the integration workflow to the application source code data store and the artifact data store;

retrieving the application source code information from the application source code data store;

initiating the application build process to generate the software application; and

storing the software application in the artifact data store.

19. The non-transitory computer-readable storage device of claim 18 , wherein to create the integration workflow, the operations further comprise:

identifying one or more errors in the application source code information via the testing workflow, wherein the testing workflow comprises at least one of a unit test, integration test, or code analysis.

20. The non-transitory computer-readable storage device of claim 18 , wherein the initiating the application build process is triggered by an accelerated application development, deployment, orchestration, and management application (AADDOMA) separate from the provisioned application infrastructure, and wherein the application build process is executed within the provisioned application infrastructure.

Assignments (4)
RELEASE OF PATENT SECURITIES Recorded Mar 13, 2024
From: CITIBANK, N.A.
To: DATAPIPE, INC.
Reel/Frame 066794/0853 →
SECURITY AGREEMENT (FIRST LIEN) Recorded Mar 13, 2024
From: DATAPIPE, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066795/0274 →
SECURITY AGREEMENT Recorded Dec 15, 2017
From: DATAPIPE, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 044896/0165 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2017
From: MCCLORY, THOMAS PATRICK; DAMANIA, JATIL CHANDRAKANT; VIDMAR, SCOTT MATTHEW; LEDER, JOSHUA MATTHEW; HURFF, ALLEN TURNER
To: DATAPIPE, INC.
Reel/Frame 042679/0832 →
Continuity (2)
Provisional Application 62503079 · May 8, 2017
Related Publication 20180321918A1 · Nov 8, 2018
Cited By (7)
US 12,260,205 US 12,353,870 US 12,554,625 US 12,619,397 US 12,645,570 US 12,665,890 US 12,688,015