`European Patent Office
`J E u r o p a i s c h e s
`Office europeen des brevets
`
`© Publication number : 0 684 556 A 1
`
`EUROPEAN PATENT A P P L I C A T I O N
`
`© Application number : 95303032.7
`
`6i) int. ci.6 : G06F 9/445
`
`Inventor : Lay, Carolyn Louise
`727 Dover Street
`Boca Raton, Florida 33487-3110 (US)
`Inventor : Medford, Mitchell Eric
`3876 N.W. 9th Street
`Delray Beach, FLorida 33445 (US)
`Inventor : Primm, Michael R.
`1525 Spring Harbor Drive,
`Apt. N.
`Delray Beach, Florida 33445 (US)
`Inventor : Stanley, Frederick C.
`377 Ocean Avenue
`Massapequa, New York 11758 (US)
`
`© Representative : Davies, Simon Robert
`I B M
`UK Intellectual Property Department
`Hursley Park
`Winchester, Hampshire S021 2JN (GB)
`
`© Date of filing : 03.05.95
`
`© Priority : 17.05.94 US 245287
`
`@ Date of publication of application :
`29.11.95 Bulletin 95/48
`
`@ Designated Contracting States :
`DE FR GB
`
`© Applicant : International Business Machines
`Corporation
`Old Orchard Road
`Armonk, N.Y. 10504 (US)
`
`© Inventor : Cleary, James William
`3820 N.W. 108th Drive
`Coral Springs, Florida 33065 (US)
`
`© Information processing system.
`
`in-
`information handling network 150
`© An
`cludes a plurality of
`information processing
`systems 102 having a predetermined system
`configuration operating under the control of a
`corresponding number of operating systems
`initial microcode
`load (IML)
`where during a
`period prior to loading the operating systems a
`change in the system configuration is detected
`based on the predetermined system configu-
`ration. Upon detecting the change, a communi-
`is activated for
`cation adaptor device 231
`certain
`infor-
`communicating
`configuration
`mation over the network before
`the
`loading
`operating system.
`
`CO
`If)
`If)
`"<t
`00
`CO
`
`LU
`
`1
`1
`
`Sj
`I1"
`
`Jouve, 18, rue Saint-Denis, 75001 PARIS
`
`Page 1 of 18
`
`PNC-JP MORGAN EXHIBIT 1013
`
`
`
`1
`
`EP 0 684 556 A1
`
`2
`
`The present invention relates to an information
`processing system connected to an information han-
`dling network, and more particularly to such systems
`which store a predetermined system configuration.
`Personal computer systems in general, and IBM
`personal computers in particular, have attained wide-
`spread use for providing computer power to many
`segments of today's society. A personal computer
`system can usually be defined as a desk top, floor
`standing, or portable computer that includes a system
`unit having a system processor, a display monitor, a
`keyboard, one or more diskette drives, a fixed disk
`storage, an optional pointing device such as a
`"mouse," and an optional printer. These systems are
`designed primarily to give independent computing
`power to a single user or small group of users and are
`inexpensively priced for purchase by individuals or
`businesses. Examples of such personal computer
`systems are sold under the trademarks: IBM's PER-
`SONAL COMPUTER, PERSONAL COMPUTER XT,
`PERSONAL COMPUTER AT and IBM's PERSONAL
`SYSTEM/2 (hereinafter referred to as the IBM PC, XT,
`AT, and PS/2, respectively) Models 25, 30, 50, 55, 57,
`60, 65, 70, 80, 90 and 95.
`These systems can be classified into two general
`families. The first family, usually referred to as Family
`1 Models, uses a bus architecture exemplified by the
`AT computer and other "IBM compatible" machines.
`The second family, referred to as Family 2 Models,
`uses IBM's MICRO CHANNEL bus architecture ex-
`emplified by IBM's PS/2 Models 50 through 95. The
`bus architectures used in Family 1 and Family 2 mod-
`els are well known in the art.
`The IBM PC and XT were the first models of the
`IBM personal computer line and used the Intel 8088
`processor. The next significant change to IBM per-
`sonal computer systems was the AT which used the
`Intel 80286 processor. The PS/2 line spanned several
`of the Intel processors. Asystem similar to the IBM PC
`and XT was a version of the PS/2 Model 30 which
`used an Intel 8086 processor. The PS/2 Models 50
`and 60 both used the Intel 80286 processors. The In-
`tel 80386 processor is used in the IBM PS/2 Model 80
`and certain versions of the IBM PS/2 Model 70. Other
`versions of the IBM PS/2 Model 70, as well as the
`PS/2 Models 90 XP 486 and 95 XP 486, use the Intel
`80486 processor. A variety of commonly available
`and well known software operating systems, such as
`a DOS or an OS/2 operating system, can operate on
`such processors.
`Beginning also with the earliest personal comput-
`er system of the Family 1 models, such as the IBM
`PC, it was recognized that a goal of achieving soft-
`ware-hardware compatibility would be of great impor-
`tance. In order to achieve this goal, an insulation layer
`of system resident code, also referred to as "micro-
`code," was established between the hardware and
`the software. This code provided an operational inter-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`face between a user's application program/operating
`system and the hardware device to relieve the user of
`the concern about the characteristics of hardware de-
`vices. Eventually, the code developed into a basic in-
`put/output system (BIOS), for allowing new hardware
`devices to be added to the system, while insulating
`the application program/operating system from the
`peculiarities of the hardware devices. The importance
`of BIOS was immediately evident because it freed a
`device driver from depending on specific hardware
`device characteristics while providing the device driv-
`er with an intermediate interface to the hardware de-
`vice. Because BIOS was an integral part of the com-
`puter system and controlled the movement of data in
`and out of the system processor, it was resident on a
`system planar board of the system unit and was ship-
`ped to the user in either a read-only memory (ROM)
`or an erasable programmable read-only memory
`(EPROM). For example, BIOS in the original IBM PC
`occupied 8K bytes (a kilobyte or "K byte" refers to a
`quantity of 1 024 bytes) of ROM resident on the planar
`board. In addition to the ROM, the planar board in-
`cluded the system processor, a main random access
`memory (RAM), and other components which were
`fixed in a substantially coplanar relationship on the
`board. The ROM also contained a power-on self test
`(POST) program which was used to test and initialize
`the computer system. The accumulation of code res-
`ident in the computer system ROM became known as
`the "system firmware," or simply "firmware." Thus,
`the firmware included a POST portion and a BIOS
`portion. Sometimes, BIOS was defined to include the
`POST program.
`As new models of the personal computer family
`35 were introduced, the firmware had to be updated and
`expanded to support new hardware devices such as
`input/output (I/O) devices. As could be expected, the
`firmware started to increase in memory size. For ex-
`ample, with the introduction of the IBM PERSONAL
`COMPUTER AT, the firmware grew to require 32K
`bytes of ROM. With the introduction of the IBM PER-
`SONAL SYSTEM/2 computer system with MICRO
`CHANNEL architecture, a significantly new BIOS,
`known as Advanced BIOS, or ABIOS, was developed.
`45 However, to maintain software compatibility, BIOS
`from the Family 1 models had to be included in the
`Family 2 models. The Family 1 BIOS became known
`as Compatibility BIOS or CBIOS. Thus, BIOS evolved
`to include more than one type of BIOS such as the
`Compatibility Basic Input Output System (CBIOS)
`and
`the Advanced Basic Input Output System
`(ABIOS). Present architectural definitions for person-
`al computer systems allow for up to 128K bytes of sys-
`tem address space forf irmware (system firmware ad-
`dress space).
`Today, with the continuing development of new
`technology, personal computer systems are becom-
`ing more sophisticated and are being enhanced more
`
`40
`
`50
`
`55
`
`2
`
`Page 2 of 18
`
`
`
`3
`
`EP 0 684 556 A1
`
`4
`
`5
`
`10
`
`15
`
`20
`
`for a Personal Computer System," (JP 5216654), and
`U.S. Patent Application Serial No. 07/799,486, enti-
`tled "Automated Programmable Firmware Store for a
`Personal Computer System," (JP 5233272), which in-
`dicate the state of the art in this area.
`Increasingly, personal computer systems are
`linked together to provide an information handling
`network (e.g., a Local Area Network or LAN) so that
`a plurality of information processing systems can ex-
`change information, share I/O devices, and utilize a
`particular direct access storage device (DASD), such
`as a particular hardfile or diskette. Typically, the in-
`formation network includes a number of information
`processing systems known as "clients" and at least
`one administrator processing system known as "ser-
`ver" all of which are connected or networked with
`each other via a communication medium, such as
`copper wire and/or fiber optic cables. Typically, net-
`work communications by sub-system components
`(i.e., client systems or server system) are handled via
`communication adapter devices which are compliant
`with one or more network communication protocols,
`such as Token Ring or Ethernet.
`Obviously, the primary advantages of a net-
`25 worked information handling system is its ability to
`provide for communication of various types of infor-
`mation among a plurality of information processing
`systems. Among the information that may be commu-
`nicated within the network is information relating to
`status and/or configuration of the system itself. The
`configuration information may be processed in vari-
`ous fashions, for example, to perform diagnostics or
`to inform other networked information processing
`systems of each others configuration and capabili-
`ties.
`Conventionally, the system configuration infor-
`mation has been utilized to detect faulty conditions
`within large networked systems. For example, IBM's
`system 390 is designed to monitor performance with-
`in a networked system in real time. Upon detection of
`a faulty condition, a diagnostic routine is performed
`to isolate the faulty condition to a defective system
`component. Thereafter, information relating to the de-
`tected faulty condition and the diagnosis result are
`communicated to a central station via a modem on a
`telephone line.
`The real time fault monitoring and fault commu-
`nication capability of prior art systems are generally
`incorporated within the system hardware architecture
`and/or within the operating system or an application
`software. Unfortunately, the real time fault detection
`as implemented in the large computer system net-
`works is not suitable for smaller information handling
`systems, such as those comprising personal comput-
`ers. This is partly because the existing defacto stan-
`dard operating systems, such as DOS and WIN-
`DOWS, do not support the fault analysis and report-
`ing capability which is available in the larger systems.
`
`frequently. Because the technology is changing rap-
`idly and new I/O devices are being added to the per-
`sonal computer systems, effecting modifications and
`extensions to the firmware have become significant
`problems in the development cycle of personal com-
`puter systems.
`With introduction of MICRO CHANNEL architec-
`ture, IBM offered a new configuration procedure
`known as Programmable Option Select (POS). POS
`is designed to make installation and expansion of sys-
`tem enhancements much easier and less confusing
`than in previous PCs by eliminating the need for con-
`figuring a system using DIP switches, jumpers and
`headers. Using low power, battery packed CMOS
`memory PS/2 systems can remember their hardware
`configuration. The configuration includes the identity
`of expansion devices and how the expansion devices
`function in relation to the rest of the system. Every ex-
`pansion card designed for Micro-Channel has a
`unique identifying number. When the system boots
`up, the PS/2 system compares the installed options
`with the information in its non-volatile memory to de-
`tect changes to insure the integrity of its setup. The
`setup files are automatically incorporated into the file
`system during configuration procedure using a Refer-
`ence Diskette. In some IBM PS/2 models, such as the
`models 70 and 80, the reference diskette comprises
`a floppy diskette which accompanies the computer
`system and stores the system configuration informa-
`tion. Although, the configuration procedure of the
`PS/2 systems is fairly simple, and easy to perform,
`the reference diskette must be handy or conveniently
`stored nearby. It is however, possible to lose or mis-
`place the reference diskette after some period of time
`from the last system configuration. Therefore, it be-
`came desirable to store a copy of reference diskette
`on the DASD.
`In the U.S. patent 5,128,995 issued to Arnold et
`al. and assigned to the assignee of the present appli-
`cation, an apparatus for loading a system reference
`diskette image from a system portion of a DASD is
`disclosed in which the DASD has a protected region
`for storing a boot record, a BIOS image and a system
`reference diskette. (It is assumed that the reader of
`the present application is familiar with US 5,128,995).
`The reason for protecting a portion of DASD arises
`from the need to prevent contamination and corrup-
`tion of BIOS. During certain system operation, such
`as when the processor is under the control of the op-
`erating system or when it is running an application,
`the DASD controller is configured to ignore the pro-
`tected region.
`Other arrangements for storing, loading and ini-
`tializing IML images are described in U.S. Patent Ap-
`plication Serial No. 07/398,865, entitled "Initial BIOS
`Load for a Personal Computer System," (EPA
`419005), U.S. Patent Application Serial No.
`07/777,844, entitled "Programmable Firmware Store
`
`30
`
`35
`
`40
`
`45
`
`so
`
`55
`
`3
`
`Page 3 of 18
`
`
`
`5
`
`EP 0 684 556 A1
`
`6
`
`More importantly, the present central processing
`power of personal computer systems makes real time
`configuration monitoring, fault detection and report-
`ing impractical. Thus a problem remains with respect
`to personal computers, whose operating systems and
`CPU power do not support communication of system
`configuration information in real time over the net-
`work.
`Accordingly, the present invention provides an in-
`formation processing system including:
`a system memory into which an operating sys-
`tem may be loaded for controlling the information
`processing system;
`means for connecting the information process-
`ing system to an information handling network;
`storage means for storing information con-
`cerning a predetermined system configuration;
`detection means for detecting a change in sys-
`tem configuration based on the system configuration
`determined during an initial microcode load period pri-
`or to loading the operating system into the system
`memory;
`and means for communicating system config-
`uration information over said network upon detecting
`a change in the system configuration prior to loading
`the operating system.
`Such an approach provides much greater flexibil-
`ity than in the prior art. For example, if the operating
`system that is to be loaded into system memory in fact
`is downloaded from over the network, then it is pos-
`sible to make the selection of operating system de-
`pendent on the most recently detected system config-
`uration.
`In a preferred embodiment, the information proc-
`essing system further includes: user activated means
`for changing the system configuration; and means for
`allowing or disallowing a user activated change in the
`system configuration in response to an authorization
`signal received over the network from another proc-
`essing system.
`It is also preferred that the system includes
`means for receiving configuration information com-
`municated from another information processing sys-
`tem over the information handling network.
`In a preferred embodiment, said means for con-
`necting the information processing system to an infor-
`mation handling network comprises a communica-
`tions adapter, and said communicating means in-
`cludes means for collecting system configuration in-
`formation upon detecting a change in the system con-
`figuration, and means for activating said communica-
`tion adaptor prior to loading the operating system for
`communicating the system configuration information.
`Said collection means includes means for loading a
`diagnostic program into the system memory upon de-
`tecting a change in the system configuration; said di-
`agnostic means including a driver for creating the
`configuration information based on the stored prede-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`so
`
`55
`
`4
`
`termined system configuration and the detected
`change in the system configuration.
`Such information processing systems are prefer-
`ably linked together by an information handling net-
`work including at least one administrator processing
`system including: monitor means for monitoring at
`least a portion of the communications over the infor-
`mation handling network; and means for receiving the
`system configuration information communicated by
`an information processing system upon detecting a
`change in its system configuration. Typically in such
`an arrangement, the adminstrator processing system
`provides said authorisation signal which determines
`whether or not a user activated change will be allowed
`or disallowed.
`The invention further provides a method of oper-
`ating an information handling network comprising a
`plurality of information processing systems, compris-
`ing the steps of:
`storing a predetermined system configuration
`for a first information processing system;
`detecting a change in the system configuration
`of said first information processing system from the
`predetermined system configuration during an IML
`period prior to loading the operating system for said
`first information processing system;
`collecting system configuration information
`upon detecting the change and communicating the
`system configuration information over the informa-
`tion handling network prior to loading the operating
`system at said first information processing system;
`and
`
`loading an operating system for said first infor-
`mation processing system.
`Generally a change in system configuration is de-
`tected by comparing the predetermined system con-
`figuration to the current system configuration.
`Viewed from another aspect, the invention also
`provides a processing system capable of operating in
`an information handling network under control of an
`operating system, comprising: a central processing
`unit; a system memory; a communication adaptor for
`communicating over the information handling net-
`work; storage means for storing a predetermined sys-
`tern configuration; detection means for detecting a
`change in the system configuration based on the pre-
`determined system configuration during an initial mi-
`crocode load (IML) period prior to loading the operat-
`ing system into the system memory; collection means
`for collecting a system configuration information
`upon detecting the change in the system configura-
`tion; and means for activating said communication
`adaptor prior to loading the operating system for com-
`municating the system configuration information.
`Thus in an information handling network compris-
`ing a plurality of information processing systems op-
`erating under the control of a corresponding number
`of operating systems, each information processing
`
`Page 4 of 18
`
`
`
`7
`
`EP 0 684 556 A1
`
`8
`
`system typically has a predetermined system config-
`uration. The processing system includes detection
`means for detecting a change in the system configur-
`ation based on the predetermined system configura-
`tion during an initial microcode load (IML) period prior
`to loading the operating system. The processing sys-
`tem also includes communication means for commu-
`nicating the system configuration information over
`the network upon detecting the change in the system
`configuration prior to loading the operating system.
`The information handling network may further in-
`clude an administrator information processing system
`which has means for monitoring communication over
`the network and receiver means for receiving the sys-
`tem configuration information as communicated over
`the network.
`The system configuration information may com-
`prise identification for an information processing sys-
`tem where the change in the system configuration is
`user activated. The administrator information proc-
`essing system typically includes means for providing
`an authorization signal allowing or disallowing the
`user initiated system configuration change.
`An embodiment of the invention will now be de-
`scribed in detail by way of example only, with refer-
`ence to the following drawings:
`Fig. 1 A is a perspective view of a typical personal
`computer system;
`Fig. 1B is a diagram of an information handling
`network including multiple personal computer
`systems;
`Fig. 2 is a block schematic diagram of a unified
`planar board for the computer system of Fig. 1 A;
`Fig. 3 is a block schematic diagram of an alterna-
`tive planar board for the computer system of Fig.
`1A;
`Fig. 4 is a block schematic diagram of a processor
`card for use with the alternative planar board of
`Fig. 3;
`Fig. 5 is a flow diagram of steps taken for com-
`information
`municating system configuration
`over the information handling network of Fig. 1B;
`and
`Fig. 6 is a more detailed flow diagram of some of
`the steps taken in the flow diagram of Fig. 5.
`Referring now to the figures, and in particular to
`Fig. 1A, there is shown a personal computer system
`100 which is capable of operating within an informa-
`tion handling network. The personal computer sys-
`tem 100 comprises a system unit 102 having a suit-
`able enclosure or casing 103, output device or moni-
`tor 104 (such as a conventional video display), input
`devices such as a keyboard 110, an optional mouse
`112, and an optional output device such as a printer
`114. Finally, the system unit 102 may include one or
`more mass storage devices such as a diskette drive
`1 08 (operable with a diskette - not shown) and a direct
`access storage device (DASD) 106, also known as
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`5
`
`hard file.
`Referring to Fig. 1 B, an information handling net-
`work 1 50 is shown. The information handling network
`150 comprises a plurality of information processing
`systems 1 02 and 1 02B one or more of which may be
`identical to the personal computer system 100 of Fig
`1 A. The processing system 1 02 is a serverwhich acts
`as an administrator processing system within the in-
`formation handling network 150. The processing sys-
`terns 102B comprise client systems. Typically, The cli-
`ent systems (102B) are identical to the unit 102, ex-
`cept that systems 1 02B may include no DASD 1 06 in
`which case these systems (102B) are referred to as
`"medialess clients." The information processing sys-
`terns (102 and 102B) are networked with each other
`in a well known manner and communicate information
`signals overthe information handling network 1 50 via
`cables 160.
`In operation, the information processing systems
`102 and 102B functions under the control of an oper-
`ating system, such as IBM's OS/2 operating system
`or DOS operating system which are suitably loaded
`after an initial micro load (IML) period. The operating
`system typically utilizes BIOS which is loaded into the
`system memory during the IML period. BIOS provides
`an interface between the hardware devices and the
`operating system software to enable a programmer or
`user to program his machine without an in-depth op-
`erating knowledge of a particular hardware device.
`For example, a BIOS diskette module permits a pro-
`grammer to program the diskette drive without an in-
`depth knowledge of the diskette drive hardware.
`Thus, a number of diskette drives designed and man-
`ufactured by different companies can be used within
`the system 1 00. Also, loaded during the IML period is
`POST program which performs a self test of the sys-
`tem hardware upon power on to determine system
`configuration. POST stores the system configuration
`in a storage device, such as an NVRAM. As such,
`POST may detect a system configuration change by
`comparing predetermined system configuration to
`the current system configuration. BIOS and POST
`more clearly defined in the IBM Personal System/2
`and Personal Computer BIOS Interface Technical
`Reference 1 991 . It is assumed that the reader of the
`present application is generally familiar with the ma-
`terial in that document.
`Referring now to Fig. 2, there is shown a block di-
`agram of a unified planar 200 of the information proc-
`essing system 1 02 or 1 02B. The planar 200 includes
`a printed circuit board (PCB) 201 upon which are
`mounted or connected a number of input/output bus
`connectors 232 having I/O slots, a processor 202
`which is connected by a high speed CPU local bus
`210 under control of a bus control unit 214 to a mem-
`ory control unit 256. The unit 256 is further connected
`to a main memory such as volatile random access
`memory (RAM) 264. Any appropriate processor 202
`
`Page 5 of 18
`
`
`
`g
`
`EP 0 684 556 A1
`
`10
`
`can be used such as an Intel 80386 or Intel 80486. A
`system power connector 205 is mounted on the PCB
`201 for connection to a power unit (not shown) that
`supplies the necessary power for the system 100.
`The CPU local bus 21 0 (comprising address, data
`and control components) provides for the intercon-
`nection of the processor 202, an optional math copro-
`cessor 204, an optional cache controller 206, and an
`optional cache memory 208. Also coupled onto the
`CPU local bus 210 is a system buffer 212. The system
`buffer 212 is itself connected to a system bus 216
`which comprises address, data and control compo-
`nents. The system bus 216 extends between the sys-
`tem buffer 21 2 and an I/O buffer 228. The system bus
`216 is further connected to the bus control unit 214
`and to a direct memory access (DMA) control unit
`220. The DMA control unit 220 includes a central ar-
`biter 224 and a DMAcontroller222. The I/O buffer 228
`provides an interface between the system bus 216
`and an I/O bus 230. An oscillator 207 is connected as
`shown for providing suitable clock signals to the com-
`puter system 100. Those skilled in the art will recog-
`nize that while the preferred embodiment is imple-
`mented on the MICRO CHANNEL bus of an IBM PS/2
`computer system, which is well known in the art, al-
`ternative bus architectures could also be employed.
`Connected to the I/O bus 230 is a plurality of I/O
`bus connectors having slots 232 for receiving adapter
`cards which may be further connected to I/O devices
`or memory. Two I/O connectors 232 are shown for
`convenience, but additional I/O connectors may easi-
`ly be added to suit the needs of a particular system.
`As shown, one of the I/O connectors is connected to
`a well known Token Ring communication adaptor card
`231 which is used to provide network communication
`capability for the information processing system (102
`or 102B). Upon start of a network communication, the
`CPU 202 activates the Token Ring adapter card 231
`in a well known manner to allow inbound or outbound
`information to be communicated over the information
`handling network 150. As such, the communication
`adapter card 231 includes both transmitter means
`and receiver means for communicating information
`over the network 150. An arbitration bus 226 couples
`the DMA controller 222 and the central arbiter 224 to
`the I/O connectors 232 and a diskette adapter 246.
`Also connected to the system bus 216 is the memory
`control unit 256 which includes a memory controller
`258, an address multiplexer 260, and a data buffer
`262. The memory control unit 256 is further connect-
`ed to the main memory such as the random access
`memory as represented by the RAM module 264. The
`memory control unit 256 includes logic for mapping
`addresses to and from the processor 202 to and from
`particular areas of the RAM 264. While the system
`1 00 is shown with a basic one megabyte RAM module
`264, it is understood that additional memory can be
`interconnected as represented in Fig. 2 by optional
`
`5
`
`10
`
`15
`
`memory modules 266, 268, 270.
`A buffer 21 8 is coupled between the system bus
`216 and a planar I/O bus 234. The planar I/O bus 234
`includes address, data, and control components.
`Coupled along the planar I/O bus 234 are a variety of
`I/O adapters and other peripheral components such
`as a display adapter 236 (which is used to drive the
`optional display 1 04), a clock/CMOS RAM 250, a non-
`volatile RAM 248 (hereinafter referred