Patent ID: 7400631

Claim:
A cell scheduling unit (SU) comprising: a plurality of input ports (I 1 to IN) adapted to receive data units (C 11 , C 12 , C 21 , C 22 , CN 1 , CN 2 ), an output port (O) adapted to transmit said data units, a plurality of first-in first-out queues (Q 1 to QN) coupled to respective ones of said plurality of input ports, and adapted to backlog said data units, a storage means (MEM) adapted to hold a service sequence (BAT) comprising a plurality of service slots (SS 1 to SSM), a scheduler (S) coupled to said plurality of first-in first-out queues, to said output port and to said storage means, and adapted to schedule according to said service sequence said data units from said plurality of first-in first-out queues for transmission onto said output port, a configuration agent (CA) coupled to said storage means, and adapted to determine said service sequence, said configuration agent comprising: a first agent (A 1 ) adapted to allot a number of service slots (n 1 to nN) to each of said plurality of input ports, a second agent (A 2 ) coupled to said first agent, and adapted to determine, for each of said plurality of input ports, a corresponding number of candidate positions uniformly spaced over said service sequence (P 1 to PN), characterized in that said configuration agent further comprises: a third agent (A 3 ) coupled to said second agent, and adapted to count, for each of said plurality of input ports, the number of candidate positions considered while determining said service sequence which has not yet been assigned to any service slot, a fourth agent (A 4 ) coupled to said first agent, to said third agent and to said storage means, and adapted to assign a service slot out of said plurality of service slots to an input port out of said plurality of input ports, based on an order which has the highest number of candidate positions considered while determining said service sequence which has not yet been assigned to any service slot, and subsequently is based on which gets the highest number of service slots allotted by said first agent.