Dynamic rerouting of service requests between service endpoints for web services in a composite service
First Claim
1. A computer-implemented method for rerouting a service request between service endpoints, the method comprising computer-implemented operations for:
- receiving, at a second web service, the service request from a first web service, the first web service and the second web service in a composite service, wherein the second web service comprises an initial service endpoint and an alternate service endpoint;
routing the service request to the initial service endpoint configured to respond to the service request according to a service level agreement between the first web service and the second web service;
monitoring service criteria associated with the initial service endpoint;
determining, at the second web service, whether the service criteria associated with the initial service endpoint meet a performance threshold specified by the service level agreement; and
in response to determining that the service criteria do not meet the performance threshold specified by the service level agreement, determining at the second web service if an alternate service endpoint of the second web service meets the performance threshold specified by the service level agreement;
in response to determining that the alternate service endpoint of the second web service meets the performance criteria, servicing the service request at the second web service; and
in response to determining, at the second web service, that the alternate service endpoint of the second web service does not meet the performance criteria, rerouting from the second web service the service request from the initial service endpoint of the second web service to an alternate service endpoint of a third web service for servicing the service request at the third web service.
2 Assignments
0 Petitions
Accused Products
Abstract
Technologies are described herein for rerouting a service request between service endpoints. The service request is received, at a first web service, from a second web service. The first web service and the second web service may be components of a composite service. The service request is routed to an initial service endpoint configured to respond to the service request according to a service level agreement between the first web service and the second web service. Service criteria associated with the initial service endpoint are monitored. A determination is made as to whether the service criteria meet a performance threshold specified by the service level agreement. If the service criteria do not meet the performance threshold specified by the service level agreement, then the service request is rerouted from the initial service endpoint to an alternate service endpoint.
-
Citations
18 Claims
-
1. A computer-implemented method for rerouting a service request between service endpoints, the method comprising computer-implemented operations for:
-
receiving, at a second web service, the service request from a first web service, the first web service and the second web service in a composite service, wherein the second web service comprises an initial service endpoint and an alternate service endpoint; routing the service request to the initial service endpoint configured to respond to the service request according to a service level agreement between the first web service and the second web service; monitoring service criteria associated with the initial service endpoint; determining, at the second web service, whether the service criteria associated with the initial service endpoint meet a performance threshold specified by the service level agreement; and in response to determining that the service criteria do not meet the performance threshold specified by the service level agreement, determining at the second web service if an alternate service endpoint of the second web service meets the performance threshold specified by the service level agreement; in response to determining that the alternate service endpoint of the second web service meets the performance criteria, servicing the service request at the second web service; and in response to determining, at the second web service, that the alternate service endpoint of the second web service does not meet the performance criteria, rerouting from the second web service the service request from the initial service endpoint of the second web service to an alternate service endpoint of a third web service for servicing the service request at the third web service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system, comprising:
-
a processor; and a memory communicatively coupled to the processor having stored therein a program module which executes in the processor from the memory and which, when executed by the processor, causes the computer system to reroute a service request between service endpoints by receiving, at a second web service, the service request from a first web service, the first web service and the second web service in a composite service, wherein the second web service comprises an initial service endpoint and a plurality of alternate service endpoints; routing the service request to the initial service endpoint configured to respond to the service request according to a service level agreement between the first web service and the second web service; monitoring service criteria associated with the initial service endpoint; determining at the second web service whether the service criteria associated with the initial service endpoint meet a performance threshold specified by the service level agreement; in response to determining that the service criteria do not meet the performance threshold specified by the service level agreement, determining at the second web service if at least one service endpoint of the plurality of service endpoints of the second web service meet the performance threshold specified by the service level agreement; in response to determining, at the second web service, that at least one service endpoint of the plurality of alternate service endpoints meets the performance threshold, selecting the at least one service endpoint of the plurality of alternate service endpoints based on efficiency of the at least one service endpoint of the plurality of alternate service endpoints; and rerouting the service request from the initial service endpoint to the at least one service endpoint of the plurality of alternate service endpoints. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. An optical disk, a magnetic disk storage device, or a solid state storage device having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:
-
receive, at a second web service, a service request from a first web service, the first web service and the second web service in a composite service, wherein the second web service comprises an initial server computer and a plurality of alternate server computers; route the service request to the initial server computer configured to respond to the service request according to a service level agreement between the first web service and the second web service; monitor server load of the initial server computer, service outages of the initial server computer, or response times of the initial server computer; determine whether the server load, the service outages, or the response times meet a performance threshold specified by the service level agreement; in response to determining that the server load, the service outages, or the response times do not meet the performance threshold specified by the service level agreement, identify the plurality of alternate server computers configured to respond to the service request according to the service level agreement; select, at the second web service, an alternate server computer from the plurality of alternate server computers based on efficiency of the alternate server computer; and route from the second web service the service request from the initial server computer to the selected alternated server computer.
-
Specification