Patent ID: 7346068

Claim:
A method for operating an N-input M-output switch, said method comprising: receiving traffic in SPI-4.2 cells; buffering said traffic in a plurality of queues, each of said queues corresponding to a combination of input, output, and class; for each combination of class and output, performing a first selection process by selecting a source queue from among said plurality of queues associated with a combination of output and class; for each output, performing a second selection process by selecting a next data block for output from among said source queues selected in said first selection process, said first and second selection performed on data blocks; for at least one output, assembling data into SPI-4.2 cells; outputting said assembled SPI-4.2 cells; and adjusting queuing counter values to allocate bandwidth among input ports for each combination of said class and said output for said first selection process, and allocate bandwidth among said classes for said second selection process; said first selection process comprising accepting input requests, issuing a grant to one of said plurality of queues based on said queuing counter values and a backpressure signal, and decrementing said queuing counter value associated with said queue, wherein said grant transfers one data block out of said queue.