# US 2021/0240572 A1 · Method and system for parallel data transmission and cooperating backups

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240572 A1
- Document ID: US20210240572A1
- Status: Published application
- Kind: A1
- Application number: 16/782,097
- Filed: 2020-02-05
- Published: 2021-08-05
- Earliest claimed: 2020-02-05
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Navneet Upadhyay; Rejith Mohan M
- Web page: https://patentgrep.com/patent/US20210240572A1

## CPC

- G06F 11/1458: {Management of the backup or restore process}
- G06F 11/1461: {Backup scheduling policy}
- G06F 9/526: {Mutual exclusion algorithms}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1453: {using de-duplication of the data}
- G06F 11/1464: {for networked environments}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A method for performing operations, the method comprising:
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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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;
making a second 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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

The method of claim 1, wherein mounting the backup storage comprises:
updating a mounting data object to include an entry for the backup storage.

### Claim 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 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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;
making a second 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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 8)

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.

### Claim 13 (depends on 8)

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.

### Claim 14 (depends on 8)

The system of claim 8, wherein mounting the backup storage comprises:
updating a mounting data object to include an entry for the backup storage.

### Claim 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 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 15)

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;
making a second 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.

### Claim 18 (depends on 15)

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.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 15)

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.
