# US 12,118,225 B1 · Managing retained container objects in storage having referenced chunks referenced in other objects

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

- Number: US 12,118,225 B1
- Document ID: US12118225B1
- Status: Granted
- Kind: B1
- Application number: 18/186,569
- Filed: 2023-03-20
- Published: 2024-09-26
- Granted: 2024-10-15
- Earliest claimed: 2023-03-20
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: James Edward Damgar; Errol Jay Calder; Astrid O Brockman
- Web page: https://patentgrep.com/patent/US12118225B1

## CPC

- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided are a computer program product, system, and method for managing retained container objects in storage having referenced chunks referenced in other objects. Reference counts are maintained for referenced chunks in a container object indicating a number of references to the referenced chunks in at least one application object resulting from deduplication. The container object is indicated as reclaim eligible while the reference counts for at least one of the referenced chunks for the container object is at least one. A reference count is decremented for one of the referenced chunks in the container object in response to the at least one application object expiring. The container object, including chunks for the container object, is indicated as eligible for deletion when the reference counts for the referenced chunks in the container object are zero and the container object is indicated as reclaim eligible.

## Claims

### Claim 1

A computer program product for managing data in objects in storage, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising:
maintaining reference counts for referenced chunks in a container object indicating a number of references to the referenced chunks in at least one application object resulting from deduplication;
indicating the container object as reclaim eligible while the reference counts for at least one of the referenced chunks for the container object is at least one;
decrementing a reference count for one of the referenced chunks in the container object in response to the at least one application object expiring; and
indicating the container object, including chunks for the container object, as eligible for deletion when the reference counts for the referenced chunks in the container object are zero and the container object is indicated as reclaim eligible.

### Claim 2 (depends on 1)

The computer program product of claim 1, wherein the container object is indicated as reclaim eligible in response to one of:
an age of the container object in storage exceeds an age threshold; and
a threshold percent of the chunks of the container object have reference counts of zero.

### Claim 3 (depends on 1)

The computer program product of claim 1, wherein the container object comprises a first container object, wherein the operations further comprise:
receiving a chunk in the first container object;
determining whether the first container object is reclaim eligible;
storing, in a second container object, the received chunk matching the chunk in the first container object in response to determining that the first container object is indicated as reclaim eligible; and
storing a reference to the chunk in the first container object matching the received chunk in response to determining that the first container object is not indicated as reclaim eligible.

### Claim 4 (depends on 1)

The computer program product of claim 1, wherein the container object comprises a first container object, and wherein the operations further comprise:
determining whether a duration of the first container object exceeds a retention period;
copying chunks in the first container object having a reference count greater than zero to a second container object in the storage; and
indicating the first container object as eligible for deletion in response to the chunks in the first container object having the reference count greater than one copied to the second container object.

### Claim 5 (depends on 1)

The computer program product of claim 1, wherein the container object comprises a first container object, and wherein the operations further comprise:
indicating the first container object as reclaim eligible in response to the container object being in storage for longer than a first retention period; and
in response to the first container object being in the storage longer than a second retention period, performing:
copying chunks in the first container object having a reference count greater than one to a second container object; and
indicating the first container object as eligible for deletion in response to the chunks in the first container object having the reference count greater than one copied to the second container object.

### Claim 6 (depends on 1)

The computer program product of claim 1, wherein the container object comprises a first container object associated with a first application object, and wherein the operations further comprise:
setting a first container object retention period associated with the first container object to a second container object retention period associated with a second container object storing chunks for a second application object including a reference to one of the referenced chunks in the first container object; and
deleting the first container object in response to an age of the first container object exceeding the first container object retention period.

### Claim 7 (depends on 1)

The computer program product of claim 1, wherein the container object comprises a first container object, and wherein the operations further comprise:
in response to including a reference to a referenced chunk in the first container object in the at least one application object including a chunk matching the chunk in the first container object, performing:
incrementing a reference count for the referenced chunk in the first container object; and
setting a first container object retention period for the first container object to match a second container object retention period for at least one additional container object for the at least one application object including the reference to the referenced chunk in the first container object.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the operations further comprise:
queuing a request to increment the reference count for the chunk in the first container object and increment the first container object retention period for the first container object in response the including the reference to the chunk in the first container object in the at least one application object; and
invoking a retention thread at a retention thread interval to process the queued request to increment the reference count for the chunk in the first container object and to perform the incrementing the first container object retention period.

### Claim 9

A system for managing data in objects in storage, comprising:
a processor; and
a computer readable storage medium having computer readable program code embodied therein that when executed by the processor performs operations, the operations:
maintaining reference counts for referenced chunks in a container object indicating a number of references to the referenced chunks in at least one application object resulting from deduplication;
indicating the container object as reclaim eligible while the reference counts for at least one of the referenced chunks for the container object is at least one;
decrementing a reference count for one of the referenced chunks in the container object in response to the at least one application object expiring; and
indicating the container object, including chunks for the container object, as eligible for deletion when the reference counts for the referenced chunks in the container object are zero and the container object is indicated as reclaim eligible.

### Claim 10 (depends on 9)

The system of claim 9, wherein the container object is indicated as reclaim eligible in response to one of:
an age of the container object in storage exceeds an age threshold; and
a threshold percent of the chunks of the container object have reference counts of zero.

### Claim 11 (depends on 9)

The system of claim 9, wherein the container object comprises a first container object, wherein the operations further comprise:
receiving a chunk in the first container object;
determining whether the first container object is reclaim eligible;
storing, in a second container object, the received chunk matching the chunk in the first container object in response to determining that the first container object is indicated as reclaim eligible; and
storing a reference to the chunk in the first container object matching the received chunk in response to determining that the first container object is not indicated as reclaim eligible.

### Claim 12 (depends on 9)

The system of claim 9, wherein the container object comprises a first container object, and wherein the operations further comprise:
determining whether a duration of the first container object exceeds a retention period;
copying chunks in the first container object having a reference count greater than zero to a second container object in the storage; and
indicating the first container object as eligible for deletion in response to the chunks in the first container object having the reference count greater than one copied to the second container object.

### Claim 13 (depends on 9)

The system of claim 9, wherein the container object comprises a first container object, and wherein the operations further comprise:
indicating the first container object as reclaim eligible in response to the container object being in storage for longer than a first retention period; and
in response to the first container object being in the storage longer than a second retention period, performing:
copying chunks in the first container object having a reference count greater than one to a second container object; and
indicating the first container object as eligible for deletion in response to the chunks in the first container object having the reference count greater than one copied to the second container object.

### Claim 14 (depends on 9)

The system of claim 9, wherein the container object comprises a first container object associated with a first application object, and wherein the operations further comprise:
setting a first container object retention period associated with the first container object to a second container object retention period associated with a second container object storing chunks for a second application object including a reference to one of the referenced chunks in the first container object; and
deleting the first container object in response to an age of the first container object exceeding the first container object retention period.

### Claim 15

A method for managing data in objects in storage, comprising:
maintaining reference counts for referenced chunks in a container object indicating a number of references to the referenced chunks in at least one application object resulting from deduplication;
indicating the container object as reclaim eligible while the reference counts for at least one of the referenced chunks for the container object is at least one;
decrementing a reference count for one of the referenced chunks in the container object in response to the at least one application object expiring; and
indicating the container object, including chunks for the container object, as eligible for deletion when the reference counts for the referenced chunks in the container object are zero and the container object is indicated as reclaim eligible.

### Claim 16 (depends on 15)

The method of claim 15, wherein the container object is indicated as reclaim eligible in response to one of:
an age of the container object in storage exceeds an age threshold; and
a threshold percent of the chunks of the container object have reference counts of zero.

### Claim 17 (depends on 15)

The method of claim 15, wherein the container object comprises a first container object, further comprising:
receiving a chunk in the first container object;
determining whether the first container object is reclaim eligible;
storing, in a second container object, the received chunk matching the chunk in the first container object in response to determining that the first container object is indicated as reclaim eligible; and
storing a reference to the chunk in the first container object matching the received chunk in response to determining that the first container object is not indicated as reclaim eligible.

### Claim 18 (depends on 15)

The method of claim 15, wherein the container object comprises a first container object, further comprising:
determining whether a duration of the first container object exceeds a retention period;
copying chunks in the first container object having a reference count greater than zero to a second container object in the storage; and
indicating the first container object as eligible for deletion in response to the chunks in the first container object having the reference count greater than one copied to the second container object.

### Claim 19 (depends on 15)

The method of claim 15, wherein the container object comprises a first container object, further comprising:
indicating the first container object as reclaim eligible in response to the container object being in storage for longer than a first retention period; and
in response to the first container object being in the storage longer than a second retention period, performing:
copying chunks in the first container object having a reference count greater than one to a second container object; and
indicating the first container object as eligible for deletion in response to the chunks in the first container object having the reference count greater than one copied to the second container object.

### Claim 20 (depends on 15)

The method of claim 15, wherein the container object comprises a first container object associated with a first application object, further comprising:
setting a first container object retention period associated with the first container object to a second container object retention period associated with a second container object storing chunks for a second application object including a reference to one of the referenced chunks in the first container object; and
deleting the first container object in response to an age of the first container object exceeding the first container object retention period.
