[cap-talk] Styles of persistance
jed at nersc.gov
Thu Apr 3 20:51:15 CDT 2008
On 4/3/2008 5:11 PM, Bill Frantz wrote:
> shap at eros-os.com (Jonathan S. Shapiro) on Monday, March 31, 2008 wrote:
>> In most cases, the best way to upgrade an object is to serialize its
>> state, instantiate the new version, and have the new version read in the
>> old state (possibly using an intermediate, transient format converter to
>> separate out the conversion logic).
>> To the extent that this is true, the only objects requiring a complex
>> upgrade protocol are objects that require on-line update.
> Perhaps an interesting use case is the
> KeyKOS/EROS/CapROS/Coyotos(?) space bank. Instances of the space
> bank have life-times from minutes to the life of the system.
> Serialization is not used to move it from system to system. :-) It
> has a significant internal data structure to keep track of
> in-use/free, and the objects to be rescinded when a space bank is
> zapped. And, as allocation strategies change, it is likely to need
> to be changes.
> It would be useful to get the upgrade path for the space bank right
> in the first release.
Hmmm. I'm not sure I'm understanding the distinctions above,
e.g. when BillF says "Serialization is not used to move it from
system to system. :-)". Objects of course vary in terms of their
internal complexity. When the stored version of an object needs
to change from one version of a server (system?) to another,
I can't see how one can avoid doing a conversion - read in the
old version and write out the new. I took that to be what Jonathan
was referring to as "serialization". Of course the object might
not be literally serialized down to bits (bits and capabilities in
descriptor based systems?), but they do have to be reformatted I
think as that seems to be the whole point.
Perhaps Bill can explain what makes the KeyKOS space bank unusual
in this regard. I'm afraid I don't know what a "space bank" is
or how it is organized internally. Is that relevant to this
More information about the cap-talk