# US 5,689,656 A · Dynamic hierarchical arbitration of computer resource access requests

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,689,656 A
- Document ID: US5689656A
- Status: Granted
- Kind: A
- Application number: 08/767,118
- Filed: 1997-01-10
- Granted: 1997-11-18
- Earliest claimed: 1995-05-03
- Assignees: Apple Computer, Inc.
- Inventors: Eric A. Baden; Brian A. Childers
- Web page: https://patentgrep.com/patent/US5689656A

## CPC

- G06F 13/362: with centralised access control
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method of prioritizing computer resource access requests to a shared computer resource, such as a video frame buffer, includes the steps of providing a number, n, of priority schemes in correspondence with a like number of potentially requesting entities, where n is an integer greater than one, and where each priority scheme designates relative priority of the potentially requesting entities with respect to one another. Thus, for each priority scheme there exists one corresponding potentially requesting entity, and a number, n-1, of noncorresponding potentially requesting entities. Next, one of the priority schemes is selected for use as a current priority scheme. A set of currently requesting entities is then determined from the number of potentially requesting entities, and the current priority scheme is used to select a highest priority requesting entity from the set of currently requesting entities. Finally, one of the priority schemes is newly selected as the current priority scheme, wherein the newly selected priority scheme corresponds to the highest priority requesting entity. In one embodiment, at least one of the priority schemes designates a first priority for the corresponding potentially requesting entity, and a second priority for one of the noncorresponding potentially requesting entities, where the first priority is higher than the second priority. In another aspect of the invention, at least one of the potentially requesting entities has a same relative priority designation in at least two of the n priority schemes.

## Claims

### Claim 1

A method of prioritizing computer resource access requests, comprising the steps of:
providing a number, n, of priority schemes in correspondence with a like number, n, of potentially requesting entities, wherein n is an integer greater than one, wherein each priority scheme designates relative priority of the potentially requesting entities with respect to one another, and whereby for each priority scheme there exists one corresponding potentially requesting entity, and a number, n-1, of noncorresponding potentially requesting entities;
selecting one of the priority schemes as a current priority scheme;
determining a set of currently requesting entities from the number of potentially requesting entities;
using the current priority scheme to select a highest priority requesting entity from the set of currently requesting entities and designating the selected highest priority requesting entity as the next requesting entity to be serviced; and
newly selecting one of the priority schemes as the current priority scheme for use in selecting a subsequent highest priority requesting entity, wherein the newly selected priority scheme corresponds to the highest priority requesting entity,
wherein at least one of the priority schemes designates a first priority for the corresponding potentially requesting entity, and a second priority for one of the noncorresponding potentially requesting entities, the first priority being higher than the second priority.

### Claim 2 (depends on 1)

The method of claim 1, further comprising the step of providing a default priority scheme that designates relative priority of the potentially requesting entities with respect to one another,
and wherein the step of newly selecting one of the priority schemes as the current priority scheme further comprises selecting the default priority scheme as the current priority scheme whenever none of the potentially requesting entities are currently making requests.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the computer resource is a video frame buffer having a serial access mode (SAM) port; and
the potentially requesting entities include a system bus requestor, an expansion bus requestor, a video frame buffer refresh requestor, a primary SAM requestor and a secondary SAM requestor.

### Claim 4 (depends on 3)

The method of claim 3, wherein:
the step of providing the priority schemes includes providing first, second, third, fourth and fifth priority schemes in correspondence with, respectively, the system bus requestor, the expansion bus requestor, the primary SAM requestor, the secondary SAM requestor and the video frame buffer refresh requestor;
the first priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor, the video frame buffer refresh requestor and the system bus requestor;
the second priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the secondary SAM requestor, the primary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor and the system bus requestor;
the third priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the secondary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor, the system bus requestor and the primary SAM requestor;
the fourth priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the primary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor, the system bus requestor and the secondary SAM requestor; and
the fifth priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor, the system bus requestor and the video frame buffer refresh requestor.

### Claim 5 (depends on 4)

The method of claim 4, further comprising the step of providing a default priority scheme that designates relative priority of the potentially requesting entities with respect to one another, and wherein:
the step of newly selecting one of the priority schemes as the current priority scheme further comprises selecting the default priority scheme as the current priority scheme whenever none of the potentially requesting entities are currently making requests; and
the default priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the system bus requestor, the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor and the video frame buffer refresh requestor.

### Claim 6

An apparatus for prioritizing computer resource access requests, comprising:
means for providing a number, n, of priority schemes in correspondence with a like number, n, of potentially requesting entities, wherein n is an integer greater than one, wherein each priority scheme designates relative priority of the potentially requesting entities with respect to one another, and whereby for each priority scheme there exists one corresponding potentially requesting entity, and a number, n-1, of noncorresponding potentially requesting entities;
means for selecting one of the priority schemes as a current priority scheme;
means for determining a set of currently requesting entities from the number of potentially requesting entities;
means for using the current priority scheme to select a highest priority requesting entity from the set of currently requesting entities and designating the selected highest priority requesting entity as the next requesting entity to be serviced; and
means for newly selecting one of the priority schemes as the current priority scheme for use in selecting a subsequent highest priority requesting entity, wherein the newly selected priority scheme corresponds to the highest priority requesting entity,
wherein at least one of the priority schemes designates a first priority for the corresponding potentially requesting entity, and a second priority for one of the noncorresponding potentially requesting entities, the first priority being higher than the second priority.

### Claim 7 (depends on 6)

The apparatus of claim 6, further comprising means for providing a default priority scheme that designates relative priority of the potentially requesting entities with respect to one another,
and wherein the means for newly selecting one of the priority schemes as the current priority scheme further comprises means for selecting the default priority scheme as the current priority scheme whenever none of the potentially requesting entities are currently making requests.

### Claim 8 (depends on 6)

The apparatus of claim 6, wherein:
the computer resource is a video frame buffer having a serial access mode (SAM) port; and
the potentially requesting entities include a system bus requestor, an expansion bus requestor, a video frame buffer refresh requestor, a primary SAM requestor and a secondary SAM requestor.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein:
the means for providing the priority schemes includes means for providing first, second, third, fourth and fifth priority schemes in correspondence with, respectively, the system bus requestor, the expansion bus requestor, the primary SAM requestor, the secondary SAM requestor and the video frame buffer refresh requestor;
the first priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor, the video frame buffer refresh requestor and the system bus requestor;
the second priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the secondary SAM requestor, the primary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor and the system bus requestor;
the third priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the secondary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor, the system bus requestor and the primary SAM requestor;
the fourth priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the primary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor, the system bus requestor and the secondary SAM requestor; and
the fifth priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor, the system bus requestor and the video frame buffer refresh requestor.

### Claim 10 (depends on 9)

The apparatus of claim 9, further comprising means for providing a default priority scheme that designates relative priority of the potentially requesting entities with respect to one another, and wherein:
the means for newly selecting one of the priority schemes as the current priority scheme further comprises means for selecting the default priority scheme as the current priority scheme whenever none of the potentially requesting entities are currently making requests; and
the default priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the system bus requestor, the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor and the video frame buffer refresh requestor.

### Claim 11

A method of prioritizing computer resource access requests, comprising the steps of:
providing a number, n, of priority schemes in correspondence with a like number, n, of potentially requesting entities, wherein n is an integer greater than one, wherein each priority scheme designates relative priority of the potentially requesting entities with respect to one another, and wherein at least one of the potentially requesting entities has a same relative priority designation in at least two of the n priority schemes;
selecting one of the priority schemes as a current priority scheme;
determining a set of currently requesting entities from the number of potentially requesting entities;
using the current priority scheme to select a highest priority requesting entity from the set of currently requesting entities and designating the selected highest priority requesting entity as the next requesting entity to be serviced; and
newly selecting one of the priority schemes as the current priority scheme for use in selecting a subsequent highest priority requesting entity, wherein the newly selected priority scheme corresponds to the highest priority requesting entity.

### Claim 12 (depends on 11)

The method of claim 11, further comprising the step of providing a default priority scheme that designates relative priority of the potentially requesting entities with respect to one another,
and wherein the step of newly selecting one of the priority schemes as the current priority scheme further comprises selecting the default priority scheme as the current priority scheme whenever none of the potentially requesting entities are currently making requests.

### Claim 13 (depends on 11)

The method of claim 11, wherein:
the computer resource is a video frame buffer having a serial access mode (SAM) port; and
the potentially requesting entities include a system bus requestor, an expansion bus requestor, a video frame buffer refresh requestor, a primary SAM requestor and a secondary SAM requestor.

### Claim 14 (depends on 13)

The method of claim 13, wherein:
the step of providing priority schemes includes providing first, second, third, fourth and fifth priority schemes in correspondence with, respectively, the system bus requestor, the expansion bus requestor, the primary SAM requestor, the secondary SAM requestor and the video frame buffer refresh requestor;
the first priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor, the video frame buffer refresh requestor and the system bus requestor;
the second priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the secondary SAM requestor, the primary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor and the system bus requestor;
the third priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the secondary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor, the system bus requestor and the primary SAM requestor;
the fourth priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the primary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor, the system bus requestor and the secondary SAM requestor; and
the fifth priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor, the system bus requestor and the video frame buffer refresh requestor.

### Claim 15 (depends on 14)

The method of claim 14, further comprising the step of providing a default priority scheme that designates relative priority of the potentially requesting entities with respect to one another, and wherein:
the step of newly selecting one of the priority schemes as the current priority scheme further comprises selecting the default priority scheme as the current priority scheme whenever none of the potentially requesting entities are currently making requests; and
the default priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the system bus requestor, the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor and the video frame buffer refresh requestor.

### Claim 16

An apparatus for prioritizing computer resource access requests, comprising:
means for providing a number, n, of priority schemes in correspondence with a like number, n, of potentially requesting entities, wherein n is an integer greater than one, wherein each priority scheme designates relative priority of the potentially requesting entities with respect to one another, and wherein at least one of the potentially requesting entities has a same relative priority designation in at least two of the n priority schemes;
means for selecting one of the priority schemes as a current priority scheme;
means for determining a set of currently requesting entities from the number of potentially requesting entities;
means for using the current priority scheme to select a highest priority requesting entity from the set of currently requesting entities and designating the selected highest priority requesting entity as the next requesting entity to be serviced; and
means for newly selecting one of the priority schemes as the current priority scheme for use in selecting a subsequent highest priority requesting entity, wherein the newly selected priority scheme corresponds to the highest priority requesting entity.

### Claim 17 (depends on 16)

The apparatus of claim 16, further comprising means for providing a default priority scheme that designates relative priority of the potentially requesting entities with respect to one another,
and wherein the means for newly selecting one of the priority schemes as the current priority scheme further comprises means for selecting the default priority scheme as the current priority scheme whenever none of the potentially requesting entities are currently making requests.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein:
the computer resource is a video frame buffer having a serial access mode (SAM) port; and
the potentially requesting entities include a system bus requestor, an expansion bus requestor, a video frame buffer refresh requestor, a primary SAM requestor and a secondary SAM requestor.

### Claim 19 (depends on 16)

The apparatus of claim 16, wherein:
the means for providing the priority schemes includes means for providing first, second, third, fourth and fifth priority schemes in correspondence with, respectively, the system bus requestor, the expansion bus requestor, the primary SAM requestor, the secondary SAM requestor and the video frame buffer refresh requestor;
the first priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor, the video frame buffer refresh requestor and the system bus requestor;
the second priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the secondary SAM requestor, the primary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor and the system bus requestor;
the third priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the secondary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor, the system bus requestor and the primary SAM requestor;
the fourth priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the primary SAM requestor, the expansion bus requestor, the video frame buffer refresh requestor, the system bus requestor and the secondary SAM requestor; and
the fifth priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor, the system bus requestor and the video frame buffer refresh requestor.

### Claim 20 (depends on 19)

The apparatus of claim 19, further comprising means for providing a default priority scheme that designates relative priority of the potentially requesting entities with respect to one another, and wherein:
the means for newly selecting one of the priority schemes as the current priority scheme further comprises means for selecting the default priority scheme as the current priority scheme whenever none of the potentially requesting entities are currently making requests; and
the default priority scheme designates, in the order of highest to lowest priority, the following relative priorities: the system bus requestor, the expansion bus requestor, the secondary SAM requestor, the primary SAM requestor and the video frame buffer refresh requestor.
