# US 11,907,117 B2 · Efficient method to dynamically select a protection duration for retention locking deduplicated objects

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

- Number: US 11,907,117 B2
- Document ID: US11907117B2
- Status: Granted
- Kind: B2
- Application number: 17/805,908
- Filed: 2022-06-08
- Published: 2023-12-14
- Granted: 2024-02-20
- Earliest claimed: 2022-06-08
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Jagannathdas Rath; Kalyan C. Gunda
- Web page: https://patentgrep.com/patent/US11907117B2

## CPC

- G06F 12/0269: {Incremental or concurrent garbage collection, e.g. in real-time systems (G06F12/0261 takes precedence)}
- G06F 16/125: {characterised by the use of retention policies (retention policies for HSM systems G06F16/185)}
- G06F 2212/702: Conservative garbage collection
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Dynamically selecting a protection duration for locking objects in a storage. A garbage collection deletes objects over time. The objects may not be removed from storage until associated locks have expired. The length of the lock may impact the cost. A new lock extension value is selected each time a lock extension operation is performed. The lock extension value selection process accounts for a garbage collection operation cycle, an amount of deleted objects that are stored because of being locked, and a garbage collection churn. This allows an optimum lock extension value to be selected dynamically and repeatedly to control costs automatically.

## Claims

### Claim 1

A method, comprising:
retrieving garbage collection cycle parameters for all garbage collection operations performed in a storage system since a previous lock extension operation performing in the storage system;
determining combinations of parameters to evaluate, wherein each of the combinations is associated with a lock extension value;
determining a cost of each combination;
selecting a new lock extension value associated with a combination having a lowest cost; and
performing a current lock extension operation using the new lock extension value.

### Claim 2 (depends on 1)

The method of claim 1, further comprising performing the garbage collection operations and collecting parameters for each of the garbage collection operations, the parameters including a churn, days left for locks on the deleted objects to expire, and a number of objects cleaned, wherein the churn describes a total size of objects deleted.

### Claim 3 (depends on 2)

The method of claim 2, further comprising determining an average churn for the data collection operations.

### Claim 4 (depends on 1)

The method of claim 1, wherein each of the combinations includes a schedule of the garbage collection operations, the average churn, and a lock extension value, wherein the lock extension value of each combination is different.

### Claim 5 (depends on 1)

The method of claim 1, further comprising determining, for each of the combinations, a number of lock extension operations for an evaluation period based on a current lock extension value in the combination, a first cost of storing the deleted objects for additional days based on the current lock extension value, and a second cost of performing the number of lock extension operations.

### Claim 6 (depends on 5)

The method of claim 5, further comprising determining at least one of a total cost for each of the combinations and a periodic cost for each of the combinations.

### Claim 7 (depends on 6)

The method of claim 6, wherein the periodic cost is monthly or 30 days.

### Claim 8 (depends on 6)

The method of claim 6, further comprising selecting, as the new lock extension value, a lock extension value in a combination with a lowest periodic cost.

### Claim 9 (depends on 5)

The method of claim 5, wherein the first cost is based on a storage cost per gigabyte per month and wherein the second cost is based the cost of the number of lock extension operations.

### Claim 10 (depends on 1)

The method of claim 1, further comprising determining another new lock extension value each time the lock extension operation is performed, wherein each lock extension operation accounts for changes in workload and operation schedules.

### Claim 11

A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:
retrieving garbage collection cycle parameters for all garbage collection operations performed in a storage system since a previous lock extension operation performing in the storage system;
determining combinations of parameters to evaluate, wherein each of the combinations is associated with a lock extension value;
determining a cost of each combination;
selecting a new lock extension value associated with a combination having a lowest cost; and
performing a current lock extension operation using the new lock extension value.

### Claim 12 (depends on 11)

The non-transitory storage medium of claim 11, further comprising performing the garbage collection operations and collecting parameters for each of the garbage collection operations, the parameters including a churn, days left for locks on the deleted objects to expire, and a number of objects cleaned, wherein the churn describes an amount of objects deleted.

### Claim 13 (depends on 12)

The non-transitory storage medium of claim 12, further comprising determining an average churn for the data collection operations.

### Claim 14 (depends on 11)

The non-transitory storage medium of claim 11, wherein each of the combinations includes a schedule of the garbage collection operations, the average churn, and a lock extension value, wherein the lock extension value of each combination is different.

### Claim 15 (depends on 11)

The non-transitory storage medium of claim 11, further comprising determining, for each of the combinations, a number of lock extension operations for an evaluation period based on a current lock extension value in the combination, a first cost of storing the deleted objects for additional days based on the current lock extension value, and a second cost of performing the number of lock extension operations.

### Claim 16 (depends on 15)

The non-transitory storage medium of claim 15, further comprising determining at least one of a total cost for each of the combinations and a periodic cost for each of the combinations.

### Claim 17 (depends on 16)

The non-transitory storage medium of claim 16, wherein the periodic cost is monthly or 30 days.

### Claim 18 (depends on 16)

The non-transitory storage medium of claim 16, further comprising selecting, as the new lock extension value, a lock extension value in a combination with a lowest periodic cost.

### Claim 19 (depends on 15)

The non-transitory storage medium of claim 15, wherein the first cost is based on a cost per gigabyte per month and wherein the second cost is based on the number of lock extension operations.

### Claim 20 (depends on 11)

The non-transitory storage medium of claim 11, further comprising determining another new lock extension value each time the lock extension operation is performed, wherein each lock extension operation accounts for changes in workload and operation schedules.
