Claims
- 1. A method of bandwidth management for use in a packet forwarding device coupled to a network, the method comprising the steps of:
receiving at a packet forwarding device information indicative of one or more traffic groups; receiving at the packet forwarding device one or more bandwidth parameters for at least one of the one or more traffic groups; receiving at a first port of a plurality of ports a packet associated with the at least one traffic group; and scheduling the packet for transmission from a second port of the plurality of ports based upon the one or more bandwidth parameters for the at least one traffic group with which the packet is associated.
- 2. The method of claim 1, wherein the network employs a non-deterministic access protocol.
- 3. The method of claim 2, wherein the non-deterministic access protocol is Carrier Sense Multiple Access with Collision Detection (CSMA/CD).
- 4. The method of claim 1, wherein the one or more bandwidth parameters include a minimum bandwidth.
- 5. The method of claim 1, wherein the one or more bandwidth parameters include a maximum bandwidth.
- 6. The method of claim 1, wherein the one or more bandwidth parameters include a peak bandwidth.
- 7. The method of claim 1, wherein the one or more bandwidth parameters include a maximum delay.
- 8. The method of claim 1, wherein the one or more bandwidth parameters include a relative priority.
- 9. The method of claim 1, further comprising the steps of:
classifying the packet as being associated with the at least one traffic group; and determining a quality of service queue with which the at least one traffic group is associated.
- 10. The method of claim 1, further comprising the steps of:
enqueuing the packet onto a queue associated with the traffic group; determining a current bandwidth metric for the queue; and dequeuing the packet from the queue if the current bandwidth metric meets a predetermined relationship with the one or more bandwidth parameters.
- 11. The method of claim 10, wherein the current bandwidth metric is evaluated periodically at the expiration of a predetermined time period, and wherein the step of determining a current bandwidth metric for the queue further comprises the steps of:
determining an actual bandwidth for a prior time period; determining a bandwidth metric for the prior time period; and combining a portion of the actual bandwidth for the prior time period with a portion of the bandwidth metric for the prior time period to arrive at the current bandwidth metric.
- 12. A method of bandwidth management and traffic prioritization for use in a network of devices, the method comprising the steps of:
defining at a packet forwarding device information indicative of one or more traffic groups; defining at the packet forwarding device information indicative of a quality of service (QoS) policy for at least one of the one or more traffic groups; receiving a packet at a first port of a plurality of ports; identifying a first traffic group of the one or more traffic groups with which the packet is associated; and scheduling the packet for transmission from a second port of the plurality of ports based upon the QoS policy for the first traffic group, and wherein the scheduling is independent of end-to-end signaling.
- 13. The method of claim 12, wherein the network of devices employs a non-deterministic access protocol.
- 14. The method of claim 13, wherein the non-deterministic access protocol is Carrier Sense Multiple Access with Collision Detection (CSMA/CD).
- 15. The method of claim 12, further comprising the steps of:
providing a plurality of QoS queues; and mapping the first traffic group to a first QoS queue of the plurality of QoS queues.
- 16. The method of claim 15, further comprising the steps of:
determining a current bandwidth metric for each of the plurality of QoS queues; dividing the plurality of QoS queues into at least a first group and a second group based upon the current bandwidth metrics and a minimum bandwidth requirement associated with each of the plurality of QoS queues; if the first group includes at least one QoS queue, then transmitting a packet from the at least one QoS queue; otherwise transmitting a packet from a QoS queue associated with the second group.
- 17. A method of bandwidth management and traffic prioritization for use in a network of devices, the method comprising the steps of:
receiving at a packet forwarding device information indicative of one or more traffic groups; receiving at the packet forwarding device information defining a quality of service (QoS) policy for at least one of the one or more traffic groups, the QoS policy including at least a minimum bandwidth; providing a plurality of queues at each of a plurality of output ports; associating the one or more traffic groups with the plurality of queues based upon the minimum bandwidth; and scheduling a packet for transmission from one of the plurality of queues onto the network.
- 18. The method of claim 17, wherein the information indicative of the one or more traffic groups includes Internet Protocol (IP) subnet membership.
- 19. The method of claim 18, wherein the information indicative of the one or more traffic groups includes a media access control (MAC) address.
- 20. The method of claim 17, wherein the information indicative of the one or more traffic groups includes a virtual local area network (VLAN) identifier.
- 21. A method of bandwidth management and traffic prioritization for use in a network of devices, the method comprising the steps of:
providing a plurality of quality of service (QoS) queues at each of a plurality of output ports, each of the plurality of QoS queues associated with a minimum queue bandwidth requirement; adding a packet to one of the plurality of QoS queues based upon a traffic group with which the packet is associated; and scheduling a next packet for transmission onto the network from one of the plurality of QoS queues at a particular output port of the plurality of output ports by:
determining a current bandwidth metric for each of the plurality of QoS queues, dividing the plurality of QoS queues into at least a first group and a second group based upon the current bandwidth metrics and the minimum queue bandwidth requirements, and if at least one QoS queue of the plurality of QoS queues, so divided, is associated with the first group, then transmitting a packet from the at least one QoS queue; otherwise transmitting a packet from a QoS queue of the plurality of QoS queues associated with the second group.
- 22. The method of claim 21, wherein the current bandwidth for a particular QoS queue is calculated as follows:
- 23. The method of claim 22, wherein W1=(W−1)/W,
W2=1/W, and the previous time interval is the most recent time interval.
- 24. The method of claim 21, further comprising the step of selecting among QoS queues in the same group based upon relative queue priorities associated with the QoS queues.
- 25. The method of claim 21, further comprising the step of selecting among QoS queues in the same group based upon a round robin selection scheme.
- 26. The method of claim 21, further comprising the step of selecting among QoS queues in the same group based upon a least recently used (LRU) selection scheme.
- 27. The method of claim 21, wherein the first group comprises QoS queues associated with a minimum queue bandwidth requirement that is less than the corresponding QoS queue's current bandwidth metric, and wherein the second group comprises QoS queues associated with a minimum queue bandwidth requirement that is greater than or equal to the corresponding QoS queue's current bandwidth metric.
- 28. A method of bandwidth management for use in a packet forwarding device participating in a connectionless network, the method comprising the steps of:
receiving at a packet forwarding device information indicative of one or more traffic groups; receiving at the packet forwarding device one or more bandwidth parameters for at least one of the one or more traffic groups; receiving at a first port of a plurality of ports a packet associated with the at least one traffic group; and scheduling the packet for transmission from a second port of the plurality of ports based upon the one or more bandwidth parameters for the traffic group with which the packet is associated.
- 29. A packet forwarding device for use in a network employing a non-deterministic assess protocol, the packet forwarding device comprising:
an input unit configured to receive information defining one or more traffic groups and one or more associated bandwidth parameters; a plurality of ports configured to transmit packets onto an attached network segment, each port having a plurality of queues and configured to select a queue of the plurality of queue from which to transmit a next packet based upon the one or more bandwidth parameters; and a filtering and forwarding engine coupled to the plurality of ports and configured to process received packets, the filtering and forwarding engine identifying a traffic group of the one or more traffic groups with which a received packet is associated and queuing the received packet for transmission from one of the plurality of ports based upon the identified traffic group.
- 30. A packet forwarding device for use in a network employing a non-deterministic assess protocol, the packet forwarding device comprising:
a filtering and forwarding engine configured to forward received packets based upon a traffic group with which the packet is associated; and a plurality of ports coupled to the filtering and forwarding engine, each port of the plurality of ports configured to receive packets from the filtering and forwarding engine, each port of the plurality of ports having a plurality of Quality of Service (QoS) queues associated with a minimum queue bandwidth requirement, each port of the plurality of ports further configured to schedule a packet for transmission onto the network by
determining a current bandwidth metric for each of the plurality of QoS queues, dividing the plurality of QoS queues into at least a first group and a second group based upon the current bandwidth metrics and the minimum queue bandwidth requirements, and if at least one QoS queue of the plurality of QoS queues, so divided, is associated with the first group, then transmitting a packet from the at least one QoS queue; otherwise transmitting a packet from a QoS queue of the plurality of QoS queues associated with the second group.
- 31. The packet forwarding device of claim 30, wherein the plurality of ports are further configured to select among QoS queues in the same group based upon relative queue priorities associated with the QoS queues.
- 32. The packet forwarding device of claim 30, wherein the plurality of ports are further configured to select among QoS queues in the same group based upon a round robin selection scheme.
- 33. The packet forwarding device of claim 30, wherein the plurality of ports are further configured to select among QoS queues in the same group based upon a least recently used (LRU) selection scheme.
- 34. The packet forwarding device of claim 30, wherein the first group comprises QoS queues associated with a minimum queue bandwidth requirement that is less than the corresponding QoS queue's current bandwidth metric, and wherein the second group comprises QoS queues associated with a minimum queue bandwidth requirement that is greater than or equal to the corresponding QoS queue's current bandwidth metric.
- 35. A machine-readable medium having stored thereon data representing sequences of instructions, said sequences of instructions which, when executed by a processor, cause said processor to perform the steps of:
receiving at a packet forwarding device information indicative of one or more traffic groups; receiving at the packet forwarding device information defining a quality of service (QoS) policy for at least one of the one or more traffic groups; receiving a packet at a first port of a plurality of ports; identifying a first traffic group of the one or more traffic groups with which the packet is associated; and scheduling the packet for transmission from a second port of the plurality of ports based upon the QoS policy for the first traffic group, and wherein the scheduling is independent of end-to-end signaling.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/057,371, filed Aug. 29, 1997.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09597878 |
Jun 2000 |
US |
Child |
10728638 |
Dec 2003 |
US |