Method and apparatus for performing high-speed traffic shaping
First Claim
1. A traffic shaper for use in determining transmission start times for network messages, the traffic shaper comprising:
- a plurality of queues for storing information relating to the network messages;
a queue controller operably coupled to the plurality of queues for storing the information in and retrieving the information from the plurality of queues;
a scheduler in communicating relationship with the queue controller, the scheduler configured to compute release times for the network messages;
a memory for storing the computed release times; and
a memory controller operably coupled to the memory, the memory controller configured to search the memory for computed release times,wherein release times are computed and stored in the memory as information relating to the network messages is retrieved from the queues.
1 Assignment
0 Petitions
Accused Products
Abstract
A network traffic shaper provides high-speed, multi-level shaping. The traffic shaper is in communicating relationship with a forwarding engine, and includes a queue controller having a plurality of queues for storing messages, a scheduler for computing release times, at least one time-searchable memory and a corresponding memory controller. Each queue is preferably associated with a corresponding traffic specifier, and a release time is computed for each queue and stored in the time-searchable memory. When a stored release time expires, the message at the head of the corresponding queue is retrieved and is either moved into a different queue or forwarded by the network device. By moving messages through two or more queues, each having its own release time computed in response to a different traffic specifier, the traffic shaper can perform multi-level shaping on network messages.
64 Citations
32 Claims
-
1. A traffic shaper for use in determining transmission start times for network messages, the traffic shaper comprising:
-
a plurality of queues for storing information relating to the network messages; a queue controller operably coupled to the plurality of queues for storing the information in and retrieving the information from the plurality of queues; a scheduler in communicating relationship with the queue controller, the scheduler configured to compute release times for the network messages; a memory for storing the computed release times; and a memory controller operably coupled to the memory, the memory controller configured to search the memory for computed release times, wherein release times are computed and stored in the memory as information relating to the network messages is retrieved from the queues. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for shaping network traffic by selectively releasing network messages, the method comprising the steps of:
-
providing a plurality of queues for storing data; associating each queue with a corresponding shaper identification (SID) value; receiving information related to a network message to be shaped, including a SID value; storing at least some of the received information at the queue corresponding to the received SID value; computing a release time for each queue containing network message information; storing the computed release times in a time-searchable memory structure; and upon expiration of a computed release time, dequeuing network message information from the queue corresponding to the expired release time. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A traffic shaper for use in determining transmission start times for network messages, the traffic shaper comprising:
-
a plurality of queues for storing information relating to the network messages; means for storing the information in and retrieving the information from the plurality of queues; means for computing release times for the network messages; a memory for storing the computed release times; and means for searching the memory for computed release times, wherein release times are computed and stored in the memory as information relating to the network messages is retrieved from the queues. - View Dependent Claims (22, 23, 24)
-
-
25. A computer readable medium containing executable program instructions for shaping network traffic by selectively releasing network messages, the executable program instructions comprising program instructions for:
-
providing a plurality of queues for storing data; associating each queue with a corresponding shaper identification (SID) value; receiving information related to a network message to be shaped, including a SID value; storing at least some of the received information at the queue corresponding to the received SID value; computing a release time for each queue containing network message information; storing the computed release times in a time-searchable memory structure; and upon expiration of a computed release time, dequeuing network message information from the queue corresponding to the expired release time. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
Specification