Multi-data receive processing according to a data communication protocol
First Claim
Patent Images
1. A network device comprising:
- a driver module for communicating with a network, wherein the driver module receives a plurality of data packets;
a protocol module communicatively coupled to the driver module, wherein the protocol module processes aggregated headers of the plurality of data packets to provide routing and flow control; and
an application communicatively coupled to the protocol module, wherein the application module processes aggregated payloads of the plurality of data packets.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide for multi-data receiving and processing by a network communication protocol. The present invention aggregates multiple data packets destined for the same application. The present invention also provides for header/payload splitting. The present invention also provides for the separate processing of aggregated headers and aggregated payloads. As a result, per-packet processing costs are reduced and data locality is increased.
60 Citations
33 Claims
-
1. A network device comprising:
-
a driver module for communicating with a network, wherein the driver module receives a plurality of data packets;
a protocol module communicatively coupled to the driver module, wherein the protocol module processes aggregated headers of the plurality of data packets to provide routing and flow control; and
an application communicatively coupled to the protocol module, wherein the application module processes aggregated payloads of the plurality of data packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of performing network communication comprising:
-
accessing a plurality of received data packets;
aggregating the received data packets;
splitting the received data packets into aggregated headers and aggregated payloads;
buffering the aggregate headers in a first contiguous memory block;
buffering the aggregate payloads in a second contiguous memory block;
buffering metadata in a third contiguous memory block, wherein the metadata comprises characteristics of the buffered aggregate headers and buffered aggregated payloads;
processing the buffered aggregated headers according to a network communication protocol; and
providing the buffered aggregated payloads to a destination application. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A mechanism for performing network communication comprising:
-
a means for processing aggregated headers of a plurality of received data packets according to a protocol; and
a means for providing aggregated payloads of the plurality of received data packets to a destination application. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A computer-readable medium having instructions which when executed by a network device causes the network device to implement a multi-data receiving method, the method comprising:
-
receiving data packets;
aggregating the data packets in memory;
splitting the data packets into headers and payloads;
buffering aggregated headers in a first contiguous memory block;
buffering aggregated payloads in a second contiguous memory block;
buffering metadata in a third contiguous memory block, wherein the metadata comprises characteristics of the buffered aggregated headers and buffered aggregated payloads;
processing the buffered aggregated headers according to a network communication protocol; and
providing the buffered aggregated payloads to a destination application. - View Dependent Claims (31, 32, 33)
-
Specification