Multiple Redundant Services with Reputation
Abstract
Multiple copies of web services reside on associated computing devices, each having an associated reputation. A client may desire to access the web service having the highest or best reputation to be ensured of a greater degree of accuracy and confidence. The client does a search, and attaches to whichever web service has the highest reputation. By running multiple copies of the web services, they may vote amongst themselves on the results in the event that one or more of the services starts giving incorrect or otherwise inconsistent results. Combining the voting with reputation data associated with each copy of the web service allows a service's reputation to be dynamically adjusted based upon how faithfully it computes the results of work items sent to it.
Claims
exact text as granted — not AI-modified1 . A web service system, comprising:
a first computing device having a first web service with a first reputation; and a second computing device having a second web service with a second reputation; the first and second computing devices each adapted to:
receive a request and determine a first and second result, respectively;
determine a preferred result based on the determined first and second results;
adjust the first reputation if the first result is inconsistent with the preferred result; and
adjust the second reputation if the second result is inconsistent with the preferred result.
2 . The system of claim 1 , wherein the second web service is a second, independent instance of the first web service.
3 . The system of claim 1 , wherein the first web service is de-activated if the first reputation exceeds a first threshold, and the second web service is de-activated if the second reputation exceeds a second threshold.
4 . The system of claim 1 , further comprising a client that sends the request to the first and second computing devices, the client connected within a distributed operating system.
5 . The system of claim 4 , wherein the client polls the first and second web services for their respective reputations, and attaches to one of the web services based on their respective reputations.
6 . A method comprising:
sending a request to a web service system, wherein the web service system comprises a plurality of web services; receiving data from each of the plurality of web services, wherein the data indicates a respective reputation of each of the plurality of web services; analyzing the respective reputations to determine a particular one of the plurality of web services having a sufficient reputation; and establishing a connection with the particular one of the plurality of web services; wherein the method is implemented by a client device.
7 . The method as recited in claim 6 , wherein for each of the plurality of web services, the respective reputation is determined based, at least in part, on a result generated by the web service in response to the request.
8 . The method as recited in claim 6 , wherein the web service determined to have a sufficient reputation is the web service determined to have the best reputation of the plurality of web services.
9 . The method as recited in claim 6 , wherein a particular one of the plurality of web services determined to have a reputation below a minimum threshold is deactivated.
10 . The method as recited in claim 6 , wherein each of the plurality of web services comprise a distinct copy of the same web service.
11 . The method as recited in claim 6 , wherein:
a first web service of the plurality of web services generates a result in response to the request; a second web service of the plurality of web services generates a result in response to the request; and the respective reputations of the first and second web services are determined based, at least in part, on a comparison of the results generated by the first and second web services in response to the request.
12 . The method as recited in claim 6 , wherein:
each of the plurality of web services generates a result in response to the request; a correct result is determined; and the respective reputations of each of the plurality of web services is determined based, at least in part, on a comparison of the respective results generated by each of the plurality of web services and the correct result.
13 . The method as recited in claim 12 , wherein, the correct result is determined to be the result generated in response to the request by the greatest number of the plurality of web services.
14 . The method as recited in claim 12 , wherein, the reputation is negatively adjusted for each of the plurality of web services that generates a result in response to the request that is not the correct result.
15 . The method as recited in claim 12 , wherein, the reputation is positively adjusted for each of the plurality of web services that generates a result in response to the request that is equal to the correct result.
16 . One or more non-volatile computer-readable media comprising computer-executable instructions that, when executed, direct a web service system to:
associate respective reputations with each of a plurality of web services; receive a client request such that the client request is received by each of the plurality of web services; determine a correct response to the client request; validate the respective reputations by comparing responses to the client request from each of the plurality of web services with the correct response, such that for a web service providing a response to the client request that does not match the correct response, the respective reputation is reduced; and establish a connection between the client and a particular one of the plurality of web services, wherein the particular one of the plurality of web services has a sufficiently positive reputation.
17 . The one or more non-volatile computer-readable media as recited in claim 16 , wherein each of the plurality of web services comprises a distinct, independent copy of a single web service.
18 . The one or more non-volatile computer-readable media as recited in claim 16 , further comprising computer-executable instructions that, when executed, direct the web service system to deactivate any of the plurality of web services for which the respective reputation is reduced to be below a reputation threshold.Join the waitlist — get patent alerts
Track US2008071912A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.