IP Library Granted Patent US 10,254,996
Granted Patent B1
US 10,254,996 · App. 16/101,091 · Granted Apr 9, 2019

Fast migration of metadata

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,254,996
App. No.
16/101,091
Granted
Apr 9, 2019
Kind
B1
Abstract

One or more buckets of key-value pairs of a first node of a distributed storage system are selected to be migrated to a second node of the distributed storage system. One or more underlying database files corresponding to the one or more selected buckets are identified. The one or more identified underlying database files are directly copied from a storage of a first node to a storage of the second node. The copied underlying database files are linked in a database of the second node to implement the one or more selected buckets in the second node.

Claims (51)

1. A system, comprising:

a processor configured to:

select one or more buckets of key-value pairs of a first node of a distributed storage system to migrate to a second node of the distributed storage system;

identify one or more underlying database files corresponding to the one or more selected buckets;

directly copy the one or more identified underlying database files from a storage of a first node to a storage of the second node; and

link the copied underlying database files in a database of the second node to implement the one or more selected buckets in the second node; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the one or more buckets of key-value pairs are stored is across a plurality of nodes of the distributed storage system.

3. The system of claim 1 , wherein the processor is further configured to log one or more updates to the one or more selected buckets while the one or more identified underlying database files are being directly copied to the second node.

4. The system of claim 3 , wherein to log the one or more updates to the one or more selected buckets while the one or more identified underlying database files are being directly copied to the second node, the processor is further configured to:

generate a first log to store one or more updates to the one or more selected buckets corresponding to the one or more underlying database files; and

inspect the first log after the one or more identified underlying database files have been directly copied to the second node.

5. The system of claim 4 , wherein to inspect the first log after the one or more identified underlying database files have been directly copied to the second node, the processor is further configured to compare a number of entries included in the first log to a threshold.

6. The system of claim 5 , wherein in response to determining that the number of entries included in the first log is less than the threshold, the processor is further configured to:

suspend updates to the one or more selected buckets; and

transfer to the second node the one or more updates stored in the first log.

7. The system of claim 5 , wherein in response to determining that the number of entries included in the first log is not less than the threshold, the processor is further configured to determine whether a retry threshold has been exceeded.

8. The system of claim 7 , wherein in response to determining that the retry threshold has been exceeded, the processor is further configured to:

suspend updates to the one or more selected buckets; and

transfer to the second node the one or more updates stored in a current log.

9. The system of claim 7 , wherein in response to determining that the retry threshold has been exceeded, the processor is further configured to:

generate a new log; and

log one or more updates associated with the one or more selected buckets in the new log.

10. The system of claim 9 , wherein the processor is further configured to transfer to the second node the new log.

11. The system of claim 1 , wherein the processor is further configured to update metadata to transfer a node assignment associated with the one or more selected buckets from the first node to the second node.

12. The system of claim 1 , wherein the second node is configured to:

receive the one or more underlying database files corresponding to the one or more selected buckets; and

update a database of the second node based on the one or more underlying database files.

13. The system of claim 12 , wherein the second node is further configured to:

receive one or more logs that include one or more updates to the one or more selected buckets; and

update the database of the second node based on the one or more received logs.

14. The system of claim 1 , wherein data associated with the one or more selected buckets is organized using a snapshot tree.

15. A method, comprising:

selecting one or more buckets of key-value pairs of a first node of a distributed storage system to migrate to a second node of the distributed storage system;

identifying one or more underlying database files corresponding to the one or more selected buckets;

directly copying the one or more identified underlying database files from a storage of the first node to a storage of the second node; and

linking the copied underlying database files in a database of the second node to implement the one or more selected buckets in the second node.

16. The method of claim 15 , wherein the one or more buckets of key-value pairs are stored across a plurality of nodes of the distributed storage system.

17. The method of claim 15 , further comprising logging one or more updates to the one or is more selected buckets while the one or more identified underlying database files are being directly copied to the second node.

18. The method of claim 17 , wherein logging the one or more to the one or more selected buckets while the one or more identified underlying database files are being directly copied to the second node includes:

generating a first log to store one or more updates to the one or more selected buckets corresponding to the one or more underlying database files; and

inspecting the first log after the one or more identified underlying database files have been directly copied to the second node.

19. The method of claim 18 , wherein inspecting the first log after the one or more identified underlying database files have been directly copied to the second node includes:

comparing a number of entries included in the first log to a threshold;

in response to determining that the number of entries included in the first log is less than the threshold, suspending updates to the one or more selected buckets; and

transferring to the second node the one or more updates stored in the first log.

20. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

selecting one or more buckets of key-value pairs of a first node of a distributed storage system to migrate to a second node of the distributed storage system;

identifying one or more underlying database files corresponding to the one or more selected buckets;

directly copying the one or more identified underlying database files from a storage of a first node to a storage of the second node; and

linking the copied underlying database files in a database of the second node to implement the one or more selected buckets in the second node.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2018
From: JAIN, SACHIN; PALLIPADI, VENKATESH; NAENI, SHARATH
To: COHESITY, INC.
Reel/Frame 047195/0479 →
Cited By (3)
US 12,192,276 US 12,393,492 US 12,585,668