IP Library Granted Patent US 11,663,171
Granted Patent B2
US 11,663,171 · App. 17/161,382 · Granted May 30, 2023

Efficient database migration using an intermediary secondary storage system

Inventors: Abhijit Chakankar (San Jose, CA); Manoj Singhal (Sunnyvale, CA); Warren Shen (Sunnyvale, CA); Sashikanth Madduri (Mountain View, CA)
Assignee: Cohesity, Inc.
G06F16/1844G06F3/067G06F3/0619G06F3/0647G06F16/128G06F16/1734G06F16/1873G06F16/9027
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,663,171
App. No.
17/161,382
Granted
May 30, 2023
Kind
B2
Abstract

A portion of contents of a database is received from a first server. The received contents of the database is stored in a secondary storage system that tracks changes between different backup versions of contents of the database. A request to migrate the contents of the database to a second server is received. A version of contents of the database is provided to the second server using the secondary storage system. The secondary storage system is configured to determine an amount of changes to the database content from one of the versions of the database content provided to the second server and the amount of changes is utilized in determining whether to quiesce the database hosted on the first server.

Claims (30)

1. A method, comprising:

receiving, at a storage system, a request to migrate database content associated with a first server to a second server;

migrating data associated with one or more backed up versions of the database content from the storage system to the second server hosting an updated version of a database while backing up one or more new versions of the database content from the first server hosting a previous version of the database to the storage system until an amount of time to migrate data associated with a latest backed up version of the database content that was backed up from the first server to the storage system is less than a downtime threshold, wherein migrating the data associated with the one or more backed up versions of database content from the storage system to the second server hosting the updated version of the database includes determining the amount of time to migrate the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system; and

in response to determining that the amount of time to migrate the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system is less than the downtime threshold, providing from the storage system to the second server hosting the updated version of the database the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system, wherein one or more users associated with the previous version of the database are reassigned from the previous version of the database hosted on the first server to the updated version of the database hosted on the second server.

2. The method of claim 1 , wherein the one or more new versions of the database content are based on one or more incremental backups of the database content.

3. The method of claim 1 , wherein the data associated with the latest backed up version of the database content corresponds to database content that changed between the latest backed up version of the database content and one or more previous versions of the database content.

4. The method of claim 1 , wherein the one or more users associated with the previous version of the database are assigned to the previous version of the database while the one or more new versions of the database content are backed up from the first server hosting the previous version of the database to the storage system.

5. The method of claim 1 , wherein the one or more backed up versions of the database content are backed up from the first server hosting the previous version of the database to the storage system.

6. The method of claim 1 , wherein the previous version of the database is accessible by the one or more users while the data associated with the one or more backed up versions of database content is being migrated from the storage system to the second server hosting the updated version of the database.

7. The method of claim 1 , wherein the previous version of the database is quiesced before the data associated with the latest backed up version of the database content is provided to the second server hosting the updated version of the database.

8. The method of claim 1 , further comprising providing to an operator associated with the first server hosting the previous version of the database a notification that includes an estimated amount of time to migrate the data associated with the latest backed up version of the database content.

9. The method of claim 8 , further comprising receiving an indication to migrate the data associated with the latest backed up version of the database content.

10. The method of claim 1 , wherein a rate at which the first server hosting the previous version of the database is configured to perform an incremental backup is adjusted in response to a migration of the data associated with an initial backed up version of the database content being initiated.

11. The method of claim 1 , wherein the one or more backed up versions of the database content are associated with a corresponding tree data structure.

12. The method of claim 11 , wherein the data associated with the one or more backed up versions of database content is migrated in part by traversing tree data structures associated with the one or more backed up versions of the database content to locate the data associated with the one or more backed up versions of database content.

13. A computer program product, the computer program product comprising a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a request to migrate database content associated with a first server to a second server;

migrating data associated with one or more backed up versions of the database content from a storage system to the second server hosting an updated version of a database while backing up one or more new versions of the database content from the first server hosting a previous version of the database to the storage system until an amount of time to migrate data associated with a latest backed up version of the database content that was backed up from the first server to the storage system is less than a downtime threshold, wherein migrating the data associated with the one or more backed up versions of database content from the storage system to the second server hosting the updated version of the database includes determining the amount of time to migrate the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system; and

in response to determining that the amount of time to migrate the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system is less than the downtime threshold, providing from the storage system to the second server hosting the updated version of the database the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system, wherein one or more users associated with the previous version of the database are reassigned from the previous version of the database hosted on the first server to the updated version of the database hosted on the second server.

14. The computer program product of claim 13 , wherein the one or more new versions of the database content are based on one or more incremental backups of the database content.

15. The computer program product of claim 13 , wherein the data associated with the latest backed up version of the database content corresponds to database content that changed between the latest backed up version of the database content and one or more previous versions of the database content.

16. The computer program product of claim 13 , wherein the one or more users associated with the previous version of the database are assigned to the previous version of the database while the one or more new versions of the database content are backed up from the first server hosting the previous version of the database to the storage system.

17. The computer program product of claim 13 , wherein the one or more backed up versions of the database content are backed up from the first server hosting the previous version of the database to the storage system.

18. The computer program product of claim 13 , wherein the previous version of the database is quiesced before the data associated with the latest backed up version of the database content is provided to the second server hosting the updated version of the database.

19. A storage system, comprising:

a processor configured to:

receive a request to migrate database content associated with a first server to a second server;

migrate data associated with one or more backed up versions of the database content from the storage system to the second server hosting an updated version of a database while backing up one or more new versions of the database content from the first server hosting a previous version of the database to the storage system until an amount of time to migrate data associated with a latest backed up version of the database content that was backed up from the first server to the storage system is less than a downtime threshold, wherein migrating the data associated with the one or more backed up versions of database content from the storage system to the second server hosting the updated version of the database includes determining the amount of time to migrate the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system; and

in response to a determination that the amount of time to migrate the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system is less than the downtime threshold, providing from the storage system to the second server hosting the updated version of the database the data associated with the latest backed up version of the database content that was backed up from the first server to the storage system, wherein one or more users associated with the previous version of the database are reassigned from the previous version of the database hosted on the first server to the updated version of the database hosted on the second server; and

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

Assignments (5)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE SECOND INVENTOR EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 055069 FRAME: 0588. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 13, 2022
From: CHAKANKAR, ABHIJIT; SINGHAL, MANOJ; SHEN, WARREN; MADDURI, SASHIKANTH
To: COHESITY, INC.
Reel/Frame 060063/0046 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: CHAKANKAR, ABHIJIT; SINGHAL, MANOJ; SHEN, WARREN; MADDURI, SASHIKANTH
To: COHESITY, INC.
Reel/Frame 055069/0588 →
Continuity (2)
Continuation 16250828 · Jan 17, 2019
Related Publication 20210149848A1 · May 20, 2021