QUALITY OF SERVICE AWARE SCHEDULING FOR COMPOSITE WEB SERVICE WORKFLOWS
First Claim
1. A computer-implemented method of assigning a web service request to a plurality of service providers comprising:
- decomposing a web service request into a plurality of workflows;
analyzing the plurality of workflows using a computer to determine a plurality of business processes;
associating a web service type with each of the plurality of business processes;
assigning a business value to each of the plurality of business processes;
searching for an optimal assignment of said plurality of business processes to said plurality of service providers, said optimal assignment responsive to an overall business value of executing the web service request, wherein the searching further includes solving a combinatorial optimization problem;
categorizing a first one of the plurality of workflows as a success if a completion time of the one of the plurality of workflows is less than a predetermined quality of service value; and
categorizing a second one of the plurality of workflows as a failure if the completion time of the one of the plurality of workflows is greater than a constant times the predetermined quality of service value.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of assigning web service requests to service providers includes searching for an optimal assignment from all possible assignments using a genetic algorithm (GA) that represents possible assignments as chromosomes, and converging towards an assignment of web service request to service providers that maximizes overall business value for all workflows to the service providers. An adaptive mutation scheme is used to introduce mutation into populations of chromosomes. The mutation scheme includes a mutation rate that increases when chromosomes under evaluation fail to improve its workload against the metric over a certain number of generations.
-
Citations
23 Claims
-
1. A computer-implemented method of assigning a web service request to a plurality of service providers comprising:
-
decomposing a web service request into a plurality of workflows; analyzing the plurality of workflows using a computer to determine a plurality of business processes; associating a web service type with each of the plurality of business processes; assigning a business value to each of the plurality of business processes; searching for an optimal assignment of said plurality of business processes to said plurality of service providers, said optimal assignment responsive to an overall business value of executing the web service request, wherein the searching further includes solving a combinatorial optimization problem; categorizing a first one of the plurality of workflows as a success if a completion time of the one of the plurality of workflows is less than a predetermined quality of service value; and categorizing a second one of the plurality of workflows as a failure if the completion time of the one of the plurality of workflows is greater than a constant times the predetermined quality of service value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer program product comprising a computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to execute a scheduling process for assigning web service requests to a plurality of service providers, said computer program product including:
-
computer usable program code for decomposing the web service request into a plurality of workflows and a plurality of business processes; computer usable program code for generating a plurality of mappings between the plurality of business processes and a plurality of web service types; computer usable program code for assigning a plurality of business values; computer usable program code for searching for an optimal assignment of the plurality of business processes to a plurality of service providers; computer usable program code for determining a predetermined quality of service upper bound for average execution time of each of the plurality of web service types; computer usable program code for determining an increased estimate of execution time based on historical averages of service delays; and wherein said optimal assignment is responsive to an overall business value calculated using the plurality of business values. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. An electronic commerce system comprising:
-
a web server for receiving a web service request; and a plurality of service providers'"'"' servers; wherein the web server is configured to execute a request assignment program;
the request assignment program comprising;a decomposition module for decomposing the web service request into a plurality of business processes; an assignment module for calculating an optimal assignment of the plurality of business processes to the plurality of service providers'"'"' servers to minimize an overall business value of executing the web service request; a calculation module for calculating completion times for each of the plurality of service providers based on a plurality of service agreements between the plurality of business processes and the plurality of service providers; an equivalency module for determining equivalency of a plurality of service provider types for service determined to be equivalent based on an agreement between business processes and the plurality of service providers; a utilization module for utilizing an equivalent service provider type in place of one of the plurality of service provider types; and wherein the overall business value is responsive to sum of duration of execution of all business processes of the web service request. - View Dependent Claims (22, 23)
-
Specification