[e-lang] VatTP and Waterken protocols compared
Kevin Reid
kpreid at mac.com
Sat Sep 20 06:01:46 CDT 2008
On Sep 19, 2008, at 20:54, Bill Frantz wrote:
> Tyler described some of the Waterken protocol in this Friday's
> morning meeting. Here are some notes from his description.
>
> Both the VatTP protocol part of E on Java
> <http://www.erights.org/elib/distrib/vattp/index.html>, and the
> Waterken protocol <http://waterken.sourceforge.net/> allow vats to
> send messages to other vats. There are some significant differences
> in their implementation which affect their behavior during
> checkpoints and during message flood conditions.
>
> In VatTP, messages are sent as soon as they are generated.
It may fall out of future implementations that messages are sent only
after the turn which generates them; in particular, this means that
messages from an infinite or crashing turn will never be seen.
> Both systems only save persistent state between vat "turns". It is
> not clear from the (non)documentation if the vat queue is included
> in what is saved by the persistence mechanism. (And I can't
> remember that detail.)
Persistence is of objects; the vat queue is not exposed as an object;
therefore it is not persistent.
More specifically than that's-the-way-it-isn't:
E has a general object serialization module, and a module for using it
for vat persistence (timeMachine). The root of persistence is the
table of incoming SturdyRefs; that is, any non-ephemeral SturdyRef
created causes its referent to be persisted. (Note that it is possible
to abuse this mechanism to add persistence roots and therefore on-
revival actions, by simply not publishing the SturdyRef after it's
created.)
--
Kevin Reid <http://homepage.mac.com/kpreid/>
More information about the e-lang
mailing list