Differentiated services using weighted quality of service (QoS)
First Claim
1. A method for offering differentiated service of network traffic, the method comprising:
- queuing the traffic into a first plurality of separate per flow queues;
scheduling the traffic from the per flow queues into a group queue;
performing congestion management on traffic in the group queue;
scheduling traffic from the group queue into a second plurality of separate per flow queues based on priority; and
scheduling traffic from the second plurality of separate per flow queues into either of a high priority group queue or a low priority group queue, wherein traffic in higher priority per flow queues of the second plurality of separate per flow queues is scheduled into the high priority group queue, and traffic in lower priority per flow queues of the second plurality of per flow queues is scheduled into the low priority group queue.
5 Assignments
0 Petitions
Accused Products
Abstract
Differentiated services for network traffic using weighted quality of service is provided. Network traffic is queued into separate per flow queues, and traffic is scheduled from the per flow queues into a group queue. Congestion management is performed on traffic in the group queue. Traffic is marked with priority values, and congestion management is performed based on the priority values. For example, traffic can be marked as “in contract” if it is within a contractual limit, and marked as “out of contract” if it is not within the contractual limit. Marking can also include classifying incoming traffic based on Differentiated Service Code Point. Higher priority traffic can be scheduled from the per flow queues in a strict priority over lower priority traffic. The lower priority traffic can be scheduled in a round robin manner.
38 Citations
14 Claims
-
1. A method for offering differentiated service of network traffic, the method comprising:
-
queuing the traffic into a first plurality of separate per flow queues; scheduling the traffic from the per flow queues into a group queue; performing congestion management on traffic in the group queue; scheduling traffic from the group queue into a second plurality of separate per flow queues based on priority; and scheduling traffic from the second plurality of separate per flow queues into either of a high priority group queue or a low priority group queue, wherein traffic in higher priority per flow queues of the second plurality of separate per flow queues is scheduled into the high priority group queue, and traffic in lower priority per flow queues of the second plurality of per flow queues is scheduled into the low priority group queue. - View Dependent Claims (2, 3)
-
-
4. A method for offering differentiated service of network traffic, the method comprising:
-
queuing the traffic into a first plurality of separate per flow queues; scheduling the traffic from the first plurality of separate per flow queues into either of a high priority group queue or a low priority group queue, wherein traffic in higher priority per flow queues of the first plurality of separate per flow queues is scheduled into the high priority group queue, and traffic in lower priority per flow queues of the first plurality of separate per flow queues is scheduled into the low priority group queue; performing congestion management on traffic in the high priority group queue and traffic in the low priority group queue; scheduling traffic from the high priority group queue and the low priority group queue onto a second plurality of separate per flow queues based on priority; and scheduling traffic from the per flow queues of the second plurality of separate per flow queues onto either of a second high priority group queue or a second low priority group queue, wherein traffic in higher priority per flow queues of the second plurality of separate per flow queues is scheduled onto the second higher priority group queue, and traffic in lower priority per flow queues of the second plurality of separate per flow queues is scheduled onto the second low priority group queue. - View Dependent Claims (5, 6)
-
-
7. An apparatus for offering differentiated services of network traffic, the apparatus comprising:
-
a per flow scheduler circuit configured to queue the traffic into a first plurality of separate per flow queues; a policer circuit configured to determine whether the traffic in the first plurality of separate per flow queues is within a predetermined limit; a higher priority scheduler circuit configured to schedule traffic in higher priority per flow queues of the first plurality of separate per flow queues into a group queue; a lower priority scheduler circuit configured to schedule traffic from lower priority per flow queues of the first plurality of separate per flow queues into the group queue; and a group queue congestion manager circuit configured to perform congestion management by determining whether a byte count of traffic in the group queue is within a predetermined range of byte counts, and if the byte count is determined to be within the predetermined range, forwarding or discarding traffic in the group queue based on at least one of (i) a result of the determining by the policer circuit and (ii) a priority value of the traffic in the group queue, wherein at least one of the per flow scheduler circuit, the policer circuit, the higher priority scheduler circuit, the lower priority scheduler circuit, and the group queue congestion manager circuit are included in a computer.
-
-
8. An apparatus for offering differentiated services of network traffic, the apparatus comprising:
-
a per flow scheduler circuit configured to queue the traffic into a first plurality of separate per flow queues; a higher priority scheduler circuit configured to schedule traffic in higher priority per flow queues of the first plurality of separate per flow queues into a group queue; a lower priority scheduler circuit configured to schedule traffic from lower priority per flow queues of the first plurality of per flow queues into the group queue; a group queue congestion manager circuit configured to perform congestion management on traffic in the group queue; a second per flow scheduler circuit configured to schedule traffic from the group queue into a second plurality of separate per flow queues based on priority; a second higher priority scheduler circuit configured to schedule traffic from higher priority per flow queues of the second plurality of separate per flow queues into a high priority group queue; and a second lower priority scheduler circuit configured to schedule traffic from lower priority per flow queues of the second plurality of separate per flow queues into a low priority group queue, wherein at least one of the per flow scheduler, the higher priority scheduler, the lower priority scheduler, the group queue congestion manager, the second per flow scheduler, the second higher priority scheduler, and the second lower priority scheduler are included in a computer. - View Dependent Claims (9)
-
-
10. A non-transitory computer-readable storage medium having stored thereon computer-executable program instructions for offering differentiated services of network traffic, the computer-executable program instructions, when executed by a processor, cause the processor to perform a method comprising the steps of:
-
queuing the traffic in a first plurality of separate per flow queues; scheduling the traffic from the per flow queues of the first plurality of separate per flow queues into a group queue; and performing congestion management on traffic in the group queue; scheduling traffic from the group queue into a second plurality of separate per flow queues based on priority; and scheduling traffic from the second plurality of separate per flow queues into either of a high priority group queue or a low priority group queue, wherein traffic in higher priority per flow queues of the second plurality of separate per flow queues are scheduled into the high priority group queue, and traffic in lower priority per flow queues of the second plurality of per flow queues are scheduled into the low priority group queue. - View Dependent Claims (11)
-
-
12. An apparatus for offering differentiated services of network traffic, the apparatus comprising:
-
means for queueing the traffic into a first plurality of separate per flow queues; means for determining whether the traffic in the first plurality of separate per flow queues is within a predetermined limit; means for scheduling traffic in higher priority per flow queues of the first plurality of separate per flow queues into a group queue; means for scheduling traffic from lower priority per flow queues of the first plurality of separate per flow queues into the group queue; and means for performing congestion management by determining whether a byte count of traffic in the group queue is within a predetermined range of byte counts, and if the byte count is determined to be within the predetermined range, forwarding or discarding traffic in the group queue based on at least one of (i) a result obtained by the means for determining and (ii) a priority value of the traffic in the group queue.
-
-
13. An apparatus for offering differentiated services of network traffic, the apparatus comprising:
-
means for queueing the traffic into a first plurality of separate per flow queues; means for scheduling traffic in higher priority per flow queues of the first plurality of separate per flow queues into a group queue; means for scheduling traffic from lower priority per flow queues of the first plurality of per flow queues into the group queue; means for performing congestion management on traffic in the group queue; means for scheduling traffic from the group queue into a second plurality of separate per flow queues based on priority; means for scheduling traffic from higher priority per flow queues of the second plurality of separate per flow queues into a high priority group queue; and means for scheduling traffic from lower priority per flow queues of the second plurality of separate per flow queues into a low priority group queue. - View Dependent Claims (14)
-
Specification