Data transfer method for parallel transfer of data divided into a plurality of data groups over multiple TCP connections simultaneously
AssigneeSimulatio Corporation
InventorDmitry Vazhenin
Life of this patent
Estimating the term…
Abstract
A processor transfers a file in a memory by TCP (Transmission Control Protocol). The processor divides single file in the memory into the data group of the N unit (N is an integer more than 2), and creates the transfer jobs of N unit, each of the transfer jobs including data group of the N unit and offset position representing a position of the data group in the file. The processor assigns the transfer job to the transfer thread of the M unit which is the maximum number of simultaneous connection in the TCP and transfers the data group and the offset position appointed by the transfer job of the M unit among the data group and the offset positions of the N unit by the connection of the M unit in parallel.
Claims14
A file transfer method comprising:
- by a processor in a first device, dividing a single file in a memory into a plurality of data groups of N unit (N is an integer more than 2);
- by said processor, creating a N number of transfer jobs, each of transfer jobs including the data group of the respective N unit and an offset position representing a start position of each of the data group of the N unit from a top data group in the single file, in a pool;
- by said processor, assigning the transfer jobs of N unit to a plurality of transfer threads of M unit, M being an integer determined from a maximum number of simultaneous connection in TCP (Transmission Control Protocol);
- by said processor, scheduling each of the transfer threads to a plurality of cores in the processor so that each core transfers a respective data group and offset position over the network;
- and
- by said plurality of cores in the processor, transferring over a network to a second device the data group and the offset position of the transfer jobs of M unit which are assigned to the transfer thread of the M unit among the transfer jobs of N unit, in parallel, by the connections of the M unit of the TCP such that the second device is configured to:
- (i) receive the data group and the offset position of the transfer jobs of M unit;
- and
- (ii) restore said single file in a memory of the second device by writing each of data groups at a beginning of the offset position;
- wherein each of the M connections formed by each of the M transfer threads transfers the data group and the offset position designated by the transfer job assigned to the transfer thread forming the connection.
A non-transitory tangible computer-readable recording medium having stored therein a computer instruction cause a computer in a first device to execute a process for transferring a file over a network to a second device, the process comprising:
- dividing a single file in a memory into a plurality of data groups of N unit (N is an integer more than 2);
- creating a N number of transfer jobs, each of transfer jobs including the data group of the respective N unit and an offset position representing a start position of each of the data group of the N unit from a top data group in the single file;
- assigning the transfer jobs of N unit to a plurality of transfer threads of M unit, M being an integer determined from a maximum number of simultaneous connection in TCP (Transmission Control Protocol);
- and
- scheduling each of the transfer threads to a plurality of cores in a processor of the computer so that each core transfers a respective data groups and offset position over the network;
- transferring over the network to the second device the data group and the offset position of the transfer jobs of M unit which are assigned to the transfer thread of the M unit among the transfer jobs of N unit, in parallel, by the connections of the M unit of the TCP such that the second device is configured to
- (i) receive the data group and the offset position of the transfer jobs of M unit;
- and
- (ii) restore said single file in a memory of the second device by writing each of data groups at a beginning of the offset position;
- wherein each of the M connections formed by each of the M transfer threads transfers the data group and the offset position designated by the transfer job assigned to the transfer thread forming the connection.
Dependencies are inferred from the claim text.