Leveraging NAS protocol for efficient file transfer
AssigneeEMC IP Holding Company LLC
InventorsSorin Faibish, Philip Shilane
Life of this patent
Estimating the term…
Abstract
A technique for transferring data over a network leverages a standard NAS (Network Attached Storage) protocol to augment its inherent file-copying ability with fingerprint matching, enabling the NAS protocol to limit its data copying over the network to unique data segments while avoiding copying of redundant data segments.
Claims17
A method of transferring data between computing machines over a network, the method comprising:
- in response to a first computing machine receiving a request to transfer file data to a second computing machine, sending, via a NAS (Network Attached Storage) protocol configured to perform fingerprint-enabled data transfer, a first transmission to the second computing machine over the network, the first transmission including multiple fingerprints that identify respective data segments of the file data;
- receiving, via the NAS protocol responsive to fingerprint matching performed by commands of the NAS protocol, reply data from the second computing machine, the reply data specifying missing data segments, the missing data segments being data segments, identified by the fingerprints in the first transmission, which are unavailable on the second computing machine;
- and
- in response to receiving the reply data, sending, via the NAS protocol, a second transmission to the second computing machine, the second transmission providing the missing data segments to the second computing machine,
- wherein the file data includes data for a particular file on the second computing machine, wherein the NAS protocol supports extended attributes of files, wherein sending the first transmission includes providing the fingerprints as at least a first extended attribute associated with the particular file using at least one SET XATTR command, and wherein receiving the reply data is responsive to sending at least one GET XATTR command to the second computing machine.
A computer program product, including a set of non-transitory, computer-readable media having instructions which, when executed by a controller of a computerized apparatus, cause the computerized apparatus to perform a method of transferring data over a network, the method comprising:
- operating a NAS (Network Attached Storage) server configured to share or export files over the network;
- receiving, via a NAS protocol of the NAS server, a first transmission from a computing machine that operates a NAS client, the first transmission including multiple fingerprints that identify respective data segments of file data, the NAS protocol configured to perform fingerprint-enabled data transfer;
- transmitting, via the NAS protocol responsive to fingerprint matching performed by commands of the NAS protocol, reply data to the computing machine, the reply data specifying missing data segments, the missing data segments being data segments, identified by the fingerprints in the first transmission, which are unavailable on the computerized apparatus;
- and
- after transmitting the reply data, receiving, via the NAS protocol, a second transmission from the computing machine, the second transmission providing the missing data segments,
- wherein the file data includes data of a particular file, wherein the NAS protocol is NFSv4 or greater and supports extended attributes of files, and wherein the method further comprises, in response to receiving the first transmission, storing the fingerprints in at least a first extended attribute of the particular file, wherein the first transmission is received as part of at least one SET XATTR command, and wherein the reply data is transmitted in response to at least one GET XATTR command.
A computerized system, comprising a first computing machine operatively connected to a second computing machine over a network, the computerized system constructed and arranged to:
- receive, by the first computing machine, a request to transfer file data to the second computing machine,
- send, by the first computing machine via a NAS (Network Attached Storage) protocol configured to perform fingerprint-enabled data transfer, a first transmission to the second computing machine, the first transmission including multiple fingerprints that identify respective data segments of the file data;
- transmit, by the second computing machine via the NAS protocol responsive to fingerprint matching performed by commands of the NAS protocol, reply data to the first computing machine, the reply data specifying missing data segments, the missing data segments being data segments, identified by the fingerprints in the first transmission, which are unavailable on the computerized apparatus;
- and
- in response to receiving the reply data by the first computing machine, send, by the first computing machine via the NAS protocol, a second transmission to the second computing machine, the second transmission providing the missing data segments to the second computing machine,
- wherein the file data includes data for a particular file on the NAS server, wherein the NAS protocol supports extended attributes of files, wherein the computerized system constructed and arranged to send the first transmission is further constructed and arranged to provide the fingerprints as at least a first extended attribute associated with the particular file using at least one SET XATTR command, and wherein the computerized system is further constructed and arranged to transmit the reply data responsive to at least one GET XATTR command sent to the second computing machine.
Dependencies are inferred from the claim text.