# US 2014/0195495 A1 · Packing deduplicated data in a self-contained deduplicated repository

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

- Number: US 2014/0195495 A1
- Document ID: US20140195495A1
- Status: Published application
- Kind: A1
- Application number: 14/074,195
- Filed: 2013-11-07
- Published: 2014-07-10
- Earliest claimed: 2013-01-10
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Shay H. AKIRAV; Michael HIRSCH; Ofer LENEMAN
- Web page: https://patentgrep.com/patent/US20140195495A1

## CPC

- G06F 16/1748: {De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641)}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0641: {De-duplication techniques}
- 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

Deduplicated data is packed in a self-contained deduplicated repository having unique data blocks with each being referenced by a globally unique identifier (GUID). The self-contained deduplicated repository has information regarding both deduplicated data files and the unique data blocks of each of the deduplicated data files and a master GUID list containing a location of each of the unique data blocks.

## Claims

### Claim 1

A method for storing deduplicated data using a processor device in a computing environment, the method comprising:
packing deduplicated data in a self-contained deduplicated repository having a plurality of unique data blocks with each being referenced by a globally unique identifier (GUID), and the self-contained deduplicated repository also having information regarding both deduplicated data files and the plurality of unique data blocks of each of the deduplicated data files and a master GUID list containing a location of each of the plurality of unique data blocks.

### Claim 2 (depends on 1)

The method of claim 1, further including loading the self-contained deduplicated repository into a target repository.

### Claim 3 (depends on 1)

The method of claim 1, further including creating the self-contained deduplicated repository from a list of deduplicated data files, wherein the self-contained deduplicated repository is isolated and contains at least one of a table of contents (TOC) of the deduplicated data files, metadata of the deduplicated data files, and one unique copy of each of the plurality of unique data blocks.

### Claim 4 (depends on 3)

The method of claim 3, further including examining the TOC of each of the deduplicated data files in the list of deduplicated data files one after another, wherein the master GUID list is maintained, and the TOC is an ordered list of the GUID that make up a file.

### Claim 5 (depends on 4)

The method of claim 4, further including adding to the master GUID list each one of the plurality of unique data blocks required by any one of the deduplicated data files in the list of deduplicated data files. containing a location of each of the plurality of unique data blocks

### Claim 6 (depends on 3)

The method of claim 3, further including committing to the self-contained deduplicated repository the TOC and metadata of each of the deduplicated data files in the list of deduplicated data files, the master GUID list, and the plurality of unique data blocks required by any one of the deduplicated data files in the list of deduplicated data files.

### Claim 7 (depends on 3)

The method of claim 3, further including performing one of:
ordering the plurality of unique data blocks in the self-contained deduplicated repository by the GUID, and
mapping a position of the plurality of unique data blocks in the self-contained deduplicated repository.

### Claim 8 (depends on 3)

The method of claim 3, further including performing each of:
inputting into the self-contained deduplicated repository the list of deduplicated data files,
determining if each one of the deduplicated data files in the list of deduplicated data files are processed,
appending metadata and the TOC of the one of the deduplicated data files to the self-contained deduplicated repository if one of the deduplicated data files is not processed,
determining if each of the GUID in the one of the deduplicated data files is processed,
determining if the GUID is located in the master GUID list,
adding the GUID to the master GUID list,
writing the master GUID list to the self-contained deduplicated repository, and
writing the data of each of the GUID to the self-contained deduplicated repository.

### Claim 9 (depends on 3)

The method of claim 3, further including retrieving the deduplicated data file from the self-contained deduplicated repository.

### Claim 10 (depends on 9)

The method of claim 9, further including performing one of:
scanning the list of deduplicated data files at the beginning of the self-contained deduplicated repository until locating one of the deduplicated data files to be retrieved,
retrieving metadata of the one of the deduplicated data files and the TOC from the self-contained deduplicated repository,
skipping to the master GUID list and retrieving the master GUID list from the self-contained deduplicated repository,
if each of the GUID in the one of the deduplicated data files is not processed, performing each of:
finding a position of a first GUID in the one of the deduplicated data files in the master GUID list, and
adding a tuple to the master GUID list that is retrieved, and
if each of the GUID in the one of the deduplicated data files is processed, performing each of:
sorting the master GUID list that is retrieved by position,
determining if all tuples in the master GUID list have been processed,
deriving a position of the GUID of a first tuple in the self-contained deduplicated repository from the position in the master GUID list that is retrieved,
forwarding to the position of the GUID of the first tuple in the self-contained deduplicated repository and retrieving data of the GUID, and
writing the data of the GUID of the first tuple to each position in the one of the deduplicated data according to appearance in consecutive tuples in the master GUID list that is sorted.

### Claim 11 (depends on 1)

The method of claim 1, further including performing one of:
restoring the deduplicated data file from the self-contained deduplicated repository by reading a table of contents (TOC) of the deduplicated data file and reading each one of the plurality of unique data blocks required by the deduplicated data file using the GUID listed in the TOC, and
merging all deduplicated data files in the self-contained deduplicated repository into a target repository by reading the TOC and deduplication metadata, wherein the TOC and deduplication metadata are stored, and any of the GUID needed by the TOC that do not exist in the target repository are read from the self-contained deduplicated repository and stored in the target repository.

### Claim 12 (depends on 1)

The method of claim 1, further including allowing each deduplication system that draws the GUID for the deduplication system from a similar GUID allocation sphere to share each one of a plurality of self-contained deduplicated repositories to be shared for, extract files from each one of the plurality of self-contained deduplicated repositories, and append to each one of the plurality of self-contained deduplicated repositories.
