Patent ID: 7436844

Claim:
A system for controlling packet transmission in a communication network, the system comprising: a classifier for classifying a plurality of packets into different types based on contents of header fields of the packets, and for transmitting the classified packets based on a service level agreement (SLA); a meter coupled to the classifier for determining whether a data arrival rate of packets received from the classifier is more than a token rate defined by a token bucket (TB) profile, and if not, considering the packets as in-profile packets, or otherwise, considering the packets as out-profile packets; a marker coupled to the classifier and the meter for re-marking packets received from the classifier and out-profile packets that need to be transmitted first based on the SLA, with differentiated service code point (DSCP) values, 802.p priority tag (802.1p) values, or both such values; a traffic adjuster coupled to the meter and the marker for transmitting in-profile packets and packets received from the marker, and for discarding out-profile packets that do not need to be transmitted first based on the SLA; and a classifying server coupled to the traffic adjuster and the classifier for providing differentiated bandwidths for packets received from the classifier and the traffic adjuster, the classifying server comprising: a strict priority scheduling module, for scheduling a plurality of queues based on a strict priority scheduling mechanism, wherein the plurality of queues are divided into a high priority queue, a medium priority queue, and a low priority queue, packets in the high priority queue are transmitted thereout first, packets in the medium priority queue are transmitted thereout once the high priority queue is emptied, and packets in the low priority queue are transmitted thereout once the medium priority queue is emptied; a weighted round robin scheduling module, for scheduling a plurality of queues based on a weighted round robin scheduling mechanism, wherein the plurality of queues are divided into a high priority queue, a medium priority queue, and a low priority queue, each queue is allocated a unique bandwidth, and the packets in the priority queues are transmitted thereout at the same time; and a queue manager for selectively setting either the strict priority scheduling mechanism or the weighted round robin scheduling mechanism via the strict priority scheduling module or the weighted round robin scheduling module.