Low-latency high-throughput scalable data caching
First Claim
1. A system comprising:
- a first data source comprising a processor and a first memory, the first data source connected to a first data cache over a network, wherein the first data source is located in a same geographical region as the first data cache, and wherein the first data source stores a plurality of data entries selected based on a first geolocation of the first data source;
a master data source connected to the first data source over the network;
a second memory storing the first data cache; and
a load balancer service and a data cache service executing on one or more processors communicatively coupled with the memory to;
receive, by the load balancer service, a first request from a client device based on the client device being located in a second geolocation in close proximity to the first geolocation of the first data source;
request, by the load balancer service, a first data entry associated with the first request from the data cache service, wherein the first data entry is available from the master data source;
determine, by the data cache service, that the first data entry is unavailable in both the first data cache and the first data source; and
responsive to determining that the first data entry is unavailable, reject, by the load balancer service, the first request, wherein the first data source retrieves the first data entry from the master data source after the first request is rejected.
4 Assignments
0 Petitions
Accused Products
Abstract
Low-latency high-throughput scalable data caching is disclosed. For example, a data source is connected over a network to a load balancer server with data cache. A load balancer service and a data cache service execute on processors on the first load balancer server to receive, by the load balancer service, a request from a client device over the network. The load balancer service requests a data entry associated with the request from the first data cache service. The data cache service retrieves the first data entry from the first data cache, which stores a first plurality of data entries that is a subset of a second plurality of data entries stored in the data source. The load balancer service modifies the request with the data entry. The load balancer service sends a modified request to a plurality of receivers.
-
Citations
30 Claims
-
1. A system comprising:
-
a first data source comprising a processor and a first memory, the first data source connected to a first data cache over a network, wherein the first data source is located in a same geographical region as the first data cache, and wherein the first data source stores a plurality of data entries selected based on a first geolocation of the first data source; a master data source connected to the first data source over the network; a second memory storing the first data cache; and a load balancer service and a data cache service executing on one or more processors communicatively coupled with the memory to; receive, by the load balancer service, a first request from a client device based on the client device being located in a second geolocation in close proximity to the first geolocation of the first data source; request, by the load balancer service, a first data entry associated with the first request from the data cache service, wherein the first data entry is available from the master data source; determine, by the data cache service, that the first data entry is unavailable in both the first data cache and the first data source; and responsive to determining that the first data entry is unavailable, reject, by the load balancer service, the first request, wherein the first data source retrieves the first data entry from the master data source after the first request is rejected. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
receiving, by a load balancer service, a first request from a client device based on the client device being located in a first geolocation in close proximity to a second geolocation of a first data source, wherein the first data source is connected to a first data cache located in a same geographical region as the first data source over a network and the first data source stores a plurality of data entries selected based on the second geolocation; requesting, by the load balancer service, a first data entry associated with the first request from a data cache service, wherein the first data entry is available from a master data source connected to the first data source over the network; determining, by the data cache service, that the first data entry is unavailable in both the first data cache and the first data source; and responsive to determining that the first data entry is unavailable, rejecting, by the load balancer service, the first request, wherein the first data source retrieves the first data entry from the master data source after the first request is rejected. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer-readable non-transitory storage medium storing executable instructions, which when executed by a computer system, cause the computer system to:
-
receive, by a load balancer service, a first request from a client device based on the client device being located in a first geolocation in close proximity to a second geolocation of a first data source, wherein the first data source is connected to a first data cache located in a same geographical region as the first data source over a network and the first data source stores a plurality of data entries selected based on the second geolocation; request, by the load balancer service, a first data entry associated with the first request from a data cache service, wherein the first data entry is available from a master data source connected to the first data source over the network; determine, by the data cache service, that the first data entry is unavailable in both the first data cache and the first data source; and responsive to determining that the first data entry is unavailable, reject, by the load balancer service, the first request, wherein the first data source retrieves the first data entry from the master data source after the first request is rejected.
-
Specification