Processing model-based commands for distributed applications
First Claim
1. A method, implemented at computer system that includes a plurality of executive services and a repository that stores models, for distributing the implementation of a command, the method comprising:
- an act of a first executive service receiving a model-based command request for a particular distributed application, the first executive service being configured to refine declarative application models, which include one or more sets of high-level instructions expressing application intent for distributed applications, into detailed application models for translation by technology-specific drivers, the model-based command request including a command reference to a particular command definition model defining a corresponding command, the model-based command request also including a reference to a particular declarative application model, the model-based command request indicating that the corresponding command is to be implemented for the particular declarative application model in connection with executing a particular distributed application;
an act of the first executive service determining that it is already running a plurality of other model-based commands;
an act of the first executive service querying the repository to determine if other executive services are available;
an act of the first executive service receiving an indication that a second executive service is available for processing model-based commands, the second executive service also being configured to refine declarative application models into detailed application models; and
an act of the first executive service passing the model-based command request to the second executive service in response to the indication that the second executive service is available, so as to balance the load of command processing across a plurality of executive services.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for processing model based commands for distributed applications. Embodiments facilitate execution of model-based commands, including software lifecycle commands, using model-based workflow instances. Data related to command execution is stored in a shared repository such that command processors can understand their status in relationship to workflow instances. Further, since the repository is shared, command execution can be distributed and balanced across a plurality of different executive services. Embodiments also include model-based error handling and error recovery mechanisms.
223 Citations
20 Claims
-
1. A method, implemented at computer system that includes a plurality of executive services and a repository that stores models, for distributing the implementation of a command, the method comprising:
-
an act of a first executive service receiving a model-based command request for a particular distributed application, the first executive service being configured to refine declarative application models, which include one or more sets of high-level instructions expressing application intent for distributed applications, into detailed application models for translation by technology-specific drivers, the model-based command request including a command reference to a particular command definition model defining a corresponding command, the model-based command request also including a reference to a particular declarative application model, the model-based command request indicating that the corresponding command is to be implemented for the particular declarative application model in connection with executing a particular distributed application; an act of the first executive service determining that it is already running a plurality of other model-based commands; an act of the first executive service querying the repository to determine if other executive services are available; an act of the first executive service receiving an indication that a second executive service is available for processing model-based commands, the second executive service also being configured to refine declarative application models into detailed application models; and an act of the first executive service passing the model-based command request to the second executive service in response to the indication that the second executive service is available, so as to balance the load of command processing across a plurality of executive services. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. One or more storage medium having stored computer-executable instructions which, when executed by one or more processors of a computer system, implement a method for distributing the implementation of a command, the method comprising:
-
an act of a first executive service receiving a command request for a particular distributed application, the first executive service being configured to refine declarative application models, which include one or more sets of high-level instructions expressing application intent for distributed applications, into detailed application models for translation by technology-specific drivers, the command request including a command reference to a particular command definition model defining a corresponding command, the command request also including a reference to a particular declarative application model, the command request indicating that the corresponding command is to be implemented for the particular declarative application model in connection with executing a particular distributed application corresponding to the particular declarative application model; an act of the first executive service determining that it is already running a plurality of other model-based commands; an act of the first executive service querying the repository to determine if other executive services are available; an act of the first executive service receiving an indication that a second executive service is available for processing model-based commands, the second executive service also being configured to refine declarative application models into details application models; and an act of the first executive service passing the command request to the second executive service in response to the indication that the second executive service is available so as to balance the load of command processing across the plurality of executive services. - View Dependent Claims (8)
-
-
9. One or more storage medium having stored computer-executable instructions which, when executed by one or more processors of a computer system, implement a method for processing a model-based command for a distributed application, the method comprising:
-
an act of receiving a command request for a distributed application, wherein the command request includes a command reference to a command definition model that defines a corresponding command and that identifies a workflow model, wherein the command request also includes a reference to an application model for the distributed application that is a declarative model that describes the structure and behavior of the distributed application by defining general operations of one or more modules in the distributed application, and wherein the command request indicates that the corresponding command is to be implemented for the application model; an act of creating a command record for the received command request in the repository, wherein the command record stores information related to implementing the command request; an act of identifying the workflow model from the command definition model, wherein the workflow model describes how to implement the received command request for the application model by defining a set of pre-defined activities configured to interoperate to implement the command request for the application model; an act of accessing the workflow model from the repository; an act of creating an instance of the workflow from the workflow model, wherein the workflow instance has a command ID and includes the set of pre-defined activities configured to interoperate to implement the command request for the application model; an act of storing the command ID in the command record; an act of submitting the application model reference to the workflow instance to initiate the workflow instance for the distributed application; and an act of recording information related to the behavior of the workflow instance within the command record as the workflow instance implements the command request for the application model and for the distributed application. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 19, 20)
-
-
17. One or more storage medium having stored computer-executable instructions which, when executed by one or more processors of a computer system, implement a method for releasing a command definition model for further use, the method comprising:
-
an act of receiving a command request for a distributed application, wherein the command request includes a command reference to a command definition model that defines a corresponding command and that identifies a corresponding workflow model, wherein the command request also includes a reference to an application model for the distributed application that is a declarative model that describes the structure and behavior of the distributed application by defining general operations of one or more modules in the distributed application, and wherein the command request indicates that the corresponding command is to be implemented for the application model and for the distributed application; an act of creating a command record for the received command request in the repository, wherein the command record stores information related to implementing the command request; an act of creating an instance of the workflow from the corresponding workflow model, wherein the workflow model describes how to implement the received command request for the application model, and wherein the workflow instance includes a set of pre-defined activities configured to interoperate to implement the command request for the application model; an act of locking the application model to prevent further access to the application model while the workflow instance implements the command request for the application model; an act of submitting the application model reference to the workflow instance to initiate the workflow instance for the application model; an act of recording information related to the behavior of the workflow instance within the command record as the workflow instance implements the command request for the application model for the application model; an act of determining that the workflow instance is to be stopped; an act of determining that the workflow instance is stopped; and an act of releasing the lock on the application model such that other commands can be implemented for the application model. - View Dependent Claims (18)
-
Specification