Adaptive orchestration of composite services
AssigneeInternational Business Machines Corporation
InventorsGirish Bhimrao Chafle, Sunil Chandra, Neeran M Karnik, Vijay Mann, Mangala Gowri Nanda
Life of this patent
Estimating the term…
Abstract
Decentralized orchestration of composite services results in a number of flow topologies which differ in their messaging patterns and the distribution of flow code amongst different partitions of a topology. Different performance metrics result for different topologies, and this is governed by the availability of resources, such as CPU cycles, memory, network bandwidth, and so on. A performance model is used to evaluate the performance of different topologies based on availability of resources, and dynamically direct client requests between different topologies according to prevailing conditions.
Claims19
A computer-implemented method for directing requests for a workflow based composite web service in response to variations in network and node level resources, the method comprising:
- selecting one of a plurality of topologies at run time to which an incoming request is sent based on an availability of resources, wherein each of the topologies comprise a set of composite web service code partitions connected by communication links;
- receiving monitored data values for at least one parameter associated with nodes that host the workflow based composite web service code partitions and the communications links that connect said nodes;
- estimating performance metrics for respective topologies based upon said monitored data values, the monitored data values is received with greater frequency than the estimating of the performance metrics;
- and
- routing an incoming subsequent request for a workflow based composite web service to another one of the topologies based upon the estimated performance metrics for the respective topologies.
A computer program product comprising a storage medium readable by a computer system and recording software instructions, which when executed by a computer system implement a method for directing requests for a workflow based composite web service in response to variations in network and node level resources comprising:
- selecting one of a plurality of topologies at run time to which an incoming request is sent based on an availability of resources, wherein each of the topologies comprise a set of composite web service code partitions connected by communication links;
- receiving monitored data values for at least one parameter associated with nodes that host the workflow based composite web service code partitions and the communications links that connect said nodes;
- estimating performance metrics for respective topologies based upon said monitored data values, the monitored data values is received with greater frequency than the estimating of the performance metrics;
- and
- routing a subsequent request for a workflow based composite web service to another one of the topologies based upon the estimated performance metrics for the respective topologies.
A computer system comprising:
- a processor to execute software instructions;
- a memory to store said software instructions;
- a system bus coupling the memory and the processor;
- and a storage medium to record said software instructions that are loaded into the memory for implementing a method for directing requests for a workflow based composite web service in response to variations in network and node level resources comprising:
- selecting one of a plurality of topologies at run time to which an incoming request is sent based on an availability of resources, wherein each of the topologies comprise a set of composite web service code partitions connected by communication links;
- receiving monitored data values for at least one parameter associated with nodes that host the workflow based composite web service code partitions and the communications links that connect said nodes;
- estimating performance metrics for respective topologies based upon said monitored data values, the monitored data values is received with greater frequency than the estimating of the performance metrics;
- and
- routing a subsequent request for a workflow based composite web service to another one of the topologies based upon the estimated performance metrics for the respective topologies.
A system for executing requests for a workflow based composite web service delivered using workflow based composite web service code partitions that are connected by communications links to form a topology, amongst predetermined topologies of the partitions, the system comprising:
- a client-facing computer system receiving requests for a workflow based composite web service, and
- a plurality of computer systems connected to the client-facing computer system by said communications links;
- wherein the plurality of computer systems each host partitions of the workflow based composite web service according to the predetermined topologies and monitor modules to transmit to the client-facing computer system monitored data relating to at least one of the communications links and the computer systems upon which the partitions are hosted;
- and
- wherein the client-facing computer system hosts a decision maker module that estimates performance metrics for respective topologies based upon the monitored data, said client-facing computer receives the monitored data values with greater frequency than the decision maker module estimates the performance metrics, and a switch module that routes each of the requests for the workflow based composite web service to one of the topologies based upon the estimated performance metrics for the respective application topologies.
Dependencies are inferred from the claim text.