# US 2013/0159645 A1 · Data selection for movement from a source to a target

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

- Number: US 2013/0159645 A1
- Document ID: US20130159645A1
- Status: Published application
- Kind: A1
- Application number: 13/327,571
- Filed: 2011-12-15
- Published: 2013-06-20
- Earliest claimed: 2011-12-15
- Assignees: International Business Machines Corporation
- Inventors: Matthew J. Anglin; David M. Cannon; Colin S. Dawson; Robert S. Elder
- Web page: https://patentgrep.com/patent/US20130159645A1

## CPC

- G06F 11/1453: {using de-duplication of the data}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one aspect of the present description, in connection with storing a first deduplicated data object in a primary storage pool, described operations include determining the duration of time that the first data object has resided in the primary storage pool, and comparing the determined duration of time to a predetermined time interval. In addition, described operations include, after the determined duration of time meets or exceeds the predetermined time interval, determining if the first data object has an extent referenced by another data object, and determining whether to move the first data object from the primary storage pool to a secondary storage pool as a function of whether the first data object has an extent referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval. Other features and aspects may be realized, depending upon the particular application.

## Claims

### Claim at position 1

1-11. (canceled)

### Claim 12

A computer program product for managing data storage having a plurality of storage pools containing extents of data objects, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising:
storing a first deduplicated data object in a primary storage pool;
determining the duration of time that the first data object has resided in the primary storage pool;
comparing the determined duration of time to a predetermined time interval;
after the determined duration of time meets or exceeds the predetermined time interval, determining if the first data object has an extent referenced by another data object; and
determining whether to move the first data object from the primary storage pool to a secondary storage pool as a function of whether the first data object has an extent referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 13 (depends on 12)

The computer program product of claim 12 wherein determining whether to move the first data object includes calculating the space occupied by the data object extents not referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 14 (depends on 13)

The computer program product of claim 13 wherein the operations further comprise moving the first data object from the primary storage pool to a secondary storage pool if the calculated space occupied by the data object extents not referenced by another data object, exceeds a threshold.

### Claim 15 (depends on 12)

The computer program product of claim 12, wherein the operations further comprise:
storing a second deduplicated data object in a primary storage pool;
determining the duration of time that the second data object has resided in the primary storage pool;
comparing the determined duration of time for the second data object to a predetermined time interval;
after the determined duration of time for the second data object meets or exceeds the predetermined time interval, determining if the second data object has an extent referenced by another data object; and
determining whether to move the second data object from the primary storage pool to a secondary storage pool as a function of whether the second data object has an extent referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 16 (depends on 15)

The computer program product of claim 15 wherein the determining whether to move the second data object includes calculating the space occupied by the data object extents of the second data object not referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 17 (depends on 16)

The computer program product of claim 16 wherein the operations further comprise moving the first data object from the primary storage pool to a secondary storage pool if the calculated space occupied by the data object extents of the first data object not referenced by another data object, exceeds the calculated space occupied by the data object extents of the second data object not referenced by another data object.

### Claim 18 (depends on 12)

The computer program product of claim 12, wherein the operations further comprise:
storing a first volume containing deduplicated data objects in a primary storage pool;
for each data object of the first volume:
determining the duration of time that the data object of the first volume has resided in the primary storage pool;
comparing the duration of time determined for the data object of the first volume to a predetermined time interval; and
after the duration of time determined for the data object of the first volume meets or exceeds the predetermined time interval, calculating for each extent of the data object of the first volume not referenced by another data object, the space occupied by the data object extents not referenced by another data object and calculating the available space of the first volume; and
determining whether to move data objects of the volume from the primary storage pool to a secondary storage pool as a function of the calculated space occupied and the calculated available space.

### Claim 19 (depends on 18)

The computer program product of claim 18 wherein the predetermined time interval for each data object of the first volume is determined as a function of at least one of a time interval between backup events at a client station, propagation time of duplicate data between client stations, and backup processing time for a data object stored in the primary storage pool.

### Claim 20

A computing system, comprising:
data storage having a plurality of storage pools containing extents of data objects; and
a storage manager including a processor and a computer readable storage medium having computer readable program code embodied therein executed by the processor to perform managing operations, the managing operations comprising:
storing a first deduplicated data object in a primary storage pool;
determining the duration of time that the first data object has resided in the primary storage pool;
comparing the determined duration of time to a predetermined time interval;
after the determined duration of time meets or exceeds the predetermined time interval, determining if the first data object has an extent referenced by another data object; and
determining whether to move the first data object from the primary storage pool to a secondary storage pool as a function of whether the first data object has an extent referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 21 (depends on 20)

The computing system of claim 20 wherein determining whether to move the first data object includes calculating the space occupied by the data object extents not referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 22 (depends on 21)

The computing system of claim 21 wherein the operations further comprise moving the first data object from the primary storage pool to a secondary storage pool if the calculated space occupied by the data object extents not referenced by another data object, exceeds a threshold.

### Claim 23 (depends on 21)

The computing system of claim 21, wherein the operations further comprise:
storing a second deduplicated data object in a primary storage pool;
determining the duration of time that the second data object has resided in the primary storage pool;
comparing the determined duration of time for the second data object to a predetermined time interval;
after the determined duration of time for the second data object meets or exceeds the predetermined time interval, determining if the second data object has an extent referenced by another data object; and
determining whether to move the second data object from the primary storage pool to a secondary storage pool as a function of whether the second data object has an extent referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 24 (depends on 23)

The computing system of claim 23 wherein the determining whether to move the second data object includes calculating the space occupied by the data object extents of the second data object not referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 25 (depends on 24)

The computing system of claim 24 wherein the operations further comprise moving the first data object from the primary storage pool to a secondary storage pool if the calculated space occupied by the data object extents of the first data object not referenced by another data object, exceeds the calculated space occupied by the data object extents of the second data object not referenced by another data object.

### Claim 26 (depends on 20)

The computing system of claim 20, wherein the operations further comprise:
storing a first volume containing deduplicated data objects in a primary storage pool;
for each data object of the first volume:
determining the duration of time that the data object of the first volume has resided in the primary storage pool;
comparing the duration of time determined for the data object of the first volume to a predetermined time interval; and
after the duration of time determined for the data object of the first volume meets or exceeds the predetermined time interval, calculating for each extent of the data object of the first volume not referenced by another data object, the space occupied by the data object extents not referenced by another data object and calculating the available space of the first volume; and
determining whether to move the data objects of the first volume from the primary storage pool to a secondary storage pool as a function of the calculated space occupied and the calculated available space.

### Claim 27 (depends on 26)

The computing system of claim 26 wherein the predetermined time interval for each data object of the first volume is determined as a function of at least one of a time interval between backup events at a client station, propagation time of duplicate data between client stations, and backup processing time for a data object stored in the primary storage pool.

### Claim 28 (depends on 26)

The computing system of claim 26, wherein the operations further comprise:
storing a second volume containing deduplicated data objects in a primary storage pool;
for each data object of the second volume:
determining the duration of time that the data object of the second volume has resided in the primary storage pool;
comparing the duration of time determined for the data object of the second volume to a predetermined time interval; and
after the duration of time determined for the data object of the second volume meets or exceeds the predetermined time interval, calculating for each extent of the data object of the second volume not referenced by another data object, the space occupied by the data object extents not referenced by another data object and calculating the available space of the second volume; and
determining whether to move the data objects of the second volume from the primary storage pool to a secondary storage pool as a function of the calculated space occupied and the calculated available space.

### Claim 29 (depends on 28)

The computing system of claim 28 wherein the determining whether to move the data objects of the second volume includes calculating the space occupied by the data object extents of the second volume not referenced by another data object after the determined duration of time meets or exceeds the predetermined time interval.

### Claim 30 (depends on 29)

The computing system of claim 29 further comprising moving the data objects of the first volume from the primary storage pool to a secondary storage pool if the calculated space occupied by the data object extents of the first volume not referenced by another data object, exceeds the calculated space occupied by the data object extents of the second volume not referenced by another data object.
