Transferring data such as files
First Claim
1. A method for transferring a data file from a first terminal to a second terminal over a selected circuit or a virtual circuit, the method comprising:
- segmenting the data file to define data segments;
adding overhead to each of the data segments to define chunks;
transmitting substantially all of the chunks comprising the data file, from the first terminal to the second terminal, over the selected circuit or virtual circuit;
checking, at the second terminal, whether or not each of the chunks is valid and whether each expected chunk was received;
if it is determined at the second terminal that one of the chunks is either invalid, or not received, then sending from the first terminal, over a communications channel of a different type than the selected circuit or virtual circuit using a protocol different from the protocol of the selected circuit or virtual circuit the chunk determined to be invalid, or not received,wherein sending from the first terminal, over a communications channel of a different type than the selected circuit or virtual circuit using a protocol different from the protocol of the selected circuit or virtual circuit the chunk determined to be invalid, or not received without retransmitting the chunk over the selected circuit or virtual circuit.
3 Assignments
0 Petitions
Accused Products
Abstract
Transferring data (such as files) on an end-to-end, high-speed packet-switched network connection (a “virtual circuit”) or on a circuit. An out-of-band path is used for signaling and status messages (control). The same, or a separate, out-of-band path may be used to retransmit chunks of data that were received with errors or that were not received at all. By simplifying the data being sent over the high-speed (virtual) circuit, the resources of the (virtual) circuit are used efficiently since less overhead is required. Further, since the size of the file to be transferred can be predetermined, and since any retransmissions can be made over a path other than the (virtual) circuit, the (virtual) circuit that best meets the needs of the data transfer can be selected, thereby further increasing the efficiency with which the (virtual) circuit is used.
49 Citations
26 Claims
-
1. A method for transferring a data file from a first terminal to a second terminal over a selected circuit or a virtual circuit, the method comprising:
-
segmenting the data file to define data segments; adding overhead to each of the data segments to define chunks; transmitting substantially all of the chunks comprising the data file, from the first terminal to the second terminal, over the selected circuit or virtual circuit; checking, at the second terminal, whether or not each of the chunks is valid and whether each expected chunk was received; if it is determined at the second terminal that one of the chunks is either invalid, or not received, then sending from the first terminal, over a communications channel of a different type than the selected circuit or virtual circuit using a protocol different from the protocol of the selected circuit or virtual circuit the chunk determined to be invalid, or not received, wherein sending from the first terminal, over a communications channel of a different type than the selected circuit or virtual circuit using a protocol different from the protocol of the selected circuit or virtual circuit the chunk determined to be invalid, or not received without retransmitting the chunk over the selected circuit or virtual circuit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for transferring a data file from a first terminal to a second terminal over a selected circuit or a virtual circuit, the method comprising:
-
segmenting the data file to define data segments; adding overhead to each of the data segments to define chunks; transmitting the chunks, from the first terminal to the second terminal, over the selected circuit or virtual circuit; receiving at the first terminal, over a communications channel other than the selected circuit or virtual circuit, a positive acknowledgment message from the second terminal indicating that the second terminal determined that a chunk was valid; and retransmitting the chunk over a communications channel other than the selected circuit or virtual circuit using a protocol different from the protocol of the selected circuit or virtual circuit in the case that a positive acknowledgement message is not received. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A data transfer facility comprising:
-
means for negotiating, with another terminal, a circuit or a virtual circuit for a data transfer; means for accepting chunks of data from the other terminal via the negotiated circuit or virtual circuit; means for determining; for each of the chunks, whether the chunk has any errors, and whether an expected chunk was not received; means for indicating to the other terminal, via a communications channel, that a chunk has errors or was not received; and means for accepting, over a communications channel, retransmitted chunks from the other terminal, wherein the communications channels are different than the circuit or virtual circuit and wherein the protocol used in the communications channel to retransmit the chunks is different from the protocol used to transmit the chunks over the virtual circuit. - View Dependent Claims (17, 18, 19, 20)
-
-
21. For use in a terminal, a data transfer facility comprising:
-
a processor; memory coupled to said processor having stored therein instructions, that in response to execution by the processor cause the data transfer facility to; negotiate over a communications channel, with an other terminal, a circuit or virtual circuit for a data transfer of a set of data; add overhead to data segments to define chunks of the set of data; and transmit substantially all of the chunks of the set of data to the other terminal over the circuit or virtual circuit; and retransmit over a communications channel other than the circuit or virtual circuit a selected chunk of data from the set of data after determining that the selected chunk of data was not received by the other terminal or was received with an error, wherein the communications channel is of a different type than the circuit or virtual circuit and wherein the communications protocol used over the communications channel is different than the communications protocol of the circuit or virtual circuit, wherein the transmit of substantially all of the chunks of the data set from the terminal to the other terminal over the selected circuit or virtual circuit comprises continued transmit of remaining chunks of the data file over the selected circuit or virtual circuit without regard to errors in any one of the chunks received at the second terminal. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification