# US 10,310,828 B2 · System and method for providing and executing a domain-specific language for cloud services infrastructure

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,310,828 B2
- Document ID: US10310828B2
- Status: Granted
- Kind: B2
- Application number: 14/941,345
- Filed: 2015-11-13
- Published: 2016-05-19
- Granted: 2019-06-04
- Earliest claimed: 2014-11-13
- Assignees: Fugue, Inc.
- Applicants: Fugue, Inc.
- Inventors: Josha Stella; Dominic Zippilli; Alex Schoof; Jared Tobin; Jasper Van Der Jeugt; Maciej Wos; Christopher Kaminski; Tyler Drombosky; Timothy Wilson; Jonathan Sabo
- Web page: https://patentgrep.com/patent/US10310828B2

## CPC

- G06F 8/44: {Encoding}
- G06F 8/35: model driven
- G06F 9/45512: {Command shells}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 8/31: {Programming languages or programming paradigms}
- G06F 8/41: Compilation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for providing and executing a domain-specific programming language for cloud services infrastructure is provided. The system may be used to integrate references to external entities, such as cloud service compute instances, directly into a domain-specific programming language, allowing developers to easily integrate cloud services directly using the domain-specific programming language. Using a domain-specific programming language, references to external entities (not in memory) as variables may be used. Using the domain-specific programming language described herein, lexical scoping may be mapped onto collections of entities that aren't a native part of the language. In order to facilitate these and other benefits, the system may maintain state information of all references and shared variables across program boundaries. The system may make the state information accessible via a state information service that understands the language features of the domain-specific programming language.

## Claims

### Claim 1

A method for building a computing infrastructure on a cloud computing system, the method comprising:
receiving, by a runtime environment of a cloud infrastructure operating system, a source code written by a user in a domain-specific programming language, wherein the source code contains one or more variables that define one or more instances of the computing infrastructure to be built on the cloud computing system, wherein the source code includes one or more functions that utilize the one or more variables associated with the one or more instances of the computing infrastructure to be built on the cloud computing system;
sending, by the runtime environment of the cloud infrastructure operating system, a query to a state information service to identify whether the one or more instances of the computing infrastructure exist in the state information service and to identify whether the one or more variables are in scope with the identified one or more instances of the computing infrastructure;
receiving, in response to the query, a state information from the state information service indicating that the one or more instances of the computing infrastructure exist and the one or more variables are in scope with the identified one or more instances of the computing infrastructure to be built on the cloud computing system; and
converting, by the runtime environment of the cloud infrastructure operating system in response to receiving the state information, the source code into one or more instructions that are compatible with an application program interface of the cloud computing system and are executable by the cloud computing system to build the computing infrastructure on the cloud computing system.

### Claim 2 (depends on 1)

The method of claim 1 further comprising generating an implementation plan if each variable of the one or more variables is found to exist in the state information service and to be in scope with the identified one or more instances of the computing infrastructure.

### Claim 3 (depends on 2)

The method of claim 2, further comprising transmitting the generated implementation plan to the user for approval.

### Claim 4 (depends on 3)

The method of claim 3, further comprising implementing the source code written by the user in the domain-specific programming language on the cloud computing system if the user approves the generated implementation plan.

### Claim 5 (depends on 4)

The method of claim 4, wherein the implementing the source code includes converting the source-code into an intermediate representation that is compatible with a command line interface of the cloud infrastructure operating system.

### Claim 6 (depends on 5)

The method of claim 5, wherein the implementing the source code includes modifying the one or more instructions readable by the command line interface of the cloud computing system such that an implemented one or more instances of computing infrastructure corresponds to the source code.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more variables include user defined instances of the computing infrastructure to be built on the cloud computing system.

### Claim 8

A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions building a computing infrastructure on a cloud computing system, which when executed by a portable electronic device, cause the portable electronic device to:
receive, by a runtime environment of the cloud infrastructure operating system, a source code written by a user in a domain-specific programming language, wherein the source code contains one more variables that define one or more instances of the computing infrastructure to be built on a cloud computing system, wherein the source code includes one or more functions that utilize the one or more variables associated with the one or more instances of the computing infrastructure to be built on the cloud computing system;
send, by the runtime environment of the cloud infrastructure operating system, a query to a state information service to identify whether the one or more instances of the computing infrastructure exist in the state information service and to identify whether the one or more variables are in scope with the identified one or more instances of the computing infrastructure;
receive, in response to the query, a state information from the state information service indicating that the one or more instances of the computing infrastructure exist and the one or more variables are in scope with the identified one or more instances of the computing infrastructure to be built on the cloud computing system; and
convert, in response to receiving the state information, the source code into one or more instructions that are compatible with an application program interface of the cloud computing system and are executable by the cloud computing system to build the computing infrastructure on the cloud computing system.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the portable electronic device is further caused to generate an implementation plan if each variable of the one or more variables is found to exist in the state information service and to be in scope with the identified one or more instances of computing infrastructure.

### Claim 10 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the portable electronic device is further is caused to transmit the generated implementation plan to the user for approval.

### Claim 11 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the portable electronic device is further caused to implement the source code written by the user in the domain-specific programming language on the cloud computing system if the user approves the generated implementation plan.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein implementing the source code includes converting the source-code into an intermediate representation that is compatible with the command line interface of the cloud infrastructure operating system.

### Claim 13 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein the implementing the source code includes modifying the one or more instructions readable by a command line interface of the cloud computing system such that an implemented one or more instances of computing infrastructure corresponds to the source code.

### Claim 14 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the one or more variables include user defined instances of the computing infrastructure to be built on the cloud computing system.
