DISTRIBUTED DEDUPLICATED STORAGE SYSTEM
First Claim
1. A method of performing a storage operation in a distributed, deduplicated storage system, comprising:
- receiving a request from a client computing device to restore a file comprising a plurality of data blocks, the request received at a first deduplication node of a plurality of deduplication nodes in communication with one another via a network, wherein the requested file is one of a plurality of deduplicated files that are distributed across the deduplication nodes;
in response to the request and using one or more processors, determining whether a copy of a particular data block of the plurality of data blocks in the requested file already exists at the first deduplication node;
if a copy of the particular data block of the plurality of data blocks already exists at the first deduplication node, accessing the particular data block from the first deduplication node; and
if a copy of the particular data block does not already exist at the first deduplication node, requesting the particular data block from another deduplication node of the plurality of deduplication nodes where a copy of the particular data block does exist.
4 Assignments
0 Petitions
Accused Products
Abstract
A distributed, deduplicated storage system according to certain embodiments is arranged in a parallel configuration including multiple deduplication nodes. Deduplicated data is distributed across the deduplication nodes. The deduplication nodes can be networked together and communicate with one another according using a light-weight, customized communication scheme (e.g., a scheme based on FTP or HTTP). In some cases, deduplication management information including deduplication signatures and/or other metadata is stored separately from the deduplicated data in deduplication management nodes, improving performance and scalability.
673 Citations
17 Claims
-
1. A method of performing a storage operation in a distributed, deduplicated storage system, comprising:
-
receiving a request from a client computing device to restore a file comprising a plurality of data blocks, the request received at a first deduplication node of a plurality of deduplication nodes in communication with one another via a network, wherein the requested file is one of a plurality of deduplicated files that are distributed across the deduplication nodes; in response to the request and using one or more processors, determining whether a copy of a particular data block of the plurality of data blocks in the requested file already exists at the first deduplication node; if a copy of the particular data block of the plurality of data blocks already exists at the first deduplication node, accessing the particular data block from the first deduplication node; and if a copy of the particular data block does not already exist at the first deduplication node, requesting the particular data block from another deduplication node of the plurality of deduplication nodes where a copy of the particular data block does exist. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A distributed deduplicated storage system, comprising:
-
a plurality of deduplication nodes each comprising one or more processors and storage, the deduplication nodes in communication with one another via a network and data blocks corresponding to a plurality of deduplicated files distributed across the deduplication nodes; a storage manager module configured to; receive a request for a file comprised of a plurality of data blocks, the request received at a first deduplication node of the plurality of deduplication nodes; in response to the request, determine whether a copy of a particular data block of the plurality of data blocks already exists at the first data deduplication node; if a copy of the particular data block already exists at the first deduplication node, access the particular data block from the first deduplication node; and if a copy of the particular data block does not already exist at the first deduplication node, request the data block from another deduplication node storing a copy of the data block. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification