IP Library Granted Patent US 8,799,409
Granted Patent B2
US 8,799,409 · App. 12/688,732 · Granted Aug 5, 2014

Server side data cache system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,799,409
App. No.
12/688,732
Granted
Aug 5, 2014
Kind
B2
Abstract

In an example embodiment, a system and method to store and retrieve application data from a cache and a database are provided. The example method may comprise receiving location data associated with application data from a user device, using the location data to determine a cache or database on which the application data is stored, and requesting application data from the cache or database. The system and method may further include monitoring requests for application data associated with instructions having a set of characteristics, identifying application data as associated with the instructions having the set of characteristics, and requesting the application data based on receiving subsequent instructions sharing the same set of characteristics.

Claims (71)

1. A method comprising:

receiving a cookie comprising location data from a user device, the location data comprising a cache identifier, the cache identifier identifying a cache of a plurality of caches, each cache of the plurality of caches comprising a plurality of addressable storage locations that contain application data;

deriving, using a processor, a location of the cache of the plurality of caches based on the cache identifier; and

requesting application data from the cache based on the derived location;

wherein the location data comprises a database identifier, the method further comprising:

determining that the requested application data is not stored in the cache corresponding to the cache identifier; and

requesting the requested application data from a database of a plurality of databases based on the determination, the database corresponding to the database identifier.

2. The method of claim 1 , wherein the location data is received in a browser cookie.

3. The method of claim 1 , wherein the cache identifier comprises a routing identifier, and wherein the deriving a location of the cache of the plurality of caches comprises:

querying a routing service with the routing identifier; and

receiving a second identification of the cache.

4. The method of claim 1 , further comprising:

modifying the requested application data; and

transmitting the modified application data to the cache corresponding to the cache identifier.

5. The method of claim 1 , further comprising:

receiving new location data from a cache server hosting a cache, the new location data comprising a new cache identifier;

requesting application data from a second cache of the plurality of caches, the second cache corresponding to the new cache identifier; and

transmitting the new location data to a client browser in a cookie.

6. The method of claim 1 , further comprising:

monitoring requests for application data associated with instructions having a set of characteristics;

compiling a list of application data associated with the instructions having the set of characteristics;

receiving subsequent instructions sharing the set of characteristics; and

requesting, based on the receiving of the subsequent instructions, the application data on the list.

7. The method of claim 1 , wherein the requested application data comprises session data.

8. A system comprising:

a cache service module to receive location data from a user device, the location data comprising a cache identifier, the cache identifier identifying a cache of a plurality of caches, each cache of the plurality of caches comprising a plurality of addressable storage locations that contain application data:

a data locator module to derive a location of the cache of the plurality of caches based on the cache identifier, the data locator module comprising at least one hardware device; and

a data interface module to request application data from the cache based on the derived location;

wherein the location data comprises a database identifier and wherein:

the data locator module is to:

determine that the requested application data is not stored in the cache corresponding to the cache identifier, and

determine that a database of a plurality of databases corresponds to the database identifier; and

the data interface module is to request the requested application data from the database corresponding to the database identifier.

9. The system of claim 8 , wherein the cache service module receives the location data in a browser cookie.

10. The system of claim 8 , wherein the cache identifier comprises a routing identifier, and wherein the data locator module is to:

query a routing service with the routing identifier; and

receive a second identification of the cache.

11. The system of claim 8 , wherein:

the cache service module is to determine that the requested application data has been modified; and

the data interface module is to transmit the modified application data to the cache corresponding to the cache identifier.

12. The system of claim 8 , wherein:

the data interface module is to:

receive new location data from a cache server hosting a cache, the new location data comprising a new cache identifier, and

request application data from a second cache of the plurality of caches, the second cache corresponding to the new cache identifier; and

wherein the cache service module is to transmit new location data to a client browser in a cookie.

13. The system of claim 8 , further comprising:

a learning module to:

monitor requests for application data associated with instructions having a set of characteristics, and

compile a list of application data associated with instructions having the set of characteristics;

wherein the cache service module is to receive subsequent instructions, the subsequent instructions sharing the set of characteristics; and

the data interface module is to request, based on the receiving of the subsequent instructions, the application data on the list.

14. The system of claim 8 , wherein the requested application data comprises session data.

15. A non-transitory machine-readable medium comprising instructions, which, when executed by one or more processors, cause one or more machines to perform operations comprising:

receiving a cookie comprising location data from a user device, the location data comprising a cache identifier, the cache identifier identifying a cache of a plurality of caches, each cache of the plurality of caches comprising a plurality of addressable storage locations that contain application data;

deriving a location of the cache of the plurality of caches based on the cache identifier; and

requesting application data from the cache based on the derived location;

wherein the location data comprises a database identifier, the instructions further comprising:

determining that the requested application data is not stored in the cache corresponding to the cache identifier; and

requesting the requested application data from a database of a plurality of databases based on the determination, the database corresponding to the database identifier.

16. A method comprising:

receiving instructions to perform an activity associated with application data;

receiving a browser cookie from a user device, the browser cookie comprising a routing identifier;

querying a routing service with the routing identifier;

receiving an identification of a cache; and

requesting the application data from the cache based on the identification of the cache;

wherein the routing identifier comprises a database identifier, the method further comprising:

determining that the requested application data is not stored in the cache corresponding to the identification of the cache; and

requesting the requested application data from a database of a plurality of databases based on the determination, the database corresponding to the database identifier.

17. The method of claim 1 , wherein each cache of the plurality of caches is distinguished from each of one or more remaining caches of the plurality of caches by at least one different access route.

18. The system of claim 8 , wherein each cache of the plurality of caches is distinguished from each of one or more remaining caches of the plurality of caches by at least one different access route.

19. The non-transitory machine-readable medium of claim 15 , wherein each cache of the plurality of caches is distinguished from each of one or more remaining caches of the plurality of caches by at least one different access route.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: EBAY INC.
To: PAYPAL, INC.
Reel/Frame 036169/0680 →