Method and system for fault-tolerant transfer of files across a network
First Claim
1. A method for transferring a file from a local client to a remote server in a fault-tolerant manner, said method comprising:
- (a) identifying a file to be transferred;
(b) dividing the file into a plurality of blocks;
(c) sending a next block of the plurality of blocks of the file to a receiver;
(d) receiving a returned status from the receiver;
(e) evaluating the returned status;
(f) repeating said sending (c), said receiving (d) and said evaluating (e) when the returned status is a predetermined incomplete status;
(g) waiting for a predetermined period of time when the returned status is a predetermined staged status, the staged status for indicating that the file has been transferred to the receiver but has not reached a final destination;
(h) requesting, following said waiting (g) for the predetermined period of time, an updated status from the receiver when the returned status is the predetermined staged status; and
(i) concluding the transfer of the file when the returned status is a predetermined complete status.
7 Assignments
0 Petitions
Accused Products
Abstract
Improved techniques for transferring files through a multi-tier computing environment are disclosed. The transfer of files across the multiple tiers of the computing environment can use staging at intermediate tiers to facilitate the file transfer. Each tier can include at least one computing machine that includes a file transfer manager. The file transfer managers at the computing machines in each of the multiple tiers serve to effectuate the file transfer through the multi-tier computing environment. In one embodiment, the multi-tier computing environment is a multi-tier file security system and the files being transferred are audit files.
477 Citations
11 Claims
-
1. A method for transferring a file from a local client to a remote server in a fault-tolerant manner, said method comprising:
-
(a) identifying a file to be transferred; (b) dividing the file into a plurality of blocks; (c) sending a next block of the plurality of blocks of the file to a receiver; (d) receiving a returned status from the receiver; (e) evaluating the returned status; (f) repeating said sending (c), said receiving (d) and said evaluating (e) when the returned status is a predetermined incomplete status; (g) waiting for a predetermined period of time when the returned status is a predetermined staged status, the staged status for indicating that the file has been transferred to the receiver but has not reached a final destination; (h) requesting, following said waiting (g) for the predetermined period of time, an updated status from the receiver when the returned status is the predetermined staged status; and (i) concluding the transfer of the file when the returned status is a predetermined complete status. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented system, comprising:
-
an identifying module configured to determine a file to be transferred from a first server to a second server; a dividing module configured to divide the determined file into a plurality of blocks; a transmitting module configured to transmit a next block of the plurality of blocks; and a file transfer manager configured to control the transmitting module based on a received status identifier from the second server, wherein when the returned status identified is a predetermined incomplete status, the transmitting module transmits the next block, a predetermined staged status, the transmitting module delays transmitting the next block, the staged status for indicating that the file has been transferred to the second server but has not reached a final destination, and a predetermined complete status, the transmitting module stops transmitting as all respective blocks of the plurality of blocks have been transmitted. - View Dependent Claims (7, 8, 9)
-
-
10. A tangible computer-readable storage medium containing instructions for controlling at least one processor to carry out a method comprising:
-
(a) identifying a file to be transferred; (b) dividing the file into a plurality of blocks; (c) sending a next block of the plurality of blocks of the file to a receiver; (d) receiving a returned status from the receiver; (e) evaluating the returned status; (f) repeating said sending (c), said receiving (d) and said evaluating (e) when the returned status is a predetermined incomplete status; (g) waiting for a predetermined period of time when the returned status is a predetermined staged status, the staged status for indicating that the file has been transferred to the receiver but has not reached a final destination; (h) requesting, following said waiting (g) for the predetermined period of time, an updated status from the remote receiver when the returned status is the predetermined staged status; and (i) concluding the transfer of the file when the returned status is a predetermined complete status.
-
-
11. A computer program product comprising a tangible computer useable storage medium having computer program logic recorded thereon for enabling a processor to transfer a file between first and second servers, the computer program logic comprising:
-
means for identifying a file to be transferred; means for dividing the file into a plurality of blocks; means for sending a next block of the plurality of blocks of the file to a receiver; means for receiving a returned status from the receiver; and means for evaluating the returned status, wherein when the returned status is a predetermined incomplete status the sending, receiving, and evaluating are repeated, when the returned status is a predetermined staged status, the means for sending is delayed a predetermined period of time, the staged status for indicating that the file has been transferred to the receiver but has not reached a final destination, when the returned status is the predetermined staged status, the means for receiving requests an updated status from the remote receiver after the predetermined period of time, and when the returned status is a predetermined complete status the transfer of the file is concluded.
-
Specification