Selection of web services by service providers
First Claim
1. A method for selecting a requested Web service from one of a plurality of providers, comprising:
- defining a set of metarules, wherein each of said metarules comprises at least one condition and at least one action to be used in response to an instance of said at least one condition, said at least one condition comprising at least one parameter representing a context of a user and said at least one action comprising at least one directive for selecting services;
storing a set of alternative workflows for requested services, wherein each of said alternative workflows comprises multiple web services executed to accomplish a task and wherein each of said alternative workflows is associated with a different provider;
retaining performance information from previous web service invocations of said providers;
for each of said metarules, ranking said alternative workflows in said set of alternative workflows, based on said performance information, in order to output a set of context-dependent alternative workflows, including summaries of conditions under which each of said alternative workflows in said set of context-dependent alternative workflows should be executed;
receiving a customer service request from a customer;
matching context information from said customer with a summary of conditions for a first ranked one of said context-dependent alternative workflows; and
automatically selecting said first ranked one of said context-dependent alternative workflows for execution in response to said customer service request.
5 Assignments
0 Petitions
Accused Products
Abstract
A Web services-oriented service provider middleware architecture and implementation is provided that integrates the performance monitoring of individual CPs, along with other dynamic contextual conditions, in the automatic selection of appropriate CPs. In the architecture, a CP'"'"'s performance is evaluated not only in terms of network or service-level parameters, but also via other business processes (e.g., complaint handling). The selection of multiple Web services occurs through an initial filtering of a set of feasible workflows for each task depending on business agreements and end user needs, and a subsequent dynamic context-based selection of the most appropriate workflow. A workflow filtering and ranking engine uses metarules to guide the optimisation process and help in selecting and ranking the feasible workflows. The component services in the workflows are evaluated by evaluator processes of information sources. The workflow engine outputs the workflows in their preference ranking. At runtime, if the workflow and/or its components meet all the runtime requirements (performance, for example), then the workflow is selected and executed.
116 Citations
16 Claims
-
1. A method for selecting a requested Web service from one of a plurality of providers, comprising:
-
defining a set of metarules, wherein each of said metarules comprises at least one condition and at least one action to be used in response to an instance of said at least one condition, said at least one condition comprising at least one parameter representing a context of a user and said at least one action comprising at least one directive for selecting services; storing a set of alternative workflows for requested services, wherein each of said alternative workflows comprises multiple web services executed to accomplish a task and wherein each of said alternative workflows is associated with a different provider; retaining performance information from previous web service invocations of said providers; for each of said metarules, ranking said alternative workflows in said set of alternative workflows, based on said performance information, in order to output a set of context-dependent alternative workflows, including summaries of conditions under which each of said alternative workflows in said set of context-dependent alternative workflows should be executed; receiving a customer service request from a customer; matching context information from said customer with a summary of conditions for a first ranked one of said context-dependent alternative workflows; and automatically selecting said first ranked one of said context-dependent alternative workflows for execution in response to said customer service request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for selecting a requested Web service from one of a plurality of providers, comprising:
-
defining a set of metarules, wherein each of said metarules comprises at least one condition and at least one action to be used in response to an instance of said at least one condition, said at least one condition comprising at least one parameter representing a context of a user and said at least one action comprising at least one directive for selecting services; storing a set of alternative workflows for requested services, wherein each of said alternative workflows comprises multiple web services executed to accomplish a task and wherein each of said alternative workflows is associated with a different provider; retaining performance information from previous web service invocations; for each of said metarules, ranking said alternative workflows in said set of alternative workflows, based on said performance information, in order to output a set of context-dependent alternative workflows, including summaries of conditions under which each of said alternative workflows in said set of context-dependent alternative workflows should be executed; receiving a customer service request from a customer; collecting run-time context data from said providers and said customer; matching said run-time context data with a summary of conditions for a first ranked one of said context-dependent alternative workflows; and automatically selecting said first ranked one of said context-dependent for execution in response to said customer service request. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A web services selection server receiving service requests from customers and selecting a workflow from one of a plurality of providers, said web services selection server comprising:
-
a task database storing a set of alternative workflows for requested services, wherein each of said alternative workflows comprises multiple web services executed to accomplish a task and wherein each of said alternative workflows is associated with a different provider; an evaluator module storing performance information from previous web service invocations by said providers; a policies module storing metarules, wherein each of said metarules comprises at least one condition and at least one action to be used in response to an instance of said at least one condition, said at least one condition comprising at least one parameter representing a context of a user and said at least one action comprising at least one directive for selecting services; a workflow engine ranking, for each of said metarules and based on said performance information, said alternative workflows in said set of alternative workflows in order to output a set of context-dependent alternative workflows, including summaries of conditions under which each of said alternative workflows in said set of context-dependent alternative workflows should be executed; and an executor module receiving a customer service request from a customer, matching context information from said customer with a summary of conditions for a first ranked one of said context-dependent alternative workflows, and automatically selecting said first ranked one of said context-dependent alternative workflows for execution in response to said customer service request. - View Dependent Claims (15)
-
-
16. A web services selection server receiving service requests from customers and selecting a workflow from one of a plurality of providers, said web services selection server comprising:
-
an offline module comprising; a task database storing a set of alternative workflows for requested services, wherein each of said alternative workflows comprises multiple web services executed to accomplish a task and wherein each of said alternative workflows is associated with a different provider; an evaluator module storing performance information from previous web service invocations by said providers; a policies module storing metarules, wherein each of said metarules comprises at least one condition and at least one action to be used in response to an instance of said at least one condition, said at least one condition comprising at least one parameter representing a context of a user and said at least one action comprising at least one directive for selecting services; a workflow engine ranking, for each of said metarules and based on said performance information, said alternative workflows in said set of alternative workflows in order to output a set of context-dependent alternative workflows, including summaries of conditions under which each of said alternative workflows in said set of context-dependent alternative workflows should be executed; and a runtime module comprising; a context server collecting run-time context data from said providers and said customers; and an executor module receiving a customer service request from a customer, matching said run-time context data with a summary of conditions for a first ranked one of said context-dependent alternative workflows, and automatically selecting said first ranked one of said context-dependent alternative workflows for execution in response to said customer service request.
-
Specification