IP Library Granted Patent US 8,239,566
Granted Patent B2
US 8,239,566 · App. 12/039,048 · Granted Aug 7, 2012

Non-saturating fairness protocol and method for NACKing systems

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 8,239,566
App. No.
12/039,048
Granted
Aug 7, 2012
Kind
B2
Abstract

Processing transaction requests in a shared memory multi-processor computer network is described. A transaction request is received at a servicing agent from a requesting agent. The transaction request includes a request priority associated with a transaction urgency generated by the requesting agent. The servicing agent provides an assigned priority to the transaction request based on the request priority, and then compares the assigned priority to an existing service level at the servicing agent to determine whether to complete or reject the transaction request. A reply message from the servicing agent to the requesting agent is generated to indicate whether the transaction request was completed or rejected, and to provide reply fairness state data for rejected transaction requests.

Claims (54)

1. A method of processing transaction requests in a shared memory multi-processor computer network, the method comprising:

receiving a transaction request at a servicing agent from a requesting agent, the transaction request including a priority request associated with a transaction urgency determined by the requesting agent;

providing to the transaction request an assigned priority determined by the servicing agent based on the request priority;

comparing the assigned priority to an existing service level at the servicing agent to determine whether to complete or reject the transaction request; and

generating a reply message from the servicing agent to the requesting agent:

i. indicating whether the transaction request was completed or rejected, and

ii. providing reply fairness state data for rejected transaction requests, wherein the reply fairness state data includes a retry delay specification for delaying generation of a retry transaction request for later performance of the rejected transaction request.

2. A method according to claim 1 , further comprising:

maintaining contention-related statistics concerning outstanding transaction requests for each assigned priority;

determining the service level based on the contention-related statistics; and

continuously updating the contention-related statistics as transaction requests are completed or rejected in order to dynamically adjust the service level.

3. A method according to claim 1 , wherein the retry delay specification reflects a difference between the assigned priority of the transaction request and the existing service level when the reply message was generated.

4. A method according to claim 1 , wherein the retry delay specification is shorter when the assigned priority of the rejected transaction request is higher.

5. A method according to claim 2 , further comprising:

registering a transaction request associated with the contention-related statistics; and

including registration information in the reply fairness state data to be echoed back to the servicing agent in a subsequent retry transaction request.

6. A method according to claim 5 , wherein registering a transaction request includes checking the transaction request for registration information from a previous transaction request so as to avoid re-registering the transaction request a second time.

7. A method according to claim 6 , further comprising:

periodically invalidating all previous transaction request registrations and associated contention-related statistics so that incoming registered transaction requests are subject to re-registering regardless of prior registration state so as to provide resilient operation accounting for dropping of registered transaction requests.

8. A method according to claim 7 , wherein periodically invalidating all previous transaction request registrations and associated contention-related statistics includes distinguishing a transaction request registered prior to the current registration period from a transaction request registered during the current registration period.

9. A method according to claim 8 , wherein the reply fairness state data includes a registration period flag that reflects the registration period of the transaction request.

10. A method according to claim 5 , wherein the transaction request includes a do not register flag instructing the servicing agent to not register the transaction request because the requesting agent might not retry the transaction request if rejected by the servicing agent.

11. A method according to claim 1 , wherein the assigned priority may be assigned to be less than the request priority so as to avoid priority saturation.

12. A method according to claim 1 , wherein the transaction urgency at the requesting agent is a function of age reflecting time elapsed since initiating the original transaction request.

13. A method according to claim 12 , wherein the reply fairness state data includes a direction to the requesting agent to freeze the transaction urgency for a given transaction request so as to avoid subsequent priority saturation.

14. A method according to claim 1 , wherein the reply fairness state data includes a reply priority to be echoed in a corresponding retry transaction request so that the serving agent is not required to maintain that information itself.

15. A method according to claim 14 , wherein the retry transaction request includes a priority upgrade requested flag identifying when the previous assigned priority for that transaction request is lower than its transaction urgency.

16. A system for processing transaction requests in a shared memory multi-processor computer network, the system comprising:

a request pre-processor, comprising at least one physical processor, in a servicing agent for:

i. receiving a transaction request from a requesting agent, the transaction request including a request priority associated with a transaction urgency determined by the requesting agent, and

ii. providing to the transaction request an assigned priority determined by the servicing agent based on the request priority;

a service processing code for:

i. comparing the assigned priority to an existing service level at the servicing agent to determine whether to complete or reject the transaction request, and

ii. generating a reply message to the requesting agent; and

a fairness state logic within the servicing processing code for:

i. responding to a transaction request having an assigned priority below the service level by rejecting the transaction request, and

ii. including reply fairness state data in the rejection reply message, wherein the fairness state logic includes in the reply fairness state data a retry delay specification for delaying generation of a retry transaction request for later performance of the rejected transaction request.

17. A system according to claim 16 , further comprising:

a contention-related statistics code for maintaining contention-related statistics concerning outstanding transaction requests for each assigned priority, wherein the existing service level is determined based on the contention-related statistics.

18. A system according to claim 16 , wherein the retry delay specification reflects a difference between the assigned priority of the transaction request and the existing service level when the reply message was generated.

19. A system according to claim 16 , wherein the retry delay specification is shorter when the assigned priority of the rejected transaction request is higher.

20. A system according to claim 17 , further comprising:

a registration code for registering a transaction request associated with the contention-related statistics;

wherein the reply fairness state data includes registration information to be echoed back to the servicing agent in a subsequent retry transaction request.

21. A system according to claim 20 , wherein the registration code further checks the transaction request for registration information from a previous transaction request so as to avoid re-registering the transaction request a second time.

22. A system according to claim 21 , wherein the registration code further periodically invalidates all previous transaction request registrations and associated contention-related statistics so that incoming registered transaction requests are subject to re-registering regardless of prior registration state so as to provide resilient operation accounting for dropping of registered transaction requests.

23. A system according to claim 22 , wherein the registration code distinguishes a transaction request registered prior to the current registration period from a transaction request registered during the current registration period.

24. A system according to claim 23 , wherein the fairness state logic includes in the reply fairness state data a registration period flag that reflects the registration period of the transaction request.

25. A system according to claim 20 , wherein the transaction request includes a do not register flag instructing the registration code not to register the transaction request because the requesting agent might not retry the transaction request if rejected by the servicing agent.

26. A system according to claim 16 , wherein the request pre-processor may provide the assigned priority to be less than the request priority so as to avoid priority saturation.

27. A system according to claim 16 , wherein the transaction urgency at the requesting agent is a function of age reflecting time elapsed since initiating the original transaction request.

28. A system according to claim 27 , wherein the fairness state logic includes in the reply fairness state data a direction to the requesting agent to freeze the transaction urgency accumulation for a given transaction request so as to avoid priority saturation.

29. A system according to claim 16 , wherein the fairness state logic includes in the reply fairness state data a reply priority to be echoed in a corresponding retry transaction request so that the servicing agent is not required to maintain that information itself.

30. A system according to claim 29 , wherein the retry transaction request includes a priority upgrade requested flag identifying when the previous assigned priority for that transaction request is lower than its transaction urgency.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
ORDER...AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 28, 2016
From: MORGAN STANLEY & CO., INCORPORATED
To: SILICON GRAPHICS, INC.
Reel/Frame 039503/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2016
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 039465/0001 →
CHANGE OF NAME Recorded Jul 26, 2016
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 039465/0390 →
MERGER Recorded Jul 26, 2016
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 039257/0994 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: SILICON GRAPHICS, INC. ET AL.; SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL, CORP.
Reel/Frame 027904/0315 →
SECURITY AGREEMENT Recorded Dec 16, 2008
From: SILICON GRAPHICS, INC.
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 021985/0269 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2008
From: FROMM, ERIC C.; THORSON, GREGORY M.
To: SILICON GRAPHICS, INC.
Reel/Frame 020657/0916 →