File aware block level deduplication
First Claim
1. A server comprising:
- a communications interface operable to transmit to a client device file system traversal information via a network and receive a message from the client device transmitted via the network, the message including a block list identifying a plurality of blocks in a plurality of candidate files, the block list identified based on a traversal of a file system at the server by the client machine;
an optimizer component operable to optimize at least a portion of the plurality of blocks identified in the block list, wherein optimizing includes deduplication and compression operations, and wherein the optimizer produces optimized data; and
a storage component operable to store at least a portion of the optimized data in a suitcase volume, wherein the communications interface is further operable to receive a request for file information corresponding with a file from a file system daemon and transmit optimized data corresponding with the requested file to the file system daemon in response to the request, the optimized data being retrieved from the suitcase volume, the file system daemon being configured to rehydrate the optimized data to create the requested file.
22 Assignments
0 Petitions
Accused Products
Abstract
A system provides file aware block level deduplication in a system having multiple clients connected to a storage subsystem over a network such as an Internet Protocol (IP) network. The system includes client components and storage subsystem components. Client components include a walker that traverses the namespace looking for files that meet the criteria for optimization, a file system daemon that rehydrates the files, and a filter driver that watches all operations going to the file system. Storage subsystem components include an optimizer resident on the nodes of the storage subsystem. The optimizer can use idle processor cycles to perform optimization. Sub-file compression can be performed at the storage subsystem.
-
Citations
18 Claims
-
1. A server comprising:
-
a communications interface operable to transmit to a client device file system traversal information via a network and receive a message from the client device transmitted via the network, the message including a block list identifying a plurality of blocks in a plurality of candidate files, the block list identified based on a traversal of a file system at the server by the client machine; an optimizer component operable to optimize at least a portion of the plurality of blocks identified in the block list, wherein optimizing includes deduplication and compression operations, and wherein the optimizer produces optimized data; and a storage component operable to store at least a portion of the optimized data in a suitcase volume, wherein the communications interface is further operable to receive a request for file information corresponding with a file from a file system daemon and transmit optimized data corresponding with the requested file to the file system daemon in response to the request, the optimized data being retrieved from the suitcase volume, the file system daemon being configured to rehydrate the optimized data to create the requested file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
transmitting to a client device file system traversal information via a network; receiving at a storage subsystem a message from the client device transmitted via the network, the message including a block list identifying a plurality of blocks in a plurality of candidate files, the block list identified based on a traversal of a file system at the server by the client machine; optimizing at least a portion of the plurality of blocks identified in the block list, wherein optimizing includes deduplication and compression operations, and wherein the optimizing produces optimized data; storing at least a portion of the optimized data in a suitcase volume; and receiving a request for file information corresponding with a file from a file system daemon and transmit optimized data corresponding with the requested file to the file system daemon in response to the request, the optimized data being retrieved from the suitcase volume, the file system daemon being configured to rehydrate the optimized data to create the requested file. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:
-
transmitting to a client device file system traversal information via a network; receiving at a storage subsystem a message from the client device transmitted via the network, the message including a block list identifying a plurality of blocks in a plurality of candidate files, the block list identified based on a traversal of a file system at the server by the client machine; optimizing at least a portion of the plurality of blocks identified in the block list, wherein optimizing includes deduplication and compression operations, and wherein the optimizing produces optimized data; and storing at least a portion of the optimized data in a suitcase volume, wherein the communications interface is further operable to receive a request for file information corresponding with a file from a file system daemon and transmit optimized data corresponding with the requested file to the file system daemon in response to the request, the optimized data being retrieved from the suitcase volume, the file system daemon being configured to rehydrate the optimized data to create the requested file. - View Dependent Claims (18)
-
Specification