Apparatus and method for packet forwarding with quality of service and rate control
First Claim
1. An apparatus for processing data packets received from a data network and forwarding the data packets to their destination according to a predefined transfer rate, the apparatus comprising:
- at least one lower layer processing unit for receiving data packets from an external source and storing the data packets into an external memory buffer;
a header extracting unit in communication with the at least one lower layer processing unit, the header extracting unit capable of extracting header information from each received data packet;
a plurality of tables, each table having a plurality of entries of table information;
a search engine arbiter for receiving the extracted header information from the header extracting unit and comparing the extracted header information against the plurality of tables, the search engine creating a new header information for each received data packet based on comparison results, the search engine further being capable of discarding the extracted header information based on the comparison results;
a plurality of output queues, each output queue having an output rate and an availability indicator of queuing additional data;
a random early drop module for receiving the extracted header information from the search engine arbiter and distributing the extracted header information among the plurality of output queues, the random early drop module monitoring the availability indicator in each output queue and being capable of discarding the extracted header information; and
a plurality of transfer rate control modules for receiving the extracted header information from the plurality of output queues, each transfer rate control module being in communication with an output queue and controlling the output rate for the output queue, wherein the at least one lower layer processing unit receives the extracted header information and retrieves the data packet identified by the extracted header information and transmits the data packet to the destination identified in the new header information.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for forwarding data packets with quality of service and rate control. A plurality of data packets are received from a plurality of sources. The header information of each data packet is extracted and compared against a plurality of tables, and then new header information is assembled based upon the comparison results. The data packets have their headers replaced by the new header information on the fly before being sent to their destinations, or the new header information may be dropped if certain conditions are met.
-
Citations
20 Claims
-
1. An apparatus for processing data packets received from a data network and forwarding the data packets to their destination according to a predefined transfer rate, the apparatus comprising:
-
at least one lower layer processing unit for receiving data packets from an external source and storing the data packets into an external memory buffer;
a header extracting unit in communication with the at least one lower layer processing unit, the header extracting unit capable of extracting header information from each received data packet;
a plurality of tables, each table having a plurality of entries of table information;
a search engine arbiter for receiving the extracted header information from the header extracting unit and comparing the extracted header information against the plurality of tables, the search engine creating a new header information for each received data packet based on comparison results, the search engine further being capable of discarding the extracted header information based on the comparison results;
a plurality of output queues, each output queue having an output rate and an availability indicator of queuing additional data;
a random early drop module for receiving the extracted header information from the search engine arbiter and distributing the extracted header information among the plurality of output queues, the random early drop module monitoring the availability indicator in each output queue and being capable of discarding the extracted header information; and
a plurality of transfer rate control modules for receiving the extracted header information from the plurality of output queues, each transfer rate control module being in communication with an output queue and controlling the output rate for the output queue, wherein the at least one lower layer processing unit receives the extracted header information and retrieves the data packet identified by the extracted header information and transmits the data packet to the destination identified in the new header information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for processing at a device receiving data packets from a data network and forwarding the data packets to a destination according to a predefined transfer rate, comprising the steps of:
-
receiving a plurality of data packets from a plurality of sources at the device;
extracting a header information from each of the plurality of data packets;
comparing the extracted header information with at least one table;
if the extracted header information matches one entry in the at least one table, creating a new header information for each of the plurality of data packets;
if the extracted header information does not match any entry in the at least one table, discarding the extracted header information;
transmitting the extracted header information to a random early drop module in the device;
distributing the extracted header information among a plurality of queues;
discarding the extracted header information from a queue if the output rate of the queue exceeds a predefined criterion;
inserting the new header information in the data packet; and
transmitting the data packet to the destination listed in the new header information. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A gateway for processing data packets received from a plurality of data network and forwarding the data packets to their destination according to a predefined transfer rate, the gateway comprising:
-
a plurality of lower layer processing units, each lower layer processing unit connecting to at least one data link and receiving data packets from the at least one data link;
a header extracting unit in communication with the plurality of lower layer processing units, the header extracting unit being capable of extracting header information from the data packets received by the plurality of lower layer processing unit;
at least one table having a plurality of entries of traffic information;
a search engine arbiter unit for comparing the extracted header information received from the header extracting unit with the at least one table, the search engine arbiter being capable of generating a new header related information based on comparison results;
a flow control unit for receiving the extracted header information from the search engine arbiter unit and discarding the data packet associated with the extracted header information according to a predefined criterion; and
a plurality of output control units for receiving the extracted header information from the flow control unit and distributing the extracted header information to the lower layer processing unit, wherein the lower layer processing unit transmits a data packet associated with the extracted header information to a destination after inserting the new header related information in the data packet. - View Dependent Claims (18, 19, 20)
-
Specification