Method and system for network stack tuning
First Claim
Patent Images
1. A method for sending a packet from an application to a destination, comprising:
- opening a network connection between the application and the destination;
tuning at least one layer in a network stack located on a system, based on application information associated with the application, to obtain a tuned network stack, wherein the network stack is associated with the network connection, wherein the at least one layer in the network stack is tuned using a kernel executing on the system, wherein the kernel uses an application information and configuration database (AICD), and wherein the application information is stored in the AICD;
receiving the packet from the application;
processing the packet using the tuned network stack to obtain a processed packet; and
sending the processed packet to the destination using a network interface controller (NIC), wherein the processed packet is received by the destination,wherein the at least one layer in the network stack is one selected from a group consisting of a network layer and a transport layer,wherein tuning the transport layer comprises at least one selected from a group consisting of selecting a transport layer protocol and selecting a congestion control algorithm,wherein tuning the network layer comprises selecting one network interface controller from a plurality of network interface controllers, wherein each of the plurality of network interface controllers is operatively connected to the network stack and wherein each plurality of network interface controllers is directly connected to a different one of a plurality of networks, and wherein each of the plurality of networks is interposed between the network stack and the destination, andwherein the AICD is populated using data from the application and the NIC.
2 Assignments
0 Petitions
Accused Products
Abstract
In general, the invention relates to a method for sending a packet from an application to a destination. The method includes opening a network connection between the application and the destination, tuning at least one layer in a network stack, based on application information associated with the application, to obtain a tuned network stack, wherein the network stack is associated with the network connection, receiving the packet from the application, processing the packet using the tuned network stack to obtain a processed packet, and sending the processed packet to the destination, wherein the processed packet is received by the destination.
14 Citations
16 Claims
-
1. A method for sending a packet from an application to a destination, comprising:
-
opening a network connection between the application and the destination; tuning at least one layer in a network stack located on a system, based on application information associated with the application, to obtain a tuned network stack, wherein the network stack is associated with the network connection, wherein the at least one layer in the network stack is tuned using a kernel executing on the system, wherein the kernel uses an application information and configuration database (AICD), and wherein the application information is stored in the AICD; receiving the packet from the application; processing the packet using the tuned network stack to obtain a processed packet; and sending the processed packet to the destination using a network interface controller (NIC), wherein the processed packet is received by the destination, wherein the at least one layer in the network stack is one selected from a group consisting of a network layer and a transport layer, wherein tuning the transport layer comprises at least one selected from a group consisting of selecting a transport layer protocol and selecting a congestion control algorithm, wherein tuning the network layer comprises selecting one network interface controller from a plurality of network interface controllers, wherein each of the plurality of network interface controllers is operatively connected to the network stack and wherein each plurality of network interface controllers is directly connected to a different one of a plurality of networks, and wherein each of the plurality of networks is interposed between the network stack and the destination, and wherein the AICD is populated using data from the application and the NIC. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for sending a packet from an application to a destination, comprising:
-
opening a network connection between the application and the destination; tuning a network stack located on a system, based on application information associated with the application, to obtain a tuned network stack, wherein the network connection is associated with the network stack, wherein the at least one layer in the network stack is tuned using a kernel executing on the system, wherein the kernel uses an application information and configuration database (AICD), and wherein the application information is stored in the AICD, and wherein tuning the network stack comprises; tuning a physical layer of the network stack to obtain a tuned physical layer; tuning a network layer of the network stack based on the tuned physical layer to obtain a tuned network layer, wherein tuning the network layer comprises selecting one network interface controller from a plurality of network interface controllers, wherein each of the plurality of network interface controllers is operatively connected to the network stack, wherein each plurality of network interface controllers is directly connected to a different one of a plurality of networks, and wherein each of the plurality of networks is interposed between the network stack and the destination, and tuning a transport layer of the network stack based on the tuned network layer to obtain a tuned transport layer, wherein tuning the transport layer comprises at least one selected from a group consisting of selecting a transport layer protocol and selecting a congestion control algorithm, receiving the packet from the application; processing the packet using the tuned network stack to obtain processed packet; and sending the processed packet using a network interface controller (NIC) to the destination over a network selected during the tuning of the network stack, wherein the processed packet is received by the destination, wherein the AICD is populated using data from the application and the NIC. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system comprising:
-
an application, wherein the application is configured to issue a packet for a destination; a network stack operatively connected to the application, wherein the network stack comprises a network layer and a transport layer; an application information and configuration database (AICD) configured to be populated with application information obtained from the application and operational information obtained from the NIC; a first network interface controller operatively connected to the network stack and a first network; a second network interface controller operatively connected to the network stack and a second network, wherein the system is configured to; open a network connection between the application and the destination; tune, prior to receiving the packet, at least one layer in the network stack, based on the application information associated with the application, to obtain a tuned network stack, wherein the network connection is associated with the network stack, wherein the at least one layer in the network stack is tuned using a kernel executing on the system, and wherein the kernel uses the AICD to tune the at least one layer in the network stack; receive the packet from the application; process the packet using the tuned network stack to obtain processed packet; and send the processed packet to the destination, wherein the processed packet is received by the destination, wherein processing the packet by the tuned network stack comprises; processing the packet at the transport layer in the tuned network stack to obtain a transport layer processed packet; receiving the transport layer processed packet at the network layer in the tuned network stack; determining a destination internet protocol (IP) address, wherein the destination IP address is associated with a network device in a network, wherein the network is the network selected during the tuning, and one selected from the first network and the second network, wherein the first network and the second network are interposed between the network stack and the destination, and wherein the network is selected during the turning of the network stack; processing the transport layer processed packet using the destination IP address to obtain a network processed packet; receiving the network processed packet at the physical layer in the tuned network stack; and processing the network processed packet at the physical layer to obtain the processed packet. - View Dependent Claims (15, 16)
-
Specification