System and method for expediting transfer of data from a local storage facility to a remote storage facility
First Claim
1. A data transfer arrangement for transferring data from a source device to a destination device, the data transfer arrangement comprising:
- A. a source interface module associated with the source device, the source interface module being configured to (i) receive a data block, the data block including a data portion containing the data to be transferred, and a padding portion containing padding, and (ii) transfer the data block to the destination device along with (a) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (b) a check indication indicating whether the check value is the selected function of (I) the data contained in the data portion alone, or (II) the data contained in the data portion and the padding contained in the padding portion; and
B. a destination interface module associated with the destination device, the destination interface module being configured to (i) receive the data block and the check indication from the source interface module;
(ii) generate a destination check value that is the selected function of (a) the data contained in the portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion, in conformity with the check indication, and (iii) using the source and destination check values, determine whether the data block was correctly received.
9 Assignments
0 Petitions
Accused Products
Abstract
A data transfer arrangement transfers data from a source device, such as a local mass storage facility, to a destination device, such as a remote storage facility. The data transfer arrangement comprises a source device and a destination device. The source device transfers to the destination device a data block including data and padding along with a source check value that is a function of the data and selectively the padding, and a check indication indicating whether the check value is the function of the data alone, or the data and the padding. The destination device, after receiving the data block, source check value and check indication, generates a destination check value that is the function of the data alone, or the data and the padding, based on the check indication, and uses the source and destination check values to determine whether the data block was correctly received.
-
Citations
33 Claims
-
1. A data transfer arrangement for transferring data from a source device to a destination device, the data transfer arrangement comprising:
-
A. a source interface module associated with the source device, the source interface module being configured to (i) receive a data block, the data block including a data portion containing the data to be transferred, and a padding portion containing padding, and (ii) transfer the data block to the destination device along with (a) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (b) a check indication indicating whether the check value is the selected function of (I) the data contained in the data portion alone, or (II) the data contained in the data portion and the padding contained in the padding portion; and
B. a destination interface module associated with the destination device, the destination interface module being configured to (i) receive the data block and the check indication from the source interface module;
(ii) generate a destination check value that is the selected function of (a) the data contained in the portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion, in conformity with the check indication, and (iii) using the source and destination check values, determine whether the data block was correctly received. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A source interface for use in connection with a data transfer arrangement for transferring data from a source device to a destination device, the source interface module being associated with the source device, the source interface module comprising:
-
(A) a data block receiver module configured to receive a data block, the data block including a data portion containing the data to be transferred, and a padding portion containing padding, and (B) a data block transfer module configured to transfer the data block to the destination along with (i) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (ii) a check indication indicating whether the check value is the selected function of (a) the data contained in the data portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion. - View Dependent Claims (7, 8, 18, 19)
-
-
9. A destination interface for use in connection with a data transfer arrangement for transferring data from a source device to a destination device, the destination interface being associated with the destination device, the destination interface comprising:
-
(A) a data block receiver module configured to receive (i) a data block including (a) a data portion containing the data to be transferred, (b) a padding portion containing padding and (c) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (ii) a check indication indicating whether the check value is the selected function of (a) the data contained in the data portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion;
(B) a destination check value generator module configured to generate a destination check value that is the selected function of (i) the data contained in the portion alone, or (ii) the data contained in the data portion and the padding contained in the padding portion, in conformity with the check indication, and (C) a data block verification module configured to use the source and destination check values to determine whether the data block was correctly received. - View Dependent Claims (10, 11)
-
-
12. A method of transferring data from a source device to a destination device, the method comprising the steps of
A. at the source device: -
(i) receiving a data block, the data block including a data portion containing the data to be transferred, and a padding portion containing padding, and (ii) transferring the data block to the destination device along with (a) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (b) a check indication indicating whether the check value is the selected function of (I) the data contained in the data portion alone, or (II) the data contained in the data portion and the padding contained in the padding portion; and
B. at the destination device;
(i) receiving the data block and the check indication from the source device;
(ii) generating a destination check value that is the selected function of (a) the data contained in the portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion, in conformity with the check indication, and (iii) using the source and destination check values, determining whether the data block was correctly received. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method of operating a source interface for use in connection with a data transfer arrangement for transferring data from a source device to a destination device, the source interface module being associated with the source device, the method including the steps of:
-
(A) receiving a data block, the data block including a data portion containing the data to be transferred, and a padding portion containing padding, and (B) transferring the data block to the destination along with (i) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (ii) a check indication indicating whether the check value is the selected function of (a) the data contained in the data portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion.
-
-
20. A method of operating a destination interface for use in connection with a data transfer arrangement for transferring data from a source device to a destination device, the destination interface being associated with the destination device, the destination interface comprising:
-
(A) a data block receiving step including the step of receiving (i) a data block including (a) a data portion containing the data to be transferred, (b) a padding portion containing padding and (c) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (ii) a check indication indicating whether the check value is the selected function of (a) the data contained in the data portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion;
(B) a destination check value generation step including the step of generating a destination check value that is the selected function of (i) the data contained in the portion alone, or (ii) the data contained in the data portion and the padding contained in the padding portion, in conformity with the check indication, and (C) a data block verification step including the step of using the source and destination check values to determine whether the data block was correctly received. - View Dependent Claims (21, 22)
-
-
23. A computer program product for use in connection with at least one programmable device to provide a data transfer arrangement for transferring data from a source device to a destination device, the computer program product comprising a device-readable medium having encoded thereon
A. a source interface module associated with the source device, the source interface module being configured to enable the at least one programmable device to (i) receive a data block, the data block including a data portion containing the data to be transferred, and a padding portion containing padding, and (ii) transfer the data block to the destination device along with (a) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (b) a check indication indicating whether the check value is the selected function of (I) the data contained in the data portion alone, or (II) the data contained in the data portion and the padding contained in the padding portion; - and
B. a destination interface module associated with the destination device, the destination interface module being configured to enable the at least one programmable device to (i) receive the data block and the check indication from the source interface module;
(ii) generate a destination check value that is the selected function of (a) the data contained in the portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion, in conformity with the check indication, and (iii) using the source and destination check values, determine whether the data block was correctly received. - View Dependent Claims (24, 25, 26, 27)
- and
-
28. A computer program product for use in connection with a programmable device to facilitate transfer of data from a source device to a destination device, the computer program product being associated with the source device, the computer program product comprising a device-readable medium having encoded thereon:
-
(A) a data block receiver module configured to enable the at least one programmable device to receive a data block, the data block including a data portion containing the data to be transferred, and a padding portion containing padding, and (B) a data block transfer module configured to enable the at least one programmable device to transfer the data block to the destination along with (i) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (ii) a check indication indicating whether the check value is the selected function of (a) the data contained in the data portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion. - View Dependent Claims (29, 30)
-
-
31. A computer program product for use in connection with a data transfer arrangement for transferring data from a source device to a destination device, the computer program product being associated with the destination device, the computer program product comprising a device-readable medium having encoded thereon:
-
(A) a data block receiver module configured to enable the at least one programmable device to receive (i) a data block including (a) a data portion containing the data to be transferred, (b) a padding portion containing padding and (c) a check portion including a source check value, the source check value being a selected function of the data contained in the data portion and selectively the padding contained in the padding portion and (ii) a check indication indicating whether the check value is the selected function of (a) the data contained in the data portion alone, or (b) the data contained in the data portion and the padding contained in the padding portion;
(B) a destination check value generator module configured to enable the at least one programmable device to generate a destination check value that is the selected function of (i) the data contained in the portion alone, or (ii) the data contained in the data portion and the padding contained in the padding portion, in conformity with the check indication, and (C) a data block verification module configured to enable the at least one programmable device to use the source and destination check values to determine whether the data block was correctly received. - View Dependent Claims (32, 33)
-
Specification