A method of multiplexing a plurality of data flows into a single output
using hierarchical gating operations instead of queues is disclosed. In
the preferred embodiment, the hierarchical multiplexing method comprises
sequentially processing a packet at each of a plurality of hierarchical
levels by characterizing the flow at each hierarchical level and either
passing or discarding the packet. The decision whether to pass or discard
a packet is generally made for each packet at one or more hierarchical
levels based on traffic parameters and the state of the system such as
congestion. In the preferred embodiment, a Three Color Marker algorithm
is used to characterize the flow and mark packets subjecting to the
discard decision. The invention may be used by a router or multi-layer
switch to process multiple data flows in a hierarchical fashion without
hierarchical queues, thereby reducing processing and memory requirements.