Patent ID: 7475159

Claim:
A method of scheduling connections for a network processor comprising: in a cache memory, scheduling a plurality of connections to be serviced based on quality of service parameters stored in a control structure corresponding to each connection includes: receiving data from a first connection; determining whether an entry for a control structure corresponding to the first connection is included in one of the cache memory and an external memory; accessing one or more portions of the control structure; calculating a service time when the first connection is to be serviced, the service time being based on the quality of service parameters; determining whether to schedule the first connection to be serviced in one of the cache memory and a calendar based on the service time; and if it is determined to schedule the first connection in the cache memory, in the cache memory, scheduling the first connection to be serviced based on quality of service parameters stored in the control structure corresponding to the first connection; and during a scheduling opportunity: identifying one or more of the plurality of connections in the cache memory to be serviced; selecting one of the connections identified to be serviced; servicing the selected connection; accessing one or more portions of the control structure, including the quality of service parameters, in the cache memory, the quality of service parameters corresponding to the selected connection; calculating a next service time when the selected connection is to be serviced, the next service time being based on the quality of service parameters; and determining whether to schedule the selected connection to be serviced in one of the cache memory and a calendar based on the next service time.