Selectively enabling network packet concatenation based on metrics
First Claim
1. A network device for communicating data over a network, comprising:
- a transceiver to send and receive data over the network; and
a processor that is operative to perform actions comprising;
determining at least one metric, wherein at least one of the metrics is based on a comparison of a time data spends in a send-queue when concatenation is performed on the data to another time when other data spends in the send-queue in absence of concatenation of data;
receiving a first packet of data for transmission over the network;
selectively concatenating data of the first packet with data of a subsequently received second packet at least partly based on the at least one metric; and
sending the data of the concatenated packet.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and apparatus are directed towards selectively concatenating data into a packet to modify a number of packets transmitted over a network based on a combination of network and/or send-queue metrics. In one embodiment, Nagle'"'"'s algorithm is used for concatenating data into a packet. The concatenation may be selectively enabled based on heuristics applied to the combination of metrics. In one embodiment, the result may indicate that there should be a concatenation, or that data should be sent immediately, or that a current state for whether to concatenate or not should be maintained. The heuristics may include an expert system, decision tree, truth table, function, or the like. The heuristics may be provided by a user, or another computing device. In another embodiment, the concatenation may be enabled based on a conditional probability determined from the combination of metrics.
-
Citations
32 Claims
-
1. A network device for communicating data over a network, comprising:
-
a transceiver to send and receive data over the network; and a processor that is operative to perform actions comprising; determining at least one metric, wherein at least one of the metrics is based on a comparison of a time data spends in a send-queue when concatenation is performed on the data to another time when other data spends in the send-queue in absence of concatenation of data; receiving a first packet of data for transmission over the network; selectively concatenating data of the first packet with data of a subsequently received second packet at least partly based on the at least one metric; and sending the data of the concatenated packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method useable in communicating data over a network, comprising:
-
determining at least one metric that includes a send-queue metric that is based on a comparison of a depth of a send-queue when concatenation of data is performed to another depth of the send-queue in absence of concatenation of data; receiving a first packet of data for transmission over the network; selectively combining data of the first packet with data of a second packet at least partly based on the at least one metric, and if a combination of a latency metric and a bandwidth metric is above a threshold; and sending the selectively combined data over the network. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A network device for communicating data over a network, comprising:
-
a transceiver to send and receive data over the network; and a processor that is operative to perform actions comprising; determining at least one metric that comprises a send-queue metric, wherein the send-queue metric is based on a comparison of a time data spends in a send-queue when concatenation of data is performed to another time another data spends in the send-queue in an absence of concatenation of data; receiving data; and selectively combining the received data with other data into a network packet based in part on the at least one metric. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. An apparatus for communicating over a network comprising:
a processor that is operative to perform actions comprising; determining at least one metric that is a send-queue metric based on a comparison of a depth of a send-queue when concatenation of data is performed to another depth of the send-queue in an absence of concatenation of data; receiving a first packet of data for transmission over the network; and means for selectively combining data of the first packet with data of a second packet at least partly based on the at least one metric.
-
28. A network device for communicating data over a network, comprising:
-
a transceiver to send and receive data over the network; and a processor that is operative to perform actions comprising; determining at least one metric, wherein at least one of the metrics is based on a comparison of a time data spends in a send-queue when concatenation is performed on the data to another time when other data spends in the send-queue in absence of concatenation of data; receiving data; selectively coalescing the received data with other data into a network packet based in part on the at least one metric; and sending the coalesced data, if a latency metric is above a latency threshold and a bandwidth metric is above a bandwidth threshold. - View Dependent Claims (29, 30, 31, 32)
-
Specification