Method and apparatus for scheduling a resource to meet quality-of-service restrictions
DCFirst Claim
1. A method, comprising:
- scheduling access to a resource to meet quality of service guarantees for requests within an apparatus;
storing a first request in a first channel, wherein the first channel is assigned with a first priority level;
keeping track of bandwidth usage from the first channel;
demoting a priority level of the first channel based on exceeding an allotted amount of bandwidth usage from the first channel in a specified period of time;
scheduling the first channel to issue the first request to a resource to meet quality of service guarantees for requests within the apparatus; and
keeping track of the first channel'"'"'s bandwidth usage history by incrementing a rate counter every unit cycle and by incrementing an allocation counter every predetermined number of rate count and decrementing the allocation counter each time a request is received from the first channel.
4 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
The present invention is directed to a method and apparatus for scheduling a resource to meet quality of service guarantees. In one embodiment of three levels of priority, if a channel of a first priority level is within its bandwidth allocation, then a request is issued from that channel. If there are no requests in channels at the first priority level that are within the allocation, requests from channels at the second priority level that are within their bandwidth allocation are chosen. If there are no requests of this type, requests from channels at the third priority level or requests from channels at the first and second levels that are outside of their bandwidth allocation are issued. The system may be implemented using rate-based scheduling.
-
Citations
31 Claims
-
1. A method, comprising:
-
scheduling access to a resource to meet quality of service guarantees for requests within an apparatus; storing a first request in a first channel, wherein the first channel is assigned with a first priority level; keeping track of bandwidth usage from the first channel; demoting a priority level of the first channel based on exceeding an allotted amount of bandwidth usage from the first channel in a specified period of time; scheduling the first channel to issue the first request to a resource to meet quality of service guarantees for requests within the apparatus; and keeping track of the first channel'"'"'s bandwidth usage history by incrementing a rate counter every unit cycle and by incrementing an allocation counter every predetermined number of rate count and decrementing the allocation counter each time a request is received from the first channel.
-
-
2. A method, comprising:
-
scheduling access to a resource to meet quality of service guarantees for requests; storing a first request in a first channel that is assigned with a first priority level; keeping track of scheduling history from the first channel; demoting a priority level of the first channel based on exceeding a tracked feature of scheduling history associated with the first channel in a specified period of time, wherein the tracked feature of scheduling history associated with the channel is a type of request within a request stream; and scheduling the first channel to issue the first request to a resource to meet quality of service guarantees for requests. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
scheduling access to a resource to meet quality of service guarantees for requests within an apparatus; storing a first request in a first channel that is assigned with a first priority level; keeping track of scheduling history from the first channel; demoting a priority level of the first channel based on exceeding a tracked feature of scheduling history associated with the first channel in a specified period of time; and scheduling the first channel to issue the first request to a resource to meet quality of service guarantees for requests within the apparatus, wherein the tracked feature of scheduling history associated with the channel is an amount of time needed to access the resource relative to a current timing of accessing the resource. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus, comprising:
-
means for scheduling access to a resource to meet quality of service guarantees for requests within the apparatus; means for storing a first request in a first channel, wherein the first channel is assigned with a first priority level; means for keeping track of bandwidth usage from the first channel; means for demoting a priority level of the first channel based on exceeding an allotted amount of bandwidth usage from the first channel in a specified period of time; means for scheduling the first channel to issue the first request to a resource to meet quality of service guarantees for requests within the apparatus; and means for keeping track of the first channel'"'"'s bandwidth usage history by incrementing a rate counter every unit cycle and by incrementing an allocation counter every predetermined number of rate count and decrementing the allocation counter each time a request is received from the first channel.
-
-
19. An apparatus, comprising:
-
means for scheduling access to a resource to meet quality of service guarantees for requests; a first channel that is assigned with a first priority level to store a first request; means for keeping track of bandwidth usage from the first channel; means for demoting a priority level of the first channel based on exceeding an allotted amount of bandwidth usage from the first channel in a specified period of time; means for scheduling the first channel to issue the first request to a resource to meet quality of service guarantees for requests; an allocation counter; and a rate counter to keep track of the first channel'"'"'s bandwidth usage history by incrementing the rate counter every unit cycle and by incrementing the allocation counter every predetermined number of rate count and decrementing the allocation counter each time a request is received from the first channel.
-
-
20. An apparatus, comprising:
-
means for scheduling access to a resource to meet guality of service guarantees for requests within the apparatus; means for storing a first request in a first channel, wherein the first channel is assigned with a first priority level; means for keeping track of scheduling history from the first channel; means for demoting a priority level of the first channel based on exceeding a tracked feature of scheduling history associated with the first channel in a specified period of time; and means for scheduling the first channel to issue the first request to a resource to meet quality of service guarantees for requests within the apparatus, wherein the tracked feature of scheduling history associated with the channel is a type of request within a request stream. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
-
28. An apparatus, comprising:
-
means for scheduling access to a resource to meet quality of service guarantees for requests; a first channel that is assigned with a first priority level to store a first request; means for keeping track of scheduling history from the first channel; means for demoting a priority level of the first channel based on exceeding a tracked feature of scheduling history associated with the first channel in a specified period of time, wherein the tracked feature of scheduling history associated with the channel is an amount of time needed to access the resource relative to a current timing of accessing the resource; and means for scheduling the first channel to issue the first request to a resource to meet quality of service guarantees for request.
-
-
29. An apparatus, comprising:
an arbiter configured to schedule access to a resource for requests from a plurality of channels within the apparatus, where one or more of the channels have an assigned priority level and convey to the arbiter requests to access the resource, the arbiter configured to determine if the resource is available to service requests within the apparatus, the arbiter configured to demote a priority level of a first channel based on exceeding a tracked feature of scheduling history associated with the first channel in a specified period of time, the arbiter configured with a quality-of-service (QOS) guarantee for requests from the first channel, the arbiter configured to schedule the first channel to issue a first request to the resource to meet the quality of service guarantee for the first request, wherein the tracked feature of scheduling history associated with the channel is an amount of time needed to access the resource relative to a current timing of accessing the resource. - View Dependent Claims (30, 31)
Specification