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

Method and apparatus for simulating I/O devices

Assignee: International Business Machines Corp
•
Filing: 1993-10-18
•
Granted: 1995-08-08
•
Expires: 2013-10-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system comprises a CPU, a main memory, and plurality of I/O Processors (IOPs), coupled to each other by a system I/O bus. The IOPs perform slave processing functions relating to I/O devices. A simulation protocol is defined for the IOPs, whereby the host CPU can command an IOP to execute a simulation script. The simulation script defines one or more I/O devices to be simulated, and specifies a simulated workload associated with the devices. The IOP executes the simulation script by sending simulated input streams to the host and receiving output destined for the simulated I/O devices from the host on the system I/O bus. An IOP may simulate multiple I/O devices, and may simulate I/O devices concurrently with servicing real I/O devices. In typical use, one or more applications programs will execute on the CPU concurrently with the execution of one or more simulation scripts in the IOPs attacked to the system I/O bus. The behavior of the system under such conditions can be used for capacity planning forecasts, for developing and debugging the application software, for reproducing and diagnosing intermittent error conditions, or for performing other tasks in which it is necessary to determine the characteristics of the system under hypothetical conditions.

Inventors

  • 👤 Mark A. Boegel
  • 👤 Douglas O. Bolstad
  • 👤 Stephen A. Knight
  • 👤 Harvey G. Kiel
  • 👤 Robert R. Nelson
  • 👤 Pamela A. Wright

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 16:08
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3698; G06F11/22; G06F11/26; G06F11/261; G06F13/00; G06F13/10; G06F13/105; G06F11/30; G06F11/34; G06F11/3409; G06F11/3414; G06F11/3442

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 138 words
A computer system comprising: a central processing unit; a system I/O bus coupled to said central processing unit; and an I/O processor assembly coupled to said system I/O bus for communicating with one or more I/O devices attached to said I/O processor assembly via a communications path independent of said system I/O bus, said I/O processor assembly comprising a programmable processor for controlling the operation of said I/O processor assembly and a local memory for storing instructions which execute on said programmable processor; wherein said I/O processor assembly has means for simulating an I/O device to said system I/O bus, said means comprising said programmable processor and said local memory, and further comprising: (a) means for receiving a simulation script from said system I/O bus, and (b) means for executing said simulation script to simulate an I/O device.
Claim 2
Dependent Claim 138 words
A computer system comprising: a central processing unit; a system I/O bus coupled to said central processing unit; and an I/O processor assembly coupled to said system I/O bus for communicating with one or more I/O devices attached to said I/O processor assembly via a communications path independent of said system I/O bus, said I/O processor assembly comprising a programmable processor for controlling the operation of said I/O processor assembly and a local memory for storing instructions which execute on said programmable processor; wherein said I/O processor assembly has means for simulating an I/O device to said system I/O bus, said means comprising said programmable processor and said local memory, and further comprising: (a) means for receiving a simulation script from said system I/O bus, and (b) means for executing said simulation script to simulate an I/O device.
Claim 3
Dependent Claim 39 words
The computer system of claim 1, wherein said I/O processor assembly has means for simulating a plurality of I/O devices simultaneously, said means for simulating a plurality of I/O devices simultaneously comprising said programmable processor and said local memory.
Claim 4
Dependent Claim 50 words
The computer system of claim 1, further comprising: a real I/O device coupled to said I/O processor assembly via a communications path independent of said system I/O bus; wherein said means for simulating an I/O device comprises means for simulating an I/O device concurrently with servicing said real I/O device.
Claim 5
Dependent Claim 26 words
The computer system of claim 1, wherein said simulation script comprises a plurality of data bytes representing simulated input data and a plurality of imbedded commands.
Claim 6
Dependent Claim 35 words
The computer system of claim 1, wherein said means for executing said simulation script comprises a control program having a plurality of instructions stored in said local memory and which execute on said programmable processor.
Claim 7
Independent Claim 143 words
A method for performing introspective tasks on a computer system, having a central processing unit, a system I/O bus, and an I/O processor assembly coupled to said system I/O bus, said I/O processor assembly for communicating with one or more I/O devices attached to said I/O processor assembly via a communications path independent of said system I/O bus, said method comprising the steps of: receiving a command being transmitted on said system I/O bus to simulate an I/O device, said command being received by said I/O processor assembly; generating a plurality of simulated data streams, said simulated data streams simulating data from said I/O device, said generating step being performed by said I/O processor assembly without assistance from a real I/O device; and transmitting said simulated data streams on said system I/O bus, said transmitting step being performed by said I/O processor assembly.
Claim 8
Independent Claim 143 words
A method for performing introspective tasks on a computer system, having a central processing unit, a system I/O bus, and an I/O processor assembly coupled to said system I/O bus, said I/O processor assembly for communicating with one or more I/O devices attached to said I/O processor assembly via a communications path independent of said system I/O bus, said method comprising the steps of: receiving a command being transmitted on said system I/O bus to simulate an I/O device, said command being received by said I/O processor assembly; generating a plurality of simulated data streams, said simulated data streams simulating data from said I/O device, said generating step being performed by said I/O processor assembly without assistance from a real I/O device; and transmitting said simulated data streams on said system I/O bus, said transmitting step being performed by said I/O processor assembly.
Claim 9
Dependent Claim 41 words
The method for performing introspective tasks on a computer system of claim 6, further comprising the step of: receiving output destined for said I/O device being simulated from said system I/O bus, said output being received by said I/O processor assembly.
Claim 10
Dependent Claim 64 words
The method for performing introspective tasks on a computer system of claim 6, wherein: said command received by said I/O processor assembly commands said I/O processor assembly to simulate a plurality of I/O devices simultaneously; and said generating and transmitting steps generate and transmit a plurality of simulated data streams, wherein said simulated data streams simulate data from said plurality of I/O devices simultaneously.
Claim 11
Dependent Claim 52 words
The method for performing introspective tasks on a computer system of claim 6, further comprising the step of: servicing, with said I/O processor assembly, a real I/O device coupled to said I/O processor assembly, wherein said servicing step is performed concurrently with said steps of generating and transmitting said simulated data streams.
Claim 12
Independent Claim 166 words
A method for simulating real-time performance of a hypothetical computer system having a first number of I/O devices with a real computer system having a second number of I/O devices attached to one or more I/O processor assemblies, wherein said first number is greater than said second number, comprising the steps of: defining, with said real computer system, a plurality of I/O devices to be simulated by said real computer system; issuing a command in said real computer system, said command directed to an I/O processor assembly of said real computer system, to simulate said I/O devices to be simulated; simulating, with said I/O processor assembly, real-time behavior of said I/O devices to said real computer system, wherein said steps of defining a plurality of devices, issuing a command and simulating real-time behavior are performed as part of a capacity planning task executed by said real computer system, in which information concerning operational characteristics of said hypothetical system is used to perform said capacity planning task.
Claim 13
Independent Claim 166 words
A method for simulating real-time performance of a hypothetical computer system having a first number of I/O devices with a real computer system having a second number of I/O devices attached to one or more I/O processor assemblies, wherein said first number is greater than said second number, comprising the steps of: defining, with said real computer system, a plurality of I/O devices to be simulated by said real computer system; issuing a command in said real computer system, said command directed to an I/O processor assembly of said real computer system, to simulate said I/O devices to be simulated; simulating, with said I/O processor assembly, real-time behavior of said I/O devices to said real computer system, wherein said steps of defining a plurality of devices, issuing a command and simulating real-time behavior are performed as part of a capacity planning task executed by said real computer system, in which information concerning operational characteristics of said hypothetical system is used to perform said capacity planning task.
Claim 14
Dependent Claim 36 words
The method of claim 10, wherein said step of issuing a command comprises sending a simulation script to said I/O processor assembly, and said simulating step comprises executing said simulation script with said I/O processor assembly.
Claim 15
Dependent Claim 25 words
The method of claim 11, wherein said simulation script comprises a plurality of data bytes representing simulated input data and a plurality of imbedded commands.
Claim 16
Independent Claim 176 words
A method for simulating real-time performance of a hypothetical computer system having a first number of I/O devices with a real computer system having a second number of I/O devices attached to one or more I/O processor assemblies, wherein said first number is greater than said second number, comprising the steps of: defining, with said real computer system, a plurality of I/O devices to be simulated by said real computer system; issuing a command in said real computer system, said command directed to an I/O processor assembly of said real computer system, to simulate said I/O devices to be simulated; simulating, with said I/O processor assembly, real-time behavior of said I/O devices to said real computer system, wherein said steps of defining a plurality of I/O devices, issuing a command, and simulating real-time behavior are performed as part of a software development task executed by said real computer system to develop a software module, in which information concerning operational characteristics of said hypothetical system executing said software module is used to perform said software development task.
Claim 17
Independent Claim 176 words
A method for simulating real-time performance of a hypothetical computer system having a first number of I/O devices with a real computer system having a second number of I/O devices attached to one or more I/O processor assemblies, wherein said first number is greater than said second number, comprising the steps of: defining, with said real computer system, a plurality of I/O devices to be simulated by said real computer system; issuing a command in said real computer system, said command directed to an I/O processor assembly of said real computer system, to simulate said I/O devices to be simulated; simulating, with said I/O processor assembly, real-time behavior of said I/O devices to said real computer system, wherein said steps of defining a plurality of I/O devices, issuing a command, and simulating real-time behavior are performed as part of a software development task executed by said real computer system to develop a software module, in which information concerning operational characteristics of said hypothetical system executing said software module is used to perform said software development task.
Claim 18
Dependent Claim 36 words
The method of claim 13, wherein said step of issuing a command comprises sending a simulation script to said I/O processor assembly, and said simulating step comprises executing said simulation script with said I/O processor assembly.
Claim 19
Dependent Claim 176 words
An I/O processor assembly for coupling to a system I/O bus of a computer system, and for communicating with one or more I/O devices attached to said I/O processor assembly via a communications path independent of said system I/O bus, said I/O processor assembly comprising: a system I/O bus interface; a programmable processor coupled to said system I/O bus interface for controlling operation of said I/O processor assembly; a local memory for storing instructions which execute on said programmable processor, coupled to said programmable processor; means for receiving a command being transmitted on said system I/O bus via said system I/O bus interface to simulate an I/O device attached to said I/O processor, said means for receiving a command including means for receiving a simulation script being transmitted on said system I/O bus; and means, responsive to said means for receiving a command, for simulating said I/O device to said system I/O bus, said means for simulating said I/O device to said system I/O bus including means for executing said simulation script with said programmable processor.
Claim 20
Dependent Claim 176 words
An I/O processor assembly for coupling to a system I/O bus of a computer system, and for communicating with one or more I/O devices attached to said I/O processor assembly via a communications path independent of said system I/O bus, said I/O processor assembly comprising: a system I/O bus interface; a programmable processor coupled to said system I/O bus interface for controlling operation of said I/O processor assembly; a local memory for storing instructions which execute on said programmable processor, coupled to said programmable processor; means for receiving a command being transmitted on said system I/O bus via said system I/O bus interface to simulate an I/O device attached to said I/O processor, said means for receiving a command including means for receiving a simulation script being transmitted on said system I/O bus; and means, responsive to said means for receiving a command, for simulating said I/O device to said system I/O bus, said means for simulating said I/O device to said system I/O bus including means for executing said simulation script with said programmable processor.
Claim 21
Dependent Claim 36 words
The I/O processor assembly of claim 15, wherein said I/O processor assembly has means for simulating a plurality of I/O devices simultaneously, said means for simulating a plurality of I/O devices simultaneously including said programmable processor.
Claim 22
Dependent Claim 35 words
The I/O processor assembly of claim 15, wherein said means for simulating an I/O device comprises means for simulating an I/O device concurrently with servicing a real I/O device attached to said I/O processor assembly.
Claim 23
Dependent Claim 27 words
The I/O processor assembly of claim 15, wherein said simulation script comprises a plurality of data bytes representing simulated input data and a plurality of imbedded commands.
Claim 24
Dependent Claim 35 words
The I/O processor assembly of claim 15, wherein said means for executing said simulation script comprises a control program having a plurality of instructions stored in said local memory which execute on said programmable processor.
Claim 25
Dependent Claim 140 words
A computer system, said computer system having a first number of I/O devices attached to one or more I/O processor assemblies, said computer system comprising: means for defining a hypothetical computer system having a second number of I/O devices, said second number being greater than said first number, wherein at least one of said second number of I/O devices is a device to be simulated in real-time by said computer system; means for commanding an I/O processor assembly of said system to simulate said I/O device to be simulated; means in said I/O processor assembly, responsive to said means for commanding an I/O processor assembly of said system to simulate said I/O device to be simulated, for simulating the real-time behavior of said simulated I/O device to said computer system, thereby simulating the real-time behavior of said hypothetical computer system.
Claim 26
Dependent Claim 140 words
A computer system, said computer system having a first number of I/O devices attached to one or more I/O processor assemblies, said computer system comprising: means for defining a hypothetical computer system having a second number of I/O devices, said second number being greater than said first number, wherein at least one of said second number of I/O devices is a device to be simulated in real-time by said computer system; means for commanding an I/O processor assembly of said system to simulate said I/O device to be simulated; means in said I/O processor assembly, responsive to said means for commanding an I/O processor assembly of said system to simulate said I/O device to be simulated, for simulating the real-time behavior of said simulated I/O device to said computer system, thereby simulating the real-time behavior of said hypothetical computer system.
Claim 27
Dependent Claim 52 words
The computer system of claim 20, wherein said means for commanding an I/O processor assembly to simulate an I/O device comprises means for transmitting a simulation script to said I/O processor assembly, and said means for simulating the real-time behavior of said simulated I/O device comprises means for executing said simulation script.
Claim 28
Dependent Claim 26 words
The computer system of claim 21, wherein said simulation script comprises a plurality of data bytes representing simulated input data and a plurality of imbedded commands.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-08-07 1999-02-06 1999-08-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-08-07 2003-02-06 2003-08-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-08-07 2007-02-06 2007-08-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag