Parallelizing the TCP behavior of a network connection
AssigneeOracle America, Inc.
InventorsBruce W. Curtis, Darrin P. Johnson, James P. Hughes
Life of this patent
Estimating the term…
Abstract
One embodiment of the present invention provides a system that parallelizes the TCP-related actions of a network connection between two computer systems during a data transfer between the two computer systems. During operation, the first computer system partitions the data into two or more data segments, and assigns the data segments to multiple processing elements. These multiple processing elements subsequently prepare and send their assigned data segments to the second computer system in parallel using TCP.
Claims15
A method for parallelizing the transmission-control protocol (TCP)-related actions of a network connection, wherein the network connection facilitates communication between a first computer system and a second computer system during a data transfer between the first computer system and the second computer system, and wherein the first computer system includes a send window that is used to control the transmission of data on the network connection, wherein a size of the send window can be adjusted based on one or more properties of the first computer system, comprising:
- partitioning the data to be transferred into two or more data segments on the first computer system, wherein a size of the data segments is determined based on the size of the send window and a number of available processing elements in the first computer system;
- assigning the data segments to multiple processing elements within the first computer system;
- and
- using the multiple processing elements to prepare and send their assigned data segments over the network connection to the second computer system in parallel using TCP;
- wherein the network connection comprises a single physical network link.
A method for parallelizing the TCP-related actions of a network connection, wherein the network connection facilitates communication between a first computer system and a second computer system, and wherein the first computer system includes a send window that is used to control the transmission of data on the network connection, wherein a size of the send window can be adjusted based on one or more properties of the first computer system, comprising:
- receiving TCP packets sent over the network connection from the first computer system on the second computer system, wherein a size of a data segment in each TCP packet is determined based on the size of the send window and a number of available processing elements in the first computer system;
- partitioning the received TCP packets into data segments;
- assigning the received data segments to multiple processing elements on the second computer system;
- and
- using the multiple processing elements to process the data from the received TCP packets in parallel;
- wherein the network connection comprises a single physical network link.
A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for parallelizing the TCP-related actions of a network connection, wherein the network connection facilitates communication between a first computer system and a second computer system during a data transfer between the first computer system and the second computer system, and wherein the first computer system includes a send window that is used to control the transmission of data on the network connection, wherein a size of the send window can be adjusted based on one or more properties of the first computer system, the method comprising:
- partitioning the data to be transferred into two or more data segments on the first computer system, wherein a size of the data segments is determined based on the size of the send window and a number of available processing elements in the first computer system;
- assigning the data segments to multiple processing elements within the first computer system;
- and
- using the multiple processing elements to prepare and send their assigned data segments over the network connection to the second computer system in parallel using TCP;
- wherein the network connection comprises a single physical network link.
An apparatus that parallelizes TCP-related actions of a network connection, wherein the network connection facilitates communication between a first computer system and a second computer system during a data transfer between the first computer system and the second computer system, and wherein the first computer system includes a send window that is used to control the transmission of data on the network connection, wherein a size of the send window can be adjusted based on one or more properties of the first computer system, comprising:
- a partitioning mechanism configured to partition the data to be transferred into two or more data segments on the first computer system, wherein the partitioning mechanism is configured to determine a size of the data segments based on the size of the send window and a number of available processing elements in the first computer system;
- and
- an assigning mechanism configured to assign the data segments to multiple processing elements within the first computer system;
- wherein the multiple processing elements are configured to prepare and send their assigned data segments over the network connection to the second computer system in parallel using TCP;
- and
- wherein the network connection comprises a single physical network link.
Dependencies are inferred from the claim text.