Computer input/output (I/O) interface with dynamic I/O...

Electrical computers and digital data processing systems: input/ – Intrasystem connection – System configuring

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S008000, C713S001000, C713S002000, C713S100000

Reexamination Certificate

active

06529978

ABSTRACT:

FIELD OF THE INVENTION
The invention is generally related to computers and computer software. More specifically, the invention is related to computer interfaces with peripheral devices and the maintenance thereof.
BACKGROUND OF THE INVENTION
Computer interfaces typically include hardware and/or software designed to communicate information from one system of hardware and/or software to another. One principal use of computer interfaces is in enabling communication between the primary processing complex (i.e., the “brains”) of a computer and one or more peripheral or external components or devices that enable the computer to communicate with the outside world. Given the wide variety of types of peripheral or external devices, as well as the variety of hardware designs utilized for such device types, often a computer will utilize an input/output (I/O) interface to simplify the interconnection and communication between the computer and such devices.
For example, one type of I/O interface utilized by some midrange, mainframe and other multi-user computer systems is a hierarchical input/output (I/O) interface. In a hierarchical I/O interface, devices such as computer networks, workstations, storage devices, display devices, etc. are interfaced with the processing complex of a computer through a hierarchical arrangement of input/output adaptors (IOA's) and input/output processors (IOP's).
An IOA generally refers to the interface control logic for a peripheral component that implements a particular type of connection, e.g., Ethernet, RS232, twinaxial, SCSI, etc. Often an IOA will also incorporate the physical connector required to connect the peripheral component to the system. IOA's are typically fairly simple, and often lack powerful processors and large arrays of memory. An IOP, on the other hand, typically includes a relatively complex processor and an appreciable amount of memory, and is used to interface one or more IOA's with the processing complex (e.g., the system processor) of a computer to offload much of the I/O related work (e.g., interrupts, buffering, etc.) from the processing complex. An IOP also typically encapsulates the specifics of the IOA's with which the IOP is interfaced to provide a more uniform interface to the processing complex.
By allocating I/O processing to a processor separate from the primary processing complex of a computer, significant performance gains are often realized, since the processing complex can be freed from having to directly handle the timeconsuming operations associated with I/O data transfers and interrupt handling. Moreover, IOP's typically provide a highly configurable and flexible interface for peripheral components, since much of the interface logic can be implemented in software that is executed by the IOP's. As a result, device-specific operations can be “wrapped” to provide a common software interface that effectively permits an application executing on a computer to access a peripheral component without any special regard for the specific intricacies of the underlying hardware.
Typically, a hierarchical I/O interface utilizes “bindings” between IOP's and IOA's, whereby each IOP is assigned responsibility for handling the interface between the computer and one or more IOA's. So that the overall performance of the computer is maximized, often attempts are made to balance IOP workloads and ensure that responsibility for IOA's is distributed as equally as possible between multiple IOP's. Otherwise, some IOP's may become overtaxed and slow down the system, while other IOP's may be underutilized and thus waste available processing capacity.
In some conventional hierarchical I/O interfaces, the bindings between IOP's and IOA's are more or less static—that is, once the bindings are established, they are relatively difficult and cumbersome to change. Moreover, the bindings are often based upon the relative locations and types of IOA's and IOP's in a computer. In some instances, however, it may be desirable to change the bindings between IOP's and IOA's, e.g., upon failure of an IOP, or if the workloads of different IOP's are significantly unbalanced.
Typically, IOP's handle specific I/O ports (or locations) in a computer, e.g., specific card slots on an interface bus, so that a particular IOP is assigned to handle any IOA's physically connected to one or more I/O ports in the computer. As a result, transferring responsibility for an IOA from one IOP to another typically requires that the IOA be physically removed from one location and replaced in another location in the computer.
At a minimum, moving an IOA requires physical access to the computer. More typically, moving an IOA requires that at least a portion of the computer be shut down and rebooted. In many multi-user computer environments, however, system availability is a critical requirement, and as such the inability to access a computer for any amount of time may have a significant impact on the productivity of a relatively large number of users. In many mission-critical applications, no system downtime is acceptable, and as such, changing bindings between IOA's and IOP's is effectively not supported.
Therefore, a significant need exists in the art for a manner of changing the bindings between IOA's and IOP's in a hierarchical I/O interface with minimal impact on system availability.
SUMMARY OF THE INVENTION
The invention addresses these and other problems associated with the prior art by providing an apparatus, program product and method in which the bindings between IOA's and IOP's in a hierarchical I/O interface of a computer can be dynamically controlled, and while maintaining at least partial system availability. Specifically, embodiments consistent with the invention support the dynamic reassignment of an IOA in a hierarchical I/O interface from one IOP to another IOP such that the latter IOP takes over management of data transfer between the processing complex of the computer and the IOA from the former IOP.
At least partial system availability is maintained during dynamic reassignment of an IOA to an IOP in embodiments consistent with the invention. As such, the management of hardware resource such as IOA's and IOP's can be performed with reduced system downtime, and often with less invasive maintenance procedures, since in many instances physical access to computer hardware is not required. In addition, in some embodiments of the invention, dynamic reassignment can occur without any attendant change in location of any IOA or IOP.
Furthermore, in some embodiments of the invention, dynamic reassignment of IOA's can be performed in response to detected failures for given IOP's, such that the failure in one IOP can be quickly and easily remedied through reassignment of any IOA's previously managed by the failed IOP to different, operational IOP's. In other embodiments of the invention, system performance can be monitored, and the bindings between IOA's and IOP's dynamically reassigned to maximize performance, e.g., by better balancing the workloads of multiple IOP's.
These and other advantages and features, which characterize the invention, are set forth in the claims annexed hereto and forming a further part hereof However, for a better understanding of the invention, and of the advantages and objectives attained through its use, reference should be made to the Drawings, and to the accompanying descriptive matter, in which there is described exemplary embodiments of the invention.


REFERENCES:
patent: 5430855 (1995-07-01), Walsh et al.
patent: 5655148 (1997-08-01), Richman et al.
patent: 5666557 (1997-09-01), Cassidy et al.
patent: 5751975 (1998-05-01), Gillespie et al.
patent: 5764930 (1998-06-01), Staats
patent: 5781798 (1998-07-01), Beatty et al.
patent: 5784644 (1998-07-01), Larabell
patent: 5793997 (1998-08-01), Briggs
patent: 5819107 (1998-10-01), Lichtman et al.
patent: 5832238 (

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Computer input/output (I/O) interface with dynamic I/O... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Computer input/output (I/O) interface with dynamic I/O..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Computer input/output (I/O) interface with dynamic I/O... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3048623

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.