Method and system for frame aggregation
First Claim
1. A machine implemented method, comprising;
- receiving a frame as part of an input/output (I/O) exchange at a network device coupled to a computing system to read or write information;
determining that the frame meets a first level eligibility criterion for aggregation;
wherein the frame is eligible for aggregation when the frame is a data frame for the I/O exchange identified as a large I/O operation; and
a frame header meets an eligibility criteria;
when the frame does not meet the first level eligibility criterion and an active aggregation exists for the exchange, then a previous aggregation data unit for the exchange with an appended header and the received frame are sent to a transport layer for further processing;
when the frame meets the first level eligibility criterion, checking a data structure maintained by the network device to determine that an aggregation flow exists for the exchange;
determining that the frame meets an active aggregation criterion, when an active aggregation and the aggregation flow exists for the exchange;
aggregating a payload of the frame to an existing aggregation data unit when the active aggregation criterion is met; and
sending the existing aggregation data unit with the aggregated payload and an appended header as an aggregated frame to the transport layer when the frame is the last frame of a sequence.
7 Assignments
0 Petitions
Accused Products
Abstract
Method and system for aggregating frames at a network device coupled to computing system is provided. The network device includes an aggregator module that is configured to determine that a frame received by the device meets a first level eligibility criterion for aggregation, where the frame meets the first level eligibility criterion when the frame is a data frame for the I/O exchange identified as a large I/O operation; and a frame header meets an eligibility criterion. When the frame does not meet the first level eligibility criterion and an active aggregation exists for the exchange, then a previous aggregation data unit with an appended header and the received frame are sent to a transport layer for further processing. When the frame meets the first level eligibility criterion, the aggregator module checks a data structure maintained by the network device to determine that an aggregation flow exists for the exchange.
13 Citations
21 Claims
-
1. A machine implemented method, comprising;
-
receiving a frame as part of an input/output (I/O) exchange at a network device coupled to a computing system to read or write information; determining that the frame meets a first level eligibility criterion for aggregation;
wherein the frame is eligible for aggregation when the frame is a data frame for the I/O exchange identified as a large I/O operation; and
a frame header meets an eligibility criteria;when the frame does not meet the first level eligibility criterion and an active aggregation exists for the exchange, then a previous aggregation data unit for the exchange with an appended header and the received frame are sent to a transport layer for further processing; when the frame meets the first level eligibility criterion, checking a data structure maintained by the network device to determine that an aggregation flow exists for the exchange; determining that the frame meets an active aggregation criterion, when an active aggregation and the aggregation flow exists for the exchange; aggregating a payload of the frame to an existing aggregation data unit when the active aggregation criterion is met; and sending the existing aggregation data unit with the aggregated payload and an appended header as an aggregated frame to the transport layer when the frame is the last frame of a sequence. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
2. The method further comprising:
when the frame does not meet the first level eligibility criterion and the active aggregation does not exist for the exchange, then the received frame is sent to the transport layer for further processing.
-
14. A machine implemented method, comprising;
-
receiving a frame as part of an input/output (I/O) exchange at a network device coupled to a computing system; determining that the frame meets a first level eligibility criterion for aggregation;
wherein the frame is eligible for aggregation when the frame is a data frame for the I/O exchange identified as a large I/O operation; and
a frame header meets an eligibility criteria;when the frame does not meet the first level eligibility criterion and an active aggregation exists for the exchange, then a previous aggregation data unit with an appended header and the received frame are sent to a transport layer for further processing; when the frame does not meet the first level eligibility criterion and the active aggregation does not exist for the exchange, then the received frame is sent to the transport layer for further processing; when the frame meets the first level eligibility criterion, checking a data structure maintained by the network device to determine that an aggregation flow exists for the exchange; starting the aggregation flow, when one does not exist for the exchange and using the received frame as a first frame for a new aggregation data unit; determining that the frame meets an active aggregation criterion, when an active aggregation and the aggregation flow exists for the exchange;
wherein when the active aggregation does not exist for the exchange, then a payload of the frame that meets the first level eligibility criterion becomes a first frame for the new aggregation data unit in an aggregation buffer;aggregating a payload of the frame to an existing aggregation data unit when the active aggregation criterion is met; and sending the existing aggregation data unit with the aggregated payload and an appended header to the transport layer when the frame is the last frame of a sequence. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A system comprising:
-
a computing system coupled to a network device that receives a frame for an input/output (I/O) exchange via a network connection; wherein the network device includes an aggregator module that is configured to; determine that the frame meets a first level eligibility criterion for aggregation;
wherein the frame meets the first level eligibility criterion when the frame is a data frame for the I/O exchange identified as a large I/O operation; and
a frame header meets an eligibility criteria;wherein when the frame does not meet the first level eligibility criterion and an active aggregation exists for the exchange, then a previous aggregation data unit with an appended header and the received frame are sent to a transport layer for further processing; and wherein when the frame meets the first level eligibility criterion, the aggregator module checks a data structure maintained by the network device to determine that an aggregation flow exists for the exchange;
determines that the frame meets an active aggregation criterion, when an active aggregation and the aggregation flow exists for the exchange;
aggregates a payload of the frame to an existing aggregation data unit when the active aggregation criterion is met; and
sends the existed aggregation data unit with the aggregated payload and an appended header to the transport layer when the frame is the last frame of a sequence.
-
Specification