Scheduling system and method for scheduling data packets from an input
port (1.sub.1 . . . 1.sub.i) to an output port (3.sub.1 . . . 3.sub.o),
comprising virtual output queues (6.sub.1 . . . 6.sub.n) being arranged
to store data packets from the input port (1.sub.1 . . . 1.sub.i)
destined for a specific output port (3.sub.1 . . . 3.sub.o). The
scheduling system comprises a scheduling tree (10) having a plurality of
comparison layers, each comparison layer being arranged for pair-wise
comparing requests received from the associated virtual output queues
(6.sub.1 . . . 6.sub.n) in parallel andsending the request with a higher
priority to a higher level comparison layer until a single request
remains, the single request indicating the virtual output queue (6.sub.1
. . . 6.sub.n) scheduled to send its data packet to the associated output
port (3.sub.1 . . . 3.sub.o).