IP Library Granted Patent US 10,728,326
Granted Patent B2
US 10,728,326 · App. 16/412,827 · Granted Jul 28, 2020

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

Inventors: Ankur Subhash Jain (Cupertino, CA); Ramkartik Mulukutla (Santa Clara, CA)
Assignee: Oath Inc.
H04L67/1095G06F3/065G06F3/067G06F3/0613G06F3/0619G06F3/0635G06F11/18G06F11/2058G06F11/2064G06F11/2069G06F11/2082G06F13/364H04L12/403H04L12/423H04L67/1097
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,728,326
App. No.
16/412,827
Granted
Jul 28, 2020
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 (50)

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

detecting a fault in a server included in the data system, wherein the data system includes a read-write server and a plurality of read servers that are connected in a ring topology, wherein the read-write server is designated to process write operations and read operations of a first type, and the plurality of read servers are designated to process read operations of a second type that are different than the first type;

in response to detecting that the server that experiences the fault is the read-write server

selecting one of the plurality of read servers to serve as a new read-write server, and

forming a modified ring topology excluding the read-write server; and

in response to detecting that the server that experiences the fault is one of the plurality of read servers

forming the modified ring topology including the read-write server and one or more remaining read servers of the plurality of read servers.

2. The method of claim 1 , wherein each of the read-write server and the plurality of read servers is directly connected to a corresponding slave server.

3. The method of claim 1 , wherein in response to detecting that the server that experiences the fault is one of the plurality of read servers, the modified ring topology is formed by excluding the one of the plurality of read servers that experiences the fault.

4. The method of claim 1 , wherein one of the plurality of read servers that is selected to serve as a new read-write server is a first neighbor of the read-write server, and the step of forming the modified ring topology excluding the read-write server further comprises establishing a new connection from a second neighbor of the read-write server to the new read-write server.

5. The method of claim 4 , further comprising:

detecting a recovery of the read-write server;

re-forming the ring topology to include the read-write server;

replicating in the read-write server, transactions that occurred when the read-write server was in a fail state;

removing the established new connection; and

designating the new read-write server as a read server.

6. A 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:

detecting a fault in a server included in the data system, wherein the data system includes a read-write server and a plurality of read servers that are connected in a ring topology, wherein the read-write server is designated to process write operations and read operations of a first type, and the plurality of read servers are designated to process read operations of a second type that are different than the first type;

in response to detecting that the server that experiences the fault is the read-write server

selecting one of the plurality of read servers to serve as a new read-write server, and

forming a modified ring topology excluding the read-write server; and

in response to detecting that the server that experiences the fault is one of the plurality of read servers

forming the modified ring topology including the read-write server and one or more remaining read servers of the plurality of read servers.

7. The medium of claim 6 , wherein each of the read-write server and the plurality of read servers is directly connected to a corresponding slave server.

8. The medium of claim 6 , wherein in response to detecting that the server that experiences the fault is one of the plurality of read servers, the modified ring topology is formed by excluding the one of the plurality of read servers that experiences the fault.

9. The medium of claim 6 , wherein one of the plurality of read servers that is selected to serve as a new read-write server is a first neighbor of the read-write server, and the step of forming the modified ring topology excluding the read-write server further comprises establishing a new connection from a second neighbor of the read-write server to the new read-write server.

10. The medium of claim 9 , further comprising:

detecting a recovery of the read-write server;

re-forming the ring topology to include the read-write server;

replicating in the read-write server, transactions that occurred when the read-write server was in a fail state;

removing the established new connection; and

designating the new read-write server as a read server.

11. A data system comprising:

a read-write server and a plurality of read servers that are connected in a ring topology wherein the read-write server is designated to process write operations and read operations of a first type, and the plurality of read servers are designated to process read operations of a second type that are different than the first type; and

a processing unit implemented by a processor and configured for

detecting a fault in a server included in the data system,

in response to detecting that the server that experiences the fault is the read-write server

selecting one of the plurality of read servers to serve as a new read-write server, and

forming a modified ring topology excluding the read-write server, and

in response to detecting that the server that experiences the fault is one of the plurality of read servers

forming the modified ring topology including the read-write server and one or more remaining read servers of the plurality of read servers.

12. The data system of claim 11 , wherein each of the read-write server and the plurality of read servers is directly connected to a corresponding slave server.

13. The data system of claim 11 , wherein in response to detecting that the server that experiences the fault is one of the plurality of read servers, the modified ring topology is formed by excluding the one of the plurality of read servers that experiences the fault.

14. The data system of claim 11 , wherein one of the plurality of read servers that is selected to serve as a new read-write server is a first neighbor of the read-write server, and the step of forming the modified ring topology excluding the read-write server further comprises establishing a new connection from a second neighbor of the read-write server to the new read-write server.

15. The data system of claim 14 , wherein the processing unit is further configured for

detecting a recovery of the read-write server;

re-forming the ring topology to include the read-write server;

replicating in the read-write server, transactions that occurred when the read-write server was in a fail state;

removing the established new connection; and

designating the new read-write server as a read server.

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 May 15, 2019
From: JAIN, ANKUR SUBHASH; MULUKUTLA, RAMKARTIK
To: YAHOO! INC.
Reel/Frame 049184/0892 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2019
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 049190/0469 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2019
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 049191/0001 →