On demand software contract modification and termination in running component assemblies
AssigneeInternational Business Machines Corporation
InventorsJames E. Carey, Scott N. Gerard
Life of this patent
Estimating the term…
Abstract
A method, apparatus and article of manufacture to dynamically modify, terminate, or replace software components and connections (i.e., contracts) between components in a running assembly. Information about the component and contracts between components in a running assembly is used to determine an allowable sequence of management commands to transition the assembly of components from a current state to a specified goal state. At the same time, other components may continue to perform an operational workflow.
Claims21
A computer-implemented method for managing a set of operational states associated with a plurality of software components executed on one or more processors, comprising:
- identifying the software components included in a running assembly, wherein the assembly specifies connections among the software components, wherein each component includes a set of management commands used to modify an operational state of a respective component within the assembly, and wherein a first component further includes a reaction rule associated with a first management command that specifies an additional action to be performed when the first management command is invoked for the first component;
- determining a goal state for the assembly, wherein the goal state specifies a desired operational state for the components included in the assembly, and wherein the goal state modifies a current operational state of one or more of the components in the assembly, replaces one or more components in the assembly, adds or removes at least one component from the assembly, or combinations thereof;
- and
- determining, by operation of the one or more computer processors, an allowable sequence of management commands needed to transition the operational state of each component to the desired operational state, wherein determining an allowable sequence of management commands comprises, determining two or more allowable sequences and selecting one of the allowable sequences based an a cost determined for each of the two or more allowable sequences.
A computer-readable storage medium containing a program, which when executed by one or more computer processors, performs an operation for managing a set of operational states associated with a plurality of software components, comprising:
- identifying the software components included in a running assembly, wherein the assembly specifies connections among the software components, wherein each component includes a set of management commands used to modify an operational state of a respective component within the assembly, and wherein a first component further includes a reaction rule associated with a first management command that specifies an additional action to be performed when the first management command is invoked for the first component;
- determining a goal state for the assembly, wherein the goal state specifies a desired operational state for the components included in the assembly, and wherein the goal state modifies a current operational state of one or more of the components in the assembly, replaces one or more components in the assembly, adds or removes at least one component from the assembly, or combinations thereof;
- and
- determining an allowable sequence of management commands needed to transition the operational state of each component to the desired operational state, wherein determining an allowable sequence of management commands comprises, determining two or more allowable sequences and selecting one of the allowable sequences based an a cost determined for each of the two or more allowable sequences.
A computing device, comprising:
- a processor;
- and
- a memory configured to store an application that includes instructions which, when executed by the processor, cause the processor to perform operations for managing a set of operational states associated with a plurality of software components, comprising:
- identifying the software components included in a running assembly, wherein the assembly specifies connections among the software components, wherein each component includes a set of management commands used to modify an operational state of a respective component within the assembly, and wherein a first component further includes a reaction rule associated with a first management command that specifies an additional action to be performed when the first management command is invoked for the first component;
- determining a goal state for the assembly, wherein the goal state specifies a desired operational state for the components included in the assembly, and wherein the goal state modifies a current operational state of one or more of the components in the assembly, replaces one or more components in the assembly, adds or removes at least one component from the assembly, or combinations thereof;
- and
- determining, by operation of the one or more computer processors, an allowable sequence of management commands needed to transition the operational state of each component to the desired operational state, wherein determining an allowable sequence of management commands comprises, determining two or more allowable sequences, and selecting one of the allowable sequences based an a cost determined for each of the two or more allowable sequences.
Dependencies are inferred from the claim text.