IP Library › Granted Patent US 11,593,225
Granted Patent B2
US 11,593,225 · App. 16/562,190 · Granted Feb 28, 2023

Method and system for live-mounting database backups

Inventors: Shelesh Chopra (Bangalore, IN); Yasemin Ugur-Ozekinci (Oakville, CA); Kenneth William Owens (Burlington, CA); Amith Ramachandran (Bangalore, IN); Navneet Upadhyay (Ghaziabad, IN); Trichy Krishnamurthi Premkumar (Mount Waverley, AU); Hui Yang (Carlsbad, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1464G06F9/547G06F11/1451G06F11/1453G06F16/182G06F16/2365G06F2201/80G06F2201/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 11,593,225
App. No.
16/562,190
Granted
Feb 28, 2023
Kind
B2
Abstract

A method and system for live-mounting database backups. Specifically, disclosed method and system entail recovering database data—in entirety or at any granular level—without needing to provision storage resources for point-in-time database copies (i.e., backup database data), or without needing to wait for large amounts of data, representative of the point-in-time database copies, to traverse a network from backup storage to a target device. Substantively, through live-mounting, the physical point-in-time database data, as well as the associated structural metadata, may be retained on backup storage while a pointer-based snapshot, mapping to the physical point-in-time database data and structural metadata, may be generated thereon. Thereafter, a file system—mapping to the pointer-based snapshot on the backup storage—may be mounted on the target device, which exposes an interface through which the backup database data may be accessed and/or manipulated using a distributed file system protocol.

Claims (107)

1. A method for accessing database data, comprising:

obtaining, from a user program, an access request to a consistency group comprising sought database data, wherein the access request comprises a consistency group identifier for the consistency group;

identifying, based on the consistency group identifier, a consistency group schema comprising first backup asset metadata and first backup asset selection criteria for a first backup asset of the consistency group,

wherein the first backup asset metadata comprises a global asset name identifying the first backup asset, a network address associated with a first backup storage system on which the first backup asset resides, and a network port number of the first backup storage system through which connection requests are accepted,

wherein the first backup asset selection criteria comprises an asset timestamp associated with the first backup asset;

issuing, to the first backup storage system using the network address and the network port number, a first live mount connection request comprising the global asset name and the asset timestamp;

receiving, from the first backup storage system, a first backup asset copy handle enabling access to a first backup asset copy of the first backup asset,

wherein the first backup asset copy comprises at least a portion of the sought database data, and

wherein the backup asset copy handle is a referencing object assigned by the backup operating system on the backup storage system, to logically access the sought data base data;

prior to issuing the first live mount connection request:

creating a consistency group file system;

mounting the consistency group file system within a client logical file system to obtain a consistency group file system handle, wherein the consistency group file system handle is a referencing object assigned by a backup operating system, to logically access the sought data base data; and

after receiving the first backup asset copy handle, associating the first backup asset copy handle with the consistency group file system.

2. The method of claim 1 , further comprising:

providing the consistency group file system handle to the user program,

wherein the consistency group file system exposes an application programming interface through which the user program gains access to the first backup asset copy.

3. The method of claim 2 , wherein the first backup asset copy remains on the first backup storage system, wherein access to the first backup asset copy is facilitated using a distributed file system protocol.

4. The method of claim 1 , further comprising:

identifying that the consistency group schema further comprises second backup asset metadata and second backup asset selection criteria for a second backup asset of the consistency group,

wherein the second backup asset metadata comprises a second global asset name identifying the second backup asset, the network address associated with the first backup storage system on which the second backup asset resides, and the network port number of the first backup storage system through which connection requests are accepted,

wherein the second backup asset selection criteria comprises a second asset timestamp associated with the second backup asset;

issuing, to the first backup storage system using the network address and the network port number, a second live mount connection request comprising the second global asset name and the second asset timestamp; and

receiving, from the first backup storage system, a second backup asset copy handle enabling access to a second backup asset copy of the second backup asset,

wherein the second backup asset copy comprises another portion of the sought database data.

5. The method of claim 1 , further comprising:

identifying that the consistency group schema further comprises second backup asset metadata and second backup asset selection criteria for a second backup asset of the consistency group,

wherein the second backup asset metadata comprises a second global asset name identifying the second backup asset, a second network address associated with a second backup storage system on which the second backup asset resides, and a second network port number of the second backup storage system through which connection requests are accepted,

wherein the second backup asset selection criteria comprises a second asset timestamp associated with the second backup asset;

issuing, to the second backup storage system using the second network address and the second network port number, a second live mount connection request comprising the second global asset name and the second asset timestamp; and

receiving, from the second backup storage system, a second backup asset copy handle enabling access to a second backup asset copy of the second backup asset,

wherein the second backup asset copy comprises another portion of the sought database data.

6. A system, comprising:

a first backup asset residing on a first backup storage system; and

a client device operatively connected to the first backup storage system, and comprising a computer processor on which a client mounting agent and a user program are executing,

wherein the client mounting agent is configured to:

obtain, from the user program, an access request to a consistency group comprising sought database data, wherein the access request comprises a consistency group identifier for the consistency group;

identify, based on the consistency group identifier, a consistency group schema comprising first backup asset metadata and first backup asset selection criteria for the first backup asset of the consistency group,

wherein the first backup asset metadata comprises a global asset name identifying the first backup asset, a network address associated with the first backup storage system on which the first backup asset resides, and a network port number of the first backup storage system through which connection requests are accepted,

wherein the first backup asset selection criteria comprises an asset timestamp associated with the first backup asset;

issue, to the first backup storage system using the network address and the network port number, a first live mount connection request comprising the global asset name and the asset timestamp;

receive, from the first backup storage system, a first backup asset copy handle enabling access to a first backup asset copy of the first backup asset,

wherein the first backup asset copy comprises at least a portion of the sought database data, and

wherein the backup asset copy handle is a referencing object assigned by the backup operating system on the backup storage system, to logically access the sought data base data;

prior to issuing the first live mount connection request:

create a consistency group file system;

mount the consistency group file system within a client logical file system to obtain a consistency group file system handle, wherein the consistency group file system handle is a referencing object assigned by a backup operating system, to logically access the sought data base data; and

after receiving the first backup asset copy handle, associate the first backup asset copy handle with the consistency group file system.

7. The system of claim 6 , further comprising:

a second backup asset residing on the first backup storage system,

wherein the client mounting agent is further configured to:

identify that the consistency group schema further comprises second backup asset metadata and second backup asset selection criteria for the second backup asset of the consistency group,

wherein the second backup asset metadata comprises a second global asset name identifying the second backup asset, the network address associated with the first backup storage system on which the second backup asset resides, and the network port number of the first backup storage system through which connection requests are accepted,

wherein the second backup asset selection criteria comprises a second asset timestamp associated with the second backup asset;

issue, to the first backup storage system using the network address and the network port number, a second live mount connection request comprising the second global asset name and the second asset timestamp; and

receive, from the first backup storage system, a second backup asset copy handle enabling access to a second backup asset copy of the second backup asset,

wherein the second backup asset copy comprises another portion of the sought database data.

8. The system of claim of claim 6 , further comprising:

a second backup asset residing on a second backup storage system,

wherein the client device operatively connects to the second backup storage system,

wherein the client mounting agent is further configured to:

identify that the consistency group schema further comprises second backup asset metadata and second backup asset selection criteria for the second backup asset of the consistency group,

wherein the second backup asset metadata comprises a second global asset name identifying the second backup asset, a second network address associated with the second backup storage system on which the second backup asset resides, and a second network port number of the second backup storage system through which connection requests are accepted,

wherein the second backup asset selection criteria comprises a second asset timestamp associated with the second backup asset;

issue, to the second backup storage system using the second network address and the second network port number, a second live mount connection request comprising the second global asset name and the second asset timestamp; and

receive, from the second backup storage system, a second backup asset copy handle enabling access to a second backup asset copy of the second backup asset,

wherein the second backup asset copy comprises another portion of the sought database data.

9. The system of claim 8 , further comprising:

a third backup asset residing on a third backup storage system,

wherein the client device operatively connects to the third backup storage system,

wherein the client mounting agent is further configured to:

identify that the consistency group schema further comprises third backup asset metadata and third backup asset selection criteria for the third backup asset of the consistency group,

wherein the third backup asset metadata comprises a third global asset name identifying the third backup asset, a third network address associated with the third backup storage system on which the third backup asset resides, and a third network port number of the third backup storage system through which connection requests are accepted,

wherein the third backup asset selection criteria comprises a third asset timestamp associated with the third backup asset;

issue, to the third backup storage system using the third network address and third network port number, a third live mount connection request comprising the third global asset name and the third asset timestamp; and

receive, from the third backup storage system, a third backup asset copy handle enabling access to a third backup asset copy of the third backup asset,

wherein the third backup asset copy comprises another portion of the sought database data.

10. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to:

obtain, from a user program, an access request to a consistency group comprising sought database data, wherein the access request comprises a consistency group identifier for the consistency group;

identify, based on the consistency group identifier, a consistency group schema comprising first backup asset metadata and first backup asset selection criteria for a first backup asset of the consistency group,

wherein the first backup asset metadata comprises a global asset name identifying the first backup asset, a network address associated with a first backup storage system on which the first backup asset resides, and a network port number of the first backup storage system through which connection requests are accepted,

wherein the first backup asset selection criteria comprises an asset timestamp associated with the first backup asset;

issue, to the first backup storage system using the network address and the network port number, a first live mount connection request comprising the global asset name and the asset timestamp;

receive, from the first backup storage system, a first backup asset copy handle enabling access to a first backup asset copy of the first backup asset,

wherein the first backup asset copy comprises at least a portion of the sought database data, and

wherein the backup asset copy handle is a referencing object assigned by the backup operating system on the backup storage system, to logically access the sought data base data; and

prior to issuing the first live mount connection request:

create a consistency group file system;

mount the consistency group file system within a client logical file system to obtain a consistency group file system handle, wherein the consistency group file system handle is a referencing object assigned by a backup operating system, to logically access the sought data base data; and

after receiving the first backup asset copy handle, associate the first backup asset copy handle with the consistency group file system.

11. The non-transitory CRM of claim 10 , comprising computer readable program code, which when executed by the computer processor, further enables the computer processor to:

provide the consistency group file system handle to the user program,

wherein the consistency group file system exposes an application programming interface through which the user program gains access to the first backup asset copy.

12. The non-transitory CRM of claim 11 , wherein the first backup asset copy remains on the first backup storage system, wherein access to the first backup asset copy is facilitated using a distributed file system protocol.

13. The non-transitory CRM of claim 10 , comprising computer readable program code, which when executed by the computer processor, further enables the computer processor to:

identify that the consistency group schema further comprises second backup asset metadata and second backup asset selection criteria for a second backup asset of the consistency group,

wherein the second backup asset metadata comprises a second global asset name identifying the second backup asset, the network address associated with the first backup storage system on which the second backup asset resides, and the network port number of the first backup storage system through which connection requests are accepted,

wherein the second backup asset selection criteria comprises a second asset timestamp associated with the second backup asset;

issue, to the first backup storage system using the network address and the network port number, a second live mount connection request comprising the second global asset name and the second asset timestamp; and

receive, from the first backup storage system, a second backup asset copy handle enabling access to a second backup asset copy of the second backup asset,

wherein the second backup asset copy comprises another portion of the sought database data.

14. The non-transitory CRM of claim 10 , comprising computer readable program code, which when executed by the computer processor, further enables the computer processor to:

identify that the consistency group schema further comprises second backup asset metadata and second backup asset selection criteria for a second backup asset of the consistency group,

wherein the second backup asset metadata comprises a second global asset name identifying the second backup asset, a second network address associated with a second backup storage system on which the second backup asset resides, and a second network port number of the second backup storage system through which connection requests are accepted,

wherein the second backup asset selection criteria comprises a second asset timestamp associated with the second backup asset;

issue, to the second backup storage system using the second network address and the second network port number, a second live mount connection request comprising the second global asset name and the second asset timestamp; and

receive, from the second backup storage system, a second backup asset copy handle enabling access to a second backup asset copy of the second backup asset,

wherein the second backup asset copy comprises another portion of the sought database data.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: CHOPRA, SHELESH; UGUR-OZEKINCI, YASEMIN; OWENS, KENNETH WILLIAM; RAMACHANDRAN, AMITH; UPADHYAY, NAVNEET; PREMKUMAR, TRICHY KRISHNAMURTHI; YANG, HUI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051625/0751 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
Continuity (2)
Provisional Application 62841764 · May 1, 2019
Related Publication 20200349026A1 · Nov 5, 2020