Patent ID: 7093256

Claim:
A scheduler for scheduling access in a computing environment to a resource, the scheduler comprising: a real-time request control circuit operable to receive requests from real-time requesters at system time T, and to anticipate requests for real-time requesters that currently have no active request using their known latency Li and duration Di values, so that there are M real and anticipated real-time requests to be scheduled; a timer circuit having registers operable to hold a plurality of M real-time requests, each request Ri having a status of anticipated or real, a required service completion time Ti, and a duration Di; a reorder logic operable to prepare an ordered list of the M real-time requests in ascending order of required service completion dines TR 1 . . . TRM, beginning with the real-time request having the earliest required service completion time being designated as request R 1 with a required service completion time TR 1 and a duration DR 1 , and the ascending order concluding with the real-time request having the latest required service completion time being designated as request RM with a required service completion time TRM, and a duration DRM; a network of adders and subtractors operable to calculate the latest service start time TLi for every request subsequence {R 1 , R 2 R 1 , R 3 . . . R 1 , . . . , RM...R 1 }that will provide on-time completion of the plurality M of real-time request; a minimum value select circuit operable to find the earliest calculated latest service start time TS; and a non-real-time request scheduling circuit that includes a plurality of non-real-time control circuits, each control circuit being operable to receive a different non-real-time request R and its duration value D, and to check whether T+D<TS for the non-real-time request R handled by it, the real-time request control circuit and non-real-time request scheduling circuit being cooperatively arranged such that when T+D<TS for a non-real-time request R, the non-real-time request scheduling circuit grants the non-real-time request R access to the resource, otherwise the real-time request control circuit grants the real (not anticipated) real-time request having the earliest required service completion time access to the resource.