Java quite deliberately does not have any built-in facilities for
"checkpointing"/"freezing"/"archiving" arbitrary application state.
This is for security reasons: how can one verify that an arbitrary
application checkpoint received over the network does not violate
that program's invariants?
In general, this is impossible; the only way to guarantee security
with "mobile checkpoints" is if both the network and *all* the
interpreters connected to it form a single secure system. This
limits Telescript to "webs of trust" -- just a bit smaller than the
Internet. I assume you are addesssing the same point here:
> I hope it is obvious that I am not suggesting that web
> browsers include telescript engines.
So the question then becomes, how do "mobile checkpoints", which
can migrate among a small trusted web of servers, compete with
"mobile code", which can be generated and sent to both clients and
servers all over the Internet?
The main benefit of mobile checkpoints is automatic preservation of
"agent identity". However, that benefit relies in an essential way
on a secure infrastructure, and given the same secure
infrastructure, there isn't any fundamental obstacle to using mobile
code with conscious checkpointing instsad.
(P.S. I've used mobile checkpoints on the Web myself. But I think
its niche is now becoming rather narrow.)
--------------------------------------------------------------------
Paul Burchard <[email protected]>
``I'm still learning how to count backwards from infinity...''
--------------------------------------------------------------------