throbber
United States Patent [19J
`Bizzarri
`
`i-
`
`1111111111111111111111111111111111111111111111111
`US005732268A
`1111 Patent Number:
`(451 Date of Patent:
`
`5,732,268
`Mar. 24, 1998
`
`[54] EXTENDED BIOS ADAPfED TO ESTABLISH
`REMOTE COMMUNICATION FOR
`DIAGNOSTICS AND REPAIR
`
`[75]
`
`Inventor: Maurice W. Bizzarri, Palo Alto, Calif.
`
`Primary EXaminer-Emanuel T. Voeltz
`Assistant Examiner-John Q. Chavis
`Attorney, Agent, or Firm-Donald R. Boys
`[57]
`ABSTRACT
`
`[73] Assignee: Award Software International. Mt
`View, Calif.
`
`[21] Appl. No.: ()08,028
`
`Feb. 2(), 1996
`
`[22] Filed:
`Int. Cl. 6
`•••••••••••••••••••••••••••••••••••••••••••••••••••••• GO()F 11134
`[51]
`[52] U.S. CI •............................................. 395/()52; 395fi12
`[58] Field of Search ..................................... 395/652. 712,
`395fi04
`
`(56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,280,627
`5,452,454
`5,596,711
`
`111994 Flaherty et al .........•...•••...•....• 3951652
`911995 Basu ......•.........••...•..•...•.•.......•• 3951652
`111997 Burckhartt et al ...•....•...•.... 395/182.21
`
`An extended basic input output system (E-BIOS) has a first
`portion of code for providing power-on seJf-test (POST) and
`boot functions for a first computer, including code for
`sensing if the first computer does not boot. In the event of
`failure to boot, a second portion of code in the E-BIOS
`directs establishing communication link with a remote diag(cid:173)
`nostics and repair computer. When communication is
`established. a master code kernel at the diagnostics and
`repair computer may be executed to download a slave kernel
`to random access memory of the first computer, blowing an
`automatic software kernel or an operator at the diagnostics
`and repair computer to access and modify code and data in
`memory devices of the first computer, and to reboot the first
`computer after repair. Communication links may be by
`telephone modem, either analog or integrated Services Digi(cid:173)
`tal Network (ISDN), or by network links. In one embodi(cid:173)
`ment cooperation between the slave kernel and the master
`kernel is such that an operator may operate the diagnostics
`and repair computer as though it were the first computer.
`
`20 Claims, 3 Drawing Sheets
`
`Power On
`
`21
`
`23
`
`Load BIOS
`Begin to Execute
`
`27
`
`No
`
`Boot
`Normally
`
`29
`
`Yes (Failure to Boot)
`
`15
`
`Modem
`
`Net
`
`Establish Communication
`With Remote Diagnostic
`and Repair Facility
`
`Patent Owner, Bot M8 LLC - Ex. 2001, p. 1
`
`

`

`~
`N
`....
`N
`~
`'!...I
`01
`
`~
`~
`
`~
`
`~
`
`~ -I-"
`
`QC
`~
`I-"
`"'
`N .a:.
`~ = !1
`
`[
`d • 00 • ;p
`
`24
`l"\
`
`I
`
`I
`
`I 22
`
`I\
`
`Fig. 1
`
`or Any Other Wide Area or Local Area Network
`
`LAN Link, Serial Link, Modem
`
`T
`
`15
`
`Optional AS Kernel
`
`Diagnostic Console
`
`PC Remote
`
`PC
`
`I
`
`20
`
`E-BIOS
`
`Kernel
`Slave
`
`I 1 MasteLJ
`
`Kernel
`
`17
`
`19
`
`13\
`
`11\
`
`Patent Owner, Bot M8 LLC - Ex. 2001, p. 2
`
`

`

`U.S. Patent
`
`Mar. 24, 1998
`
`Sheet 2 of 3
`
`5,732,268
`
`Power On
`
`21
`
`23
`
`Load BIOS
`Begin to Execute
`
`27
`
`No
`
`Boot
`Normally
`
`29
`
`Yes (Failure to Boot)
`
`15
`
`Modem
`
`Net
`
`Establish Communication
`With Remote Diagnostic
`and Repair Facility
`
`Fig. 2
`
`Patent Owner, Bot M8 LLC - Ex. 2001, p. 3
`
`

`

`U.S. Patent
`
`Mar. 24, 1998
`
`Sheet 3 of 3
`
`5,732,268
`
`31
`
`Connect
`
`37
`
`Counter
`
`Download Slave
`Kernel
`
`Bad
`
`Good
`
`Execute
`Slave
`
`Fig. 3
`
`Patent Owner, Bot M8 LLC - Ex. 2001, p. 4
`
`

`

`1
`EXTENDED BIOS ADAPTED TO ESTABLISH
`REMOTE COMMUNICATION FOR
`DIAGNOSTICS AND REPAIR
`
`5,732,268
`
`s
`
`35
`
`FIELD OF THE INVENTION
`The present invention is in the area of apparatus and
`methods for diagnosing and repairing failed computer
`systems, and pertains more particularly to computer code for
`basic input output systems (BIOS) devoted to diagnosis and
`repair.
`
`2
`floppy drive, place another in its place, and try again. Once
`a usable DOS was loaded. one could present different disks
`to the floppy drive(s) for access to applications and data
`files.
`Things in a sense are not a lot different now. The principle
`differences are that mass storage devices have evolved and
`operating systems and applications are much larger and
`more complicated.
`The motivation for evolution is functionality. As devel-
`10 opers have envisioned ever more elaborate and intricate
`computer-related goodies such as high-resolution. color
`BACKGROUND OF THE INVENTION
`displays. CD-rom drives. high-density hard disk drives.
`menu-driven user interfaces. windows-type interfaces.
`Because a computer. without operating instructions
`loaded, is essentially a piece of dumb hardware, there must
`modem communications. the Internet and the World-Wide-
`be some relatively standard set of beginning instructions for 15 Web, and much more. it has been necessary to develop faster
`the computer to follow. readily accessible and loadable into
`and more powerful CPUs, Higher density and faster mass
`the computer's operating memory to direct the process of
`storage. and ever-larger operating systems.
`Because of the large size of operating systems today. such
`testing the computer's hardware and connectivity, and then
`as Windows™ and UNIX™ systems for example, it is
`loading all of the various operating code that is necessary for
`the computer to perform useful tasks. Typically this begin- 20 completely impractical to store the operating system on a
`floppy disk or in ROM. although some minim.um versions of
`ning code is called a basic input output system (BIOS),
`which includes a power-on self-test (POST) procedure, to
`some operating systems are available in ROM for special-
`assure that all circuits are active, properly connected. and
`ized purposes. Operating systems are therefore stored in
`functional before attempting to load and initiate all of the
`non-volatile mass storage. typically on a hard disk. In such
`code needed to operate.
`lS a system, at power on or reset, the BIOS ROM is accessed
`The BIOS in most instances is a relatively short code set
`first. loaded into RAM. and executed. After POST. a BIOS
`embedded in a non-volatile, read-only memory (ROM). such
`code causes the system to access a local hard disk at an
`as an electrically-erasable programmable read-only memory
`address. typically called the boot sector. where code is stored
`(EEPROM). accessible to the central processing unit (CPU)
`for directing loading of the operating system from the hard
`of a computer at the instant of power on. Partly because code 30 disk and finalizing preparation of the system for continuing
`operation. The operating system, which may be several
`can be accessed and executed from random access memory
`(RAM) more quickly than from read-only memory (ROM),
`megabytes of code. is then loaded. and the system is directed
`to a starting point for operator instructions. which may be
`the BIOS code is typically loaded immediately into RAM
`with an application loaded and ready to run. or at a point
`from ROM at power on, and executed from RAM.
`Although BIOS is fundamental to testing a computer's
`where an operator may select an application.
`operating equipment and basic BIOS functions continue to
`For those familiar with DOS operation the point that the
`user is able to select and manipulate operation is the familiar
`be used during subsequent operation, BIOS is not a sufficient
`system for continuing successful system operations. There
`DOS prompt. For those familiar with Microsoft Windows™
`are many functions, among them reading and writing data to 40 this point is the familiar interactive interface showing
`mass storage systems such a floppy disk drives (FDD), hard
`ICONS for program groups. For Apple Macintosh™ users
`disk drives (HDD) and CD-ROM drives, which have to be
`this point is the familiar Desktop graphics interface.
`loaded as well after executing the initial BIOS to render a
`As long as all hardware and software systems are
`computer fully operable. All of the code to make the
`operable. such an initiation sequence is routine. A hard disk
`computer capable of performing such basic functions is 4s drive, however. is a mechanical. device, and thus vulnerable
`referred to in the art as the Operating System (OS).
`to a much broader variety of potential difficulties than an IC
`In very early personal. computers, before widespread use
`ROM. Because of this mechanical. vulnerability. it often
`of hard disk drives (HDD), an operating system such as the
`happens that a system cannot boot because the boot disk
`IBM-compatible Disk Operating System (DOS) would typi-
`becomes inoperable. There are many other hardware failures
`cally be recorded on a floppy disk along with an application 50 that might occur other than the failure of a hard disk that
`such as a word processor or a spread-sheet program. A
`would prevent a PC from booting and operating as intended.
`floppy disk with DOS and a boot sector was called a Boot
`As well as hardware-only failures. there are many situa-
`disk, and the name is still used, al.though operating systems
`tions that can occur to render software corrupted, which
`and boot sectors are typically now recorded on hard disk
`condition may leave a PC unable to boot, such as corruption
`drives. One would place a boot disk in a floppy drive in the ss of the boot sector of the hard disk boot drive. or corruption
`computer, then turn the thing on. The BIOS would load from
`of a File Allocation Table (FKf).
`a resident ROM. perform a simple POST routine, then poll
`Early PCs were self-sufficient, stand-alone systems, com-
`the floppy drives (often there was only one) to find DOS.
`prising all of the hardware and software necessary to per-
`When Dos was located, the BIOS would cause it to be
`form intended functions. PCs at the time of the present
`loaded, and then present the DOS prompt for instruction 60 invention, however. are typically provided with some form
`from the user. BIOS code and DOS would remain in RAM
`of communication link to other computers. Most PCs at a
`for access by the CPU as needed for basic and routine
`minimum have a telephone modem connection, and may
`functions. The user could then boot the word processor or
`communicate with another computer over a telephone line in
`other application on the floppy and go to work.
`either an analog or a digital protocol.
`In this early and simple scenario, if DOS code on a boot 65
`PCs used in a business setting are often connected
`together in a local area network (LAN). whereby individual.
`disk were to become corrupted, the computer would not
`boot, and one could simply remove the boot disk from the
`workstations may have relatively fewer hardware compo-
`
`Patent Owner, Bot M8 LLC - Ex. 2001, p. 5
`
`

`

`5,732,268
`
`3
`nents and devices and much less locally-stored software, and
`hardware and software resources are shared on the LAN.
`In any setting, stand-alone. modem connected, or LAN
`connected. the conventional procedure in many cases for
`dealing with a computer that won't boot is for a maintenance
`person to visit the failing PC with hardware and software
`tools. The maintenance person can boot the offending PC
`typically via one of the floppy drives, using a floppy boot
`disk with an operating system such as DOS that is small
`enough to store on the floppy, load diagnostic routines,
`detennine the fault or faults, and perform the needed repairs.
`1bis system-manager approach to maintenance is a time(cid:173)
`consuming and person-oriented approach, and is therefore
`expensive and time-consuming.
`There is a conventional diagnostic system called Simple
`Network Management Protocol (SNMP). well-known in the
`art. that allows a service person at a remote site to commu(cid:173)
`nicate with a troubled PC and to perform some alterations.
`but SNMP requires that at least a minimum operating system
`be active and operable in the troubled PC. For those cases in
`which a PC will not boot. SNMP has no value.
`What is needed for those PCs having some mode of
`communication with other devices. either via modem or on
`a LAN. is an apparatus and method whereby, in the event of
`failure and an inability to boot. a remote diagnostic center
`may be contacted automatically, and a remote boot. called an
`extended boot by the inventor, may be performed, through
`which the failed machine may be remotely diagnosed and
`placed back in operating condition. saving the expense and
`time of sending a repair person to the failed machine.
`In embodiments of the present invention such a needed
`system is initiated by code in a unique local BIOS, called
`E-BIOS. for Extended BIOS. by the inventor. In the event of
`failure to· boot properly, the E-BIOS establishes a commu(cid:173)
`nication link with a designated remote diagnostics and repair
`console.
`In one embodiment code to boot the failed machine is
`downloaded from the remote center to the failed local PC by
`an operator at the remote facility, and diagnostics for the
`failed system may be managed at the remote facility.
`
`4
`the CPU to perform startup functions for a computer, includ(cid:173)
`ing initiating boot operations, and a second code portion
`recorded in the ROM device and adapted for execution by
`the CPU to establish communication with a remote com-
`5 puter. Code execution by the CPU is clirected from the first
`code portion to the second code portion upon failure to
`complete said boot operations.
`In computers according to various embodiments of the
`invention, connection may be by telephone modem, analog
`10 or digital, or by network link., depending on availability.
`Automatic connection of a failing computer to a remote
`diagnostics and repair computer through a communication
`link provides a system for modifying code and data in a first
`computer having a first CPU upon failure of the first
`computer to boot, comprising a second computer having a
`15 second CPU, the second computer connected to the first
`computer by a communication link; a master code kernel
`and a slave code kernel stored on a memory device at the
`second computer; and an extended basic input output system
`(E-BIOS) in the first computer. Upon sensing failure of the
`20 first computer to boot, the E-BIOS establishes communica(cid:173)
`tion with the second computer over the communication link.,
`and the second CPU in response causes a copy of the slave
`kernel to be copied to the RAM of the first computer and to
`be made available to the first CPU for execution, and
`2s wherein, with a copy of the slave kernel in the first computer
`and the master kernel active in the second computer. a user
`at the second computer may diagnose and modify code and
`data in the first computer from the second computer.
`An operator or automatic software at the second computer
`30 in this aspect may repair a corrupted boot sector on a disk
`drive of the first computer, or modify code of file allocation
`tables at the first computer.
`In another aspect a method of diagnosing and modifying
`code and data in read/write memory devices and mass
`35 storage devices of a first computer is provided. comprising
`steps of (a) establishing communication with the first com(cid:173)
`puter over a communication link from a diagnostic and
`repair computer; (b) loading and executing a master kernel
`at the diagnostic and repair computer; (c) downloading a
`40 slave operating system kernel to the first computer from the
`second computer; and ( d) accessing and modifying code and
`data on read/write memory devices and mass storage devices
`in the first computer through activity at the second computer.
`In an embodiment of the invention a basic input output
`The first computer may be caused to attempt to reboot after
`system (BIOS) is provided comprising a non-volatile 45 step (d). A method for establishing contact with a remote
`memory; a first code portion recorded in the non-volatile
`repair center computer upon failure of a local computer to
`memory and adapted for execution by a CPU to perform
`boot is provided in yet another aspect. comprising steps of:
`(a) sensing failure of the local computer to boot through
`startup functions for a computer, including initiating boot
`operations; and a second code portion recorded in the
`action of a first portion of code in an extended basic input
`non-volatile memory and adapted for execution by the CPU so output system (E-BIOS) installed and operable in the first
`to establish communication with a remote computer. Code
`computer; and (b) activating a communication link to the
`execution by the CPU is directed from the first portion to the
`remote repair center computer through action of a second
`second portion upon failure to complete the boot operations.
`portion of code in the E-BIOS. the second potion of code
`Communication with the remote computer may be estab-
`executed in response to the failure of the first computer to
`lished over a telephone link by operating a telephone modem ss boot.
`to dial a telephone number, using either an analog or digital
`The embodiments of the present invention and methods of
`line, and in some embodiments _Plural n~s . may be
`practicing the invention provide a unique system and pro-
`dialed in a priority sequence until a connection is estab-
`tocol for accessing, diagnosing and repairing computers that
`lished. Communication may be established as well over any
`fail to boot, without the expensive and time-consuming step
`network connection to remote computers.
`60 of sending a technician or engineer to the failed computer to
`In an alternative embodiment a computer is provided
`reboot the computer from a floppy, and to then diagnose and
`modify corrupted code and data.
`comprising a CPU; a mass storage device coupled to the
`CPU and having a boot code sector and operating sys~m
`RIEF DESCRIPTION OF THE DRAWINGS
`code recorded thereon; a read-only memory ROM device
`B
`coupled to the CPU; and a basic input output system (BIOS) 65
`FIG. 1 is a block diagram of an E-BIOS PC. an E-BIOS
`coupled to the CPU. the BIOS having a first code portion
`diagnostic center, and interconnection according to an
`recorded in the ROM device and adapted for execution by
`embodiment of the present invention.
`
`SUMMARY OF THE INVENflON
`
`Patent Owner, Bot M8 LLC - Ex. 2001, p. 6
`
`

`

`5,732,268
`
`5
`FIG. 2 is a logic flow diagram of operation of an E-BIOS
`PC at boot up.
`FIG. 3 is a logic flow diagram of operation of diagnosis
`and repair after an E-BIOS PC and an E-BIOS diagnostic
`center are connected.
`
`5
`
`20
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`FIG. 1 is a block diagram of a local E-BIOS PC 11
`connected to a remote E-BIOS diagnostic and repair facility
`13 by a communication link 15. A means of communicating
`is necessary for practicing the invention, but link 15 can be
`any of several well-known types, such as a serial link, a
`telephone modem connection, or a wide-area or a local area
`network connection. PC 11 has a unique E-BIOS 17 rather
`than a conventional PC BIOS. and facility 13 is equipped
`with code for cooperating with E-BIOS PC 11 over connec(cid:173)
`tion 15. This E-BIOS code in FIG. 1 is designated E-BIOS
`Host 19, and comprises a master kernel 20 and a slave kernel
`22.
`There are, in different embodiments of the present
`invention, at least two different ways that a diagnostic and
`repair facility 13 may operate. In one option, after connec(cid:173)
`tion is established, a human operator directs all interaction
`with the PC needing repair or modification to boot and
`operate properly. In another option, an automatic software
`(AS) kernel 24 is provided to deal with the problems of the
`failed PC, and no human intervention is necessary.
`There are a number of possible reasons why an E-BIOS
`PC might fail to boot. Perhaps chief among these, without
`regard to importance, are (1) a physical failure of the boot
`drive, (2) code corruption in the boot sector of the boot
`drive, (3) corruption of the file allocation table (FAT), (4)
`BIOS setup corrupted (usually in real-time clock, and often
`called CMOS), and (5) a virus infection affecting code
`and/or data in CMOS or on a hard disk. In case (1) the
`necessary correction cannot be made from the remote
`location, and it is necessary to send a technician to the failed
`computer to physically repair or change out the offending 40
`drive. In the cases of (2), (3), (4), and (5) diagnosis and
`repair can be made by methods of the present invention.
`In considering the relative importance or desirability of an
`automatic software kernel or human-directed operation, one
`attractive alternative is to provide, for a number of PCs, a 45
`diagnostic center wherein some PCs are equipped with the
`AS interface and some are human-directed. Such a center
`would vary in number of PCs depending on the service base,
`and efficiency in response and service is provided by having
`the AS PCs respond first to incoming requests for service.
`The AS PCs in this case are programmed to look for and fix
`problems associated with the five common problems listed
`above. In the event an AS PC cannot modify a failed PC to
`reboot, control is passed to a facility with a human-operator,
`who can then look for mare unusual and difficult problems.
`In this sort of facility there would be more AS PCs than
`human-directed. with a ratio of perhaps 5:1, depending on
`experience.
`Regardless of the number of E-BIOS PCs and E-BIOS
`diagnostic and repair facilities involved, however, the basic 60
`operation involves an operator or automatic software at a
`diagnostic and repair facility cooperating with a failed PC to
`get the failed machine operable again without the necessity
`of sending a repair technician to the offending machine.
`FIG. 2 is a logic flow diagram of operation of an E-BIOS 65
`PC at boot up, executing E-BIOS code. At step 21 power on
`is initiated. This may be from turning on the computer after
`
`35
`
`6
`a period of the computer being off, an intentional reboot
`occasioned by a keystroke combination or other signal, or a
`reboot as a result of the Power Good line going low may
`reason for a time sufficient to cause a reboot.
`At step 23 the E-BIOS is loaded into RAM and execution
`of the E-BIOS begins. At step 25 E-BIOS execution
`continues, performing POST and other BIOS startup
`functions, and, by virtue of being an E-BIOS. monitoring for
`any fault that will prevent completion of the boot process. As
`10 long as no fault is found that will prevent normal system
`operation, the boot process continues, including accessing
`the boot sector of a boot drive hard disk and loading code
`constituting an operating system from the boot drive.
`If, in the duration of the boot process, no fault is encoun-
`15 tered which would prevent normal system operation, boot
`proceeds at step 27 to presenting on a display monitor the
`interactive interface allowing a user to take over and direct
`continuing operation. This point is the DOS prompt, the
`Windows™ interface, the Mac desktop, and so forth.
`If, in the processes at step 27, a fault is encountered that
`would prevent normal operation, control is diverted to step
`29, and specific code in the E-BIOS queries for a modem or
`a LAN connection, and finding one or the other, establishes
`communication with a remote E-BIOS diagnostic and repair
`25 unit (element 13 in FIG. 1). There are a number of options
`for the connection code. For example, a specific phone
`number or numbers may be programmed into a device
`accessible by the E-BIOS, and the numbers may have
`priority, such that the E-BIOS may try the numbers in a
`30 priority order. This is useful for situations wherein mainte(cid:173)
`nance personnel may be off-site, and there is no certainty as
`to availability. When a qualified person answers such a call,
`he or she returns a preprogrammed signal. In the case of a
`LAN connection, there may be a specific node on the LAN
`designated as the diagnostic and repair site, or there may be
`several, again with a priority list accessible to the E-BIOS of
`the PC that fails to boot.
`It will be apparent to those with skill in the art that there
`are a broad variety of options that may be used by the
`E-BIOS to establish contact with a designated diagnostic
`and repair center.
`Depending on the specific embodiment, a user or an
`automatic software kernel at a remote unit 13 is notified of
`a machine in need of service in one or more of a variety of
`ways. In the case of a large commercial network, there may
`be a specific node designated as the diagnostic and repair
`center, and this node may be in service at all times with a
`technician in attendance and the E-BIOS host active. In this
`50 case, when a PC on the LAN goes down and can't reboot,
`and the E-BIOS at the failed PC signals for remote service,
`an on-screen message can be used to alert the service
`technician, perhaps coupled with an audio signal. In situa(cid:173)
`tions where a service technician might be running another
`55 program at the time a request is logged, there can still be an
`on-screen message or icon to alert the technician to boot the
`host software and initiate diagnosis and repair for the
`offending PC.
`In some cases, for example wherein an E-BIOS PC needs
`service and the E-BIOS calls a remote designated location
`by modem, a message may be left for a technician to access
`on return, who may then call the failed modem which is
`maintained in an answer mode by the E-BIOS until the
`service technician returns the call. Contact is then estab-
`lished and remote diagnosis and repair may proceed.
`In the specific situations described above, operation of
`diagnosis and repair is performed by a trained technician at
`
`Patent Owner, Bot M8 LLC - Ex. 2001, p. 7
`
`

`

`5,732,268
`
`25
`
`35
`
`7
`the remote diagnostic and repair PC. In an alternative
`embodiment operation is by an automatic software kernel.
`F1G. 3 is a logic flow diagram of operations between a
`failed E-BIOS PC 11 and a remote diagnostics and repair PC
`13 (F1G. 1) in an embodiment of the invention after the
`E-BIOS host is active on the diagnostics and repair PC and
`communication has been established with the failed E-BIOS
`PC. At step 31 communication is established. At step 33
`slave kernel 22 is downloaded from diagnostic and repair PC
`13 over link 15 to failed PC 11. In human-operated embodi(cid:173)
`ments the downloading is initiated by the human operator. In
`automatic operation the downloading is directed by AS
`kernel 24 (F1G. 1).
`At step 35 an attempt is made to execute slave kernel 22
`in RAM space of failed PC 11. If the slave fails, control 15
`returns to step 33, and another download is initiated. Under
`human control this reboot process for the slave kernel may
`be repeated any number of times at the discretion of the
`operator. Under AS control a counter 37 records the number
`of tries, and aborts at some preprogrammed integer, such as 20
`three.
`When and if at step 35 the slave is determined to be
`operable, control proceeds to step 39, and the slave is
`manipulated to diagnose and repair the failed PC.
`Considering an embodiment of the invention under
`human control. after slave kernel 22 is downloaded and
`tested, an interface at the diagnostic PC is provided emu(cid:173)
`lating the keyboard, screen, and floppy drive of the failed
`computer. providing a local environment at the diagnostic
`PC just as if the technician has traveled to the failed PC
`(which may be miles away) and is interfacing with the failed
`unit directly. Under this circumstance the repair technician
`may load floppy disks and diagnose and repair the failed PC
`as though he or she were directly operating the failed PC.
`The technician may, for example, load a DOS boot disk. and
`boot the failed PC from the floppy drive of the remote
`diagnostic and repair PC. He or she may then run diagnostic
`and repair programs such as FDISK, CHKDISK. and
`SCANDISK. which are familiar to user's of DOS and 40
`WindowsTM programs. Similar diagnostic programs are
`available and may be used in other embodiments. Opera(cid:173)
`tions at the diagnostic and repair PC are transferred via the
`master kernel running on the diagnostic and repair PC via
`link 15 to the failed PC. and by virtue of the slave kernel 45
`operating there, directed to the appropriate hardware devices
`and addresses at the failed PC. In this instance, when one
`uses the A: floppy drive at the remote unit, the linked system
`operates as though that is the A: drive at the linked, failed
`PC.
`In addition to diagnosing and repairing code and data on
`a hard disk. other functions may be performed from the
`diagnostic and repair PC after connection and establishing
`the slave kernel on the failed PC. Among these are remote
`operation of all interactive BIOS functions, retrieval and
`restoration of files on local media, running diagnostics (as
`described above), retrieval of system configuration
`infonnation, such as system registry, CMOS. desktop man(cid:173)
`agement files (DMI), and any other information typically
`available to the BIOS or operating system.
`It will be apparent to those with skill in the art that there
`are many alterations that may be made in embodiments of
`the present invention described herein without departing
`from the spirit and scope of the invention. There are, for
`example, many alternative ways that code might be gener(cid:173)
`ated to accomplish the functions of the invention. It is well
`known to those with the skill in the art that the same
`
`8
`functions can be performed by code written in many differ(cid:173)
`ent ways. A variety of diagnostic and repair functions may
`be incotporated into different embodiments of the invention,
`and a number of these have been described above. Other
`5 alternatives include a variety of communication links, a
`variety of mixes of designated repair facilities, a variety of
`user interfaces that may be presented by the master kernel at
`the remote diagnostic and repair PC. and other alternatives
`as well. The scope of the invention is limited only by the
`10 claims which follow.
`What is claimed is:
`1. A basic input output system (BIOS) comprising;
`a first code portion adapted for execution by a CPU to
`perform power on self test (POST) routine and to
`initiate boot operations; and
`a second code portion adapted for execution by the CPU
`to establish communication with a remote computer;
`wherein code execution by the CPU is directed from the
`first portion to the second portion upon failure to
`complete said boot operations.
`2. A BIOS as in claim 1 wherein the second portion directs
`the CPU to establish communication with a remote com(cid:173)
`puter through a telephone link by operating a telephone
`modem to dial a telephone number.
`3. A BIOS as in claim 2 wherein the second portion directs
`the CPU to access a priority record of telephone numbers.
`and to dial the telephone numbers in order of priority until
`a call is answered and a pre-programmed signal is returned.
`4. A BIOS as in claim 1 wherein the second portion directs
`30 the CPU to establish communication with a remote com(cid:173)
`puter through a network communication adapter.
`5. A BIOS as in claim 1 wherein the non-volatile memory
`is an integrated circuit read-only memory (ROM) including
`Flash memory.
`fi. A computer comprising:
`a CPU;
`a mass storage device coupled to the CPU and having a
`boot code sector and operating system code recorded
`thereon; and
`a basic input output system (BIOS) coupled to the CPU,
`the BIOS having a first code portion adapted for
`execution by the CPU to perform power on self test
`(POST) routine and to initiate boot operations, and a
`second code portion adapted for execution by the CPU
`to establish communication with a remote computer;
`wherein code execution by the CPU is directed from the
`first code portion to the second code portion upon
`failure to complete said boot operations.
`7. A computer as in claim fi wherein the second code
`portion directs the CPU to establish communication with a
`remote computer through a telephone link by operating a
`telephone modem to dial a telephone number.
`8. A computer as in claim 7 wherein the second portion
`55 directs the CPU to access a priority record of telephone
`numbers, and to dial the telephone numbers in order of
`priority until a call is answered and a pre-programmed signal
`is returned.
`9. A computer as in claim fi wherein the second portion
`60 directs the CPU to establish communication with a remote
`computer through a network communication adapter.
`10. A system for modifying code and data in a first
`computer having a first CPU upon failure of the first
`computer to boot, comprising:
`a second computer having a seco

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket