Patent ID: 8521930

Claim:
A method of dispatching transactions to endpoints on a bus, the endpoints included in an array of endpoints to be serviced in priority order during multiple search passes through the array, the method comprising: performing a search pass through the array of endpoints, wherein the search pass corresponds to a sort level having associated therewith a set of sort criteria and the search pass comprises: identifying one or more active endpoints in the array that satisfy the set of sort criteria associated with the sort level; when an endpoint satisfies the set of sort criteria, determining whether one or more dispatch resources are available to service the endpoint; and when it is determined that the one or more dispatch resources are not available to service the endpoint, storing an indication that an endpoint satisfying the set of sort criteria has not been serviced so that endpoints in lower priority sort levels can be serviced during one or more subsequent search passes through the array using a different set of sort criteria; and in response to receiving an indication that the one or more dispatch resources have become available, performing another search pass through the array, starting with endpoints in a highest priority sort level.