IP Library Granted Patent US 11,455,213
Granted Patent B2
US 11,455,213 · App. 16/782,097 · Granted Sep 27, 2022

Method and system for parallel data transmission and cooperating backups

Inventors: Navneet Upadhyay (Ghaziabad, IN); Rejith Mohan M (Bengaluru, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1458G06F9/526G06F11/1453
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,455,213
App. No.
16/782,097
Granted
Sep 27, 2022
Kind
B2
Abstract

In general, the invention relates to a method for performing operations. The method includes protecting a database includes detecting a first trigger event for a first backup operation targeting an user asset of a client device of client devices, wherein the first trigger event specifies first metadata associated with the first backup operation, acquiring a first byte-range lock associated with a backup type specified in the first metadata in an asset lock file associated with the user asset, acquiring a second byte-range lock of the asset lock file that is associated with a storage mounting operation, after acquiring the first byte-range lock and the second byte-range lock, mounting a backup storage to the client device using the first metadata, unlocking the second byte-range lock, and performing, after unlocking the second byte-range lock, the first backup operation on the user asset.

Claims (135)

1. A method for performing operations, the method comprising:

detecting a first trigger event for a first backup operation targeting a user asset of a client device of client devices, wherein the first trigger event specifies first metadata associated with the first backup operation;

acquiring a first byte-range lock associated with a backup type specified in the first metadata in an asset lock file associated with the user asset;

acquiring a second byte-range lock of the asset lock file that is associated with a storage mounting operation;

after acquiring the first byte-range lock and the second byte-range lock, mounting a backup storage to the client device using the first metadata;

unlocking the second byte-range lock; and

performing, after unlocking the second byte-range lock, the first backup operation on the user asset.

2. The method of claim 1 , further comprising:

detecting a second trigger event for a second backup operation targeting the user asset, wherein the second trigger event specifies second metadata associated with the second backup operation;

attempting to acquire a third byte-range lock associated with a second backup type specified in the second metadata in the asset lock file;

making a first determination that the attempt to acquire the third byte-range lock was not successful; and

in response to the first determination:

attempting to acquire a fourth byte-range lock specified in the asset lock file that is associated with a storage unmounting operation;

making a second determination that the attempt to acquire the fourth byte-range lock was successful; and

in response to the second determination:

unlocking the fourth byte-range lock on the asset lock file; and

issuing a failure message, wherein content of the failure message is based on the second determination.

3. The method of claim 1 , further comprising:

detecting a second trigger event for a second backup operation targeting the user asset, wherein the second trigger event specifies second metadata associated with the second backup operation;

attempting to acquire a third byte-range lock associated with a second backup type specified in the second metadata in the asset lock file;

making a first determination that the attempt to acquire the third byte-range lock was successful; and

in response to the first determination:

acquiring the second byte-range lock, wherein acquiring the second byte-range lock comprises:

making a second determination that the second byte-range lock is unlocked; and

re-locking the second byte-range lock;

making a third determination a mounting data object tracking backup storages mounted by the client device does not match backup storage mounting metadata specified in the second trigger event; and

in response to the second determination:

unlocking the second byte-range lock and the third byte-range lock;

issuing a failure message, wherein content of the failure message is based on the second determination.

4. The method of claim 1 , wherein the asset lock file comprises metadata descriptive of the first byte-range lock and the second byte-range lock.

5. The method of claim 1 , further comprising:

after performing the first backup operation:

unlocking the first byte-range lock associated with the first backup operation;

attempting to acquire byte-range locks for all operations for the user asset;

making a determination that the attempt to acquire the byte-range locks was successful; and

in response to the determination:

unmounting the backup storage from the client device; and

unlocking the byte-range locks.

6. The method of claim 1 , further comprising:

after performing the first backup operation:

unlocking the first byte-range lock associated with the first backup operation;

attempting to acquire all byte-range locks for all operations on the asset lock file; and

making a determination that the attempt to acquire the byte-range locks was not successful.

7. The method of claim 1 , wherein mounting the backup storage comprises:

updating a mounting data object to include an entry for the backup storage.

8. A system, comprising:

a processor;

a client protection agent, which when executed by the processor performs a method, the method comprising:

detecting a first trigger event for a first backup operation targeting a user asset of a client device of client devices, wherein the first trigger event specifies first metadata associated with the first backup operation;

acquiring a first byte-range lock associated with a backup type specified in the first metadata in an asset lock file associated with the user asset;

acquiring a second byte-range lock of the asset lock file that is associated with a storage mounting operation;

after acquiring the first byte-range lock and the second byte-range lock, mounting a backup storage to the client device using the first metadata;

unlocking the second byte-range lock; and

performing, after unlocking the second byte-range lock, the first backup operation on the user asset.

9. The system of claim 8 , wherein the method further comprises:

detecting a second trigger event for a second backup operation targeting the user asset, wherein the second trigger event specifies second metadata associated with the second backup operation;

attempting to acquire a third byte-range lock associated with a second backup type specified in the second metadata in the asset lock file;

making a first determination that the attempt to acquire the third byte-range lock was not successful; and

in response to the first determination:

attempting to acquire a fourth byte-range lock specified in the asset lock file that is associated with a storage unmounting operation;

making a second determination that the attempt to acquire the fourth byte-range lock was successful; and

in response to the second determination:

unlocking the fourth byte-range lock on the asset lock file; and

issuing a failure message, wherein content of the failure message is based on the second determination.

10. The system of claim 8 , wherein the method further comprises:

detecting a second trigger event for a second backup operation targeting the user asset, wherein the second trigger event specifies second metadata associated with the second backup operation;

attempting to acquire a third byte-range lock associated with a second backup type specified in the second metadata in the asset lock file;

making a first determination that the attempt to acquire the third byte-range lock was successful; and

in response to the first determination:

acquiring the second byte-range lock, wherein acquiring the second byte-range lock comprises:

making a second determination that the second byte-range lock is unlocked; and

re-locking the second byte-range lock;

making a third determination a mounting data object tracking backup storages mounted by the client device does not match backup storage mounting metadata specified in the second trigger event; and

in response to the second determination:

unlocking the second byte-range lock and the third byte-range lock;

issuing a failure message, wherein content of the failure message is based on the second determination.

11. The system of claim 8 , wherein the asset lock file comprises metadata descriptive of the first byte-range lock and the second byte-range lock.

12. The system of claim 8 , wherein the method further comprises:

after performing the first backup operation:

unlocking the first byte-range lock associated with the first backup operation;

attempting to acquire byte-range locks for all operations for the user asset;

making a determination that the attempt to acquire the byte-range locks was successful; and

in response to the determination:

unmounting the backup storage from the client device; and

unlocking the byte-range locks.

13. The system of claim 8 , wherein the method further comprises:

after performing the first backup operation:

unlocking the first byte-range lock associated with the first backup operation;

attempting to acquire all byte-range locks for all operations on the asset lock file; and

making a determination that the attempt to acquire the byte-range locks was not successful.

14. The system of claim 8 , wherein mounting the backup storage comprises:

updating a mounting data object to include an entry for the backup storage.

15. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method, the method comprising:

detecting a first trigger event for a first backup operation targeting a user asset of a client device of client devices, wherein the first trigger event specifies first metadata associated with the first backup operation;

acquiring a first byte-range lock associated with a backup type specified in the first metadata in an asset lock file associated with the user asset;

acquiring a second byte-range lock of the asset lock file that is associated with a storage mounting operation;

after acquiring the first byte-range lock and the second byte-range lock, mounting a backup storage to the client device using the first metadata;

unlocking the second byte-range lock; and

performing, after unlocking the second byte-range lock, the first backup operation on the user asset.

16. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:

detecting a second trigger event for a second backup operation targeting the user asset, wherein the second trigger event specifies second metadata associated with the second backup operation;

attempting to acquire a third byte-range lock associated with a second backup type specified in the second metadata in the asset lock file;

making a first determination that the attempt to acquire the third byte-range lock was not successful; and

in response to the first determination:

attempting to acquire a fourth byte-range lock specified in the asset lock file that is associated with a storage unmounting operation;

making a second determination that the attempt to acquire the fourth byte-range lock was successful; and

in response to the second determination:

unlocking the fourth byte-range lock on the asset lock file; and

issuing a failure message, wherein content of the failure message is based on the second determination.

17. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:

detecting a second trigger event for a second backup operation targeting the user asset, wherein the second trigger event specifies second metadata associated with the second backup operation;

attempting to acquire a third byte-range lock associated with a second backup type specified in the second metadata in the asset lock file;

making a first determination that the attempt to acquire the third byte-range lock was successful; and

in response to the first determination:

acquiring the second byte-range lock, wherein acquiring the second byte-range lock comprises:

making a second determination that the second byte-range lock is unlocked; and

re-locking the second byte-range lock;

making a third determination a mounting data object tracking backup storages mounted by the client device does not match backup storage mounting metadata specified in the second trigger event; and

in response to the second determination:

unlocking the second byte-range lock and the third byte-range lock;

issuing a failure message, wherein content of the failure message is based on the second determination.

18. The non-transitory computer readable medium of claim 15 , wherein the asset lock file comprises metadata descriptive of the first byte-range lock and the second byte-range lock.

19. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:

after performing the first backup operation:

unlocking the first byte-range lock associated with the first backup operation;

attempting to acquire byte-range locks for all operations for the user asset;

making a determination that the attempt to acquire the byte-range locks was successful; and

in response to the determination:

unmounting the backup storage from the client device; and

unlocking the byte-range locks.

20. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:

after performing the first backup operation:

unlocking the first byte-range lock associated with the first backup operation;

attempting to acquire all byte-range locks for all operations on the asset lock file; and

making a determination that the attempt to acquire the byte-range locks was not successful.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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
Reel/Frame 060436/0582 →
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 (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 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
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 May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 Feb 5, 2020
From: UPADHYAY, NAVNEET; M, REJITH MOHAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051723/0161 →