IP Library Granted Patent US 10,191,824
Granted Patent B2
US 10,191,824 · App. 15/783,537 · Granted Jan 29, 2019

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/128G06F17/3048G06F2201/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,191,824
App. No.
15/783,537
Granted
Jan 29, 2019
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 cache data management system, comprising:

a plurality of webserver computers to handle cache data requests;

a computer cluster comprising a plurality of master cache data server computers without a corresponding plurality of slave cache data server computers to store reserve cache data; and

a plurality of proxy computers in communication with the plurality of webserver computers and the computer cluster,

wherein the plurality of proxy computers routes the cache data requests from the plurality of webserver computers to the computer cluster, and

wherein each proxy computer comprises:

a sentinel module to monitor a health of the computer cluster,

wherein the sentinel module detects failures of master cache data server computers; and

a trask monitor agent to manage the computer cluster,

wherein, 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 an initially empty reserve master cache data server computer, and

wherein the initially empty reserve master cache data server computer is populated with the reserve cache data from a master database.

2. The cache data management system of claim 1 , wherein each webserver computer comprises a cache data request module.

3. The cache data management system of claim 1 , wherein each proxy computer further comprises:

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

4. The cache data management system of claim 1 , wherein each cache data request distribution module randomly routes the cache data requests among the plurality of master cache data server computers.

5. The cache data management system of claim 1 , wherein a connection is established between one of the 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 at the one of the plurality of webserver computers.

6. The cache data management system of claim 5 , wherein the master cache data server computers collectively store the plurality of cache keys and serve a selected cache key upon receipt of the routed cache data requests.

7. The cache data management system of claim 1 , further comprising:

a plurality of state monitoring servers to (i) monitor a state of the plurality of master cache data server computers, and (ii) select one of the plurality of proxy computers as a proxy leader.

8. The cache data management system of claim 1 , wherein the plurality of master cache data server computers is subdivided into server pools.

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

10. The cache data management system of claim 1 , wherein the sentinel module discovers other sentinel modules monitoring a same instance of one of the plurality of master cache data server computers.

11. A method for managing cache data, comprising:

receiving cache data requests at a plurality of webserver computers;

routing, by a plurality of proxy computers in communication with the plurality of webserver computers and a computer cluster, the cache data requests from the plurality of webserver computers to the 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, and

wherein each proxy computer comprises a sentinel module to monitor a health of the computer cluster, and a trask monitor agent to manage the computer cluster;

detecting, by the sentinel module, a failed master cache data server computer;

replacing, by the trask monitor agent, 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 master database.

12. The method of claim 11 , wherein each webserver computer comprises a cache data request module.

13. The method of claim 11 , comprising:

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

14. The method of claim 11 , comprising:

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

15. The method of claim 11 , comprising:

establishing a connection between one of the 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 at the one of the plurality of webserver computers.

16. The method of claim 15 , 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.

17. The method of claim 11 , comprising:

monitoring a state of the plurality of master cache data server computers; and

selecting one of the plurality of proxy computers as a proxy leader.

18. The method of claim 11 , comprising:

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

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

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 plurality of webserver computers;

route, by a plurality of proxy computers in communication with the plurality of webserver computers and a computer cluster, the cache data requests from the plurality of webserver computers to the 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, and

wherein each proxy computer comprises a sentinel module to monitor a health of the computer cluster, and a trask monitor agent to manage the computer cluster;

detect, by the sentinel module, a failed master cache data server computer;

replace, by the trask monitor agent, 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 master database.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 19, 2020
From: COMERICA BANK
To: MZ IP HOLDINGS, LLC
Reel/Frame 052706/0899 →
RELEASE OF SECURITY INTEREST Recorded May 19, 2020
From: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
To: MACHINE ZONE, INC.; SATORI WORLDWIDE, LLC; COGNANT LLC
Reel/Frame 052706/0917 →
SECURITY INTEREST Recorded May 22, 2018
From: MZ IP HOLDINGS, LLC
To: COMERICA BANK
Reel/Frame 046215/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2018
From: MACHINE ZONE, INC.
To: MZ IP HOLDINGS, LLC
Reel/Frame 045786/0179 →
NOTICE OF SECURITY INTEREST -- PATENTS Recorded Feb 2, 2018
From: MACHINE ZONE, INC.; SATORI WORLDWIDE, LLC; COGNANT LLC
To: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
Reel/Frame 045237/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2018
From: LIAW, ERIC; XIAO, KEVIN; WONG, GLEN
To: MACHINE ZONE, INC.
Reel/Frame 044588/0968 →
Continuity (2)
Provisional Application 62413639 · Oct 27, 2016
Related Publication 20180121304A1 · May 3, 2018