Patent ID: 7292580

Claim:
A method of transferring data cells of plural classes from input ports to output ports through a switch, comprising: storing cells at each input port in class-specific virtual output queues (VOQ) within sets of VOQs associated with output ports; providing credits to VOQs according to class-associated guaranteed bandwidths, wherein respective credits for each VOQ are determined based upon an amount of lag between a next theoretical request time of each VOQ and a time at which a cell is received for each VOQ; upon receipt of cells at VOQs having credits, generating high-priority requests for transfer; upon receipt of cells at VOQs not having credits, generating low-priority requests for transfer; in response to requests, issuing grants to VOQ sets without regard to class, grants being issued in response to high-priority requests over low-priority requests; and at a VOQ set, upon receiving a grant for said VOQ set, arbitrating transfer of a cell, giving higher priority to VOQs having credits.