Hierarchical virtual queuing
First Claim
1. A method of controlling a plurality of data flows for subsequent transmission over a network, comprising the steps of:
- receiving, at a control mechanism, said plurality of data flows, said control mechanism being implemented as a plurality of token buckets arranged in a hierarchy having a plurality of levels, each level of the hierarchy including at least one of said plurality of token buckets;
in a first metering step, metering, by at least one first token bucket included in a first level of the hierarchy, said plurality of data flows to assure fair sharing of a predetermined aggregate transmission bandwidth among the respective data flows; and
in a second metering step, metering, by at least one second token bucket included in a second level of the hierarchy, said plurality of data flows to assure that said data flows conform to said predetermined aggregate transmission bandwidth.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method of providing high speed, prioritized delivery of data packets over broadband communications networks that avoids inducing unwanted latency in data packet transmission. The system employs a hierarchical, real-time, weighted token bucket prioritization scheme that provides for fair sharing of the available network bandwidth. At least one token bucket is employed at each level of the hierarchy to meter data flows providing service applications included in multiple subscribers'"'"' service plans. Each token bucket passes, discards, or marks as being eligible for subsequent discarding data packets contained in the data flows using an algorithm that takes into account the priority of the data packets, including strict high, strict medium, and strict low priorities corresponding to strict priority levels that cannot be overridden. The algorithm also takes into account weighted priorities of at least a subset of the low priority data packets. The priority levels of these low priority data packets are weighted to provide for fair sharing of the available network bandwidth among the low priority data flows, and to assure that none of the low priority data flows is starved of service.
69 Citations
20 Claims
-
1. A method of controlling a plurality of data flows for subsequent transmission over a network, comprising the steps of:
-
receiving, at a control mechanism, said plurality of data flows, said control mechanism being implemented as a plurality of token buckets arranged in a hierarchy having a plurality of levels, each level of the hierarchy including at least one of said plurality of token buckets; in a first metering step, metering, by at least one first token bucket included in a first level of the hierarchy, said plurality of data flows to assure fair sharing of a predetermined aggregate transmission bandwidth among the respective data flows; and in a second metering step, metering, by at least one second token bucket included in a second level of the hierarchy, said plurality of data flows to assure that said data flows conform to said predetermined aggregate transmission bandwidth. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A network switch, comprising:
-
a control mechanism, said control mechanism being implemented as a plurality of token buckets arranged in a hierarchy having a plurality of levels, each level of the hierarchy including at least one of said plurality of token buckets, wherein said control mechanism is configured; to receive a plurality of data flows; to meter, by at least one first token bucket included in a first level of the hierarchy, said plurality of data flows to assure fair sharing of a predetermined aggregate transmission bandwidth among the respective data flows; and to meter, by at least one second token bucket included in a second level of the hierarchy, said plurality of data flows to assure that said data flows conform to said predetermined aggregate transmission bandwidth. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification