Back to results
US 11,687,416 B2Granted
Data backup optimization
AssigneeKyndryl, Inc.
InventorsRamesh Kumble, Pramod Belsare, Satish Lodam
Life of this patent
Estimating the term…
Abstract
At least one data file for backup can be received. The data file can be divided into a plurality of data blocks. A first portion of the plurality of data blocks can be allocated to a first data processing system for backup by the first data processing system. A second portion of the plurality of data blocks can be allocated to a second data processing system for backup by the second data processing system.
Claims15
A method, comprising:
- receiving at least one data file for backup;
- dividing, using a processor, the data file into a plurality of data blocks;
- allocating a first portion of the plurality of data blocks to a first data processing system for backup by the first data processing system;
- allocating a second portion of the plurality of data blocks to a second data processing system for backup by the second data processing system;
- computing, by the first data processing system, a first hash value for a first data block of the plurality of data blocks;
- determining whether the first hash value for the first data block matches a first hash value for a second data block stored in a data repository;
- and
- responsive to determining that the first hash value for the first data block matches the first hash value for the second data block:
- computing, by a third data processing system, a second hash value for the first data block;
- determining whether the second hash value for the first data block matches a second hash value for the second data block;
- and
- responsive to determining that the second hash value for the first data block matches the second hash value for the second data block, linking the data file to the second data block.
9 more elements
A system, comprising:
- a processor programmed to initiate executable operations comprising:
- receiving at least one data file for backup;
- dividing the data file into a plurality of data blocks;
- allocating a first portion of the plurality of data blocks to a first data processing system for backup by the first data processing system;
- allocating a second portion of the plurality of data blocks to a second data processing system for backup by the second data processing system;
- computing, by the first data processing system, a first hash value for a first data block of the plurality of data blocks;
- determining whether the first hash value for the first data block matches a first hash value for a second data block stored in a data repository;
- and
- responsive to determining that the first hash value for the first data block matches the first hash value for the second data block:
- computing, by a third data processing system, a second hash value for the first data block;
- determining whether the second hash value for the first data block matches a second hash value for the second data block;
- and
- responsive to determining that the second hash value for the first data block matches the second hash value for the second data block, linking the data file to the second data block.
10 more elements
A computer program product, comprising:
- one or more computer readable storage mediums having program code stored thereon, the program code stored on the one or more computer readable storage mediums collectively executable by a data processing system to initiate operations including:
- receiving at least one data file for backup;
- dividing the data file into a plurality of data blocks;
- allocating a first portion of the plurality of data blocks to a first data processing system for backup by the first data processing system;
- allocating a second portion of the plurality of data blocks to a second data processing system for backup by the second data processing system
- computing, by the first data processing system, a first hash value for a first data block of the plurality of data blocks;
- determining whether the first hash value for the first data block matches a first hash value for a second data block stored in a data repository;
- and
- responsive to determining that the first hash value for the first data block matches the first hash value for the second data block:
- computing, by a third data processing system, a second hash value for the first data block;
- determining whether the second hash value for the first data block matches a second hash value for the second data block;
- and
- responsive to determining that the second hash value for the first data block matches the second hash value for the second data block, linking the data file to the second data block.
10 more elements
A method comprising:
- receiving at least one data file for backup;
- dividing, using a processor, the data file into a plurality of data blocks;
- computing a first hash value for a first data block of the plurality of data blocks;
- and
- based on the first hash value for the first data block, mapping the first data block to a respective storage location using a nested directory structure, mapping the first data block to the respective storage location using the nested directory structure comprising:
- for a first of a plurality of segments of the first hash value, creating, in a storage location, a parent directory for the nested directory structure;
- and
- recursively, for each successive segment of the plurality of segments of the first hash value, creating a respective directory within a directory created for an immediately preceding segment of the plurality of segments.
5 more elements
A system comprising:
- a processor programmed to initiate executable operations comprising:
- receiving at least one data file for backup;
- dividing, using a processor, the data file into a plurality of data blocks;
- computing a first hash value for a first data block of the plurality of data blocks;
- and
- based on the first hash value for the first data block, mapping the first data block to a respective storage location using a nested directory structure, mapping the first data block to the respective storage location using the nested directory structure comprising:
- for a first of a plurality of segments of the first hash value, creating, in a storage location, a parent directory for the nested directory structure;
- and
- recursively, for each successive segment of the plurality of segments of the first hash value, creating a respective directory within a directory created for an immediately preceding segment of the plurality of segments.
6 more elements
A computer program product comprising:
- one or more computer readable storage mediums having program code stored thereon, the program code stored on the one or more computer readable storage mediums collectively executable by a data processing system to initiate operations including:
- receiving at least one data file for backup;
- dividing, using a processor, the data file into a plurality of data blocks;
- computing a first hash value for a first data block of the plurality of data blocks;
- and
- based on the first hash value for the first data block, mapping the first data block to a respective storage location using a nested directory structure, mapping the first data block to the respective storage location using the nested directory structure comprising:
- for a first of a plurality of segments of the first hash value, creating, in a storage location, a parent directory for the nested directory structure;
- and
- recursively, for each successive segment of the plurality of segments of the first hash value, creating a respective directory within a directory created for an immediately preceding segment of the plurality of segments.
6 more elements
Dependencies are inferred from the claim text.