Hardware self-sorting scheduling queue
AssigneeNull Networks LLC
InventorXinming Lin
Life of this patent
Estimating the term…
Abstract
The scheduling queue of the present invention is configured as a systolic array utilizing self-sorting scheduling cells to sort information packets based upon previously assigned priorities, while at the same time yielding a small constant latency independent of the length of the queue. The scheduling queue of the present invention is effective in supporting various Quality of Service (QoS) policies and algorithms, including both Differentiated Services (DiffServ) and Integrated Services (IntServ) having an arbitrary number of flows.
Claims22
1-21. (canceled)
A method comprising:
- receiving a first tag identifying a location for a first packet;
- receiving a second tag identifying a priority associated with said first packet;
- receiving a third tag identifying a location for a second packet;
- receiving a fourth tag identifying a priority associated with said second packet;
- storing said first and second tags in a particular queue cell of a queue comprising a plurality of queue cells;
- and
- passing said first and second tags to one of said plurality of queue cells preceding said particular queue cell in response to receipt of a pop signal at said particular queue cell.
A method comprising:
- receiving a first tag identifying a location for a first packet;
- receiving a second tag identifying a priority associated with said first packet;
- receiving a third tag identifying a location for a second packet;
- receiving a fourth tag identifying a priority associated with said second packet;
- storing said first and second tags in a queue cell of a queue comprising a plurality of queue cells;
- and
- in response to receipt of a push signal at said queue cell, determining a relative order of precedence between said first and second packets based, at least in part, on a comparison of said second and fourth tags.
An apparatus comprising
- an integrated circuit, said integrated circuit being adapted to:
- receive a first tag identifying a location for a first packet;
- receive a second tag identifying a priority associated with said first packet;
- receive a third tag identifying a location for a second packet;
- receive a fourth tag identifying a priority associated with said second packet;
- store said first and second tags in a particular queue cell of a queue comprising a plurality of queue cells;
- and
- pass said first and second tags to one of said plurality of queue cells preceding said particular queue cell in response to receipt of a pop signal at said particular queue cell.
An apparatus comprising:
- an integrated circuit, said integrated circuit being adapted to:
- receive a first tag identifying a location for a first packet;
- receive a second tag identifying a priority associated with said first packet;
- receive a third tag identifying a location for a second packet;
- receive a fourth tag identifying a priority associated with said second packet;
- store said first and second tags in a queue cell of a queue comprising a plurality of queue cells;
- and
- in response to receipt of a push signal at said queue cell, determine a relative order of precedence between said first and second packets based, at least in part, on a comparison of said second and fourth tags.
A system comprising:
- a memory;
- a classification engine to receive data packets and store portions of at least some of said data packets in said memory and to generate flow information;
- a network processor to associate a quality of service to said stored data packets based, at least in part, on said flow information;
- and
- a traffic manager, said traffic manager being adapted to:
- receive a first tag identifying a location of a first packet in said memory;
- receive a second tag identifying a priority associated with said first packet;
- receive a third tag identifying a location of a second packet in said memory;
- receive a fourth tag identifying a priority associated with said second packet;
- store said first and second tags in a particular queue cell of a queue comprising a plurality of queue cells;
- and
- pass said first and second tags to one of said plurality of queue cells preceding said particular queue cell in response to receipt of a pop signal at said particular queue cell.
A system comprising:
- a memory;
- a classification engine to receive data packets and store portions of at least some of said data packets in said memory and to generate flow information;
- a network processor to associate a quality of service to said stored data packets based, at least in part, on said flow information;
- and
- a traffic manager, said traffic manager being adapted to:
- receive a first tag identifying a location for a first packet in said memory;
- receive a second tag identifying a priority associated with said first packet;
- receive a third tag identifying a location for a second packet in said memory;
- receive a fourth tag identifying a priority associated with said second packet;
- store said first and second tags in a queue cell of a queue comprising a plurality of queue cells;
- and
- in response to receipt of a push signal at said queue cell, determine a relative order of precedence between said first and second packets based, at least in part, on a comparison of said second and fourth tags.
Dependencies are inferred from the claim text.