IP Library Granted Patent US 11,775,553
Granted Patent B2
US 11,775,553 · App. 17/218,160 · Granted Oct 3, 2023

Data integrity of replicated databases

Inventor: Puspanjali Panda (Bengaluru, IN)
Assignee: Western Digital Technologies, Inc.
G06F16/27H04L9/0618H04L9/0643H04L9/50
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 11,775,553
App. No.
17/218,160
Granted
Oct 3, 2023
Kind
B2
Abstract

Disclosed herein is a system for storing a record of operations performed on a plurality of databases in which data in each database is a duplicate of a portion of data in each other database of the plurality of databases. The system comprises a plurality of servers, each server comprising a database of the plurality of databases, and a blockchain of a first distributed ledger, the blockchain of the first distributed ledger comprising one or more records of operations performed on the database, and at least one miner. Each miner comprises a blockchain of a second distributed ledger, the blockchain of the second distributed ledger comprising a record of data indicative of one or more records stored on the first distributed ledger.

Claims (92)

1. A system comprising:

a plurality of servers configured to replicate a database across the plurality of servers, each server comprising:

a replicated database corresponding to a copy of the database;

a controller processor configured to perform database operations on the replicated database of that server; and

a blockchain of a first distributed ledger, wherein:

the blockchain of the first distributed ledger comprises a plurality of records of database operations performed on the replicated database; and

the controller processor is further configured to store a new record to the blockchain of the first distributed ledger of that server responsive to processing a new database operation on the replicated database; and

at least one miner configured to authenticate the blockchain of the first distributed ledger, each miner comprising:

a miner hardware processor configured to:

receive, from the plurality of servers, a record of data indicating one or more records stored in the blockchain of the first distributed ledger; and

perform a proof-of-work function; and

a blockchain of a second distributed ledger, wherein:

the blockchain of the second distributed ledger comprises a plurality of records of data indicating one or more records stored in the first distributed ledger; and

the miner hardware processor is further configured to store a new record to the blockchain of the second distributed ledger responsive to a proof-of-work function being solved for a new record of data indicating one or more records stored in the blockchain of the first distributed ledger.

2. The system of claim 1 , wherein:

each server of the plurality of servers is further configured to, in response to receiving a command to perform a database operation:

indicate consent to perform the database operation; and

determine, by applying a consensus mechanism, that each server of the plurality of servers consents to perform the database operation; and

performing the database operation on the replicated database of that server is responsive to determining that each server of the plurality of servers consents to perform the database operation.

3. The system of claim 1 , wherein:

the record of data indicating one or more records stored in the blockchain of the first distributed ledger is an anchor data received responsive to an anchoring event;

the miner hardware processor is further configured to complete, responsive to the anchoring event, a proof-of-work operation based on the anchor data and the proof-of-work function; and

the new record stored to the blockchain of the second distributed ledger includes a proof-of-work solution from completing the proof-of-work operation.

4. A method comprising:

replicating a database across a plurality of servers, wherein each server of the plurality of servers includes a replicated database corresponding to a copy of the database;

performing, by each server of the plurality of servers, database operations on the replicated database of that server;

recording, by each server of the plurality of servers and in a blockchain of a first distributed ledger in that server, a plurality of records indicating operations performed on the replicated database of that server

receiving, by at least one miner and from the plurality of servers, a record of data indicating one or more records stored in the blockchain of the first distributed ledger;

performing, by the at least one miner, a proof-of-work function; and

recording, by the at least one miner and in a blockchain of a second distributed ledger in the at least one miner, a record indicating the one or more records stored in the blockchain of the first distributed ledger.

5. The method of claim 4 , further comprising:

completing, by the at least one miner and responsive to an anchoring event, a proof-of-work operation based on the proof-of-work function and an anchor data, wherein:

the anchor data includes one or more records stored in the blockchain of the first distributed ledger; and

recording the record indicating the one or more records stored in the first distributed ledger is based on the anchor data.

6. The method of claim 5 , further comprising, for each server of the plurality of servers and in response to receiving a command to perform a database operation:

consenting to perform the database operation on the replicated database of that server;

determining, by applying a consensus mechanism, that consent has been given to perform the database operation;

performing, responsive to determining that consent has been given, the database operation on the replicated database of that server; and

recording, in the blockchain of the first distributed ledger, a record of the performed database operation.

7. The method of claim 6 , further comprising:

performing, by one server of the plurality of servers, a role of lead server in accordance with an election protocol.

8. The method of claim 7 , wherein the election protocol defines an election of each server of the plurality of servers to the role of lead server in turn.

9. The method of claim 7 , wherein the consensus mechanism comprises:

receiving, by the lead server, operation information indicating a database operation;

producing, by the lead server, an indication of consent to perform the database operation on the replicated database of the lead server; and

communicating, by the lead server, the indication of consent to one or more of the servers of the plurality of servers.

10. The method of claim 9 , further comprising:

determining, by the lead server, the indication of consent by cryptographically signing the operation information using a private cryptographic key of the lead server.

11. The method of claim 5 , further comprising:

performing, by one server of the plurality of servers, a role of lead server in accordance with an election protocol; and

signaling, by the lead server, the anchoring event to the at least one miner.

12. The method of claim 5 , wherein the anchor data comprises hash values indicating operations performed on the plurality of databases.

13. The method of claim 5 , wherein:

the anchoring event is signaled periodically based on a time interval; or

the anchoring event is signaled based on a number of operations performed on the plurality of databases.

14. The method of claim 5 , wherein the at least one miner comprises a plurality of miners, further comprising, by each miner of the plurality of miners and in response to receiving a proof-of-work solution determined by another miner of the plurality of miners:

determining whether the proof-of-work solution is valid; and

in response to determining that the proof-of-work solution is valid, recording, in the blockchain of the second distributed ledger of that miner, a record based on the anchor data.

15. The method of claim 6 , wherein the consensus mechanism comprises producing, for each server of the plurality of servers, an indication of consent to perform the database operation on the replicated database of that server.

16. A system comprising:

a plurality of servers configured to replicate a database across the plurality of servers, each server comprising:

a server processor;

a server computer readable storage medium;

a replicated database corresponding to a copy of the database;

a blockchain of a first distributed ledger, wherein the blockchain of the first distributed ledger comprises a plurality of records of database operations performed on the replicated database; and

means, stored in the server computer readable storage medium for execution by the server processor, for:

performing database operations on the replicated database of that server; and

storing a new record to the blockchain of the first distributed ledger of that server responsive to processing a new database operation on the replicated database; and

at least one miner configured to authenticate the blockchain of the first distributed ledger, each miner comprising:

a miner hardware processor;

a miner computer readable storage medium;

a blockchain of a second distributed ledger, wherein the blockchain of the second distributed ledger comprises a plurality of records of data indicating one or more records stored in the first distributed ledger; and

means, stored in the miner computer readable storage medium for execution by the miner hardware processor, for:

receiving, from the plurality of servers, a record of data indicating one or more records stored in the blockchain of the first distributed ledger;

performing a proof-of-work function; and

storing a new record to the blockchain of the second distributed ledger responsive to a proof-of-work function being solved for a new record of data indicating one or more records stored in the blockchain of the first distributed ledger.

17. The system of claim 2 , wherein:

one server of the plurality of servers is configured to perform a role of lead server in accordance with an election protocol; and

the lead server is configured to:

receive operation information indicating a database operation;

produce an indication of consent to perform the database operation on the replicated database of the lead server; and

communicate the indication of consent to one or more of the servers of the plurality of servers.

18. The system of claim 17 , wherein the lead server is further configured to:

determine the indication of consent by cryptographically signing the operation information using a private cryptographic key of the lead server.

19. The system of claim 3 , wherein:

one server of the plurality of servers is configured to perform a role of lead server in accordance with an election protocol; and

the lead server is configured to signal the anchoring event to the at least one miner.

20. The system of claim 3 , wherein:

the at least one miner comprises a plurality of miners; and

each miner of the plurality of miners is further configured to, in response to receiving a proof-of-work solution determined by another miner of the plurality of miners:

determine whether the proof-of-work solution is valid; and

in response to determining that the proof-of-work solution is valid, record, in the blockchain of the second distributed ledger of that miner, a record based on the anchor data.

Assignments (5)
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: PANDA, PUSPANJALI
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055775/0609 →
Cited By (1)
US 12,652,180