Claims
- 1. A system for prioritizing and queuing traffic from a plurality of data streams, comprising:
a queuing structure having a plurality of queues; processing circuitry; and a search engine implemented on the processing circuitry and configured to search and edit the queues in order to manage traffic at a given instance in time by traversing each of the queues in a predetermined manner to identify and remove eligible entries from each queue that need to be transmitted, wherein the traffic was previously classified as to type and traffic elements were previously loaded onto selected queues with other traffic elements having a similar traffic type.
- 2. The system of claim 1 wherein each queue comprises a linked-list, and the search engine is configured to load traffic onto a selected one of the linked-lists.
- 3. The system of claim 1 wherein the search engine implements eligibility rules to retrieve traffic elements based on priority from the queues.
- 4. The system of claim 3 wherein the search engine implements traffic prioritization rules.
- 5. The system of claim 4 wherein the traffic prioritization rules comprise backpressure.
- 6. The system of claim 4 wherein the traffic prioritization rules include priority rules that implement priority order scheduling of traffic elements.
- 7. The system of claim 1 wherein the search engine implements eligibility rules to retrieve traffic elements based on round-robin scheduling from the queues.
- 8. The system of claim 1 wherein the search engine implements eligibility rules to retrieve traffic elements based on weighted round-robin scheduling from the queues.
- 9. The system of claim 1 wherein the queuing structure comprises a hardware-based queuing structure.
- 10. The system of claim 1 wherein the search engine searches the plurality of queues in a starve-mode fashion from a queue having highest priority traffic to a queue having lowest priority traffic.
- 11. The system of claim 1 further comprising memory, wherein the queuing structure is implemented in the memory.
- 12. The system of claim 1 wherein the search engine traverses each of the queues in a priority order from most pressing traffic to least pressing traffic.
- 13. The system of claim 1 wherein the search engine traverses the queues in a priority order to identify most pressing traffic available at that instant in time.
- 14. The system of claim 1 wherein the search engine applies backpressure to retrieve traffic elements from the priority queues.
- 15. The system of claim 1 wherein the search engine applies priority rules to retrieve previously classified traffic by priority from the queues.
- 16. The system of claim 1 wherein the search engine applies source rules to classify traffic by priority.
- 17. The system of claim 1 wherein the search engine applies rate rules to classify traffic by priority.
- 18. The system of claim 1 wherein the search engine applies time-based rules to classify traffic by priority.
- 19. The system of claim 1 wherein the search engine applies a plurality of rules to determine eligibility of traffic elements by priority and calculates a “best fit” across all of the rules to retrieve traffic elements from the queues based on the priority from the rules.
- 20. A method for prioritizing and queuing traffic from a plurality of data streams, comprising:
providing a queue structure including a plurality of queues; loading traffic onto a selected queue with other traffic having a similar traffic type; and traversing each of the queues in a rule designated order to identify and remove eligible entries from each queue that need to be transmitted.
- 21. The method for prioritizing and queuing traffic in accordance with claim 20 further comprising applying at least one eligibility rule to retrieve traffic elements from the queues.
- 22. The method for prioritizing and queuing traffic in accordance with claim 20 further comprising applying a first eligibility rule and a second eligibility rule to retrieve traffic from the queues based on eligibility.
- 23. The method for prioritizing and queuing traffic in accordance with claim 22 further comprising calculating a “best fit” for traffic to be retrieved using at least one of the first eligibility rule and the second eligibility rule.
- 24. The method for prioritizing and queuing traffic in accordance with claim 23 further comprising transmitting the “best fit” traffic onto ports served by the queue structure.
- 25. The method for prioritizing and queuing traffic in accordance with claim 20 wherein providing a queue structure comprises providing a plurality of linked-lists, loading traffic comprises loading traffic onto a selected linked-list, and traversing comprises traversing each of the linked-lists in a priority order to identify and remove eligible entries from each linked-list.
- 26. The method for prioritizing and queuing traffic in accordance with claim 25 further comprising editing one of the linked-lists by extracting an eligible entry from the linked-list and repairing a link in the linked-list to a next entry in the linked-list.
- 27. The method for prioritizing and queuing traffic in accordance with claim 20 wherein traversing each of the queues comprises searching multiple linked-lists at line rate.
- 28. The method of prioritizing and queuing traffic in accordance with claim 21 further comprising editing linked-lists at line rate.
- 29. A system for retrieving traffic elements from priority queues, comprising:
queuing means for storing traffic elements in a plurality of queues; processing means; and searching means for searching and editing the queues in order to manage traffic at a given instance in time by traversing each of the queues in a designated order to identify and remove eligible entries from each queue that need to be transmitted, wherein the traffic was previously classified as to type and traffic elements were previously loaded onto selected queues with other traffic elements having a similar traffic type.
- 30. The system of claim 29 wherein the searching means is configured to implement traffic eligibility rules to retrieve traffic elements from the queues.
- 31. The system of claim 30 wherein the eligibility rules retrieve traffic elements based on a priority order for the traffic elements.
- 32. The system of claim 31 wherein the traffic eligibility rules implement destination-based back pressure.
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] This application claims the benefits of U.S. patent application Ser. No. 10/224,508, which was filed Aug. 19, 2002; Ser. No. 10/224,353, which was filed Aug. 19, 2002; and Ser. No. 10/231,788, which was filed Aug. 29, 2002, and all of which are incorporated by reference herein.