IP Library Granted Patent US 11,700,177
Granted Patent B2
US 11,700,177 · App. 17/572,502 · Granted Jul 11, 2023

Cloud computing infrastructure pipelines with run triggers

Inventors: Casey Lang (Austin, TX); Krista LaFentres (Kansas City, MO); Jon Schulman (Vacaville, CA)
Assignee: HashiCorp Inc.
H04L41/082H04L41/0806H04L41/0866H04L41/0869H04L41/0895H04L41/22
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,700,177
App. No.
17/572,502
Granted
Jul 11, 2023
Kind
B2
Abstract

Systems and methods of managing information technology infrastructure are described. A method includes identifying a run trigger between a first node and a second node, each node maintaining a configuration for a portion of a cloud computing infrastructure associated with executing a portion of a cloud-based application. The run trigger initiates in response to an action at the first node and comprises a source identifier identifying the first node and a destination identifier identifying the second node. Then a run is queued on the second node based on the run trigger, the run including a process executed on the second portion of the cloud computing infrastructure with data received by the second node and associated with a run source identifier. The run on the second node is then planned and executed, causing the cloud computing infrastructure to modify infrastructure resources associated with the second portion of the cloud computing infrastructure.

Claims (58)

1. A computer-implemented method comprising:

identifying a run trigger between a first node and a second node, the first node maintaining configuration for a first portion of a cloud computing infrastructure associated with executing a first portion of a cloud-based application on the cloud computing infrastructure, the second node maintaining configuration for a second portion of the cloud computing infrastructure associated with executing a second portion of the cloud-based application on the cloud computing infrastructure, the run trigger initiating in response to an action at the first node and comprising a source identifier and a destination identifier, wherein the source identifier is an identifier of the first node and the destination identifier is an identifier of the second node;

planning a first run on the first node, the first run including a first process executed on the first portion of the cloud computing infrastructure with data at least temporarily stored on the first node and associated with the source identifier, wherein the first run comprises the action;

queuing a second run on the second node based on the run trigger, the second run including a second process executed on the second portion of the cloud computing infrastructure with data received and at least temporarily stored by the second node and associated with the source identifier; and

executing the first run on the first node, wherein the first run causes the cloud computing infrastructure to modify one or more infrastructure resources associated with the first portion of the cloud computing infrastructure, the first run generating a state file that is an input to the second run, the state file listing the one or more infrastructure resources in use after the first run.

2. The method of claim 1 , further comprising:

planning the second run on the second node; and

executing the second run on the second node, wherein the second run causes the cloud computing infrastructure to modify one or more infrastructure resources associated with the second portion of the cloud computing infrastructure.

3. The method of claim 2 , wherein executing the second run on the second node further comprises:

identifying one or more additional runs on the second node, each of the one or more additional runs being associated with an additional run source identifier;

comparing the run source identifier of the run to the additional run source identifiers; and

aborting the run if the run source identifier matches at least one of the additional run source identifiers.

4. The method of claim 1 , wherein the first node is a workspace, and the process is a second process.

5. The method of claim 1 , wherein the first node is a module, and wherein the method further comprises:

before identifying the run trigger, modifying the first node in a module registry, the module registry comprising a database of a plurality of modules, wherein the modification comprises the action.

6. The method of claim 1 , wherein before identifying the run trigger, the method further comprises:

creating the run trigger between the first node and the second node.

7. The method of claim 6 , wherein creating the run trigger further comprises:

determining that the run trigger does not form a loop.

8. The method of claim 7 , wherein determining that the run trigger does not form a loop comprises:

identifying one or more descendants of the second node, wherein each descendant of the one or more descendants is a node connected by a subsequent run trigger to the second node or a descendant of the second node; and

determining that the identifiers of the one or more descendants of the second node do not include the identifier of the first node.

9. The method of claim 1 , wherein identifying the run trigger comprises:

querying a run trigger database with the source identifier; and

receiving the destination identifier from the run trigger database.

10. The method of claim 1 , wherein the second node is a workspace.

11. A system comprising:

at least one data processor; and

at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising:

identifying a run trigger between a first node and a second node, the first node maintaining configuration for a first portion of a cloud computing infrastructure associated with executing a first portion of a cloud-based application on the cloud computing infrastructure, the second node maintaining configuration for a second portion of the cloud computing infrastructure associated with executing a second portion of the cloud-based application on the cloud computing infrastructure, the run trigger initiating in response to an action at the first node and comprising a source identifier and a destination identifier, wherein the source identifier is an identifier of the first node and the destination identifier is an identifier of the second node;

planning a first run on the first node, the first run including a first process executed on the first portion of the cloud computing infrastructure with data at least temporarily stored on the first node and associated with the source identifier, wherein the first run comprises the action;

queuing a second run on the second node based on the run trigger, the second run including a second process executed on the second portion of the cloud computing infrastructure with data received and at least temporarily stored by the second node and associated with the source identifier; and

executing the first run on the first node, wherein the first run causes the cloud computing infrastructure to modify one or more infrastructure resources associated with the first portion of the cloud computing infrastructure, the first run generating a state file that is an input to the second run, the state file listing the one or more infrastructure resources in use after the first run.

12. The system of claim 11 , wherein the operations further comprise:

planning the second run on the second node; and

executing the second run on the second node, wherein the second run causes the cloud computing infrastructure to modify one or more infrastructure resources associated with the second portion of the cloud computing infrastructure.

13. The system of claim 11 , wherein the first node is a module, and wherein the operations further comprise:

before identifying the run trigger, modifying the first node in a module registry, the module registry comprising a database of a plurality of modules, wherein the modification comprises the action.

14. The system of claim 11 , wherein before identifying the run trigger, the operations further comprise:

creating the run trigger between the first node and the second node.

15. The system of claim 14 , wherein creating the run trigger further comprises:

determining that the run trigger does not form a loop.

16. The system of claim 15 , wherein determining that the run trigger does not form a loop comprises:

identifying one or more descendants of the second node, wherein each descendant of the one or more descendants is a node connected by a subsequent run trigger to the second node or a descendant of the second node; and

determining that the identifiers of the one or more descendants of the second node do not include the identifier of the first node.

17. The system of claim 11 , wherein executing the run on the second node further comprises:

identifying one or more additional runs on the second node, each of the one or more additional runs associated with an additional run source identifier;

comparing the run source identifier of the run to the additional run source identifiers; and

aborting the run if the run source identifier matches at least one of the additional run source identifiers.

18. The system of claim 11 , wherein identifying the run trigger comprises:

querying a run trigger database with the source identifier; and

receiving the destination identifier from the run trigger database.

19. The system of claim 11 , wherein the second node is a workspace.

20. A non-transitory computer-readable storage medium storing instructions, which when executed by at least one data processor, result in operations comprising:

identifying a run trigger between a first node and a second node, the first node maintaining configuration for a first portion of a cloud computing infrastructure associated with executing a first portion of a cloud-based application on the cloud computing infrastructure, the second node maintaining configuration for a second portion of the cloud computing infrastructure associated with executing a second portion of the cloud-based application on the cloud computing infrastructure, the run trigger initiating in response to an action at the first node and comprising a source identifier and a destination identifier, wherein the source identifier is an identifier of the first node and the destination identifier is an identifier of the second node;

planning a first run on the first node, the first run including a first process executed on the first portion of the cloud computing infrastructure with data at least temporarily stored on the first node and associated with the source identifier, wherein the first run comprises the action;

queuing a second run on the second node based on the run trigger, the second run including a second process executed on the second portion of the cloud computing infrastructure with data received and at least temporarily stored by the second node and associated with the source identifier; and

executing the first run on the first node, wherein the first run causes the cloud computing infrastructure to modify one or more infrastructure resources associated with the first portion of the cloud computing infrastructure, the first run generating a state file that is an input to the second run, the state file listing the one or more infrastructure resources in use after the first run.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2025
From: HASHICORP, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 072476/0436 →
ASSIGNMENT BY DECLARATION OF AFFIDAVIT ERRONEOUSLY FILED AGAINST REEL/FRAME 061368/0637 Recorded Jul 25, 2025
From: HASHICORP, INC.
To: HASHICORP, INC.
Reel/Frame 072226/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2022
From: LANG, CASEY; LAFENTRES, KRISTA; SCHULMAN, JON
To: HASHICORP
Reel/Frame 061368/0637 →
Continuity (2)
Continuation 16925228 · Jul 9, 2020
Related Publication 20220131743A1 · Apr 28, 2022