IP Library Granted Patent US 10,341,434
Granted Patent B2
US 10,341,434 · App. 15/601,403 · Granted Jul 2, 2019

Method and system for high availability topology for master-slave data systems with low write traffic

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,341,434
App. No.
15/601,403
Granted
Jul 2, 2019
Kind
B2
Abstract

The present teaching relates to a system, method, medium for a data system, which comprises a plurality of data centers with one read/write master server designated to handle write and consistent read requests and a plurality of read master servers designated to handle normal read requests, wherein the master servers form a ring structure and each is connected to a corresponding slave server. When a data access request is received, a read master communication unit invokes one of the plurality of read master servers in the data system if the received data access request is a normal read request, a main master communication unit invokes the read/write master server if the received data access request is either a write request or a consistent read request. When a response is received from the invoked handling master server, a response processing unit responds to the data access request based on the received response.

Claims (49)

1. A method implemented on a computer having at least one processor, a storage, and a communication platform for a data system, comprising:

receiving, by a data access request receiver, a data access request to access data in the data system, wherein the data system comprises a plurality of data centers with one read/write master server designated to handle write and consistent read requests and a plurality of read master servers designated to handle normal read requests, wherein the read/write master server and the plurality of read master servers in the data system form a ring structure and each is connected to a corresponding slave server;

invoking, by a read master communication unit, one of the plurality of read master servers if the received data access request is a normal read request;

invoking, by a main master communication unit, the read/write master server if the received data access request is either a write request or a consistent read request;

receiving, by a response processing unit, a response from a master invoked to handle the received data access request; and

responding, by the response processing unit, to the data access request based on the received response.

2. The method of claim 1 , wherein the data system includes a plurality of data centers, wherein each of the plurality of data centers includes multiple master servers, each of which is connected to a corresponding slave server, and the read/write master server and the plurality of read master servers in the plurality of data centers are connected to form the ring structure.

3. The method of claim 2 , wherein the data system including the plurality of data centers comprises two data centers with master servers in the two data centers connected in an order to form the ring structure, from the read/write master server to a first read master server in a first data center of the two data centers, from the first read master server to a second read master server in a second data center of the two data centers, and from the second read master server to a third read master server in the second data center, wherein each of the read/write master server and the first, second, and third read master servers is linked to its corresponding slave server.

4. The method of claim 3 , further comprising:

activating, by the main master communication unit, a data replicate unit after the read/write master server successfully writes a piece of data into the data system; and

replicating, by the data replicate unit, the piece of data in the order from the read/write master server to the first, second, and third read master servers in the data system, and then to each of the linked corresponding slave servers.

5. The method of claim 3 , further comprising:

forming, when the read/write master server fails, a modified ring structure by promoting the first read master server in the first data center as a current read/write master server and establishing a new connection between the third read master server in the second data center to the current read/write master server in the first data center, and excluding the read/write master server and a first slave server linked to the read/write master server from the modified ring structure; and

recovering, when the read/write master server recovers, the ring structure by replicating, in the read/write master server and the first slave server, transactions occurred when the read/write master server is in a fail state, re-connecting the read/write master server with the first read master server as well as the first slave server, and removing the new connection between the third read master server in the second data center and the first read master server in the first data center.

6. The method of claim 3 , further comprising:

forming, when the first read master server in the first data center fails, a modified ring structure by establishing a new connection between the read/write master server in the first data center and the second read master server in the second data center so that any data written by the read/write master server is to be replicated directly in the second read master server, and excluding the first read master server and a second slave server linked to the first read master server from the modified ring structure.

7. The method of claim 3 , wherein the data system comprises a third data center, which includes a fourth read master server linked to a corresponding fifth slave server and a fifth read master server linked to a corresponding sixth slave server, wherein the fourth read master server is connected to the fifth read master server, the third data center is connected to the first data center via a connection from a first slave server linked to the read/write master server to the fourth read master server, wherein the third data center provides fault tolerance to the data system when the first read master server in the first data center fails, by replicating data written by the read/write master server to the third data center via the first slave server, the fourth read master server, the fifth read master server, the fifth slave server, as well as the sixth slave server so that the fourth and fifth read master servers are capable of handling read data access requests.

8. Machine readable non-transitory medium having information recorded thereon for a data system, where when the information is read by the machine, the information causes the machine to perform:

receiving, by a data access request receiver, a data access request to access data in the data system, wherein the data system comprises a plurality of data centers with one read/write master server designated to handle write and consistent read requests and a plurality of read master servers designated to handle normal read requests, wherein the read/write master server and the plurality of read master servers in the data system form a ring structure and each is connected to a corresponding slave server;

invoking, by a read master communication unit, one of the plurality of read master servers if the received data access request is a normal read request;

invoking, by a main master communication unit, the read/write master server if the received data access request is either a write request or a consistent read request;

receiving, by a response processing unit, a response from a master server invoked to handle the received data access request; and

responding, by the response processing unit, to the data access request based on the received response.

9. The medium of claim 8 , wherein the data system includes a plurality of data centers, wherein each of the plurality of data centers includes multiple master servers, each of which is connected to a corresponding slave server, and the read/write master server and the plurality of read master servers in the plurality of data centers are connected to form the ring structure.

10. The medium of claim 9 , wherein the data system including the plurality of data centers comprises two data centers with master servers in the two data centers connected in an order to form the ring structure, from the read/write master server to a first read master server in a first data center of the two data centers, from the first read master to a second read master in a second data center of the two data centers, and from the second read master server to a third read master server in the second data center, wherein each of the read/write master server and the first, second, and third read master servers is linked to its corresponding slave server.

11. The medium of claim 10 , where when the information is read, the machine is further caused to perform:

activating, by the main master communication unit, a data replicate unit after the read/write master server successfully writes a piece of data into the data system; and

replicating, by the data replicate unit, the piece of data in the order from the read/write master server to the first, second, and third read master servers in the data system, and then to each of the linked corresponding slave servers.

12. The medium of claim 10 , where when the information is read, further causing the machine to perform:

forming, when the read/write master server fails, a modified ring structure by promoting the first read master server in the first data center as a current read/write master server and establishing a new connection between the third read master server in the second data center to the current read/write master server in the first data center, and excluding the read/write master server and a first slave server linked to the read/write master server from the modified ring structure; and

recovering, when the read/write master server recovers, the ring structure by replicating, in the read/write master server and the first slave server, transactions occurred when the read/write master server is in a fail state, re-connecting the read/write master server with the first read master server as well as the first slave server, and removing the new connection between the third read master server in the second data center and the first read master server in the first data center.

13. The medium of claim 10 , where when the information is read, the machine is further caused to perform:

forming, when the first read master server in the first data center fails, a modified ring structure by establishing a new connection between the read/write master server in the first data center and the second read master server in the second data center so that any data written by the read/write master server is to be replicated directly in the second read master server, and excluding the first read master server and a second slave server linked to the first read master server from the modified ring structure.

14. The medium of claim 10 , wherein the data system comprises a third data center, which includes a fourth read master server linked to a corresponding fifth slave server and a fifth read master server linked to a corresponding sixth slave server, wherein the fourth read master server is connected to the fifth read master server, the third data center is connected to the first data center via a connection from a first slave server linked to the read/write master server to the fourth read master server, wherein the third data center provides fault tolerance to the data system when the first read master server in the first data center fails, by replicating data written by the read/write master server to the third data center via the first slave server, the fourth read master server, the fifth read master server, the fifth slave server, as well as the sixth slave server so that the fourth and fifth read master servers are capable of handling read data access requests.

15. A data system, comprising:

a plurality of data centers with one read/write master server designated to handle write and consistent read requests and a plurality of read master servers designated to handle normal read requests, wherein the read/write master server and the plurality of read master servers form a ring structure and each is connected to a corresponding slave server;

a data access request receiver configured for receiving a data access request;

a read master communication unit configured for invoking one of the plurality of read master servers in the data system if the received data access request is a normal read request;

a main master communication unit configured for invoking the read/write master server if the received data access request is either a write request or a consistent read request; and

a response processing unit configured for receiving a response from a master server invoked to handle the received data access request and responding to the data access request based on the received response.

16. The system of claim 15 , wherein the data system comprises two data centers with master servers in the two data centers connected in an order to form the ring structure, from the read/write master server to a first read master server in a first data center of the two data centers, from the first read master server to a second read master server in a second data center of the two data centers, and from the second read master server to a third read master server in the second data center, wherein each of the read/write master server and the first, second, and third read master servers is linked to its corresponding slave server.

17. The system of claim 15 , further comprising:

a data replication unit configured for replicating a piece of data written by the read/write master server in an order of: from the read/write master server to the first, second, and third read master servers, and to each of the linked corresponding slave servers.

18. The system of claim 16 , wherein the data system is capable of fault tolerance so that:

when the read/write master server fails, a modified ring structure is formed by promoting the first read master server in the first data center as a current read/write master server and establishing a new connection between the third read master server in the second data center to the current read/write master server in the first data center, and excluding the read/write master server and a first slave server linked to the read/write master server from the modified ring structure; and

when the read/write master server recovers, the ring structure is recovered by replicating, in the read/write master server and the first slave server, transactions occurred when the read/write master server is in a fail state, re-connecting the read/write master server with the first read master server as well as the first slave server, and removing the new connection between the third read master server in the second data center and the first read master server in the first data center.

19. The system of claim 16 , wherein the data system is capable of fault tolerance so that when the first read master server in the first data center fails, a modified ring structure is formed by establishing a new connection between the read/write master server in the first data center and the second read master server in the second data center so that any data written by the read/write master server is to be replicated directly in the second read master server, and excluding the first read master server and a second slave server linked to the first read master server from the modified ring structure.

20. The system of claim 16 , wherein the data system further comprises:

a third data center, which includes a fourth read master server linked to a corresponding fifth slave server and a fifth read master server linked to a corresponding sixth slave server, wherein the fourth read master server is connected to the fifth read master server, the third data center is connected to the first data center via a connection from a first slave server linked to the read/write master server to the fourth read master server, wherein the third data center provides fault tolerance to the data system when the first read master server in the first data center fails, by replicating data written by the read/write master server to the third data center via the first slave server, the fourth read master server, the fifth read master server, the fifth slave server, as well as the sixth slave server so that the fourth and fifth read master servers are capable of handling read data access requests.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2017
From: JAIN, ANKUR SUBHASH; MULUKUTLA, RAMKARTIK
To: YAHOO! INC.
Reel/Frame 042457/0899 →