Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of routing client requests in a distributed computing system, the method comprising: in response to receiving a request in the client: selecting one of a plurality of servers to handle the request based upon a routing table resident in the client; and sending the request to the selected server; and in response to receiving a response to the request from the selected server; determining whether the response indicates that the request needs to be rerouted; updating a rerouting statistic if the response indicates that the request needs to be rerouted; and retrieving an updated copy of the routing table for the client if the rerouting statistic meets a propagation criterion.
2. A method of propagating routing information in a distributed computing system, the method comprising: tracking reroutes of client requests from a client that are routed according to routing information associated with the client; and selectively initiating propagation of updated routing information for the client based upon the tracked reroutes of client requests.
3. The method of claim 2 , wherein the routing information associated with the client is resident in the client, and wherein tracking reroutes of client requests and selectively initiating propagation of the routing information are performed by the client.
4. The method of claim 3 , further comprising, in the client, routing the client requests according to the routing information resident in the client.
5. The method of claim 4 , wherein routing the client requests includes, for a first request, selecting one of a plurality of servers to handle the first request based upon the routing information and forwarding the first request to the selected server.
6. The method of claim 5 , wherein the plurality of servers comprise a cluster, and wherein the client is a client of the cluster.
7. The method of claim 5 , wherein the client and the plurality of servers each comprise a process.
8. The method of claim 2 , wherein the routing information associated with the client is resident in a gateway, and wherein at least one of tracking reroutes of client requests and selectively initiating propagation of the routing information are performed by the gateway.
9. The method of claim 2 , wherein the routing information includes a routing table.
10. The method of claim 2 , wherein tracking reroutes of client requests includes incrementing a rerouting counter in response to receiving a response to a client request that indicates that the request needs to be rerouted.
11. The method of claim 10 , further comprising incrementing a request counter in response to receiving a response to a client request, wherein selectively initiating propagation of the routing information for the client based upon the tracked reroutes of client requests includes initiating propagation of the routing information for the client in response to a ratio between the rerouting and request counters exceeding a threshold.
12. The method of claim 2 , wherein selectively initiating propagation of the routing information for the client based upon the tracked reroutes of client requests includes initiating propagation of the routing information for the client in response to a rerouting ratio meeting a propagation criterion.
13. The method of claim 12 , wherein the propagation criterion is a rerouting ratio for the client exceeding a threshold.
14. The method of claim 2 , wherein selectively initiating propagation of the routing information for the client based upon the tracked reroutes of client requests is performed in response to receiving a response to a client request that indicates that the request needs to be rerouted.
15. The method of claim 2 , wherein initiating propagation of the routing information for the client includes requesting download of an updated copy of a routing table for the client.
16. The method of claim 2 , further comprising updating the routing information associated with the client in a first process separate from a second process that routes client requests according to the routing information, wherein initiating propagation of updated routing information for the client includes retrieving updated routing information generated in the first process into the second process.
17. The method of claim 16 , wherein updating the routing information in the first process includes updating the routing information based upon at least one of server load, server availability, service availability, cache status, cluster status, and performance.
18. An apparatus, comprising: at least one processor; and program code configured to be executed by the processor to propagate routing information in a distributed computing system by tracking reroutes of client requests from a client that are routed according to routing information associated with the client and selectively initiating propagation of updated routing information for the client based upon the tracked reroutes of client requests.
19. The apparatus of claim 18 , wherein the at least one processor, the program code and the routing information are resident in the client, and wherein the program code is further configured to route the client requests according to the routing information resident in the client.
20. The apparatus of claim 18 , wherein the program code is configured to, for a first request, select one of a plurality of servers to handle the first request based upon the routing information and forward the first request to the selected server.
21. The apparatus of claim 18 , wherein the program code is configured to selectively initiate propagation of the routing information for the client based upon the tracked reroutes of client requests by initiating propagation of the routing information for the client in response to a rerouting ratio meeting a propagation criteria.
22. The apparatus of claim 18 , wherein the program code is configured to selectively initiate propagation of the routing information for the client based upon the tracked reroutes of client requests in response to receiving a response to a client request that indicates that the request needs to be rerouted.
23. The apparatus of claim 18 , wherein the program code is configured to initiate propagation of the routing information to the client by requesting download of an updated copy of a routing table for the client.
24. The apparatus of claim 18 , wherein the routing information associated with the client is updated in a first process that is separate from a second process that routes client requests according to the routing information, and wherein the program code is configured to initiate propagation of updated routing information for the client by retrieving updated routing information generated in the first process into the second process.
25. A program product, comprising: program code configured to propagate routing information in a distributed computing system by tracking reroutes of client requests from a client that are routed according to routing information associated with the client and selectively initiating propagation of updated routing information for the client based upon the tracked reroutes of client requests; and a non-transitory computer readable medium bearing the program code.
Unknown
January 8, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.