Path: news.daimi.aau.dk!poe From: "Armin M. Warda" Newsgroups: comp.lang.beta Subject: Re: Cloning of objects Date: 11 May 1995 14:32:45 GMT Organization: DAIMI, Computer Science Dept. at Aarhus University Lines: 77 Approved: mailtonews@daimi.aau.dk Distribution: world Message-ID: <3ot76d$9g3@belfort.daimi.aau.dk> NNTP-Posting-Host: daimi.daimi.aau.dk Hello S_ren Brand, > > Each process should have a method 'checkpoint' that checkpoints > > the total state of this process (including the execution stack > > of the component!) and returns a unique id. [...] > > The basic mechanism employed by the persistentstore as well as the > distribution library to marshall objects is called "ObjectSerializer", > and can be found in "~beta/objectserver/v2.1/ObjectSerializer'". Check > it out, its my favourite library (I wrote it myself :-). > > The ObjectSerializer mechanism could "easily" by employed to implement > "in-memory-transactions". In fact this has been discussed and proposed > as a suitable masters thesis project, although I don't know if anyone > has picked up the idea yet. OK, I'll have a look at the ObjectSerializer. > The problem with execution stacks is that they are not easily moved > between (OS) processes running at different hardware platforms, I think I won't need to move execution stacks between different processes or even different processes running at different hardware platforms. > > Of cause 'clone' would have to > > clone execution stacks of components, too. > > > I think the problem is to make the access to the execution stack > > of a component more flexible than the one-way fashion 'first > > attachment (creation), suspension, attachment, suspension,.., > > last attachment, termination'. > > This is the crucial point, isn't it? > > I don't think I get the point. Could you be a little more specific on > how you would use these more flexible primitives? I think this paragraph is indeed not very enlightning. Forget about it. What I meant was simply the same as explained above about checkpoint & rollback: first attachment (creation), suspension, attachment, suspension, checkpoint, ---> returns an id ---+ attachment, | (*) .. | rollback, <--- given that id <--+ attachment, (*) .. suspension, .. last attachment, termination The states of the component at (*) are identical. A rollback of a terminated component could -- or could not -- be forbidden. In the latter case the terminated object would have to exist until all checkpointed states of this object are canceled. Should a component be allowed to be checkpointed while being active, or said in other words, should a component be able to checkpoint itself? If not then components could only be checkpointed while being suspended, thus it could only be checkpointed from outside. (I think this would be sufficient for my purpose.) A. P.S.: Will this eMail already automatically show up in comp.lang.beta since I included 'cc: usergroup@mjolner.dk'? ------------------------------------------------------------------------------- Armin M. Warda http://ls4-www.informatik.uni-dortmund.de/QM/MA/warda/pi.html UniDo, FB Inf.4 work: 0231-755-4824 warda@ls4.informatik.uni-dortmund.de D-44221 Dortmund home: 0231-753730 warda@nephilim.ruhr.de PGP FP= 66 C0 3E 8E D9 FE 61 77 DB 37 0D 40 36 53 71 6A (SUPPORT ZIMMERMANN!)