Methods, systems and computer program products for transferring a file using a message queue
First Claim
1. A method for transferring a file from a source computer to a destination computer using a message queue, the method comprising the steps of:
- copying a current version of the file to a file cache responsive to a file transfer request;
defining file segments associated with the current version;
determining if a previous version of the file having associated file segments is available to the source computer;
determining if the destination computer has a previous version of the file available;
comparing a first file segment of the current version with the associated file segments of the previous version;
placing a message identifier for the first file segment in the message queue to request transfer of the first file segment if no matching associated file segments of the previous version are located;
placing a match indication in the message queue for transfer if a matching associated file segment is located.
0 Assignments
0 Petitions
Accused Products
Abstract
Method, apparatus and program products for increasing the performance of communications using differencing data communications over a message queue supporting asynchronous communications from a variety of applications executing on a source device over a shared external communication link to destination devices are provided. A data stream between the source device and the destination device is segmented based on the type of the data stream to provide a logical segmentation which increases the occurrence of repeated transmissions of a segment. The segments are then placed in the message queue as a message for transport to a destination computer. Differencing is provided by replacing the segment with an associated identifier for segments which have previously been transported to provide a reduced volume of data for transmittal based on recognition and replacement of data segments which have previously been transmitted by the source device. The destination device receives the transmitted reduced segments as messages in a receive message queue and reconstructs the data stream. Synchronization between the differencing caches of the devices is not required as the communication is asynchronous through a message queue and, if a reduced segment is not recognized, retransmission of the complete segment instead of the associated identifier may be requested and the source device creates and queues the segment as a message.
117 Citations
16 Claims
-
1. A method for transferring a file from a source computer to a destination computer using a message queue, the method comprising the steps of:
-
copying a current version of the file to a file cache responsive to a file transfer request;
defining file segments associated with the current version;
determining if a previous version of the file having associated file segments is available to the source computer;
determining if the destination computer has a previous version of the file available;
comparing a first file segment of the current version with the associated file segments of the previous version;
placing a message identifier for the first file segment in the message queue to request transfer of the first file segment if no matching associated file segments of the previous version are located;
placing a match indication in the message queue for transfer if a matching associated file segment is located. - View Dependent Claims (2, 3, 4, 5, 6)
transmitting an identification of the previous version of the file to the destination computer; and
receiving a message from the destination computer containing an indication of whether the previous version of the file is available to the destination computer.
-
-
6. A method according to claim 5 wherein a plurality of previous versions are available to the source computer and wherein the transmitting step comprises the step of transmitting identifications of the plurality of previous versions and the receiving a message step comprises the step of receiving a message from the destination computer containing an indication of one of the plurality of previous versions of the file which is available to the destination computer and wherein the comparing step uses the one of the plurality of previous versions which is available to the destination computer.
-
7. A system for transferring a file from a source computer to a destination computer using a message queue, the system comprising:
-
means for copying a current version of the file to a file cache responsive to a file transfer request;
means for defining file segments associated with the current version;
means for determining if a previous version of the file having associated file segments is available to the source computer;
means for determining if the destination computer has a previous version of the file available;
means for comparing a first file segment of the current version with the associated file segments of the previous version;
means for placing a message identifier for the first file segment in the message queue to request transfer of the first file segment if no matching associated file segments of the previous version are located; and
means for placing a match indication in the message queue for transfer if a matching associated file Segment is located. - View Dependent Claims (8, 9, 10, 11)
means for transmitting an identification of the previous version of the file to the destination computer; and
means for receiving a message from the destination computer containing an indication of whether the previous version of the file is available to the destination computer.
-
-
11. A system according to claim 10 wherein a plurality of previous versions are available to the source computer and wherein the means for transmitting comprises means for transmitting identifications of the plurality of previous versions and wherein the means for receiving a message comprises means for receiving a message from the destination computer containing an indication of one of the plurality of previous versions of the file which is available to the destination computer and wherein the means for comparing uses the one of the plurality of previous versions which is available to the destination computer.
-
12. A computer program product for transferring a file from a source computer to a destination computer using a message queue, the computer program product comprising:
-
a computer-readable storage medium having computer-readable program code means embodied in said medium, said computer-readable program code means comprising;
computer readable program code means for copying a current version of the file to a file cache responsive to a file transfer request;
computer readable program code means for defining file segments associated with the current version;
computer readable program code means for determining if a previous version of the file having associated file segments is available to the source computer;
computer readable program code means for determining if the destination computer has a previous version of the file available;
computer readable program code means for comparing a first file segment of the current version with the associated file segments of the previous version;
computer readable program code means for placing a message identifier for the first file segment in the message queue to request transfer of the first file segment if no matching associated file segments of the previous version are located; and
computer readable program code means for placing a match indication in the message queue for transfer if a matching associated file segment is located. - View Dependent Claims (13, 14, 15, 16)
computer readable program code means for transmitting an identification of the previous version of the file to the destination computer; and
computer readable program code means for receiving a message from the destination computer containing an indication of whether the previous version of the file is available to the destination computer.
-
-
16. A system according to claim 15 wherein a plurality of previous versions are available to the source computer and wherein the computer readable program code means for transmitting comprises computer readable program code means for transmitting identifications of the plurality of previous versions and wherein the computer readable program code means for receiving a message comprises computer readable program code means for receiving a message from the destination computer containing an indication of one of the plurality of previous versions of the file which is available to the destination computer and wherein the computer readable program code means for comparing uses the one of the plurality of previous versions which is available to the destination computer.
Specification