Responding to dynamically-connected transport requests
First Claim
1. A method for communication, comprising:
- allocating, in a network interface controller (NIC) coupled to an initiator host, a single dynamically-connected (DC) initiator context for serving requests from an initiator process running on the initiator host to transmit data, via a packet network, to multiple target processes, including at least first and second target processes, running on one or more target nodes;
transmitting from the NIC over the packet network a first connect packet directed to the first target process and referencing the DC initiator context so as to open a first dynamic connection with the first target process;
receiving at the NIC over the packet network, in response to the first connect packet, a first acknowledgment packet containing a first session identifier (ID);
following receipt of the first acknowledgment packet, transmitting one or more first data packets containing the first session ID over the first dynamic connection from the NIC to the first target process;
after transmission of the first data packets, closing the first dynamic connection and transmitting from the NIC over the packet network a second connect packet directed to the second target process and referencing the DC initiator context so as to open a second dynamic connection with the second target process;
receiving at the NIC over the packet network, in response to the second connect packet, a second acknowledgment packet containing a second session identifier (ID); and
following receipt of the second acknowledgment packet, transmitting one or more second data packets containing the second session ID over the second dynamic connection from the NIC to the second target process,wherein first and second configurations of the DC initiator context are provided, wherein the first configuration causes the NIC to request and wait for the first and second acknowledgment packets, while in the second configuration the NIC transmits at least the first data packets immediately after the first connect packet without waiting for the first acknowledgment packet.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for communication, includes allocating, in a network interface controller (NIC) a single dynamically-connected (DC) initiator context for serving requests from an initiator process running on the initiator host to transmit data to multiple target processes running on one or more target nodes. The NIC transmits a first connect packet directed to a first target process and referencing the DC initiator context so as to open a first dynamic connection with the first target process. The NIC receives over the packet network, in response to the first connect packet, a first acknowledgment packet containing a first session identifier (ID). Following receipt of the first acknowledgment packet, the NIC transmits one or more first data packets containing the first session ID over the first dynamic connection from the NIC to the first target process. Dynamic connections with other target processes may subsequently be handled in similar fashion.
53 Citations
20 Claims
-
1. A method for communication, comprising:
-
allocating, in a network interface controller (NIC) coupled to an initiator host, a single dynamically-connected (DC) initiator context for serving requests from an initiator process running on the initiator host to transmit data, via a packet network, to multiple target processes, including at least first and second target processes, running on one or more target nodes; transmitting from the NIC over the packet network a first connect packet directed to the first target process and referencing the DC initiator context so as to open a first dynamic connection with the first target process; receiving at the NIC over the packet network, in response to the first connect packet, a first acknowledgment packet containing a first session identifier (ID); following receipt of the first acknowledgment packet, transmitting one or more first data packets containing the first session ID over the first dynamic connection from the NIC to the first target process; after transmission of the first data packets, closing the first dynamic connection and transmitting from the NIC over the packet network a second connect packet directed to the second target process and referencing the DC initiator context so as to open a second dynamic connection with the second target process; receiving at the NIC over the packet network, in response to the second connect packet, a second acknowledgment packet containing a second session identifier (ID); and following receipt of the second acknowledgment packet, transmitting one or more second data packets containing the second session ID over the second dynamic connection from the NIC to the second target process, wherein first and second configurations of the DC initiator context are provided, wherein the first configuration causes the NIC to request and wait for the first and second acknowledgment packets, while in the second configuration the NIC transmits at least the first data packets immediately after the first connect packet without waiting for the first acknowledgment packet. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for communication, comprising:
-
allocating, in a network interface controller (NIC) coupled to an initiator host, a single dynamically-connected (DC) initiator context for serving requests from an initiator process running on the initiator host to transmit data, via a packet network, to multiple target processes, including at least first and second target processes, running on one or more target nodes; transmitting from the NIC over the packet network a first connect packet directed to the first target process and referencing the DC initiator context so as to open a first dynamic connection with the first target process; receiving at the NIC over the packet network, in response to the first connect packet, a first acknowledgment packet containing a first session identifier (ID); following receipt of the first acknowledgment packet, transmitting one or more first data packets containing the first session ID over the first dynamic connection from the NIC to the first target process; after transmission of the first data packets, closing the first dynamic connection and transmitting from the NIC over the packet network a second connect packet directed to the second target process and referencing the DC initiator context so as to open a second dynamic connection with the second target process; receiving at the NIC over the packet network, in response to the second connect packet, a second acknowledgment packet containing a second session identifier (ID); following receipt of the second acknowledgment packet, transmitting one or more second data packets containing the second session ID over the second dynamic connection from the NIC to the second target process; upon a failure to receive the second acknowledgment packet within a predefined timeout period following transmission of the second connect packet, transmitting over the network a third connect packet directed to the second target process, and awaiting acknowledgment of the third connect packet before transmitting the one or more second data packets; and receiving, at one of the target nodes on which the second target process is running, both the second and the third connect packets, and sending, from the one of the target nodes over the network to the NIC, both the second acknowledgment packet containing the second session ID and a third acknowledgment packet containing a third session ID in response to the third connect packet. - View Dependent Claims (9, 10)
-
-
11. Apparatus for communication, comprising:
-
a network interface, coupled to a packet network; a host interface, which is coupled to receive requests from an initiator process running on an initiator host to transmit data, via the packet network, to multiple target processes, including at least first and second target processes, running on one or more target nodes; and processing circuitry, which is configured, using a single dynamically-connected (DC) initiator context for serving requests the initiator host, to transmit via the network interface a first connect packet directed to the first target process and referencing the DC initiator context so as to open a first dynamic connection with the first target process, to receive via the network interface, in response to the first connect packet, a first acknowledgment packet containing a first session identifier (ID), and following receipt of the first acknowledgment packet, to transmit one or more first data packets containing the first session ID via the network interface over the first dynamic connection to the first target process, wherein the processing circuitry is configured to close the first dynamic connection after transmission of the first data packets, to transmit via the network interface a second connect packet directed to the second target process and referencing the DC initiator context so as to open a second dynamic connection with the second target process, to receive via the network interface, in response to the second connect packet, a second acknowledgment packet containing a second session identifier (ID), and following receipt of the second acknowledgment packet, to transmit one or more second data packets containing the second session ID via the network interface over the second dynamic connection to the second target process, wherein the processing circuitry is configured, upon a failure to receive the second acknowledgment packet within a predefined timeout period following transmission of the second connect packet, to transmit via the network interface a third connect packet directed to the second target process, and to await acknowledgment of the third connect packet before transmitting the one or more second data packets, and wherein the apparatus comprises a target node, on which the second target process is running, and which is configured to receive both the second and the third connect packets and to send over the network to the network interface both the second acknowledgment packet containing the second session ID and a third acknowledgment packet containing a third session ID in response to the third connect packet. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. Apparatus for communication, comprising:
-
a network interface, coupled to a packet network; a host interface, which is coupled to receive requests from an initiator process running on an initiator host to transmit data, via the packet network, to multiple target processes, including at least first and second target processes, running on one or more target nodes; and processing circuitry, which is configured, using a single dynamically-connected (DC) initiator context for serving requests the initiator host, to transmit via the network interface a first connect packet directed to the first target process and referencing the DC initiator context so as to open a first dynamic connection with the first target process, to receive via the network interface, in response to the first connect packet, a first acknowledgment packet containing a first session identifier (ID), and following receipt of the first acknowledgment packet, to transmit one or more first data packets containing the first session ID via the network interface over the first dynamic connection to the first target process, wherein the processing circuitry is configured to close the first dynamic connection after transmission of the first data packets, to transmit via the network interface a second connect packet directed to the second target process and referencing the DC initiator context so as to open a second dynamic connection with the second target process, to receive via the network interface, in response to the second connect packet, a second acknowledgment packet containing a second session identifier (ID), and following receipt of the second acknowledgment packet, to transmit one or more second data packets containing the second session ID via the network interface over the second dynamic connection to the second target process, wherein the DC initiator context has first and second configurations, wherein the first configuration causes the processing circuitry to request and wait for the first and second acknowledgment packets, while in the second configuration the processing circuitry transmits at least the first data packets immediately after the first connect packet without waiting for the first acknowledgment packet. - View Dependent Claims (19, 20)
-
Specification