Selectively enabling packet concatenation based on a transaction boundary
First Claim
1. A network device, comprising:
- memory to store data; and
one or more processors operative to perform actions, comprising;
receiving a packet of data that is a concatenation of data from at least a first packet of data and a second packet of data, the concatenation being based at least on a detection of an application layer transaction boundary;
selectively delaying sending an acknowledgement (ACK) in response to the received packet;
in response to receiving a short packet of data that is less than a determined amount of data to be concatenated, sending a delayed ACK that re-enables concatenation so that a subsequently received packet of data is to include concatenated data;
in response to receiving a write completion indicator, sending an undelayed ACK; and
in response to sending the undelayed ACK, receiving an other short packet.
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
18 Claims
-
1. A network device, comprising:
-
memory to store data; and one or more processors operative to perform actions, comprising; receiving a packet of data that is a concatenation of data from at least a first packet of data and a second packet of data, the concatenation being based at least on a detection of an application layer transaction boundary; selectively delaying sending an acknowledgement (ACK) in response to the received packet; in response to receiving a short packet of data that is less than a determined amount of data to be concatenated, sending a delayed ACK that re-enables concatenation so that a subsequently received packet of data is to include concatenated data; in response to receiving a write completion indicator, sending an undelayed ACK; and in response to sending the undelayed ACK, receiving an other short packet. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A processor based method, comprising:
-
receiving a packet having data that is a concatenation of data from at least a first packet of data and a second packet of data, the concatenation being based at least on a detection of an application layer transaction boundary; selectively delaying sending an acknowledgement (ACK) in response to the received packet; in response to receiving a short packet of data that is less than a determined amount of data to be concatenated, sending a delayed acknowledgement (ACK) that re-enables concatenation so that a subsequently received packet of data includes concatenated data; in response to receiving a write completion indicator, sending an undelayed ACK; and in response to sending the undelayed ACK, receiving an other short packet. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A system, comprising:
-
a processor based sender that performs actions, including; selectively concatenating data of a first packet of data with a subsequent second packet of data based, in part, on a detection of an application layer transaction boundary; and a processor based receiver that performs actions, including; receiving the packet of concatenated data; selectively delaying sending an acknowledgement (ACK) in response to the received packet; in response to receiving a short packet of data that is less than a determined amount of data to be concatenated, sending a delayed ACK that re-enables concatenation so that a subsequently received packet of data includes concatenated data; in response to receiving a write completion indicator, sending an undelayed ACK; and in response to sending the undelayed ACK, receiving an other short packet. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification