Selectively enabling packet concatenation based on a transaction boundary
First Claim
1. A network device, comprising:
- a memory device having stored thereon computer-instructions; and
one or more processors that executes the stored computer-instructions to perform actions, including;
receiving a first packet of data for transmission over a network;
monitoring for a concatenation termination (CT) event;
until a CT event is detected, selectively concatenating data of the first packet with data of a subsequently received second packet, wherein the first packet and the second packet include data for an application layer transaction, and transmitting concatenated packets over the network;
when the CT event is detected;
disabling concatenation of packet data, andselectively sending a short packet of data over the network, the short packet including less than a predetermined amount of data to be concatenated and being less than a full packet buffer; and
when a concatenation re-enabling (CR) event is detected, re-enabling concatenation of data from subsequent packets for sending over the network.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, apparatus, and method are directed towards selectively combining data into a packet to modify a number of packets transmitted over a network based on a detection of a transaction boundary. If it is determined to concatenate the data, such concatenation may continue until an acknowledgement (ACK) is received, or a predetermined amount of data is concatenated in the packet, or a transaction boundary is detected. If at least one of these conditions is satisfied, concatenation may be inhibited, and the packet may be sent. Concatenation is then re-enabled. In one embodiment, Nagle'"'"'s algorithm is used for concatenating data into a packet. In one embodiment, an ACK may be sent based on a write completion indicator included within a packet. Receipt of the ACK may disable concatenation.
-
Citations
20 Claims
-
1. A network device, comprising:
-
a memory device having stored thereon computer-instructions; and one or more processors that executes the stored computer-instructions to perform actions, including; receiving a first packet of data for transmission over a network; monitoring for a concatenation termination (CT) event; until a CT event is detected, selectively concatenating data of the first packet with data of a subsequently received second packet, wherein the first packet and the second packet include data for an application layer transaction, and transmitting concatenated packets over the network; when the CT event is detected; disabling concatenation of packet data, and selectively sending a short packet of data over the network, the short packet including less than a predetermined amount of data to be concatenated and being less than a full packet buffer; and when a concatenation re-enabling (CR) event is detected, re-enabling concatenation of data from subsequent packets for sending over the network. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising a non-transitory computer readable medium, having computer-executable instructions stored thereon, that in response to execution by a client device, cause the client device to perform operations, comprising:
-
monitoring for a concatenation termination (CT) event; receiving a first packet of data for transmission over a network; until a CT event is detected, selectively concatenating data of the first packet with data of a subsequently received second packet, wherein the first packet and the second packet include data for an application layer transaction, and sending packets of concatenated data over the network; when the CT event is detected; disabling concatenation of packet data, and selectively sending a short packet of data over the network, the short packet including less than a predetermined amount of data to be concatenated and being less than a full packet buffer; and when a concatenation re-enabling (CR) event is detected, re-enabling concatenation of data from subsequent packets for sending over the network. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a sender network device having a processor that performs actions, including; monitoring for a concatenation termination (CT) event; receiving a first packet of data for transmission; until a CT event is detected, selectively concatenating data of the first packet with data of a subsequently received second packet, wherein the first packet and the second packet include data for an application layer transaction, and transmitting packets of concatenated data; when the CT event is detected; disabling concatenation of packet data, and selectively transmitting a short packet of data, the short packet including less than a predetermined amount of data to be concatenated and being less than a full packet buffer; and when a concatenation re-enabling (CR) event is detected, re-enabling concatenation of data from subsequent packets for transmission; and a receiver network device having a processor that performs actions, including; receiving packets having concatenated data; receiving the short packet; and selectively providing a CT or CR event to the sender network device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification