|
Palm organizers are widely used in a multi-tasking fashion. Users
switch from one application to another without losing the context
established in either of them. Despite its obvious usefulness,
there is no automatic support for this convenience in the
organizer's operating system, PalmOS. Programmers must
implement event callbacks that have to operate on a PalmOS
database API to save and reload specific application state. In
this report, we describe how this burden can be eliminated.
We enhanced the Spotless Java[tm] virtual machine for the Palm
organizer with transparent multi-tasking
support that automates persistence.
As a consequence, running Java programs can be beamed between the
infra-red links of two Palm organizers. A beamed program will
resume on the receiving organizer in the exact same state as on
the sending device.
A HotSync operation effectively establishes a checkpoint for each
involved Java program.
The original Spotless JVM's address range for running programs is
limited to a few tens of KB in the dynamic RAM area. By
directly addressing the much larger static RAM area, our
modified VM supports address ranges of several MB.
We provide an easy-to-use protocol that leverages persistent
threads for automatic life cycle control of external resources
(e.g., windows, forms and databases). When applied at the library
level, this protocol maintains complete persistence transparency
for the application programmer.
|