← Back to Patent Explorer
US5754887A Expired / Lapsed US ⏱️ 0.0 years remaining

System for limiting access of plurality of requests to peripheral bus by halting transmission to particular peripheral devices and resuming transmission after second predetermined time period expiration

Assignee: International Business Machines Corp
•
Filing: 1995-06-07
•
Granted: 1998-05-19
•
Expires: 2015-06-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system are disclosed for managing multiple requests issued by a requester to a number of peripheral devices coupled to a peripheral bus within a data processing system. A request issued by the requestor which specifies a particular operation to be performed is transmitted to a selected peripheral device vice the peripheral bus. In response to performance of the particular operation by the selected peripheral device within a first predetermined time period, successful completion of the request is reported to the requestor. In response to a failure of the selected peripheral device to perform the particular operation within the first predetermined time period, access to the peripheral bus by the multiple requests is limited. Thereafter, in response to a failure of the selected peripheral device to perform the particular operation within a second predetermined time period, a request timeout error is reported to the requester. However, in response to performance of the particular operation by the selected peripheral device within the second predetermined time period, successful completion of the request is reported to the requester. Thus, utilizing the present invention, request timeout errors due to peripheral bus saturation are minimized.

Inventors

  • 👤 Timothy Michael Damron
  • 👤 Michael Edward Lyons
  • 👤 Leslie James Record

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 03:01
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/0703; G06F11/0751; G06F11/0754; G06F11/0757; G06F11/0706; G06F11/0721; G06F11/0724; G06F13/00; G06F13/10; G06F13/12; G06F13/124; G06F13/126; G06F13/14

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 288 words
A method within a data processing system for managing a plurality of requests issued by a requester to selected peripheral devices among a plurality of peripheral devices coupled to a peripheral bus, said method comprising: transmitting a request issued by said requester to a selected peripheral device among said plurality of peripheral devices via said peripheral bus, wherein said request specifies a particular operation to be performed; in response to performance of said particular operation by said selected peripheral device within a first predetermined time period, reporting successful completion of said request to said requestor via said peripheral bus; in response to a failure of said selected peripheral device to perform said particular operation within said first predetermined time period, limiting access to said peripheral bus by said plurality of requests; thereafter, in response to a failure of said selected peripheral device to perform said particular operation within a second predetermined time period, reporting a request timeout error to said requestor; in response to performance of said particular operation by said selected peripheral device within said second predetermined time period, reporting a successful completion of said request to said requestor, wherein request timeout errors due to peripheral bus saturation are minimized; wherein said step of limiting access to said peripheral bus by said plurality of requests comprises halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period; and in response to performance of said particular operation by said selected peripheral device within said second predetermined time period or termination of said second predetermined time period, resuming transmission of said plurality of requests to said particular ones of said plurality of peripheral devices via said peripheral bus.
Claim 2
Independent Claim 288 words
A method within a data processing system for managing a plurality of requests issued by a requester to selected peripheral devices among a plurality of peripheral devices coupled to a peripheral bus, said method comprising: transmitting a request issued by said requester to a selected peripheral device among said plurality of peripheral devices via said peripheral bus, wherein said request specifies a particular operation to be performed; in response to performance of said particular operation by said selected peripheral device within a first predetermined time period, reporting successful completion of said request to said requestor via said peripheral bus; in response to a failure of said selected peripheral device to perform said particular operation within said first predetermined time period, limiting access to said peripheral bus by said plurality of requests; thereafter, in response to a failure of said selected peripheral device to perform said particular operation within a second predetermined time period, reporting a request timeout error to said requestor; in response to performance of said particular operation by said selected peripheral device within said second predetermined time period, reporting a successful completion of said request to said requestor, wherein request timeout errors due to peripheral bus saturation are minimized; wherein said step of limiting access to said peripheral bus by said plurality of requests comprises halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period; and in response to performance of said particular operation by said selected peripheral device within said second predetermined time period or termination of said second predetermined time period, resuming transmission of said plurality of requests to said particular ones of said plurality of peripheral devices via said peripheral bus.
Claim 3
Dependent Claim 180 words
The method for managing a plurality of requests within a data processing system of claim 1, said data processing system further including a peripheral adapter coupled between said peripheral bus and a processor which executes system software that maintains a pending queue and an active queue for each of said plurality of peripheral devices, wherein each of said pending queues stores requests to be issued and each of said active queues stores requests that have been issued but have not completed, said method further comprising: receiving a request at said system software which specifies said particular operation to be performed by said selected peripheral device; placing said request within a pending queue associated with said selected peripheral device; determining whether transmission of requests within said pending queue associated with said selected peripheral device has been halted; in response to a determination that transmission of requests within said pending queue associated with said selected peripheral device has not been halted, transmitting said request to said peripheral adapter; and placing said request on an active queue associated with said selected peripheral device.
Claim 4
Dependent Claim 73 words
The method for managing requests within a data processing system of claim 2, wherein said steps of reporting successful completion of said request to said requestor comprise: transmitting an indication from said peripheral adapter to said system software that said request has been performed; removing said request from said active queue associated with said selected peripheral device; and resuming transmission of requests from each pending queue from which transmission of requests was halted.
Claim 5
Dependent Claim 83 words
The method for managing a plurality of requests within a data processing system of claim 1, wherein each of said plurality of peripheral devices is associated with a priority, and wherein said step of halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period comprises halting transmission of said plurality of requests to peripheral devices among said plurality of peripheral devices which have a higher priority than said selected peripheral device.
Claim 6
Dependent Claim 180 words
The method for managing a plurality of requests within a data processing system of claim 4, said data processing system further including a peripheral adapter coupled between said peripheral bus and a processor which executes system software that maintains a pending queue and an active queue for each of said plurality of peripheral devices, wherein each of said pending queues stores requests to be issued and each of said active queues stores requests that have been issued but have not completed, said method further comprising: receiving a request at said system software which specifies a particular operation to be performed by said selected peripheral device; placing said request within a pending queue associated with said selected peripheral device; determining whether transmission of requests within said pending queue associated with said selected peripheral device has been halted; in response to a determination that transmission of requests within said pending queue associated with said selected peripheral device has not been halted, transmitting said request to said peripheral adapter; and placing said request on an active queue associated with said selected peripheral device.
Claim 7
Dependent Claim 73 words
The method for managing requests within a data processing system of claim 5, wherein said steps of reporting successful completion of said request to said requester comprise: transmitting an indication from said peripheral adapter to said system software that said request has been performed; removing said request from said active queue associated with said selected peripheral device; and resuming transmission of requests from each pending queue from which transmission of requests was halted.
Claim 8
Independent Claim 302 words
A system within a data processing system for managing a plurality of requests issued by a requester to selected peripheral devices among a plurality of peripheral devices coupled to a peripheral bus, said system comprising: means for transmitting a request issued by said requestor to a selected peripheral device among said plurality of peripheral devices via said peripheral bus, wherein said request specifies a particular operation to be performed; means for reporting successful completion of said request to said requester via said peripheral bus in response to performance of said particular operation by said selected peripheral device within a first predetermined time period; means for limiting access to said peripheral bus by said plurality of requests in response to a failure of said selected peripheral device to perform said particular operation within said first predetermined time period; means for thereafter reporting a request timeout error to said requester in response to a failure of said selected peripheral device to perform said particular operation within a second predetermined time period; means for reporting a successful completion of said request to said requester in response to performance of said particular operation by said selected peripheral device within said second predetermined time period, wherein request timeout errors due to peripheral bus saturation are minimized; wherein said means for limiting access to said peripheral bus by said plurality of requests comprises means for halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period; and means for resuming transmission of said plurality of requests to said particular ones of said plurality of peripheral devices via said peripheral bus in response to performance of said particular operation by said selected peripheral device within said second predetermined time period or termination of said second predetermined time period.
Claim 9
Independent Claim 302 words
A system within a data processing system for managing a plurality of requests issued by a requester to selected peripheral devices among a plurality of peripheral devices coupled to a peripheral bus, said system comprising: means for transmitting a request issued by said requestor to a selected peripheral device among said plurality of peripheral devices via said peripheral bus, wherein said request specifies a particular operation to be performed; means for reporting successful completion of said request to said requester via said peripheral bus in response to performance of said particular operation by said selected peripheral device within a first predetermined time period; means for limiting access to said peripheral bus by said plurality of requests in response to a failure of said selected peripheral device to perform said particular operation within said first predetermined time period; means for thereafter reporting a request timeout error to said requester in response to a failure of said selected peripheral device to perform said particular operation within a second predetermined time period; means for reporting a successful completion of said request to said requester in response to performance of said particular operation by said selected peripheral device within said second predetermined time period, wherein request timeout errors due to peripheral bus saturation are minimized; wherein said means for limiting access to said peripheral bus by said plurality of requests comprises means for halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period; and means for resuming transmission of said plurality of requests to said particular ones of said plurality of peripheral devices via said peripheral bus in response to performance of said particular operation by said selected peripheral device within said second predetermined time period or termination of said second predetermined time period.
Claim 10
Dependent Claim 185 words
The system for managing a plurality of requests within a data processing system of claim 7, and further comprising: a processor which executes system software that maintains a pending queue and an active queue for each of said plurality of peripheral devices, wherein each of said pending queues stores requests to be issued and each of said active queues stores requests that have been issued but have not completed; a peripheral adapter coupled between said processor and said peripheral bus; means for receiving a request at said system software which specifies said particular operation to be performed by said selected peripheral device; means for placing said request within a pending queue associated with said selected peripheral device; means for determining whether transmission of requests within said pending queue associated with said selected peripheral device has been halted; means for transmitting said request to said peripheral adapter in response to a determination that transmission of requests within said pending queue associated with said selected peripheral device has not been halted; and means for placing said request on an active queue associated with said selected peripheral device.
Claim 11
Dependent Claim 81 words
The system for managing requests within a data processing system of claim 8, wherein each of said means for reporting successful completion of said request to said requester comprises: means for transmitting an indication from said peripheral adapter to said system software that said request has been performed; means for removing said request from said active queue associated with said selected peripheral device; and means for resuming transmission of requests from each pending queue from which transmission of requests was halted.
Claim 12
Dependent Claim 85 words
The system for managing a plurality of requests within a data processing system of claim 7, wherein each of said plurality of peripheral devices is associated with a priority, and wherein said means for halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period comprises means for halting transmission of said plurality of requests to peripheral devices among said plurality of peripheral devices which have a higher priority than said selected peripheral device.
Claim 13
Dependent Claim 185 words
The system for managing a plurality of requests within a data processing system of claim 10, and further comprising: a processor which executes system software that maintains a pending queue and an active queue for each of said plurality of peripheral devices, wherein each of said pending queues stores requests to be issued and each of said active queues stores requests that have been issued but have not completed; a peripheral adapter coupled between said processor and said peripheral bus; means for receiving a request at said system software which specifies a particular operation to be performed by said selected peripheral device; means for placing said request within a pending queue associated with said selected peripheral device; means for determining whether transmission of requests within said pending queue associated with said selected peripheral device has been halted; means for transmitting said request to said peripheral adapter in response to a determination that transmission of requests within said pending queue associated with said selected peripheral device has not been halted; and means for placing said request on an active queue associated with said selected peripheral device.
Claim 14
Dependent Claim 81 words
The system for managing requests within a data processing system of claim 11, wherein each of said means for reporting successful completion of said request to said requester comprises: means for transmitting an indication from said peripheral adapter to said system software that said request has been performed; means for removing said request from said active queue associated with said selected peripheral device; and means for resuming transmission of requests from each pending queue from which transmission of requests was halted.
Claim 15
Dependent Claim 28 words
The system for managing a plurality of requests within a data processing system of claim 8, wherein said peripheral adapter is a Small Computer System Interface (SCSI) adapter.
Claim 16
Dependent Claim 37 words
The system for managing a plurality of requests within a data processing system of claim 7, said data processing system including a plurality of processors, wherein said requestor comprises a particular one of said plurality of processors.
Claim 17
Dependent Claim 328 words
A program product stored on a media, wherein said program product can be utilized by a data processing system to manage a plurality of requests issued by a requester to selected peripheral devices among a plurality of peripheral devices coupled to a peripheral bus of said data processing system, said program product comprising: instruction means for transmitting a request issued by said requester to a selected peripheral device among said plurality of peripheral devices via said peripheral bus, wherein said request specifies a particular operation to be performed; instruction means for reporting successful completion of said request to said requestor via said peripheral bus in response to performance of said particular operation by said selected peripheral device within a first predetermined time period; instruction means for limiting access to said peripheral bus by said plurality of requests in response to a failure of said selected peripheral device to perform said particular operation within said first predetermined time period; instruction means for thereafter reporting a request timeout error to said requester in response to a failure of said selected peripheral device to perform said particular operation within a second predetermined time period; instruction means for reporting a successful completion of said request to said requester in response to performance of said particular operation by said selected peripheral device within said second predetermined time period, wherein request timeout errors due to peripheral bus saturation are minimized; wherein said instruction means for limiting access to said peripheral bus by said plurality of requests comprises instruction means for halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period; and instruction means for resuming transmission of said plurality of requests to said particular ones of said plurality of peripheral devices via said peripheral bus in response to performance of said particular operation by said selected peripheral device within said second predetermined time period or termination of said second predetermined time period.
Claim 18
Dependent Claim 328 words
A program product stored on a media, wherein said program product can be utilized by a data processing system to manage a plurality of requests issued by a requester to selected peripheral devices among a plurality of peripheral devices coupled to a peripheral bus of said data processing system, said program product comprising: instruction means for transmitting a request issued by said requester to a selected peripheral device among said plurality of peripheral devices via said peripheral bus, wherein said request specifies a particular operation to be performed; instruction means for reporting successful completion of said request to said requestor via said peripheral bus in response to performance of said particular operation by said selected peripheral device within a first predetermined time period; instruction means for limiting access to said peripheral bus by said plurality of requests in response to a failure of said selected peripheral device to perform said particular operation within said first predetermined time period; instruction means for thereafter reporting a request timeout error to said requester in response to a failure of said selected peripheral device to perform said particular operation within a second predetermined time period; instruction means for reporting a successful completion of said request to said requester in response to performance of said particular operation by said selected peripheral device within said second predetermined time period, wherein request timeout errors due to peripheral bus saturation are minimized; wherein said instruction means for limiting access to said peripheral bus by said plurality of requests comprises instruction means for halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period; and instruction means for resuming transmission of said plurality of requests to said particular ones of said plurality of peripheral devices via said peripheral bus in response to performance of said particular operation by said selected peripheral device within said second predetermined time period or termination of said second predetermined time period.
Claim 19
Dependent Claim 189 words
The program product of claim 15, said data processing system further including a processor which executes system software that maintains a pending queue and an active queue for each of said plurality of peripheral devices, wherein each of said pending queues stores requests to be issued and each of said active queues stores requests that have been issued but have not completed, and a peripheral adapter coupled between said processor and said peripheral bus, said program product further comprising: instruction means for receiving a request at said system software which specifies said particular operation to be performed by said selected peripheral device; instruction means for placing said request within a pending queue associated with said selected peripheral device; instruction means for determining whether transmission of requests within said pending queue associated with said selected peripheral device has been halted; instruction means for transmitting said request to said peripheral adapter in response to a determination that transmission of requests within said pending queue associated with said selected peripheral device has not been halted; and instruction means for placing said request on an active queue associated with said selected peripheral device.
Claim 20
Dependent Claim 78 words
The program product of claim 16, wherein each of said instruction means for reporting successful completion of said request to said requestor comprises: instruction means for transmitting an indication from said peripheral adapter to said system software that said request has been performed; instruction means for removing said request from said active queue associated with said selected peripheral device; and instruction means for resuming transmission of requests from each pending queue from which transmission of requests was halted.
Claim 21
Dependent Claim 82 words
The program product of claim 15, wherein each of said plurality of peripheral devices within said data processing system is associated with a priority, and wherein said instruction means for halting transmission of said plurality of requests to particular ones of said plurality of peripheral devices during said second predetermined time period comprises instruction means for halting transmission of said plurality of requests to peripheral devices among said plurality of peripheral devices which have a higher priority than said selected peripheral device.
Claim 22
Dependent Claim 189 words
The program product of claim 18, said data processing system further including a processor which executes system software that maintains a pending queue and an active queue for each of said plurality of peripheral devices, wherein each of said pending queues stores requests to be issued and each of said active queues stores requests that have been issued but have not completed, and a peripheral adapter coupled between said processor and said peripheral bus, said program product further comprising: instruction means for receiving a request at said system software which specifies a particular operation to be performed by said selected peripheral device; instruction means for placing said request within a pending queue associated with said selected peripheral device; instruction means for determining whether transmission of requests within said pending queue associated with said selected peripheral device has been halted; instruction means for transmitting said request to said peripheral adapter in response to a determination that transmission of requests within said pending queue associated with said selected peripheral device has not been halted; and instruction means for placing said request on an active queue associated with said selected peripheral device.
Claim 23
Dependent Claim 78 words
The program product of claim 19, wherein each of said instruction means for reporting successful completion of said request to said requester comprises: instruction means for transmitting an indication from said peripheral adapter to said system software that said request has been performed; instruction means for removing said request from said active queue associated with said selected peripheral device; and instruction means for resuming transmission of requests from each pending queue from which transmission of requests was halted.

References Cited (Backward Citations)

US4030075A Cited
US4257095A Cited
US4561092A Cited
US4849936A Cited
US4719569A Cited
US4872110A Cited
US5016167A Cited
US4987529A Cited
US5031089A Cited
US5101479A Cited
US5432926A Cited
US5530872A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-18 2001-11-17 2002-05-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-18 2005-11-17 2006-05-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-18 2009-11-17 2010-05-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag