A method and apparatus are disclosed for scheduling arriving data packets
for input to a switch having a plurality of input channels, and a
plurality of output channels, the scheduling method is performed in
successive scheduling phases where each scheduling phase further
comprises at least log N scheduling iterations. The method is a
parallelized weight-driven input queued switch scheduling algorithm which
possesses good bandwidth and delay properties, is stable, and can be
configured to offer various delay and quality of service (QoS)
guarantees. The scheduling method utilizes envelope scheduling techniques
and considers partially filled envelopes for scheduling.