# US 11,307,938 B1 · System and method for efficient garbage collection by generating deduplication pools in a backup storage system based on application types

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

- Number: US 11,307,938 B1
- Document ID: US11307938B1
- Status: Granted
- Kind: B1
- Application number: 17/072,824
- Filed: 2020-10-16
- Published: 2022-04-21
- Granted: 2022-04-19
- Earliest claimed: 2020-10-16
- Assignees: EMC IP Holding Company LLC
- Applicants: Dell Products L.P.
- Inventors: Kalyan Chakravarthy Gunda; Gururaj Kulkarni
- Web page: https://patentgrep.com/patent/US11307938B1

## CPC

- G06F 11/1453: {using de-duplication of the data}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0641: {De-duplication techniques}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0683: {Plurality of storage devices}
- G06F 11/1461: {Backup scheduling policy}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for managing storage devices in a backup storage system includes obtaining, by a backup agent, a backup storage initiation request, identifying, in response to the backup storage initiation request, an initial grouping amount for a plurality of application types, generating a plurality of backup storage deduplication pools based on the initial grouping amount, generating a buffer pool, and generating a plurality of deduplication pool metadata mappings based on the plurality of backup storage deduplication pools, wherein a backup storage deduplication pool of the plurality of backup storage deduplication pools comprises a storage device, and wherein the buffer pool comprises a plurality of storage devices.

## Claims

### Claim 1

A method for managing storage devices in a backup storage system, the method comprising:
obtaining, by a backup agent, a backup storage initiation request;
identifying, in response to the backup storage initiation request, an initial grouping amount for a plurality of application types;
generating a plurality of backup storage deduplication pools based on the initial grouping amount;
generating a buffer pool; and
generating a plurality of deduplication pool metadata mappings based on the plurality of backup storage deduplication pools,
wherein a backup storage deduplication pool of the plurality of backup storage deduplication pools comprises a storage device, and
wherein the buffer pool comprises a plurality of storage devices.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
obtaining a deduplication pool request for an application type, wherein the application type is not one of the plurality of application types;
identifying a number of storage devices to allocate to a backup storage deduplication pool associated with the application type;
allocating a second plurality of storage devices from the buffer pool, wherein at least a portion of the plurality of storage devices comprises the second plurality of storage devices; and
generating a deduplication pool metadata mapping based on the backup storage deduplication pool.

### Claim 3 (depends on 1)

The method of claim 1, wherein an application type of the plurality of application types comprises at least one of: a database type, an email module type, a virtual machine type, a hypervisor type, and a network management type.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the plurality of backup storage deduplication pools comprises:
assigning the storage device to the backup storage deduplication pool; and
installing a pool deduplication agent in the backup storage deduplication pool,
wherein the pool deduplication agent is operatively connected to the storage device.

### Claim 5 (depends on 1)

The method of claim 1,
wherein a first deduplication pool metadata mapping of the plurality of deduplication pool metadata mappings specifies data associated with a first application type of the plurality of application types, and
wherein a second deduplication pool metadata mapping of the plurality of deduplication pool metadata mappings specifies second data associated with a second application type of the plurality of application types.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
obtaining a backup of data from a production host;
identifying an application type associated with the data in the backup of data from the production host;
performing a deduplication operation on the backup of the data to obtain deduplicated data; and
initiating storage of the deduplicated data in the backup storage system.

### Claim 7 (depends on 6)

The method of claim 6, wherein initiating the storage of the deduplicated data in the backup storage system comprises storing the deduplicated data in the storage device, wherein the backup storage deduplication pool is associated with the application type.

### Claim 8

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 for managing storage devices in a backup storage system, the method comprising:
obtaining, by a backup agent, a backup storage initiation request;
identifying, in response to the backup storage system initiation request, an initial grouping amount for a plurality of application types;
generating a plurality of backup storage deduplication pools based on the initial grouping amount;
generating a buffer pool; and
generating a plurality of deduplication pool metadata mappings based on the plurality of backup storage deduplication pools,
wherein a backup storage deduplication pool of the plurality of backup storage deduplication pools comprises a storage device, and
wherein the buffer pool comprises a plurality of storage devices.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, the method further comprising:
obtaining a deduplication pool request for an application type, wherein the application type is not one of the plurality of application types;
identifying a number of storage devices to allocate to a backup storage deduplication pool associated with the application type;
allocating a second plurality of storage devices from the buffer pool, wherein at least a portion of the plurality of storage devices comprises the second plurality of storage devices; and
generating a deduplication pool metadata mapping based on the backup storage deduplication pool.

### Claim 10 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein an application type of the plurality of application types comprises at least one of: a database type, an email module type, a virtual machine type, a hypervisor type, and a network management type.

### Claim 11 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein generating the plurality of backup storage deduplication pools comprises:
assigning the storage device to the backup storage deduplication pool; and
installing a pool deduplication agent in the backup storage deduplication pool,
wherein the pool deduplication agent is operatively connected to the storage device.

### Claim 12 (depends on 8)

The non-transitory computer readable medium of claim 8,
wherein a first deduplication pool metadata mapping of the plurality of deduplication pool metadata mappings specifies data associated with a first application type of the plurality of application types, and
wherein a second deduplication pool metadata mapping of the plurality of deduplication pool metadata mappings specifies second data associated with a second application type of the plurality of application types.

### Claim 13 (depends on 8)

The non-transitory computer readable medium of claim 8, the method further comprising:
obtaining a backup of data from a production host;
identifying an application type associated with the data in the backup of data from the production host;
performing a deduplication operation on the backup of the data to obtain deduplicated data; and
initiating storage of the deduplicated data in the backup storage system.

### Claim 14 (depends on 13)

The non-transitory computer readable medium of claim 13, wherein initiating the storage of the deduplicated data in the backup storage system comprises storing the deduplicated data in the storage device, wherein the backup storage deduplication pool is associated with the application type.

### Claim 15

A system, comprising:
a processor; and
memory comprising instructions which, when executed by the processor, perform a method, the method comprising:
obtaining a backup storage initiation request;
identifying, in response to the backup storage initiation request, an initial grouping amount for a plurality of application types;
generating a plurality of backup storage deduplication pools based on the initial grouping amount;
generating a buffer pool; and
generating a plurality of deduplication pool metadata mappings based on the plurality of backup storage deduplication pools,
wherein a backup storage deduplication pool of the plurality of backup storage deduplication pools comprises a storage device, and
wherein the buffer pool comprises a plurality of storage devices.

### Claim 16 (depends on 15)

The system of claim 15, the method further comprising:
obtaining a deduplication pool request for an application type, wherein the application type is not one of the plurality of application types;
identifying a number of storage devices to allocate to a backup storage deduplication pool associated with the application type;
allocating a second plurality of storage devices from the buffer pool, wherein at least a portion of the plurality of storage devices comprises the second plurality of storage devices; and
generating a deduplication pool metadata mapping based on the backup storage deduplication pool.

### Claim 17 (depends on 15)

The system of claim 15, wherein an application type of the plurality of application types comprises at least one of: a database type, an email module type, a virtual machine type, a hypervisor type, and a network management type.

### Claim 18 (depends on 15)

The system of claim 15, wherein generating the plurality of backup storage deduplication pools comprises:
assigning the storage device to the backup storage deduplication pool; and
installing a pool deduplication agent in the backup storage deduplication pool,
wherein the pool deduplication agent is operatively connected to the storage device.

### Claim 19 (depends on 15)

The system of claim 15,
wherein a first deduplication pool metadata mapping of the plurality of deduplication pool metadata mappings specifies data associated with a first application type of the plurality of application types, and
wherein a second deduplication pool metadata mapping of the plurality of deduplication pool metadata mappings specifies second data associated with a second application type of the plurality of application types.

### Claim 20 (depends on 15)

The system of claim 15, the method further comprising:
obtaining a backup of data from a production host;
identifying an application type associated with the data in the backup of data from the production host;
performing a deduplication operation on the backup of the data to obtain deduplicated data; and
initiating storage of the deduplicated data in the backup storage system,
wherein initiating the storage of the deduplicated data in the backup storage system comprises storing the deduplicated data in the storage device, wherein the backup storage deduplication pool is associated with the application type.
