Apparatus for restarting interrupted data transfer and method therefor
First Claim
Patent Images
1. A method of transferring data comprising the steps of:
- receiving, by a first system, a plurality of data values from a second system;
storin a subset of said plurality of data values in a first storage device; and
if a number of said plurality of data values corresponds to a number of data values delimited by a first preselected one of said plurality of data values and a second preselected one of said plurality of data values, flushing a buffer to a second storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are implemented which allow applications to automatically resume from the last checkpoint on the receiver when a distribution interruption has occurred due, for example, to a network failure, machine reboot or power failure. For each repeater and endpoint the amount of data that must be received between two checkpoints may be preselected. Receivers flush the file buffers to nonvolatile storage when a checkpoint corresponding to an end of a data segment being transferred is reached. If a transmission is interrupted, the transfer is resumed from a beginning of the data segment being sent when the interruption occurred.
-
Citations
21 Claims
-
1. A method of transferring data comprising the steps of:
-
receiving, by a first system, a plurality of data values from a second system;
storin a subset of said plurality of data values in a first storage device; and
if a number of said plurality of data values corresponds to a number of data values delimited by a first preselected one of said plurality of data values and a second preselected one of said plurality of data values, flushing a buffer to a second storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
sending said subset of said plurality of data values wherein a first preselected data value of said plurality of data values is determined in response to a signal from said first system.
-
-
3. The method of claim 2 further comprising the step of:
-
detecting an interruption in a transfer of said plurality of data values; and
repeating said step of sending said plurality of data values, said step of repeating said sending beginning with said first preselected one of said plurality of data values.
-
-
4. The method of claim 3 wherein said step of repeating said step of sending said plurality of data values includes the step of receiving an offset value in said signal from said first system, said offset value operable for determining said first preselected one of said plurality of data values.
-
5. The method of claim 1 further comprising the step of incrementing a counter in response to receiving each data value of said subset of said plurality of data values, wherein said buffer is flushed to said second storage device in response to a count in said counter corresponding to said number of data values delimited by said first preselected one of said plurality of data values and said second preselected one of said plurality of data values.
-
6. The method of claim 5 further comprising the step of resetting said counter in response to an interruption of a transfer of said plurality of data values.
-
7. The method of claim 4 further comprising the step of determining said offset value in response to a number of data values of said plurality of data values stored in said second storage device.
-
8. A data processing system comprising:
-
circuitry operable for receiving, by a first system, a plurality of data values from a second system;
circuitry operable for storing a subset of said plurality of data values in a first storage device; and
circuitry operable for, if a number of said plurality of data values corresponds to a number of data values delimited by a first preselected one of said plurality of data values and a second preselected one of said plurality of data values, flushing said a buffer to a second storage device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
circuitry operable for sending said subset of said plurality of data values wherein a first preselected data value of said plurality of data values is determined in response to a signal from said first system.
-
-
10. The data processing system of claim 9 further comprising:
-
circuitry operable for detecting an interruption in a transfer of said plurality of data values; and
circuitry operable for repeating said step of sending said plurality of data values, said step of repeating said sending beginning with said first preselected one of said plurality of data values.
-
-
11. The data processing system of claim 10 wherein said circuitry operable for repeating said step of sending said plurality of data values includes circuitry operable for receiving an offset value in said signal from said first system, said offset value operable for determining said first preselected one of said plurality of data values.
-
12. The data processing system of claim 8 further comprising circuitry operable for incrementing a counter in response to receiving each data value of said subset of said plurality of data values, wherein said buffer is flushed to said second storage device in response to a count in said counter corresponding to said number of data values delimited by said first preselected one of said plurality of data values and said second preselected one of said plurality of data values.
-
13. The data processing system of claim 12 further comprising circuitry operable for resetting said counter in response to an interruption of a transfer of said plurality of data values.
-
14. The data processing system of claim 11 further comprising circuitry operable for determining said offset value in response to a number of data values of said plurality of data values stored in said second storage device.
-
15. A computer program product embodied in a machine readable storage medium including programming for transferring data, the programming comprising instructions for:
-
receiving, by a first system, a plurality of data values from a second system;
storing a subset of said plurality of data values in a first storage device; and
if a number of said plurality of data values corresponds to a number of data values delimited by a first preselected one of said plurality of data values and a second preselected one of said plurality of data values, flushing a buffer to a second storage device. - View Dependent Claims (16, 17, 18, 19, 20, 21)
detecting an interruption in a transfer of said plurality of data values; and
repeating said step of sending said plurality of data values, said step of repeating said sending beginning with said first preselected one of said plurality of data values.
-
-
18. The program product of claim 17 wherein said instructions for repeating said step of sending said plurality of data values includes the step of receiving an offset value in said signal from said first system, said offset value operable for determining said first preselected one of said plurality of data values.
-
19. The program product of claim 15 further comprising instructions for incrementing a counter in response to receiving each data value of said subset of said plurality of data values, wherein said buffer is flushed to said second storage device in response to a count in said counter corresponding to said number of data values delimited by said first preselected one of said plurality of data values and said second preselected one of said plurality of data values.
-
20. The program product of claim 19 further comprising instructions for resetting said counter in response to an interruption of a transfer of said first plurality of data values.
-
21. The program product of claim 18 further comprising instructions for determining said offset value in response to a number of data values of said plurality of data values stored in said second storage device.
Specification