IP Library Granted Patent US 8,700,735
Granted Patent B1
US 8,700,735 · App. 13/680,176 · Granted Apr 15, 2014

Multi-level cache with synch

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,700,735
App. No.
13/680,176
Granted
Apr 15, 2014
Kind
B1
Abstract

Disclosed in some examples is a method of caching by storing data in a first cache specific to a first geographic area and accessible only by a first application in the first geographic area; storing data in a second cache specific to a second geographic area and accessible by a plurality of applications in the second geographic area including the first application and a second application, the second geographic area being larger than and encompassing at least part of the first geographic area; responsive to a miss in the first cache for data, contacting the second cache and searching for the data in the second cache; and responsive to a hit for the data in the second cache, sending the data to a first application, wherein the data was placed in the second cache by a second application.

Claims (37)

1. A method of caching application data, the method comprising:

receiving over a network at a first cache a request from a first social networking application for a particular piece of social networking data, the first cache being accessible only by the first social networking application;

searching for the particular piece of social networking data in the first cache using at least one computer processor; and

handling a miss for the particular piece of social networking data in the first cache, including:

searching for the particular piece of social networking data in a second cache, the second cache being accessible over the network and storing data from a plurality of social networking applications including the first social networking application and a second social networking application; and

sending the particular piece of social networking data over the network to the first social networking application in response to a hit for the particular piece of social networking data in the second cache, wherein the particular piece of social networking data was placed in the second cache by the second social networking application.

2. The method of claim 1 , wherein the plurality of social networking applications are games.

3. The method of claim 1 , wherein the plurality of social networking applications are executed on a plurality of computing devices located in a common geographical area.

4. The method of claim 1 , wherein handling a miss for the particular piece of social networking data in the first cache includes refreshing the first cache responsive to a hit for the particular piece of social networking data in the second cache.

5. The method of claim 1 , wherein handling a miss for the particular piece of social networking data in the first cache includes searching a third cache for the particular piece of social networking data in response to a miss for the particular piece of social networking data in the second cache, the third cache being accessible by a second plurality of social networking applications, the second plurality of social networking applications being a superset of the plurality of social networking applications.

6. The method of claim 1 , wherein handling a miss for the particular piece of social networking data in the first cache includes the first social networking application contacting the second cache in response to the miss in the first cache to initiate the search for the particular piece of social networking data in the second cache.

7. The method of claim 1 , comprising the first cache contacting the second cache responsive to the miss in the first cache to initiate the search for the particular piece of social networking data in the second cache.

8. A caching system comprising:

a first cache subsystem maintaining a first cache, configured to:

receive a request from a first social networking application for a particular piece of social networking data, the first cache being accessible only by the first social networking application;

search for the particular piece of social networking data in the first cache using at least one computer processor;

a second cache subsystem maintaining a second cache, configured to:

receive a second request for the particular piece of social networking data, the second request being provided in response to a miss for the particular application data in the first cache;

search for the particular piece of social networking data in the second cache, the second cache being accessible by, and storing data from, a plurality of social networking applications including the first social networking application and a second social networking application; and

a data retrieval component configured to:

provide the particular piece of social networking data to the first application responsive to a hit for the particular piece of social networking data in the second cache, wherein the particular piece of social networking data was placed in the second cache by the second application.

9. The system of claim 8 , wherein the plurality of social networking applications are games.

10. The system of claim 8 , wherein the plurality of social networking applications are executed on computing devices located in a common geographical area.

11. The system of claim 8 , wherein the first cache is configured to be refreshed responsive to a hit for the particular piece of social networking data in the second cache.

12. The system of claim 8 , comprising a third cache, the third cache configured to search for the particular piece of social networking data responsive to a miss from the second cache, the third cache being accessible by, and storing data from, a second plurality of social networking applications, the second plurality of social networking applications being a superset of the first plurality of social networking applications.

13. The system of claim 8 , wherein the first social networking application is configured to communicate with the second cache subsystem responsive to the miss in the first cache to initiate the search for the particular piece of social networking data in the second cache.

14. The system of claim 8 , wherein the first cache subsystem is configured to communicate with the second cache subsystem responsive to the miss in the first cache to initiate the search for the particular piece of social networking data in the second cache.

15. A non-transitory machine readable storage medium, the machine readable storage medium comprising instructions which when performed by a machine, cause the machine to perform the operations of:

providing a user interface for a first social networking application;

contacting, over a network, a first cache to be searched for a particular piece of social networking data, the first cache being accessible only by the first social networking application;

responsive to a miss for the particular application data in the first cache, causing a search of a second cache, the second cache accessible over the network, the second cache accessible by, and storing data from, a plurality of social networking applications including the first social networking application and a second social networking application;

responsive to a hit for the particular piece of social networking data in the second cache, receiving the particular piece of social networking data from the second cache over the network, wherein the particular piece of social networking data was placed in the second cache by the second application; and

displaying the particular piece of social networking data in the user interface of the social networking application.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the first social networking application is a game.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the first and second social networking applications are executed on computing devices located in a common geographical area.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the instructions include instructions, which when performed by the machine, cause the machine to refresh the first cache responsive to a hit for the particular piece of social networking data in the second cache.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the instructions include instructions, which when performed by the machine, cause the machine to search a third cache responsive to a miss from the second cache, the third cache being accessible by a second plurality of social networking applications, the second plurality of social networking applications being a superset of the first plurality of social networking applications.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 23, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZYNGA INC.
Reel/Frame 060163/0437 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 14, 2020
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054719/0490 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 11, 2020
From: BANK OF AMERICA, N.A., AS LENDER
To: ZYNGA INC.
Reel/Frame 054701/0393 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 21, 2018
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 049147/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2014
From: DALE, SCOTT; BROWN, NATHAN; LUXTON, MICHAEL ARIEH
To: ZYNGA INC.
Reel/Frame 032234/0498 →