|Publication number||US4604690 A|
|Application number||US 06/771,801|
|Publication date||Aug 5, 1986|
|Filing date||Sep 3, 1985|
|Priority date||Feb 22, 1983|
|Publication number||06771801, 771801, US 4604690 A, US 4604690A, US-A-4604690, US4604690 A, US4604690A|
|Inventors||Robert P. Crabtree, Keith F. Kelly, Jr.|
|Original Assignee||International Business Machines Corp.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (9), Referenced by (50), Classifications (12), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application is a continuation of application Ser. No. 468,514, filed Feb. 22, 1983, now abandoned.
This invention relates generally to adding devices to a data processing system, and more specifically to a method of dynamically reconfiguring the system during operation such that the added devices are immediately available, for use by the system.
Adding devices in today's environment to a data processing system made up of a multi-ported computing installation typically involves intricate detail and elaborate operations. The use of the term adding is not meant to include a physical hardware connecting operation. In fact, it is to be assumed that a preliminary operation has been performed and to-be-added devices are already cable connected and/or plugged in. With this in mind, the term adding is meant to include the operation of defining the devices to the operating system in use by the processing system such that the devices can be used by the operating system. In addition to defining new devices, also contemplated is the redefining of existing devices. The devices contemplated include keyboard/display input/output (I/O) terminals, direct access devices, tapc units, printers, card readers, card punch units, etc.
FIG. 1 depicts the intricate detail and elaborate operations mentioned above. Included are system programmer operations of writing detailed source code statements defining a device to be added or redefined and also the related control units and channels to be affected by the device, compiling the source code statements, and combining the resulting object code modules with other operating system components to generate a new operating system base. These operations are depicted by blocks 1, 2 and 3, respectively. The process encompassed in blocks 1-3 is often referred to as a system generation or SYSGEN operation. Because of the complexity of this process, there is a probability that mistakes will occur and it is usually prudent to subject the new operating system base to a degree of testing, as indicated by block 4, prior to its use in a production environment. This testing time represents time in which the computing installation or system is not available for its normal purpose.
At a very minimum, it is necessary to reload and reinitialize the operating system, as indicated by block 5, before the added or redefined device can be used. If the operating system, due to a mistake or whatever reason, fails to accept the definition, the system programmer operations must be repeated. Not only is system programmer time and effort costly, the effects of a down system can be disastrous.
One solution in attempting to eliminate the need for the SYSGEN operation is to predefine large numbers of potential devices at specific addresses. However, there are practical upper limits on the number of each device type which can be defined in this way. Also, device addresses must then be changed when new features are added to the devices. Further, and more importantly, the resources which are required in the operating system to define all unused devices are wasted from the time of the initial system installation until the time devices are actually physically attached.
The above is prior art only in a background sense, and as such, falls short of either anticipating or rendering the instant invention obvious. More specifically, the instant invention presents an advance over any known prior art in that a system can be reconfigured on-line and on a real time basis for a previously undefined device which is to be added. Further, the instant invention presents an advance in that the added device is instantly available for use by the system.
A unique method of reconfiguring a system for an added or redefined device is provided in order to eliminate (1) the need for a system programmer having to construct complex detailed device, and related control unit and channel, definitions, and having to encode the definitions as source statements as inputs to a system generation compiler program, (2) remaining time and resource consuming SYSGEN tasks, (3) loss in time and resources resulting from disruption caused by subsequent testing operations, and (4) disruption and inconvenience caused by having to reload and reinitialize an operating system being used by the data processing system.
The method includes calling a configuration program which causes menus to be presented to a display terminal. Selections are made from the menus and the menus are keyed to. Alternatively, the configuration program could obtain the same information from an input file, data file, or any other source which might be consistent with the normal operation of the computing system.
Based on the selections and keying at the display terminal or from alternate input provided, the program causes a device definition to be built for a device to be added to the operating system. The program also builds definitions for any related control units and channels implied or required by the device definition. The definitions are then stored in a control block section of system main storage where they are available for immediate use by the operating system. The definitions are also written in, or on, a secondary store, such as a disk, along with a catalog or file of other device definitions.
Because the configuration program is in a position to structure, restrict, and check the built device definitions and because the remainder of the operating system supervisor is unaffected by addition or redefinition of a device, the need for any testing is substantially reduced, if not eliminated. Also because the device is immediately available to the system, the need to reload and reinitialize the operating system is eliminated.
FIG. 1 is a block diagram illustrating prior art chores necessary in reconfiguring a system for an added device.
FIG. 2 is a block diagram illustrating the method of this invention for adding a printer to a system.
For a more detailed understanding of the invention, reference is made to FIG. 2. First, it is to be assumed that a newly available printer 21 is to be added to a data processing system 22 and utilized by an in-use operating system. After printer 21 has been cable connected to system 22, a system administrator 23 will use a keyboard/display I/O terminal 24 and call a configuration program 25. Program 25 causes a menu and/or screen presentation to administrator 23. Based upon menu selections and screen keying by administrator 23, a definition for printer 21 is built by program 25. The limited keying contemplated by administrator 23 includes a device address, selection of a device type, and a new or redefined device status. Program building of definitions, etc., based on menu selections and screen keying is well within the skill of one in the art. As such, details of such a program have been omitted for purposes of conciseness and clarity.
A control block is constructed to represent the device to operating system 22. This constructed block is either added to existing control blocks in main storage, or is used to replace an existing block. These operations are represented by blocks 27 and 29, and 28, respectively. More specifically, if printer 21 is new, a new control block is built. If printer 21 is redefined, and is not in use (allocated) at the time of the redefinition, the old control block is replaced or written over with the newly constructed control block. If the device is redefined and is in use at the time of the redefinition, a new control block is built and placed behind the old control block, and the old control block is marked in such a way that when the device is no longer being used, the old control block will be deleted.
The new or redefined status of printer 21 is initially determined by administrator keying. Prior to building a control block, this status is determined as represented by block 31. Status determination also extends to use and non-use of a redefined device. That is, if printer 21 is being redefined and is not currently in use, this use status will determine, as set out above, that the old control block is to be written over or replaced with the newly built control block. The marking of the old control block can be by setting a particular bit or series of bits which are recognizable by the operating system for causing the old control block to be deleted when its associated device is unallocated or no longer in use.
The built definition for printer 21 is also stored on a disk 30 as part of a catalog or file of other device definitions for devices in use by operating system 22. This permits the device definitions to be recreated in event of a power down situation, or any other occurrence where the contents of main storage are erased or lost. Also, the disk file is updated as necessary by the operating system to cause the disk file to match the control block section of main storage. This is a normal operating system capability and is initiated for purposes of this invention based on device status as discussed above.
As with program building of definitions, the building and storing of control blocks in main storage is well within the skill of one in the art. As such, further detail is not considered warranted.
From the above, the major prior art management problems of system downtime and wasted responses are overcome. A system can now be dynamically reconfigured, during operation, for an added device, and the added device is immediately available for use by the system.
In summary, a unique method of reconfiguring a system for an added device is provided. The method includes calling a configuration program which causes menus to be presented to a display terminal. Based on menu selections and other keying at the display terminal, the program causes a device definition to be built for a device to be added to the system. The program also builds definitions for any related control units and channels implied or required by the device definition. The definitions are then stored in a control block section of system main storage. The definitions are also written into, or onto, a secondary store for control block recreation in the event of a power down situation.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the spirit and scope of the invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3787816 *||May 12, 1972||Jan 22, 1974||Burroughs Corp||Multiprocessing system having means for automatic resource management|
|US3812468 *||May 12, 1972||May 21, 1974||Burroughs Corp||Multiprocessing system having means for dynamic redesignation of unit functions|
|US4075693 *||Dec 15, 1976||Feb 21, 1978||International Business Machines Corporation||Configuration and control unit for a heterogeneous multi-system|
|US4077058 *||Dec 2, 1974||Feb 28, 1978||Compagnie Honeywell Bull||Method and apparatus for executing an extended decor instruction|
|US4266271 *||Oct 10, 1978||May 5, 1981||Chamoff Martin E||Reconfigurable cluster of data-entry terminals|
|US4292669 *||Aug 10, 1979||Sep 29, 1981||Burroughs Corporation||Autonomous data communications subsystem|
|US4442504 *||Oct 21, 1981||Apr 10, 1984||Allen-Bradley Company||Modular programmable controller|
|US4443861 *||Apr 13, 1981||Apr 17, 1984||Forney Engineering Company||Combined mode supervisory program-panel controller method and apparatus for a process control system|
|US4455621 *||Dec 7, 1981||Jun 19, 1984||Allen-Bradley Company||Programmable controller with multiple functions|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US4800488 *||Nov 12, 1985||Jan 24, 1989||American Telephone And Telegraph Company, At&T Bell Laboratories||Method of propagating resource information in a computer network|
|US4885704 *||Sep 22, 1987||Dec 5, 1989||Kabushiki Kaisha Toshiba||Electronic document filing apparatus with icon selection|
|US4949253 *||Jan 20, 1988||Aug 14, 1990||Hitachi, Ltd.||Method and apparatus for automatically generating program|
|US4962623 *||Dec 30, 1988||Oct 16, 1990||Pitney Bowes Inc.||Asynchronous rejection in an inserter|
|US4970640 *||Sep 26, 1988||Nov 13, 1990||International Business Machines Corporation||Device initiated partial system quiescing|
|US4970654 *||Dec 30, 1988||Nov 13, 1990||Pitney Bowes Inc.||Asynchronous queuing and collation passage in an inserter|
|US4974151 *||Dec 11, 1987||Nov 27, 1990||International Business Machines Corporation||Configuration capability for devices in an open system having the capability of adding or changing devices by user commands|
|US4979107 *||Dec 11, 1987||Dec 18, 1990||International Business Machines Corporation||Modification of device configuration wherein the system specifies and prompts the user with only parameters required to be changed|
|US4980818 *||Aug 1, 1986||Dec 25, 1990||Hitachi, Ltd.||Method and apparatus for common resource status management in a computer system including a plurality of computers coupled to a common resource|
|US4992950 *||Dec 30, 1988||Feb 12, 1991||Pitney Bowes Inc.||Multiple processing station message communication|
|US5003485 *||Dec 30, 1988||Mar 26, 1991||Pitney Bowes Inc.||Asynchronous, peer to peer, multiple module control and communication protocol|
|US5014193 *||Oct 14, 1988||May 7, 1991||Compaq Computer Corporation||Dynamically configurable portable computer system|
|US5038320 *||Jan 6, 1989||Aug 6, 1991||International Business Machines Corp.||Computer system with automatic initialization of pluggable option cards|
|US5056001 *||Dec 20, 1989||Oct 8, 1991||Ge Fanuc Automation North America, Inc.||Method for configuring an input/output module coupled to a programmable logic controller|
|US5113497 *||Mar 5, 1991||May 12, 1992||Kabushiki Kaisha Toshiba||I/o control system for a plurality of peripheral devices|
|US5146587 *||Dec 30, 1988||Sep 8, 1992||Pitney Bowes Inc.||System with simultaneous storage of multilingual error messages in plural loop connected processors for transmission automatic translation and message display|
|US5170472 *||Mar 28, 1991||Dec 8, 1992||International Business Machines Corp.||Dynamically changing a system i/o configuration definition|
|US5182798 *||Dec 30, 1988||Jan 26, 1993||Pitney Bowes Inc.||Multiple material processing system start-up|
|US5185866 *||Dec 30, 1988||Feb 9, 1993||Pitney Bowes Inc.||Dual mode communication among plurality of processors using three distinct data channels each having different function and operations|
|US5193174 *||Jul 23, 1990||Mar 9, 1993||International Business Machines Corporation||System for automatically redirecting information to alternate system console in response to the comparison of present and default system configuration in personal computer system|
|US5220654 *||Mar 28, 1991||Jun 15, 1993||International Business Machines Corp.||Method and system for managing an operating system definition of a dynamically modifiable i/o configuration|
|US5293494 *||Mar 9, 1993||Mar 8, 1994||Kabushiki Kaisha Toshiba||Personal computer for setting, in a software setup operation normal/reverse display, connection of an external device, and an automatic display off function|
|US5297262 *||Oct 21, 1992||Mar 22, 1994||International Business Machines Corporation||Methods and apparatus for dynamically managing input/output (I/O) connectivity|
|US5299322 *||May 3, 1993||Mar 29, 1994||Kabushiki Kaisha Toshiba||Computer system with improved interface control of an I/O expansion unit|
|US5301344 *||Jan 29, 1991||Apr 5, 1994||Analogic Corporation||Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets|
|US5359730 *||Dec 4, 1992||Oct 25, 1994||International Business Machines Corporation||Method of operating a data processing system having a dynamic software update facility|
|US5491804 *||Jan 4, 1991||Feb 13, 1996||International Business Machines Corp.||Method and apparatus for automatic initialization of pluggable option cards|
|US5537596 *||Apr 17, 1995||Jul 16, 1996||Apple Computer, Inc.||Method and apparatus for overriding resource maps in a computer system|
|US5649152 *||Oct 13, 1994||Jul 15, 1997||Vinca Corporation||Method and system for providing a static snapshot of data stored on a mass storage system|
|US5657449 *||Apr 3, 1995||Aug 12, 1997||Kabushiki Kaisha Toshiba||Exchange control system using a multiprocessor for setting a line in response to line setting data|
|US5732280 *||Jul 15, 1994||Mar 24, 1998||International Business Machines Corp.||Method and apparatus for dynamically assigning programmable option select identifiers|
|US5758095 *||Feb 24, 1995||May 26, 1998||Albaum; David||Interactive medication ordering system|
|US5835953 *||Nov 8, 1996||Nov 10, 1998||Vinca Corporation||Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating|
|US5872979 *||Jan 4, 1995||Feb 16, 1999||International Business Machines Corporation||Method and system for removing software involving shared files|
|US5884075 *||Mar 10, 1997||Mar 16, 1999||Compaq Computer Corporation||Conflict resolution using self-contained virtual devices|
|US6014714 *||Jun 16, 1997||Jan 11, 2000||International Business Machines Corporation||Adapter card system including for supporting multiple configurations using mapping bit|
|US6016143 *||Dec 29, 1995||Jan 18, 2000||Hewlett Packard Company||Multi-device direct I/O object that generates transactions capable of controlling multiple instruments and transaction dialog boxes having device and address fields|
|US6125408 *||Mar 10, 1997||Sep 26, 2000||Compaq Computer Corporation||Resource type prioritization in generating a device configuration|
|US6292848||Sep 16, 1999||Sep 18, 2001||International Business Machines Corporation||Computing system adapter card for supporting legacy and plug and play configurations|
|US6362897||Mar 10, 1995||Mar 26, 2002||The Standard Register Company||Printing system and method for printing documents and forms|
|US6756965||Apr 23, 2001||Jun 29, 2004||International Business Machines Corporation||Input device having two joysticks and touchpad with default template|
|US6763454 *||Sep 21, 1995||Jul 13, 2004||Microsoft Corp.||System for allocating resources in a computer system|
|US6970949 *||Mar 28, 2003||Nov 29, 2005||International Business Machines Corporation||System method for replacing old device with new device in a layered structure and determining configuration information for lower level devices associated with new device|
|US7308511||May 3, 2004||Dec 11, 2007||Microsoft Corporation||System for allocating resources in a computer system|
|US7451200||Jul 29, 2002||Nov 11, 2008||Hewlett-Packard Development Company, L.P.||Network management tool for maintaining printing device information|
|US8214752 *||Sep 29, 2006||Jul 3, 2012||Sharp Laboratories Of America, Inc.||Systems and methods for dynamically generating user interfaces for controlling a device with a client side filter|
|US20030204712 *||Mar 28, 2003||Oct 30, 2003||International Business Machines Corporation||System and method for managing devices using configuration information organized in a layered structure|
|US20040019671 *||Jul 29, 2002||Jan 29, 2004||Metz James Michael||Network management tool for maintaining printing device information|
|US20040205258 *||May 3, 2004||Oct 14, 2004||Microsoft Corp.||System for allocating resources in a computer system|
|US20080082923 *||Sep 29, 2006||Apr 3, 2008||Sharp Laboratories Of America, Inc.||Systems and methods for dynamically generating user interfaces for controlling a device with a client side filter|
|International Classification||G06F9/445, G06F15/16, G06F15/177|
|Cooperative Classification||G05B2219/33125, G06F15/161, G06F15/177, G06F9/4411, Y02P90/185|
|European Classification||G06F9/44A4, G06F15/16D, G06F15/177|
|Nov 2, 1989||FPAY||Fee payment|
Year of fee payment: 4
|Jan 10, 1994||FPAY||Fee payment|
Year of fee payment: 8
|Nov 12, 1997||FPAY||Fee payment|
Year of fee payment: 12