Load balancing in a distributed computing environment
First Claim
1. A method for load balancing at a client device in a distributed computing environment based on a dynamic validity period and utilization metrics, the method comprising:
- at the client device, selecting a first data store from a plurality of data stores that maintain a copy of a particular datum, wherein the client device maintains utilization metrics describing utilization of resources within the first data store;
communicating a first request having a valid period of a first duration, wherein the first request is a request to the first data store for the particular datum;
receiving, from the first data store, a first response to the first request, wherein the first response indicates an inability of the first data store to fulfill the first request within the first duration;
in response to receiving the first response to the first request, selecting a second data store from the plurality of data stores; and
communicating a second request for the particular datum to the second data store, wherein the second request has a valid period with a second duration.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and computer storage media for load balancing at a client device in a distributed computing environment based on a dynamic validity duration and utilization metrics of one or more data stores are provided. The client device selects a data store from a plurality of data stores that each maintains a copy of a datum. The selection of data stores by a client is based on utilization metrics of the data stores. The utilization metrics are stored at the client. A data store determines if a request for a particular datum may be fulfilled within a validity period associated with a request from the client. The validity period is dynamically changed by the client across multiple requests to aid in the load balancing process. Additionally, a gossip protocol may be used to propagate utilization metrics of a plurality of data stores across the system.
-
Citations
20 Claims
-
1. A method for load balancing at a client device in a distributed computing environment based on a dynamic validity period and utilization metrics, the method comprising:
-
at the client device, selecting a first data store from a plurality of data stores that maintain a copy of a particular datum, wherein the client device maintains utilization metrics describing utilization of resources within the first data store; communicating a first request having a valid period of a first duration, wherein the first request is a request to the first data store for the particular datum; receiving, from the first data store, a first response to the first request, wherein the first response indicates an inability of the first data store to fulfill the first request within the first duration; in response to receiving the first response to the first request, selecting a second data store from the plurality of data stores; and communicating a second request for the particular datum to the second data store, wherein the second request has a valid period with a second duration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for load balancing at a client device in a distributed computing environment based on a dynamic validity duration and utilization metrics, the method comprising:
-
at a client device, receiving a request from a service for a datum, wherein the datum is data used as part of a service available by way of the distributed computing environment; identifying a first data store to serve the datum, wherein the first data store is identified from a plurality of data stores based on utilization metrics of the first data store that are stored at the client device; communicating a first request for the datum to the first data store, wherein the first request includes a validity period with a first duration; receiving a response to the first request as a result of the first data store predicting that the first request would be unable to be fulfilled within the first duration, wherein the first response includes utilization metrics of one or more of the plurality of data stores; identifying a second data store to serve the datum, wherein the second data store is identified based, at least in part, on utilization metrics of at least one of the plurality of data stores; and communicating a second request for the datum to the second data store, wherein the second request includes a validity period with a duration longer than the first duration.
-
-
12. One or more computer storage media comprising at least one memory having computer-executable instructions embodied thereon, that when executed by a computing system having a processor and memory, cause the computing system to perform a method for load balancing at a client device in a distributed computing environment based on a dynamic validity period and utilization metrics, the method comprising:
-
at the client device, selecting a first data store from a plurality of data stores that maintain a copy of a particular datum, wherein the client device maintains utilization metrics describing utilization of resources within the first data store; communicating a first request having a valid period of a first duration, wherein the first request is a request to the first data store for the particular datum; receiving, from the first data store, a first response to the first request, wherein the first response indicates an inability of the first data store to fulfill the first request within the first duration; in response to receiving the first response to the first request, selecting a second data store from the plurality of data stores; and communicating a second request for the particular datum to the second data store, wherein the second request has a valid period with a second duration. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification