Architecture for distributed computing system and automated design, deployment, and management of distributed applications
First Claim
Patent Images
1. One or more computer readable storage media having stored thereon a plurality of instructions that implement a distributed computing system in a distributed computing environment based upon a schema, the schema comprising:
- at least one definition of a distributed computing system module to be implemented in the distributed computing environment, wherein the at least one definition of the distributed computing system module possesses an inheritance property such that a first definition, when derived from a second definition, inherits a setting constraint and a relationship constraint from the second definition;
at least one relationship that identifies potential interactions between the modules of the distributed computing system such that the schema is used by a development tool to modify the definition and relationship and a deployment tool to implement the module in according to the definition and relationship;
at least one requirement for the distributed computing environment used by the distributed computing system for a first validation to validate the distributed computing environment; and
at least one requirement for the distributed computing system used by the distributed computing environment for a second validation to validate the distributed computing system.
7 Assignments
0 Petitions
Accused Products
Abstract
An architecture and methodology for designing, deploying, and managing a distributed application onto a distributed computing system is described.
589 Citations
36 Claims
-
1. One or more computer readable storage media having stored thereon a plurality of instructions that implement a distributed computing system in a distributed computing environment based upon a schema, the schema comprising:
-
at least one definition of a distributed computing system module to be implemented in the distributed computing environment, wherein the at least one definition of the distributed computing system module possesses an inheritance property such that a first definition, when derived from a second definition, inherits a setting constraint and a relationship constraint from the second definition; at least one relationship that identifies potential interactions between the modules of the distributed computing system such that the schema is used by a development tool to modify the definition and relationship and a deployment tool to implement the module in according to the definition and relationship; at least one requirement for the distributed computing environment used by the distributed computing system for a first validation to validate the distributed computing environment; and at least one requirement for the distributed computing system used by the distributed computing environment for a second validation to validate the distributed computing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more computer readable storage media having stored thereon a plurality of instructions that implement a schema, the schema comprising:
-
at least one distributed computing system module definition of a portion of an distributed computing system associated with a distributed-computing environment, wherein the at least one distributed computing system module definition possesses an inheritance property such that a first distributed computing system module definition, when derived from a second distributed computing system module definition, inherits a setting constraint and a relationship constraint from the second distributed computing system module definition; at least one resource definition that specifies module runtime behavior associated with the distributed computing system; and at least one endpoint definition of communication information associated with the distributed computing system. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. One or more computer readable storage media having stored thereon a plurality of instructions that when executed by a computer implement a design tool, the design tool comprising:
-
a system definition model to enable defining abstractly the specifications of distributed-computing environments and distributed computing systems; and a schema to dictate how functional operations modules within the system definition model are to be specified, wherein the schema comprises; at least one requirement for the distributed-computing environments used by the distributed computing systems to validate the distributed-computing environments; and at least one requirement for the distributed computing systems used by the distributed-computing environments to validate the distributed computing systems. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A data structure stored on one or more computer-readable storage media that is instantiated in accordance with a schema, the schema being accessible by a plurality of tools, the plurality of tools comprising:
-
an application development tool, whereby the application development tool defines a system comprised of communicating software and hardware components during a design phase; an application deployment tool for facilitating deployments to a plurality of host environments and a plurality of scales, whereby the application deployment tool facilitates utilizing a definition of the system developed by the application development tool to perform operations comprising; deploying the system; allocating software and hardware; and configuring the software and hardware; and an application management tool, the application management tool facilitating new management tools to perform operations comprising; driving resource allocation; managing configuration; upgrading; and automating processing; the schema comprising; at least one system definition of a component of a scale-invariant distributed-application; at least one resource definition of an application runtime behavior associated with the component; at least one endpoint definition of communication information associated with the component; at least one containment relationship specifying an ability of a particular definition to contain members of other definitions; at least one delegation relationship that exposes members contained in the particular definition; at least one communication relationship that specifies available communication interactions between a plurality of definitions; at least one hosting relationship that specifies dependencies between the plurality of definitions; and at least one reference relationship that specifies ordering relationships between the plurality of definitions.
-
-
29. A method comprising:
-
creating a data structure in accordance with a schema, the schema defining at least one definition of entities in a distributed-computing system, at least one containment relationship specifying the ability of a particular definition to contain members of other definitions, at least one delegation relationship that exposes members contained in the particular definition, at least one communication relationship that specifies available communication interactions between a plurality of definitions, at least one hosting relationship that specifies dependencies between the plurality of definitions, at least one reference relationship that specifies ordering relationships between the plurality of definitions; and populating the data structure.
-
-
30. One or more computer readable storage media having stored thereon a plurality of instructions that, when executed by a processor, cause the processor to perform a method, the method comprising:
-
loading a definition of entities in a distributed-computing system; loading a relationship that specifies potential links between the entities in the distributed-computing system; and loading a constraint that specifies a restriction used by one of the entities to constrain the relationship in which the one of the entities participates, or a restriction used by the relationship to constrain one or more of the entities linked by the relationship. - View Dependent Claims (31, 32, 33)
-
-
34. A method comprising:
-
loading a definition of entities of a distributed-computing system in a distributed-computing environment; and loading a relationship that specifies potential links interactions between the entities of the distributed-computing system such that the definition and the relationship are used during development, validation, deployment and management of the distributed-computing system, wherein the validation comprises; validating the distributed-computing system by the distributed-computing environment according to one or more requirements for the distributed-computing system; and validating the distributed-computing environment by the distributed-computing system according to one or more requirements for the distributed-computing environment. - View Dependent Claims (35, 36)
-
Specification