Browse Prior Art Database

Reliability Enhancement for Remote Booting Computers

IP.com Disclosure Number: IPCOM000119055D
Original Publication Date: 1997-Nov-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 118K

Publishing Venue

IBM

Related People

Knox, R: AUTHOR [+3]

Abstract

Remote Program Load (RPL) is a means for booting a medialess Personal Computer (PC), but it may also be used to provide the centralized control of with-media PCs by ensuring that they periodically (on every boot) contact a server from where the software can be updated.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 47% of the total text.

Reliability Enhancement for Remote Booting Computers

      Remote Program Load (RPL) is a means for booting a medialess
Personal Computer (PC), but it may also be used to provide the
centralized control of with-media PCs by ensuring that they
periodically (on every boot) contact a server from where the software
can be updated.

      However, if the network or server is not available, the RPL PC
cannot boot.  This adversely affects the reliability of the client
PC.  If RPL is enabled, there is no way to allow the PC to try to RPL
and, if that fails, boot from the local hardfile instead.

      The described solution allows the PC to try to RPL from a
server but, if that fails, the PC will boot from its local hard disk
drive instead.  This improves the reliability of the client while
maintaining the centralized control provided by RPL (assuming that
any problems which prevent successful RPL are only temporary).

      The obvious solution to this problem would be to have the PC
attempt to RPL and then, if that times out, to abandon RPL and try to
boot from the hard disk drive.  Unfortunately, there is no way for
the PC bootstrap or operating system to regain control once control
has passed into the RPL code and since the RPL code is held in ROM on
the network adapter, there is no way to change this behavior by
modifying the RPL code.  In addition, even if a user program were
able to regain  control, the network adapter would be in an unknown
state and there is  no way of resetting the adapter to a known state
unless a reboot is performed.

      This solution causes the hard disk drive of the PC to be
partitioned so that there is a small 'CONTROL' partition at the start
of the disk containing a special control program.  The rest of the
disk is partitioned as normal, with one or more partitions containing
operating system programs and user data.  The 'CONTROL' partition is
marked active so it is given control when the system is booted.

      Upon bootup, a special program in the control partition is
activated.  This program does the following:
    1.  Relocates itself to the top of memory.
    2.  Checks the status of a flag stored in the control
         partition.
    3.  Hooks a special routine into the system timer interrupt.
    4.  Invokes RPL by calling the RPL entry point (INT 18II).
  The reason for these actions is as follows:
    1.  Whenever a bootstrap loads a program from disk or from
         RPL, it is loaded at address 0:7c00.  This is where the
         control program is initially loaded.
    2.  The flag is used to tell the program whether to try and
         boot from disk or attempt to RPL.  Initially, it is set
         to try RPL.
    3.  The timer interrupt routine is used to provide a mechanism
         for the RPL to 'time out' in a means that will be described
         shortly.
    4.  INT 18...