IP Library Granted Patent US 7,603,672
Granted Patent B1
US 7,603,672 · App. 10/744,992 · Granted Oct 13, 2009

Programmable request handling system and method

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,603,672
App. No.
10/744,992
Granted
Oct 13, 2009
Kind
B1
Abstract

A system and method is disclosed for prioritizing requests received from multiple requesters for presentation to a shared resource. The system includes logic that implements multiple priority schemes. This logic may be programmably configured to associate each of the requesters with any of the priority schemes. The priority scheme that is associated with the requester controls how that requester submits requests to the shared resource. The requests that have been submitted by any of the requesters in this manner are then processed in a predetermined order. This order is established using an absolute priority assigned to each of the requesters. This order may further be determined by assigning one or more requesters a priority that is relative to another requester. The absolute and relative priority assignments are programmable.

Claims (54)

1. A data processing system comprising:

a processor;

a shared resource;

multiple requesters that are each coupled to issue requests to the shared resource;

multiple priority logic sections, each coupled to one of the multiple requesters and adapted to implement multiple priority schemes, the priority logic section is configured to allow each requester to be associated with any selected one of the multiple priority schemes irrespective of which of the priority schemes is associated with any of the other requesters, the priority logic section to prioritize the requests from each requester for presentation to the shared resource based on the priority scheme associated with the requester;

rotational logic included within each priority logic section adapted to prioritize requests from the requesters according to a predetermined default prioritization order assigned to the requesters;

a snapshot register included within each priority logic section and coupled to the requesters to store, at periodic intervals, a snapshot identifying which of the requesters have requests pending at the time the snapshot is stored; and

wherein the priority scheme associated with a respective one of the requesters is a rotational mode priority scheme.

2. The data processing system of claim 1 , wherein the shared resource is a memory and wherein each of the requesters is a queue storing a respectively different type of the requests.

3. The data processing system of claim 1 , wherein the priority logic section includes a programmable storage device to store data indicating the predetermined default prioritization order.

4. A method of employing priority schemes within a data processing system including a processor and a shared resource, said method comprising:

receiving requests for the shared resource from multiple requesters;

responsively implementing multiple priority schemes so as to allow each requester to be associated with any selected one of the multiple priority schemes irrespective of which of the priority schemes is associated with any of the other requesters;

prioritizing the requests from each requester for presentation to the shared resource based on a priority scheme associated with the requester;

taking and storing snapshots at periodic intervals so as to identify which of the requesters have requests pending at the time a given snapshot was taken; and

processing the pending requests in accordance with a predetermined default order; and

associating one of the requesters with a burst priority scheme.

5. A method of employing priority schemes within a data processing system including a processor and a shared resource, said method comprising:

receiving requests for the shared resource from multiple requesters;

responsively implementing multiple priority schemes so as to allow each requester to be associated with any selected one of the multiple priority schemes irrespective of which of the priority schemes is associated with any of the other requesters;

prioritizing the requests from each requester for presentation to the shared resource based on a priority scheme associated with the requester;

taking and storing snapshots at periodic intervals so as to identify which of the requesters have requests pending at the time a given snapshot was taken;

processing the pending requests in accordance with a predetermined default order; and

associating one of the requesters with a rotational priority scheme.

6. A method of employing priority schemes within a data processing system including a processor and a shared resource, said method comprising:

receiving requests for the shared resource from multiple requesters;

responsively implementing multiple priority schemes so as to allow each requester to be associated with any selected one of the multiple priority schemes irrespective of which of the priority schemes is associated with any of the other requesters;

prioritizing the requests from each requester for presentation to the shared resource based on a priority scheme associated with the requester;

taking and storing snapshots at periodic intervals so as to identify which of the requesters have requests pending at the time a given snapshot was taken;

processing the pending requests in accordance with a predetermined default order; and

associating one of the requesters with a preemptive priority scheme.

7. The method of claim 4 , wherein at least one of the predetermined default order is programmable.

8. The method of claim 5 , wherein at least one of the predetermined default order is programmable.

9. The method of claim 6 , wherein at least one of the predetermined default order is programmable.

10. A data processing system comprising:

a processor;

a shared resource;

multiple requesters that are each coupled to issue requests to the shared resource;

multiple priority logic sections, each coupled to one of the multiple requesters and adapted to implement multiple priority schemes, the priority logic section is configured to allow each requester to be associated with any selected one of the multiple priority schemes irrespective of which of the priority schemes is associated with any of the other requesters, the priority logic section to prioritize the requests from each requester for presentation to the shared resource based on the priority scheme associated with the requester;

rotational logic included within each priority logic section adapted to prioritize requests from the requesters according to a predetermined default prioritization order assigned to the requesters;

a snapshot register included within each priority logic section and coupled to the requesters to store, at periodic intervals, a snapshot identifying which of the requesters have requests pending at the time the snapshot is stored; and

wherein the priority scheme associated with a respective one of the requesters is a burst priority mode priority scheme.

11. The data processing system of claim 10 , wherein the shared resource is a memory and wherein each of the requesters is a queue storing a respectively different type of the requests.

12. The data processing system of claim 10 , wherein the priority logic section includes a programmable storage device to store data indicating the predetermined default prioritization order.

13. A data processing system comprising:

a processor;

a shared resource;

multiple requesters that are each coupled to issue requests to the shared resource;

multiple priority logic sections, each coupled to one of the multiple requesters and adapted to implement multiple priority schemes, the priority logic section is configured to allow each requester to be associated with any selected one of the multiple priority schemes irrespective of which of the priority schemes is associated with any of the other requesters, the priority logic section to prioritize the requests from each requester for presentation to the shared resource based on the priority scheme associated with the requester;

rotational logic included within each priority logic section adapted to prioritize requests from the requesters according to a predetermined default prioritization order assigned to the requesters;

a snapshot register included within each priority logic section and coupled to the requesters to store, at periodic intervals, a snapshot identifying which of the requesters have requests pending at the time the snapshot is stored; and

wherein the priority scheme associated with a respective one of the requesters is a preemptive mode priority scheme.

14. The data processing system of claim 13 , wherein the shared resource is a memory and wherein each of the requesters is a queue storing a respectively different type of the requests.

15. The data processing system of claim 13 , wherein the priority logic section includes a programmable storage device to store data indicating the predetermined default prioritization order.

Assignments (14)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
SECURITY AGREEMENT Recorded May 7, 2010
From: UNISYS CORPORATION
To: DEUTSCHE BANK
Reel/Frame 024351/0482 →
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
SECURITY AGREEMENT Recorded Jun 20, 2006
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
To: CITIBANK, N.A.
Reel/Frame 018003/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2004
From: SUGIYAMA, TAKASHI; IWAMOTO, YOSHIHISA
To: STANLEY ELECTRIC CO., LTD.
Reel/Frame 015284/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2003
From: ANDRIGHETTI, ROBRT H.
To: UNISYS CORPORATION
Reel/Frame 014854/0177 →