IP Library Granted Patent US 10,459,805
Granted Patent B2
US 10,459,805 · App. 14/437,300 · Granted Oct 29, 2019

Method and system for data recovery in a data system

Inventors: Guangxin Yang (Beijing, CN); Dongyue Wang (Beijing, CN); Sihan Ge (Beijing, CN); Xinyu Wang (Beijing, CN); Wei Liang (Beijing, CN)
Assignee: Oath Inc.
G06F11/1474G06F11/1464G06F16/2365G06F2201/84
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,459,805
App. No.
14/437,300
Granted
Oct 29, 2019
Kind
B2
Abstract

The present teaching relates to managing a request in a data system of a plurality of nodes in a network. In one example, a request is received for a transaction of data by a first node in the data system. A second node in the data system is determined based on the request, where the second node is to carry out the transaction. The request is stored into a first request queue at the first node. The request is sent to the second node. A notice is obtained by the first node indicating that information associated with the transaction has been persistently stored. The request is removed from the first request queue in response to the notice being obtained.

Claims (66)

1. A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network for managing a request in a data system comprising a plurality of nodes and global storage, the method comprising:

receiving, by a first node in the data system, a request for a transaction of data;

determining a second node in the data system based on the request, wherein the second node is to carry out the transaction;

storing the request into a first request queue at the first node;

sending the request to the second node;

obtaining, by the first node, a notice from the second node indicating that information associated with the transaction has been persistently stored by the second node or the global storage; and

removing the request from the first request queue in response to the notice being obtained.

2. The method of claim 1 , further comprising:

executing the transaction based on the request; and

storing the transaction persistently, wherein the second node stores the request into a second request queue at the second node and removes the request from the second request queue in response to the notice being sent to the first node.

3. The method of claim 1 , wherein the second node:

executes the transaction based on the request;

stores the transaction persistently; and

sends the notice to the first node after the transaction has been persistently stored.

4. The method of claim 1 , further comprising:

performing a snapshot of a memory state of the first node; and

storing the snapshot persistently.

5. The method of claim 1 , further comprising:

assigning an identity to the transaction, wherein the identity distinguishes the transaction from other transactions in the data system and indicates an order for an execution of the transaction relative to executions of other transactions.

6. The method of claim 1 , further comprising:

sending the request to a third node in the data system.

7. The method of claim 1 , further comprising:

receiving, by the first node, an additional request for an additional transaction of data;

determining that the first node is to carry out the additional transaction based on the additional request;

storing the additional request into the first request queue;

sending the additional request to at least one of the second node and a third node in the data system;

executing the additional transaction;

storing the additional transaction persistently by one of local disk of the first node and the global storage; and

sending an additional notice to the at least one of the second node and the third node indicating that the additional transaction has been stored persistently.

8. The method of claim 1 , wherein subsequent to the request being removed from the first request queue, the second node configurable to recover the transaction from one of a commit log locally stored by the second node or from the global storage.

9. The method of claim 4 , wherein the snapshot is stored by the global storage, the first node is configured to recover the memory state subsequent to the request being removed from the first request queue, by:

restoring the snapshot of the memory state from the global storage; and

loading commit logs stored in the global storage that occurred after the snapshot of the memory state; and

sending forwarding requests to the plurality of other nodes to obtain a copy of requests that occurred subsequent to the commit logs being stored in the global storage.

10. A system having at least one processor, storage, and a communication platform connected to a network for managing a request in a data system comprising a plurality of nodes and global storage, the system comprising:

a request analyzer located in a first node in the data system and configured for receiving a request for a transaction of data;

a coordinate site determiner located in the first node and configured for determining a second node in the data system based on the request and storing the request into a first request queue at the first node, wherein the second node is to carry out the transaction;

a transaction forwarding unit located in the first node and configured for sending the request to the second node;

a transaction obtaining controller located in the first node and configured for obtaining a notice from the second node indicating that information associated with the transaction has been persistently stored by the second node or the global storage; and

a request queue clearing unit located in the first node and configured for removing the request from the first request queue in response to the notice being sent.

11. The system of claim 10 , wherein the second node:

executes the transaction based on the request;

stores the transaction persistently; and

sends the notice to the first node after the transaction has been persistently stored.

12. The system of claim 10 , further comprising at least one of:

a snapshot performer configured for performing a snapshot of a memory state of the first node and storing the snapshot persistently; and

a transaction identity assigning unit configured for assigning an identity to the transaction, wherein the identity distinguishes the transaction from other transactions in the data system and indicates an order for an execution of the transaction relative to executions of other transactions.

13. A machine-readable, non-transitory and tangible medium having first information recorded thereon for managing a request in a data system comprising a plurality of nodes and global storage, wherein the first information, when read by the machine, causes the machine to perform the following:

receiving, by a first node in the data system, a request for a transaction of data;

determining a second node in the data system based on the request, wherein the second node is to carry out the transaction;

storing the request into a first request queue at the first node;

sending the request to the second node;

obtaining, by the first node, a notice from the second node indicating that information associated with the transaction has been persistently stored by the second node or the global storage; and

removing the request from the first request queue in response to the notice being sent.

14. The machine-readable, non-transitory and tangible medium of claim 13 , wherein the first information, when read by the machine, further causes the machine to perform the following:

executing the transaction based on the request; and

storing the transaction persistently, wherein the second node stores the request into a second request queue at the second node and removes the request from the second request queue in response to the notice being sent to the first node.

15. The machine-readable, non-transitory and tangible medium of claim 13 , wherein the second node:

executes the transaction based on the request;

stores the transaction persistently; and

sends the notice to the first node after the transaction has been persistently stored.

16. The machine-readable, non-transitory and tangible medium of claim 13 , wherein the first information, when read by the machine, further causes the machine to perform the following:

performing a snapshot of a memory state of the first node; and

storing the snapshot persistently.

17. The machine-readable, non-transitory and tangible medium of claim 13 , wherein the first information, when read by the machine, further causes the machine to perform the following:

assigning an identity to the transaction, wherein the identity distinguishes the transaction from other transactions in the data system and indicates an order for an execution of the transaction relative to executions of other transactions.

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 Apr 21, 2015
From: YANG, GUANGXIN; WANG, DONGYUE; GE, SIHAN; WANG, XINYU; LIANG, WEI
To: YAHOO! INC.
Reel/Frame 035458/0406 →