# US 8,275,853 B2 · Method and system for a service intermediary selection in a web service management system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,275,853 B2
- Document ID: US8275853B2
- Status: Granted
- Kind: B2
- Application number: 12/403,387
- Filed: 2009-03-13
- Published: 2010-07-29
- Granted: 2012-09-25
- Earliest claimed: 2009-01-29
- Assignees: Hewlett-Packard Development Company, L.P.
- Inventors: Kiran Joseph Almeida; Veera Raghava Reddy; Birur Keshavarao Sudhanva Bhandolkar
- Web page: https://patentgrep.com/patent/US8275853B2

## CPC

- H04L 67/563: Data redirection of data network streams
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- G06F 2209/5015: Service provider selection
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Presented is a method and system for a service intermediary selection in a web service management system. The method comprises: receiving a service request by the web service management system; and selecting the service intermediary from a plurality of service intermediaries by a planning module of the web service management system.

## Claims

### Claim 1

A method for selecting a service intermediary in a web service management system, the method being implemented on at least one computer, comprising:
receiving, by a web service management system, a service request from a consumer
selecting, by a planning module, a service intermediary from a plurality of service intermediaries, the selected service intermediary to forward the service request to a service provider, wherein selecting the service intermediary comprises:
collecting and updating runtime performance metrics of the plurality of service intermediaries once the service request is dispatched to a service for invocation;
evaluating the runtime performance metrics of the plurality of service intermediaries against a requirement of the consumer;
generating mapping information between the consumer's requirement and the runtime performance metrics of the plurality of service intermediaries, wherein generating the mapping information comprises:
aggregating the performance metrics by a metrics aggregator;
converting, by an ontology adaptor, the aggregated performance metrics into an ontological representation using a knowledge base that serves as a repository for ontological definitions, wherein the ontological representation includes the consumer's requirement in an ontological format; and
executing ontological reasoning, by a reasoner, on the ontological representation of the aggregated performance metrics to generate the mapping information;
updating the mapping information in a consumer intermediary mapping information database; and
selecting the service intermediary based on the mapping information generated between the consumer's requirement and the runtime performance metrics of the plurality of service intermediaries agreed upon between the consumer and the service provider.

### Claim 2 (depends on 1)

A method according to claim 1, wherein selecting the service intermediary by the planning module comprises:
identifying the service request by a consumer identification module of the planning module; and
selecting the service intermediary by a planner module of the planning module.

### Claim 3 (depends on 1)

A method according to claim 1, wherein collecting the performance metrics of the plurality of service intermediaries, aggregating the performance metrics, and updating of the mapping information is carried out autonomously independent of the service request identification and routing mechanism.

### Claim 4 (depends on 1)

A method according to claim 1, wherein the runtime performance metrics of the service intermediary are based on the consumer's requirements.

### Claim 5 (depends on 4)

A method according to claim 4, wherein the runtime performance metrics of the service intermediary include maximum response time, average response time and uptime.

### Claim 6

A web service management system comprising:
at least one computer;
non-transitory computer-readable media having computer-executable instructions stored thereon, which when executed by the at least one computer, cause the at least one computer to select a service intermediary, the web service management system further comprising:
at least one proxy end point to receive a service request from a consumer; and
a planning module to select the service intermediary from a plurality of service intermediaries, the selected service intermediary to forward the service request to a service provider, the planning module to:
collect and updating runtime performance metrics of the plurality of service intermediaries once the service request is dispatched to a service provider for invocation;
evaluate the runtime performance metrics of the plurality of service intermediaries against consumer's requirement;
generate mapping information between the consumer's requirement and the runtime performance metrics of the plurality of service intermediaries, wherein the planning module comprises:
a metrics aggregator to aggregate the performance metrics;
an ontology adaptor to convert the aggregated performance metrics into ontological representation using a knowledge base that serves as a repository for ontological definitions, wherein the ontological representation includes the consumer's requirement in an ontological format; and
a reasoner to execute ontological reasoning on the ontological representation of the aggregated performance metrics to generate the mapping information;
update the mapping information in a consumer intermediary mapping information database; and
select the service intermediary based on the mapping information generated between the consumer's requirement and the runtime performance metrics of the plurality of service intermediaries agreed upon between the consumer and the service provider.

### Claim 7 (depends on 6)

A web service management system according to claim 6, wherein the planning module comprises:
a consumer identification module to identify the service request; and
a planner module to select the service intermediary, wherein the planner module includes the metrics aggregator, the ontology adaptor, and the reasoner.

### Claim 8 (depends on 7)

A web service management system according to claim 7, wherein the planner comprises:
a continuous planner module to update the runtime performance metrics of the plurality of service intermediaries.

### Claim 9

A non-transitory computer readable storage medium having computer-executable instructions which when executed by a computer, cause the computer to:
receive a service request from a consumer; and
select a service intermediary from a plurality of service intermediaries, the service intermediary to forward the service request to a service provider, wherein to select the service intermediary, the computer:
collects and updating runtime performance metrics of the plurality of service intermediaries once the service request is dispatched to a service for invocation;
evaluates the runtime performance metrics of the plurality of service intermediaries against the consumer's requirement;
generates mapping information between the consumer's requirement and the runtime performance metrics of the plurality of service intermediaries, wherein to generate the mapping information, the computer:
aggregates the performance metrics by a metrics aggregator;
converts, by an ontology adaptor, the aggregated performance metrics into an ontological representation using a knowledge base that serves as a repository for ontological definitions, wherein the ontological representation includes the consumer's requirement in an ontological format; and
executes ontological reasoning on the ontological representation of the aggregated performance metrics to generate the mapping information;
updates the mapping information in a consumer intermediary mapping information database; and
selects the service intermediary based on the mapping information generated between the consumer's requirement and the runtime performance metrics of the plurality of service intermediaries agreed upon between the consumer and the service provider.
