IP Library Granted Patent US 10,528,442
Granted Patent B2
US 10,528,442 · App. 16/225,534 · Granted Jan 7, 2020

Systems and methods for managing a cluster of cache servers

Inventors: Eric Liaw (Cupertino, CA); Kevin Xiao (Saratoga, CA); Glen Wong (Sunnyvale, CA)
Assignee: MZ IP Holdings, LLC
G06F11/2094G06F12/0848G06F12/128G06F16/24552G06F2201/805G06F2201/82G06F2212/282G06F2212/621
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 10,528,442
App. No.
16/225,534
Granted
Jan 7, 2020
Kind
B2
Abstract

Implementations of this disclosure are directed to systems, devices and methods for implementing a cache data management system. Webserver computers receive cache data requests for data stored at a computer cluster comprising a plurality of master cache data server computers that do not have corresponding slave cache data server computers to store reserve cache data. Proxy computers in communication with the plurality of webserver computers and the computer cluster route the cache data requests from the webserver computers to the computer cluster. Each proxy computer includes a sentinel module to monitor a health of the computer cluster by detecting failures of master cache data server computers and a trask monitor agent to manage the computer cluster. In response to the sentinel module detecting a failed master cache data server computer, the trask monitor agent replaces the failed master cache data server computer with a substantially empty reserve master cache data server computer, which is subsequently populated with the reserve cache data from a master database.

Claims (54)

1. A method, comprising:

receiving cache data requests at a computer cluster,

wherein the computer cluster comprises a plurality of master cache data server computers without a corresponding plurality of slave cache data server computers to store reserve cache data;

detecting a failed master cache data server computer;

replacing the failed master cache data server computer with an initially-empty reserve master cache data server computer; and

populating the initially-empty reserve master cache data server computer with the reserve cache data from a database.

2. The method of claim 1 , comprising:

routing the cache data requests to the computer cluster by a plurality of proxy computers.

3. The method of claim 2 , comprising:

establishing a connection between one of a plurality of webserver computers and one of the plurality of proxy computers upon receipt of a request for one of a plurality of cache keys.

4. The method of claim 3 , comprising:

storing the plurality of cache keys at the master cache data server computers; and

serving a selected cache key upon receipt of the routed cache data requests.

5. The method of claim 1 , comprising:

monitoring a health of the computer cluster.

6. The method of claim 1 , comprising:

routing the cache data requests from cache data request modules of a plurality of webserver computers to one of the plurality of master cache data server computers.

7. The method of claim 1 , comprising:

randomly routing the cache data requests among the plurality of master cache data server computers.

8. The method of claim 1 , comprising:

monitoring a state of the plurality of master cache data server computers.

9. The method of claim 1 , comprising:

subdividing the plurality of master cache data server computers into server pools.

10. The method of claim 9 , wherein one or more initially-empty reserve master cache data server computers become operational to increase a size of the server pool.

11. A system, comprising:

one or more computer processors programmed to perform operations to:

receive cache data requests at a computer cluster,

wherein the computer cluster comprises a plurality of master cache data server computers without a corresponding plurality of slave cache data server computers to store reserve cache data;

detect a failed master cache data server computer;

replace the failed master cache data server computer with an initially-empty reserve master cache data server computer; and

populate the initially-empty reserve master cache data server computer with the reserve cache data from a database.

12. The system of claim 11 , wherein the operations are further to:

route the cache data requests to the computer cluster by a plurality of proxy computers.

13. The system of claim 12 , wherein the operations are further to:

establish a connection between one of a plurality of webserver computers and one of the plurality of proxy computers upon receipt of a request for one of a plurality of cache keys.

14. The system of claim 13 , wherein the operations are further to:

store the plurality of cache keys at the master cache data server computers; and

serve a selected cache key upon receipt of the routed cache data requests.

15. The system of claim 11 , wherein the operations are further to:

monitor a health of the computer cluster.

16. The system of claim 11 , wherein the operations are further to:

route the cache data requests from cache data request modules of a plurality of webserver computers to one of the plurality of master cache data server computers.

17. The system of claim 11 , wherein the operations are further to:

randomly route the cache data requests among the plurality of master cache data server computers.

18. The system of claim 11 , wherein the operations are further to:

monitor a state of the plurality of master cache data server computers.

19. The system of claim 11 , wherein the operations are further to:

subdivide the plurality of master cache data server computers into server pools.

20. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to:

receive cache data requests at a computer cluster,

wherein the computer cluster comprises a plurality of master cache data server computers without a corresponding plurality of slave cache data server computers to store reserve cache data;

detect a failed master cache data server computer;

replace the failed master cache data server computer with an initially-empty reserve master cache data server computer; and

populate the initially-empty reserve master cache data server computer with the reserve cache data from a database.

Assignments (3)
NOTICE OF SECURITY INTEREST -- PATENTS Recorded Mar 19, 2019
From: MZ IP HOLDINGS, LLC
To: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
Reel/Frame 048639/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2019
From: LIAW, ERIC; XIAO, KEVIN; WONG, GLEN
To: MACHINE ZONE, INC.
Reel/Frame 048611/0750 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2019
From: MACHINE ZONE, INC.
To: MZ IP HOLDINGS, LLC
Reel/Frame 048611/0887 →
Continuity (3)
Continuation 15783537 · Oct 13, 2017
Provisional Application 62413639 · Oct 27, 2016
Related Publication 20190121712A1 · Apr 25, 2019