DRIVER LEVEL SEGMENTATION
First Claim
1. A method for performing segmentation of a first data packet into a plurality of second data packets at a functionality of a device driver for a network interface device supported by a data processing system, each second data packet comprising a header and a segment of data from the first data packet and the network interface device being capable of supporting a communication link over a network with another network interface device, the method comprising:
- accepting the first data packet, the first data packet carrying data for transmission by the network interface device over the network;
forming a set of headers for the plurality of second data packets;
writing the set of headers to memory;
forming a specification, the specification indicating the headers in memory and the segments of data in the first data packet; and
requesting by means of the device driver transmission by the network interface device of the headers and the respective segments of data indicated in the specification so as to effect transmission of the second data packets over the network.
10 Assignments
0 Petitions
Accused Products
Abstract
A method for performing segmentation of a first data packet into a plurality of second data packets at a functionality of a device driver for a network interface device supported by a data processing system, each second data packet comprising a header and a segment of data from the first data packet and the network interface device being capable of supporting a communication link over a network with another network interface device, the method comprising: accepting the first data packet, the first data packet carrying data for transmission by the network interface device over the network; forming a set of headers for the plurality of second data packets; writing the set of headers to memory; forming a specification, the specification indicating the headers in memory and the segments of data in the first data packet; requesting by means of the device driver transmission by the network interface device of the headers and the respective segments of data indicated in the specification so as to effect transmission of the second data packets over the network.
-
Citations
43 Claims
-
1. A method for performing segmentation of a first data packet into a plurality of second data packets at a functionality of a device driver for a network interface device supported by a data processing system, each second data packet comprising a header and a segment of data from the first data packet and the network interface device being capable of supporting a communication link over a network with another network interface device, the method comprising:
-
accepting the first data packet, the first data packet carrying data for transmission by the network interface device over the network; forming a set of headers for the plurality of second data packets; writing the set of headers to memory; forming a specification, the specification indicating the headers in memory and the segments of data in the first data packet; and requesting by means of the device driver transmission by the network interface device of the headers and the respective segments of data indicated in the specification so as to effect transmission of the second data packets over the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
11-12. -12. (canceled)
-
24. A method for transmitting data by means of a data processing system, the system being capable of supporting an operating system and at least one application and having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the method comprising the steps of:
-
an application having data for transmission requesting a functionality of the operating system to send the data to be transmitted; responsive to that request; forming the data into at least one first data packet at a network protocol stack of the system; sending an indication to a device driver of the network interface device that the at least one first data packet is to be transmitted over the network; and subsequently; performing segmentation of each first data packet into a plurality of second data packets at a functionality of the device driver, each second data packet comprising a header and a segment of data; the segmentation step including; forming a set of headers for the plurality of second data packets; writing the set of headers to memory; and forming a specification, the specification indicating the headers in memory and the segments of data in the first data packet; requesting by means of the device driver transmission by the network interface device of the headers and the respective segments of data indicated in the specification so as to effect transmission of the second data packets over the network.
-
-
25-32. -32. (canceled)
-
33. A method for performing reassembly of data packets at a functionality of a device driver for a network interface device supported by a data processing system, each data packet comprising a header and a segment of data and being received by the network interface device over a communication link with another network interface device, the method comprising:
-
accepting data packets from the network interface device at the functionality of the device driver; enqueueing each data packet of a first set of the data packets at a first queue in memory, the first queue comprising at least a first data packet; modifying the header of the first data packet in the first queue so as to include the segment of data of each newly-enqueued data packet of the first set; defining a specification, the specification indicating the segments of data of the newly-enqueued data packets of the first set in the first queue; and
,in response to one or more first predetermined conditions being met; causing a superpacket comprising the header of the first data packet in the first queue and the segments of data indicated by the specification to be passed to a network protocol stack of the data processing system for subsequent protocol processing. - View Dependent Claims (34, 35, 36, 37, 38, 40, 41)
-
-
39. (canceled)
-
42. A method for performing reassembly of data packets at a functionality of a device driver for a network interface device supported by a data processing system, each data packet comprising a header and a segment of data and being received by the network interface device over a communication link with another network interface device, the method comprising:
-
accepting data packets from the network interface device at the functionality of the device driver; if one or more second predetermined conditions are met, passing the data packets to the network protocol stack of the data processing system for subsequent protocol processing; and if the one or more second predetermined conditions are not met; enqueueing each data packet of a first set of the data packets at a first queue in memory, the first queue comprising at least a first data packet; modifying the header of the first data packet in the first queue so as to include the segment of data of each newly-enqueued data packet of the first set; and defining a specification, the specification indicating the segments of data of the newly-enqueued data packets of the first set in the first queue, the method further comprising, in response to one or more first predetermined conditions being met, causing a superpacket comprising the header of the first data packet in the first queue and the segments of data indicated by the specification to be passed to a network protocol stack of the data processing system for subsequent protocol processing. - View Dependent Claims (43)
-
Specification