Methods, systems and computer program products for restartable multiplexed file transfers
First Claim
1. An object oriented system for transferring files between a first data processing system and a second data processing system, comprising:
- a send symbolic link object which controls the transfer of chunks of files from the first data processing system to the second data processing system so as to dynamically modify characteristics of a file transfer during transfer of the file;
a persistent queue which stores data associated with a file transfer request for populating send symbolic link objects;
a file transfer core which stores copies of files to be transferred and which populates a send symbolic link object with data associated with a file transfer request corresponding to a copy of a file stored in the file transfer core; and
a connection reader which extracts data associated with a file transfer request from the queue, repopulates a send symbol link object with the extracted data and transfers a chunk of a file associated with a file transfer request specified by the repopulated send symbol link object from the first data processing system to the second data processing system, wherein the file associated with the file transfer request comprises more than one chunk.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems and computer program products are provided for concurrently transferring a plurality of files between a first data processing system and a second data processing system by multiplexing chunks of the plurality of files onto a connection between the first data processing system and the second data processing system and dynamically determining a chunk size for each multiplexed chunk. A “chunk” is an amount of data from a file to be transferred wherein the amount of data in the chunk is dynamically defined such that differing amounts of data are transferred in each chunk. Furthermore, the transfer of each multiplexed file is tracked so as to allow restarting of an interrupted file transfer from a point of interruption of the transfer.
57 Citations
41 Claims
-
1. An object oriented system for transferring files between a first data processing system and a second data processing system, comprising:
-
a send symbolic link object which controls the transfer of chunks of files from the first data processing system to the second data processing system so as to dynamically modify characteristics of a file transfer during transfer of the file;
a persistent queue which stores data associated with a file transfer request for populating send symbolic link objects;
a file transfer core which stores copies of files to be transferred and which populates a send symbolic link object with data associated with a file transfer request corresponding to a copy of a file stored in the file transfer core; and
a connection reader which extracts data associated with a file transfer request from the queue, repopulates a send symbol link object with the extracted data and transfers a chunk of a file associated with a file transfer request specified by the repopulated send symbol link object from the first data processing system to the second data processing system, wherein the file associated with the file transfer request comprises more than one chunk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of transferring files between a first data processing system and a second data processing system, comprising:
-
receiving a file transfer request which requests transfer of a file from the first data processing system to the second data processing system, and which provides data for populating instances of a send symbolic link object;
generating, in response to receipt of a file transfer request, a send symbolic link object populated with data associated with the file transfer request, which controls the transfer of chunks of files from the first data processing system to the second data processing system so as to dynamically modify characteristics of a file transfer during transfer of the file;
storing a copy of the file associated with the transfer request in a transfer core;
storing in a persistent queue the data associated with the file transfer request for populating send symbolic link objects;
extracting from the persistent queue, data associated with the file transfer request to repopulate the send symbolic link object;
wherein the repopulated send symbolic link object carries out the step of determining a chunk of data from the file associated with the file transfer request to transfer to the second data processing system; and
transferring the chunk of data from the file associated with the file transfer request determined by the repopulated send symbolic link object from the first data processing system to the second data processing system. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product for transferring files between a first data processing system and a second data processing system, 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 receiving a file transfer request which requests transfer of a file from the first data processing system to the second data processing system, and which provides data for populating instances of a send symbolic link object;
computer-readable program code means for generating, in response to receipt of a file transfer request, a send symbolic link object populated with data associated with the file transfer request, which controls the transfer of chunks of files from the first data processing system to the second data processing system so as to dynamically modify characteristics of a file transfer during transfer of the file;
computer-readable program code means for storing a copy of the file associated with the transfer request in a transfer core;
computer-readable program code means for storing in a persistent queue the data associated with the file transfer request for populating send symbolic link objects;
computer-readable program code means for extracting from the persistent queue, data associated with the file transfer request to repopulate the send symbolic link object;
wherein the repopulated send symbolic link object further comprises computer-readable program code means for determining a chunk of data from the file associated with the file transfer request to transfer to the second data processing system; and
computer-readable program code means for transferring the chunk of data from the file associated with the file transfer request determined by the repopulated send symbol link object from the first data processing system to the second data processing system. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method of concurrently transferring a plurality of files between a first data processing system and a second data processing system, the method comprising:
-
multiplexing chunks of the plurality of files onto a connection between the first data processing system and the second data processing system; and
dynamically determining a chunk size for each multiplexed chunk. - View Dependent Claims (31, 32, 33)
-
-
34. A system for concurrently transferring a plurality of files between a first data processing system and a second data processing system, comprising:
-
means for multiplexing chunks of the plurality of files onto a connection between the first data processing system and the second data processing system; and
means for dynamically determining a chunk size for each multiplexed chunk. - View Dependent Claims (35, 36, 37)
-
-
38. A computer program product for concurrently transferring a plurality of files between a first data processing system and a second data processing system, 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 multiplexing chunks of the plurality of files onto a connection between the first data processing system and the second data processing system; and
computer-readable program code means for dynamically determining a chunk size for each multiplexed chunk. - View Dependent Claims (39, 40, 41)
-
Specification