IP Library Granted Patent US 7,099,975
Granted Patent B2
US 7,099,975 · App. 10/730,952 · Granted Aug 29, 2006

Method of resource arbitration

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,099,975
App. No.
10/730,952
Granted
Aug 29, 2006
Kind
B2
Abstract

An improved method and apparatus for resource arbitration. Four priority classes, managed high (MH), managed low (ML), opportunistic high (OH) and opportunistic low (OL), are defined. A priority class is assigned to each resource access request. An access request concentrator (ARC) is created for each resource, through which the resource is accessed. An access request is chosen at each ARC using the priority order MH, ML, OH, and OL, in decreasing order of priority. If OH priority class resource access requests are locked out, the priority order is temporarily changed to OH, OL, MH, and ML, in decreasing order of priority. If OL priority class resource access requests are locked out, the priority order is temporarily changed to MH, OL, OH, and ML, in decreasing order of priority.

Claims (72)

1. A method of resource arbitration, the method comprising the steps of:

defining four priority classes, managed high (MH), managed low (ML), opportunistic high (OH), and opportunistic low (OL), to access one or more resources;

assigning a priority class to each resource access request;

creating an access request concentrator (ARC) for each resource, through which each resource is accessed;

choosing a resource access request at each ARC using the priority order MH, ML, OH, and OL, in decreasing order of priority;

determining whether OH priority class resource access requests are locked out;

upon a determination that OH priority class resource access requests are locked out, temporarily changing the priority order to OH, OL, MH, and ML, in decreasing order of priority;

determining whether OL priority class resource access requests are locked out; and

upon a determination that OL priority class resource access requests are locked out, temporarily changing the priority order to MH, OL, OH, and ML, in decreasing order of priority.

2. The method of claim 1 , wherein the access request concentrator comprises at least one arbitration point.

3. The method of claim 2 , wherein the resource being arbitrated is bandwidth.

4. The method of claim 3 , wherein the resource access request is a command.

5. The method of claim 3 , wherein the resource access request is a data component associated with a command.

6. A method of arbitrating between a plurality of resource access requests, the method comprising the steps of:

defining four priority classes, managed high (MH), managed low (ML), opportunistic high (OH), and opportunistic low (OL);

assigning a priority class to each of the resource access requests;

dividing the resource access requests into subgroups;

arbitrating between the resource access requests in each subgroup to obtain a smaller set of the resource access requests, wherein the arbitrating comprises:

choosing one of the resource access requests using the priority order MH, ML, OH, and OL, in decreasing order of priority;

determining whether OH priority class resource access requests are locked out;

upon a determination that OH priority class resource access requests are locked out, temporarily changing the priority order to OH, OL, MH, and ML, in decreasing order of priority;

determining whether OL priority class resource access requests are locked out;

upon a determination that OL priority class resource access requests are locked out, temporarily changing the priority order to MH, OL, OH, and ML, in decreasing order of priority; and

arbitrating between the resource access requests in the smaller set to obtain a single one of the resource access requests.

7. An apparatus for providing resource arbitration, the apparatus comprising:

means for defining four priority classes, managed high (MH), managed low (ML), opportunistic high (OH), and opportunistic low (OL), to access one or more resources;

means for assigning a priority class to each resource access request;

means for creating an access request concentrator (ARC) for each resource, through which each resource is accessed;

means for choosing an access request at each ARC using the priority order MH, ML, OH, and OL, in decreasing order of priority;

means for determining whether OH priority class resource access requests are locked out;

upon a determination that OH priority class resource access requests are locked out, means for temporarily changing the priority order to OH, OL, MH, and ML, in decreasing order of priority;

means for determining whether OL priority class resource access requests are locked out; and

upon a determination that OL priority class resource access requests are locked out, means for temporarily changing the priority order to MH, OL, OH, and ML, in decreasing order of priority.

8. The apparatus of claim 7 wherein the access request concentrator comprises at least one arbitration point.

9. The apparatus of claim 8 wherein the resource being arbitrated is bandwidth.

10. The apparatus of claim 9 wherein the resource access request is a command.

11. The apparatus of claim 9 wherein the resource access request is a data component associated with a command.

12. An apparatus for arbitrating between a plurality of resource access requests, comprising:

means for defining four priority classes, managed high (MH), managed low (ML), opportunistic high (OH), and opportunistic low (OL);

means for assigning a priority class to each of the resource access requests;

means for dividing the resource access requests into subgroups;

means for arbitrating between the resource access requests in each subgroup to obtain a smaller set of the resource access requests, wherein the arbitrating comprises:

choosing one of the resource access requests using the priority order MH, ML, OH, and OL, in decreasing order of priority;

determining whether OH priority class resource access requests are locked out;

upon a determination that OH priority class resource access requests are locked out, temporarily changing the priority order to OH, OL, MH, and ML, in decreasing order of priority;

determining whether OL priority class resource access requests are locked out;

upon a determination that OL priority class resource access requests are locked out, temporarily changing the priority order to MH, OL, OH, and ML, in decreasing order of priority; and

means for arbitrating between the resource access requests in the smaller set to obtain a single one of the resource access requests.

13. A computer program product for providing resource arbitration, the computer program product having a medium with a computer program embodied thereon, the computer program comprising:

computer program code for defining four priority classes, managed high (MH), managed low (ML), opportunistic high (OH), and opportunistic low (OL), to access one or more resources;

computer program code for assigning a priority class to each resource access request;

computer program code for creating an access request concentrator (ARC) for each resource, through which each resource is accessed;

computer program code for choosing an access request at each ARC using the priority order MH, ML, OH, and OL, in decreasing order of priority;

computer program code for determining whether OH priority class resource access requests are locked out;

upon a determination that OH priority class resource access requests are locked out, computer program code for temporarily changing the priority order to OH, OL, MH, and ML, in decreasing order of priority;

computer program code for determining whether OL priority class resource access requests are locked out; and

upon a determination that OL priority class resource access requests are locked out, computer program code for temporarily changing the priority order to MH, OL, OH, and ML, in decreasing order of priority.

14. The computer program product of claim 13 wherein the access request concentrator comprises at least one arbitration point.

15. The computer program product of claim 14 wherein the resource being arbitrated is bandwidth.

16. The computer program product of claim 15 wherein the resource access request is a command.

17. The computer program product of claim 15 wherein the resource access request is a data component associated with a command.

18. A computer program product for arbitrating between a plurality of resource access requests, the computer program product having a medium with a computer program embodied thereon, the computer program comprising:

computer program code for defining four priority classes, managed high (MH), managed low (ML), opportunistic high (OH), and opportunistic low (OL);

computer program code for assigning a priority class to each of the resource access requests;

computer program code for dividing the resource access requests into subgroups;

computer program code for arbitrating between the resource access requests in each subgroup to obtain a smaller set of the resource access requests, wherein the arbitrating comprises:

choosing one of the resource access requests using the priority order MH, ML, OH; and OL, in decreasing order of priority;

determining whether OH priority class resource access requests are locked out;

upon a determination that OH priority class resource access requests are locked out, temporarily changing the priority order to OH, OL, MH, and ML, in decreasing order of priority;

determining whether OL priority class resource access requests are locked out;

upon a determination that OL priority class resource access requests are locked out, temporarily changing the priority order to MH, OL, OH, and ML, in decreasing order of priority; and

computer program code for arbitrating between the resource access requests in the smaller set to obtain a single one of the resource access requests.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: SONY NETWORK ENTERTAINMENT PLATFORM INC.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 027449/0640 →
CHANGE OF NAME Recorded Dec 26, 2011
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY NETWORK ENTERTAINMENT PLATFORM INC.
Reel/Frame 027449/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2003
From: BROWN, JEFFREY DOUGLAS; CLARK, SCOTT DOUGLAS; JOHNS, CHARLES RAY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014806/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2003
From: YAMAZAKI, TAKESHI
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 014806/0399 →