                        ALL ABOUT CPR

CPR is an exciting new work recovery tool that can greatly
increase your computing confidence.  It saves the state of
your computer periodically so that if your system locks up
or you lose power, you can "roll back the camera" and resume
computing where the last save occurred.

Depending on how often saves are made, and what has occurred
in the PC's file system since the last save will determine
(1) the amount of work you get back and (2) the stability of
your system once recovered.  This file explains how CPR
works, describes boundary conditions that affect a complete
and successful recovery, and includes suggestions for how to
optimize its usefulness and performance in your system.

While CPR is a blessing to PC users concerned about possible
data loss, it does not guarantee recovery in all cases.  In
our experience, it brings back work in progress - at least
to the point data files can be saved to disk - in 80-85% of
the cases.  When you consider that before CPR users have had
no recourse to a system lock-up or crash, you begin to
appreciate the program's contribution to fault-tolerant
computing.

How CPR Works
-------------
CPR saves system RAM (including video and LAN adapter
memory) and copies of your hard-disk file-allocation table
(FAT) to a hidden image file on your bootable hard drive.
By default, these saves occur every 30 minutes or at
intervals you specify.  Just before the save begins, you'll
hear three short tones, then your screen and keyboard will
suspend, and the save will proceed.  When CPR is finished,
you'll hear two short tones signaling that you can continue
working.

If you experience a system crash or loss of power, you
simply reboot and type "CPR" at the DOS prompt. CPR proceeds
to compare its image file with your hard drive's current
file system.  Using a fairly complex algorithm, it decides
whether or not system recovery is possible, and if so, what
level of risk is involved.  CPR presents one of four
prognoses, ranging from "Excellent" to "Poor," explained
further below:

  No change: Nothing has changed in the disk system between
  the saved-state file and the current system state. There
  is an excellent chance of successful recovery.

  File(s) changed: Data was changed, but it did not affect
  the FAT (that is, no clusters were removed or added to the
  file.) There is a very good chance of successful recovery.

  File(s) shortened: Data was changed, and the FAT was
  affected because clusters were removed (unallocated) from
  the file, and added to the free clusters list in the FAT.
  There is a good chance of successful recovery. Although
  data may be corrupted, there is a slight chance of damage
  to the hard disk's current FAT. If the newly unallocated
  clusters have not been allocated to another file, the
  current FAT can be changed to match the saved FAT.

  File(s) extended: Data was changed, and the FAT was
  affected because clusters were added to the file. There is
  a fair chance of successful recovery. Although data may be
  corrupted, chances of compromising the hard disk structure
  is very low. Since there would probably be "lost
  clusters," run DiskFix after recovery to eliminate future
  problems.

  Clusters have moved: Data was changed, and as a result,
  the unallocated clusters have been allocated to another
  file. There is a very poor chance of a successful recovery
  in this situation.

The chances for a full recovery are directly proportional to
the frequency of the saves and the type of disk activity
that has occurred since the most recent save.  In our
experience, default save intervals typically result in Good
to Excellent recovery scenarios.  Once CPR recovers a
system, we recommend you immediately save your data and then
reboot again to ensure maximum system stability before
continuing.  If CPR's recovery prognosis was less than
Excellent, we also recommend running PC Tools DiskFix
following the reboot to clean up any loose ends in the file
structure.

How CPR Decides To Save
-----------------------
To ensure the best chances for recovery, CPR uses a
combination of four factors to decide how often to do a
save, as described below.  Any one of these factors will
trigger a save, once the hold-out time has passed:

FACTOR               HOW IT WORKS                 DEFAULT*

Time between saves   Save occurs when N minutes   30 min.
                     have passed, regardless of
                     disk activity

FAT activity         Save occurs when N minutes    5 min.
                     have passed following FAT
                     changes

Disk writes          Save occurs when N minutes   10 min.
                     have passed following a disk
                     write

Hold-out time        Once any of the above        10 sec.
                     conditions  have been met,
                     CPR waits until the PC is 
                     idle for N seconds, and then 
                     does a save.

*All of these settings can be adjusted in the advanced
configuration menu.

Known CPR Limitations
---------------------
Given the wide variety of systems and applications in use,
it's impossible to accurately predict every scenario and the
exact rules that determine whether or not CPR will be able
to successfully recover your particular session.  However,
here are some known limitations that a user should be aware
of:

1. Supported hardware. CPR supports more than 100 video
cards and has been tested on dozens of different PCs, but
there are some configurations that we do not support at this
time.  For a list of supported hardware, see the entries in
the advanced config menu

2. Limits to restoring Microsoft Windows.  Under the right
conditions, we have had good results restoring Windows
sessions.  There are, however, some known limitations:

  To restore a Windows session, you must run initiate CPR
  from DOS.  You cannot spawn a DOS session in Windows and
  run it from there.  If you boot directly into Windows and
  do not stop at the DOS prompt first, you may want to use
  the CPR /ASK option in your AUTOEXEC.BAT file.

  If you exit Windows and then attempt to recovery a
  previously saved Windows session.  Since you are usually
  "forced" to save your work before leaving Windows or any
  of its applications, this situation is rather atypical,
  but it will not work.  The reason is that when Windows
  shuts down, it scratches its swap file, and becomes
  disoriented upon recovery.  The current task is sometimes
  okay, but Windows locks up when another task is attempted,
  or upon exiting.

  When you restore a Windows session that was connected to
  NetWare, network error messages can interfere and make it
  difficult for you to save the file you were working on.
  The effect this anomaly has on CPR is dependent on what
  you were doing on the network, how long after a disconnect
  your network "times you out," and the type of network you
  are using.  (For more network information, see point #5
  below.)

  Replacement Windows Shells (such as PC Tools Desktop or
  Norton Desktop) read and update the Windows swap file more
  often than the standard Microsoft Program Manager and File
  Manager.  This may reduce the probability of useful
  recovery and reinforces the need to save your work
  immediately once the restoration is complete.

  If you use a bus mouse, avoid moving it while CPR is
  saving your work in progress.

3.  Recovery of network connections.  If you are running an
application on the server or are dependent on the server in
any way (e.g., e-mail), you should not expect CPR to restore
this type of session.  CPR saves the state of your local PC,
but cannot do the same for the server.  Therefore, when you
roll the clock back the server may become confused. The
circumstances under which CPR will not work vary widely,
depending on the type of network in use.  The following
issues and factors should be considered:

  We currently support NE1000/2000 and SEEQ 5-based LAN
  adapters.  A "user defined" screen is provided for other
  cards, but the biggest factor in whether or not CPR will
  enable recovery of networked systems is the type of
  network software you are running.

  Transactions that run on the server will fail when
  recovered.  If you were doing something on the network
  when the last save was done, and after recovery this no
  longer makes sense to the server, that application will
  probably fail.  Sometimes a "retry" will correct the
  situation.  Some networks, NetWare Lite and Mainlan, for
  example, don't care about the nature of network packets,
  they treat them individually, so these networks usually
  can recover successfully.  Full NetWare systems are
  generally not recoverable.

  Automatic timeouts that disconnect your PC from the LAN
  are an issue.  NetWare and Lantastic do this, NetWare Lite
  and Mainlan do not.  If you have been timed out CPR will
  recover with the network dead. Local processing is not
  usually affected (except under some Windows scenarios),
  but network transactions are not recovered.  Lantastic
  times out so quickly that you will always be disconnected
  before you can recover a session.

4.  CPR saves may interfere with real-time programs.  If you
are using a real-time program, such as a telecommunications
applications, turn off CPR before starting the program.
This can be done in a batch file using the CPR /DISABLE and
CPR /ENABLE commands.  That way, CPR won't initiate a save
and possibly terminate your connection.

5.  Available disk space for image file.  The CPR install
program tests for this condition automatically, but the PC
must have enough available disk space to create the image
file.  The image file must be on a local,
bootable drive; it cannot be on a compressed volume such as
Stacker or DoubleSpace, or on a network drive.  Page 593 in
the manual explains how this calculation is made.  As a
general rule, CPR requires an image file equal to the amount
of system and video RAM, plus another 100K for FATs, etc.

6.  CPR is not a bookmark program.  While you can do a
manual save using a hot-key combination, CPR was not
designed to be used as a "bookmark" or auto-resume program,
and should not be relied on for this purpose.  Since CPR
permits computing to continue after a save, is not 100%
reliable for this application.

How To Ensure The Best Results
------------------------------
When you recover a session, do not simply proceed as though
nothing happened. Immediately save your work and then reboot
your system to stabilize the file structure on your PC.  In
addition, if CPR determined that odds for recovery were less
than Excellent, remember to run DiskFix before loading up
your applications again.

Programmable Access (CPR's API)
-------------------------------
An API is available for CPR that allows disabling and
enabling system state saves, and forcing a system save from
within another program.  Also, "CPR /DISABLE" and "CPR
/ENABLE" can be used in batch files.

Common Questions & Answers
--------------------------
Q:  How long does a typical save take?  Won't this be a
nuisance if CPR is saving often enough to be useful?

A:  This is a function of how much RAM is in your PC, and
the overall performance of the system.  A typical 80486 PC
with 8 MB RAM takes 10-15 seconds.  CPR attempts to minimize
the "nuisance factor" by waiting until at least 10 seconds
have passed where no keyboard or mouse activity occurs
before starting the save.  This holdout period can be
increased.

Q:  Is there any way to reduce the amount of disk space
required by the image file?

A:  Not typically.  But there is one exception.  If you know
for sure you won't be using all the RAM in your PC, CPR can
be configured to save only a portion of your memory.  For
example, if you have a 2 MB machine, but only run MS-DOS and
programs that do not use EMS/XMS, you can only save the
first megabyte.

Q: Why can't I compress the image file using Stacker or
DoubleSpace?

A:  Like the permanent swap file in Windows, CPR's image
file must be on an uncompressed "host" drive.  For one
reason, this ensures the fastest possible saves.

Q:  During a save, my screen goes blank.  Is this normal?

A:  Yes, this is expected and occurs when CPR is saving your
video RAM.  Then, before CPR releases control of your
machine, your screen is restored.

Q: I go straight to Windows when I reboot my system.  Can I
recover from within Windows?

A: No, not in this release.  However, we have built in a
pause option during boot time to solve this problem.  Simply
add the CPR /ASK line to your AUTOEXEC.BAT file in
accordance with the instructions in the README.TXT file.
When you boot, CPR, like RAMBoost displays a three-second
message asking if you want to recover a session, and then
proceeds if you do not press "Y".
