IP Library Granted Patent US 10,261,810
Granted Patent B2
US 10,261,810 · App. 15/893,215 · Granted Apr 16, 2019

System and method for providing cloud operating system validations for a domain-specific language for cloud services infrastructure

Inventors: Nathaniel S McCourtney (Frederick, MD); Jasper Van Der Jeugt (Zurich, CH); Maciej Wos (Hong Kong, CN)
Assignee: FUGUE, INC.
G06F9/44589G06F8/31G06F8/35G06F8/40G06F8/437G06F9/45512G06F9/5072G06F21/577G06F2221/033
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,261,810
App. No.
15/893,215
Granted
Apr 16, 2019
Kind
B2
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. A compiler stored within a cloud operating system can include one or more validations that can check instantiations of types within the domain-specific language for compliance with one or more policies set by a system administrator of a computing enterprise.

Claims (32)

1. A method for building computing infrastructure on a cloud computing environment, the method comprising:

receiving one or more user-generated files of code written in a domain-specific programming language, wherein the one or more files of code comprise one or more definitions of one or more instances of computing infrastructure to be built in the cloud computing environment, and wherein the one or more files of code contain one or more declarations of policy relating to the computing infrastructure, wherein the received one or more files written in the domain-specific programming language include one or more variables, each variable corresponding to and defining an instance of computing infrastructure of the one or more instances of computing infrastructure to be built in the cloud computing environment;

querying a state information service to determine whether each instance of computing infrastructure corresponding to a variable exists in the state information service and to determine whether the each variable is in scope with its corresponding instance of computing infrastructure;

determining if each of the one or more instances of computing infrastructure to be built in the cloud computing environment is in compliance with the one or more declarations of policy received in the one or more files of code;

converting the one or more variables received in the one or more files of code into one or more instructions readable by a command line interface of the cloud computing environment if each instance of computing infrastructure corresponding to a variable of the one or more variables are found to exist in the state information service, each variable is in scope with its corresponding instance of computing infrastructure, and if each instance of computing infrastructure to be built in the cloud computing environment is in compliance with the one or more declarations of policy received in the one or more files of code; and

transmitting a message depending upon whether an instance of the one or more instances of computing infrastructure to be built in the cloud computing environment is found to not be in compliance with the one or more declarations of policy received in the one or more files of code.

2. The method of claim 1 , wherein determining if the received code is in compliance with one or more policies includes executing a validation function associated with a type found in the received code.

3. The method of claim 2 , wherein the validation function is stored in one or more libraries and wherein the one or more libraries are imported into the received code.

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

5. The method of claim 4 , wherein the method further comprises transmitting the generated implementation plan to the user for approval.

6. The method of claim 5 , wherein the method further comprises implementing the code written by the user in the domain-specific programming language on the cloud computing environment if the user approves of the generated implementation plan.

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

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

9. The method of claim 1 , wherein the received code includes one or more functions that utilize the one or more variables associated with the one or more instances of computing infrastructure to be built on a cloud computing environment.

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

11. The method of claim 1 , wherein determining if the received code is in compliance with one or more policies is carried out on a client-computer used to generate the code.

12. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions building infrastructure on a cloud computing system, which when executed by a portable electronic device, cause the device to:

receive one or more user-generated files of code written in a domain-specific programming language, wherein the one or more files of code comprise one or more definitions of one or more instances of computing infrastructure to be built in the cloud computing environment, and wherein the one or more files of code contain one or more declarations of policy relating to the computing infrastructure, wherein the received one or more files written in the domain-specific programming language include one or more variables, each variable corresponding to and defining an instance of computing infrastructure of the one or more instances of computing infrastructure to be built in the cloud computing environment;

query a state information service to determine whether each instance of computing infrastructure corresponding to a variable exists in the state information service and to determine whether the each variable is in scope with its corresponding instance of computing infrastructure;

determine if each of the one or more instances of computing infrastructure to be built in the cloud computing environment is in compliance with the one or more declarations of policy received in the one or more files of code;

convert the one or more variables received in the one or more files of code into one or more instructions readable by a command line interface of the cloud computing environment if each instance of computing infrastructure corresponding to a variable of the one or more variables are found to exist in the state information service, each variable is in scope with its corresponding instance of computing infrastructure, and if each instance of computing infrastructure to be built in the cloud computing environment is in compliance with the one or more declarations of policy received in the one or more files of code; and

transmit a message depending upon whether an instance of the one or more instances of computing infrastructure to be built in the cloud computing environment is found to not be in compliance with the one or more declarations of policy received in the one or more files of code.

13. The non-transitory computer readable medium of claim 12 , wherein determining if the received code is in compliance with one or more policies includes executing a validation function associated with a type found in the received code.

14. The non-transitory computer readable medium of claim 13 , wherein the validation function is stored in one or more libraries and wherein the one or more libraries are imported into the received code.

15. The non-transitory computer readable medium of claim 12 , wherein the 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 be in scope with the identified one or more instances of computing infrastructure.

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

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

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

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

20. The non-transitory computer readable medium of claim 12 , wherein the received code includes one or more functions that utilize the one or more variables associated with the one or more instances of computing infrastructure to be built on a cloud computing environment.

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

22. The non-transitory computer readable medium of claim 12 , wherein determining if the received code is in compliance with one or more policies is carried out on a client-computer used to generate the code.

Assignments (2)
MERGER Recorded Mar 21, 2025
From: FUGUE, INC.
To: SNYK, INC.
Reel/Frame 070586/0056 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2019
From: MCCOURTNEY, NATHANIEL S; VAN DER JEUGT, JASPER
To: FUGUE, INC.
Reel/Frame 048586/0756 →
Continuity (3)
Provisional Application 62457721 · Feb 10, 2017
Provisional Application 62544537 · Aug 11, 2017
Related Publication 20180246738A1 · Aug 30, 2018