HIGH-LEVEL LANGUAGE FOR SPECIFYING CONFIGURATIONS OF CLOUD-BASED DEPLOYMENTS
First Claim
1. A computer-implemented method, comprising:
- receiving a configuration specification for configuring a cloud-based deployment, the configuration specification being written in a specification language and requiring instantiation of respective class definitions of one or more classes, each class modeling a respective data or functional component of the cloud-based deployment using a group of configurable class parameters, and the respective class definition of each class representing a requested state of the data or functional component modeled by the class;
deriving a plurality of application programming interface (API) calls for configuring the cloud-based deployment based on the class definitions of the one or more classes;
causing the plurality of API calls to be executed to configure the cloud-based deployment;
identifying, based on the respective class definitions of the one or more classes, a plurality of data and functional components modeled by the one or more classes, and one or more dependency and connectivity relationships existing among the plurality of data or functional components;
deriving a block diagram of a cloud-based environment based on the identified plurality of data and functional components and the identified dependency and connectivity relationships; and
representing trigger events for dynamic reconfiguration of the cloud-based environment in the block diagram.
2 Assignments
0 Petitions
Accused Products
Abstract
A high-level object-oriented specification language allows configurable components of a cloud-based deployment to be modeled by a class definition that includes a group of configurable class parameters. The object-oriented specification language supports extension of an existing base class definition to create new class definitions, and supports inheritance of class parameters from the existing base class definition by the new class definitions. A cloud-based deployment can be customized based on class definitions used in configuring one or more generic deployments, such as by modifying class parameter values of the class definitions, varying interrelationships between the classes, and supplementing existing class parameters with new class parameters. The high-level object-oriented specification language supports class definitions that model hardware and virtual resources as well as software roles and service roles served by software applications and services in a cloud-based deployment. Syntax for specifying dependency and connectivity between classes is also provided.
-
Citations
41 Claims
-
1. A computer-implemented method, comprising:
-
receiving a configuration specification for configuring a cloud-based deployment, the configuration specification being written in a specification language and requiring instantiation of respective class definitions of one or more classes, each class modeling a respective data or functional component of the cloud-based deployment using a group of configurable class parameters, and the respective class definition of each class representing a requested state of the data or functional component modeled by the class; deriving a plurality of application programming interface (API) calls for configuring the cloud-based deployment based on the class definitions of the one or more classes; causing the plurality of API calls to be executed to configure the cloud-based deployment; identifying, based on the respective class definitions of the one or more classes, a plurality of data and functional components modeled by the one or more classes, and one or more dependency and connectivity relationships existing among the plurality of data or functional components; deriving a block diagram of a cloud-based environment based on the identified plurality of data and functional components and the identified dependency and connectivity relationships; and representing trigger events for dynamic reconfiguration of the cloud-based environment in the block diagram. - View Dependent Claims (2, 3, 4)
-
-
5. (canceled)
-
6. (canceled)
-
7. A computer-implemented method, comprising:
-
receiving a configuration specification for configuring a cloud-based deployment, the configuration specification being written in a specification language and requiring instantiation of respective class definitions of one or more classes, each class modeling a respective data or functional component of the cloud-based deployment using a group of configurable class parameters, and the respective class definition of each class representing a requested state of the data or functional component modeled by the class; deriving a plurality of application programming interface (API) calls for configuring the cloud-based deployment based on the class definitions of the one or more classes; causing the plurality of API calls to be executed to configure the cloud-based deployment; identifying a plurality of cloud-based deployments each having been carried out according to a respective configuration specification written in the specification language; identifying at least one base class whose class definition is used in multiple of the plurality of cloud-based deployments; monitoring respective performance of each of the multiple of the plurality of cloud-based deployments; and calculating a quality metric of the at least one base class based on aggregated performance of the multiple of the plurality of cloud-based deployments. - View Dependent Claims (31, 32, 33)
-
-
8. A computer-implemented method, comprising:
-
receiving a configuration specification for configuring a cloud-based deployment, the configuration specification being written in a specification language and requiring instantiation of respective class definitions of one or more classes, each class modeling a respective data or functional component of the cloud-based deployment using a group of configurable class parameters, and the respective class definition of each class representing a requested state of the data or functional component modeled by the class; deriving a plurality of application programming interface (API) calls for configuring the cloud-based deployment based on the class definitions of the one or more classes; causing the plurality of API calls to be executed to configure the cloud-based deployment; storing respective class definitions of a plurality of core classes of the specification language, each core class corresponding to a modular component of a cloud-based environment, each core class being extendable with additional class parameters to configure the respective modular component; storing a mapping between each of the core classes and a respective group of API calls, the respective group of API calls for configuring the modular component associated with the core class according to the class parameters of the core class; and storing a plurality of protocols for modifying the respective groups of API calls associated with each core class to obtain a new group of API calls for a new class definition derived from the core class. - View Dependent Claims (9, 10, 34, 35, 36, 37)
-
-
11. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by one or more processors, cause the processors to perform operations comprising:
-
receiving a configuration specification for configuring a cloud-based deployment, the configuration specification being written in a specification language and requiring instantiation of respective class definitions of one or more classes, each class modeling a respective data or functional component of the cloud-based deployment using a group of, configurable class parameters, and the respective class definition of each class representing a requested state of the data or functional component modeled by the class; deriving a plurality of application programming interface (API) calls for configuring the cloud-based deployment based on the class definitions of the one or more classes; causing the plurality of API calls to be executed to configure the cloud-based deployment; storing respective class definitions of a plurality of core classes of the specification language, each core class corresponding to a modular component of a cloud-based environment, each core class being extendable with additional class parameters to configure the respective modular component; storing a mapping between each of the core classes and a respective group of API calls, the respective group of API calls for configuring the modular component associated with the core class according to the class parameters of the core class; and storing a plurality of protocols for modifying the respective groups of API calls associated with each core class to obtain a new group of API calls for a new class definition derived from the core class. - View Dependent Claims (12, 13, 14, 15, 19, 20)
-
-
16. (canceled)
-
17. (canceled)
-
18. (canceled)
-
21. A system, comprising:
-
one or more processors; and memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising; receiving a configuration specification for configuring a cloud-based deployment, the configuration specification being written in a specification language and requiring instantiation of respective class definitions of one or more classes, each class modeling a respective data or functional component of the cloud-based deployment using a group of configurable class parameters, and the respective class definition of each class representing a requested state of the data or functional component modeled by the class; deriving a plurality of application programming interface (API) calls for configuring the cloud-based deployment based on the class definitions of the one or more classes; causing the plurality of API calls to be executed to configure the cloud-based deployment; identifying, based on the respective class definitions of the one or more classes, a plurality of data and functional components modeled by the one or more classes, and one or more dependency and connectivity relationships existing among the plurality of data or functional components, deriving a block diagram of a cloud-based environment based on the identified plurality of data and functional components and the identified dependency and connectivity relationships; and representing trigger events for dynamic reconfiguration of the cloud-based environment in the block diagram. - View Dependent Claims (22, 23, 24)
-
-
25. (canceled)
-
26. (canceled)
-
27. (canceled)
-
28. (canceled)
-
29. (canceled)
-
30. (canceled)
-
38. A system, comprising:
-
one or more processors; and memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising; receiving a configuration specification for configuring a cloud-based deployment, the configuration specification being written in a specification language and requiring instantiation of respective class definitions of one or more classes, each class modeling a respective data or functional component of the cloud-based deployment using a group of configurable class parameters, and the respective class definition of each class representing a requested state of the data or functional component modeled by the class; deriving a plurality of application programming interface (API) calls for configuring the cloud-based deployment based on the class definitions of the one or more classes; causing the plurality of API calls to be executed to configure the cloud-based deployment; identifying a plurality of cloud-based deployments each having been carried out according to a respective configuration specification written in the specification language; identifying at least one base class whose class definition is used in multiple of the plurality of cloud-based deployments; monitoring respective performance of each of the multiple of the plurality of cloud-based deployments; and calculating a quality metric of the at least one base class based on aggregated performance of the multiple of the plurality of cloud-based deployments. - View Dependent Claims (39, 40, 41)
-
Specification