Patent ID: 8595195

Claim:
A method of creating a self-contained portable output file, comprising: accessing a selected group of files associated with a first computer, where the selected group of files are formatted in an original format; accessing a pool of unique subblocks associated with the selected group of files, where the pool of unique subblocks is the product of a data de-duplication process and where the pool of unique subblocks contains sufficient data to recreate the selected group of files in the original format; accessing a first data structure associated with the pool of unique subblock, where the first data structure stores a mapping that relates a subblock in the pool of unique subblocks to a member of the selected group of files; accessing a second data structure associated with the pool of unique sub-blocks, where the second data structure stores a mapping that relates a hash value to a subblock in the pool of unique subblocks; instantiating an output file; adding file identification data to the output file, where the file identification data identifies one or more members of the selected group of files; adding one or more subblocks to the output file, where the one or more subblocks are copied from the pool of unique subblocks and where the one or more subblocks are sufficient to recreate the one or more members of the selected group of files identified by the file identification data; adding a first derived data structure to the output file, where the first derived data structure includes one or more members of the first data structure; and adding a second derived data structure to the output file, where the second derived data structure includes one or more members of the second data structure; where the output file contains sufficient data related to the files identified by the file identification data to facilitate a second computer different from the computer to recreate the files identified by the file identification data without accessing the selected group of files in their original format when the computer communicates the output file to the second computer.