TCP receiver acceleration
First Claim
1. A transport protocol receiver for receiving a packet from a network, the packet having a header, payload, and connection context, the receiver comprising:
- an analysis engine, coupled to receive the packet from the network and adapted to parse and validate the header, locate the connection context, and generate a classification of the header;
a context processing engine, coupled to the analysis engine, and adapted to evaluate and update the connection context, responsive to the classification; and
a data dispatch engine, coupled to the analysis engine and the context processing engine, and adapted to convey the payload to a destination, responsive to the connection context, such that the analysis engine, the context processing engine, and the data dispatch engine operate substantially asynchronously.
15 Assignments
0 Petitions
Accused Products
Abstract
A transport protocol receiver for receiving a packet from a network, the packet having a header, payload, and connection context. The receiver includes an analysis engine, coupled to receive the packet from the network and adapted to parse and validate the header, locate the connection context, and generate a classification of the header. The receiver further includes a context processing engine, coupled to the analysis engine, and adapted to evaluate and update the connection context, responsive to the classification; and a data dispatch engine, coupled to the analysis engine and the context processing engine, and adapted to convey the payload to a destination, responsive to the connection context, such that the analysis engine, the context processing engine, and the data dispatch engine operate substantially asynchronously.
-
Citations
38 Claims
-
1. A transport protocol receiver for receiving a packet from a network, the packet having a header, payload, and connection context, the receiver comprising:
-
an analysis engine, coupled to receive the packet from the network and adapted to parse and validate the header, locate the connection context, and generate a classification of the header;
a context processing engine, coupled to the analysis engine, and adapted to evaluate and update the connection context, responsive to the classification; and
a data dispatch engine, coupled to the analysis engine and the context processing engine, and adapted to convey the payload to a destination, responsive to the connection context, such that the analysis engine, the context processing engine, and the data dispatch engine operate substantially asynchronously. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A transport protocol receiver accelerator for disposing of a packet received on a network, comprising:
-
a first processor, adapted to perform a first stage of processing on the packet during a first period of time, so as to generate a classification responsive to data in a packet header;
a second processor, adapted to perform a second stage of processing on the packet during a second period of time independent of the first period of time, responsive to the classification; and
a forwarding data bus coupled between the first and second processors, so as to convey the classification from the first processor to the second processor. - View Dependent Claims (16, 17, 18)
-
-
19. A transport protocol processor for receiving a packet from a network, the packet having a header in accordance with a transport protocol, the processor comprising:
-
a plurality of accelerated stages coupled in a pipeline and adapted to perform successive, respective classifications of the header;
a plurality of non-accelerated stages, adapted to receive and process the header responsive to the classifications, such that the accelerated and non-accelerated stages together perform substantially all steps required to process the header in accordance with the transport protocol; and
routing logic, coupled to each of the accelerated stages, implemented to convey the header, following each of the stages, to a next stage selected from the accelerated stages and non-accelerated stages.
-
-
20. A method for receiving a packet from a network, the packet having a header, payload, and connection context in accordance with a transport protocol, comprising:
-
receiving the packet in an analysis engine which is coupled to the network;
parsing, validating, and generating a classification of the header in the analysis engine;
locating the connection context in the analysis engine;
evaluating and updating the connection context in a context processing engine, responsive to the classification; and
conveying the payload to a destination, responsive to the connection context, from a data dispatch engine coupled to the analysis engine and the context processing engine, so that the analysis engine, the context processing engine, and the data dispatch engine operate substantially asynchronously. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method for disposing of a packet received from a network, comprising:
-
performing in a first processor a first stage of processing on the packet during a first period of time, so as to generate a classification responsive to data in a packet header;
performing in a second processor a second stage of processing on the packet during a second period of time independent of the first period of time, responsive to the classification; and
conveying the classification from the first processor to the second processor via a forwarding data bus coupled to the first and second processors. - View Dependent Claims (35, 36, 37)
-
-
38. A method for receiving a packet from a network, the packet having a header in accordance with a transport protocol, the processor comprising:
-
providing a plurality of accelerated stages coupled in a pipeline and adapted to perform successive, respective classifications of the header;
providing a plurality of non-accelerated stages, adapted to receive and process the header responsive to the classifications, such that the accelerated and non-accelerated stages together perform substantially all steps required to process the header in accordance with the transport protocol; and
conveying the header, following each of the stages, to a next stage selected from the accelerated stages and non-accelerated stages, by routing logic coupled to each of the accelerated stages.
-
Specification