PortaCello3 Update [was Re: [cello-devel] scroller]

Thomas F. Burdick tfb at OCF.Berkeley.EDU
Mon Apr 12 06:30:20 UTC 2004


Kenny Tilton writes:
 > 
 > 
 > Frank Goenninger wrote:
 > 
 > >How about a communicating cells super-structure. One cells instance
 > >running on one system and the other on another system. Then have
 > >instances of cells move between those two systems.
 > >
 > The /cells/ move?
 > 
 > > This then is dataflow
 > >beyond machine boundaries!
 > >
 > Actually, that has already happened, in the CliniSys app. Two 
 > applications on different machines were both accessing a multi-user 
 > networked database. After any write operation, applications broadcast 
 > the news via IPC so any other running app could look at the I/O and then 
 > check internal tables developed for this purpose which kep track of 
 > cells that "cared about" the I/O in one of several ways.
 > 
 > The effect was that one could be looking at "Patient Page 12" on machine 
 > A and see it change when some changed the same page on Machine B.
 > 
 > Without a DB we just need a way for a rule for a slot for an instance of 
 > an application on machine "A" to /reference/ the slot of an instance of 
 > an application on Machine B. So you just need to work out a network 
 > "namespace": \machine\processname\... and now you are into the Cello 
 > namespace. A reasonable amount of socket glue and away you go.
 > 
 > This could be a cool way of doing tech support, where one would "take 
 > over" the users application to get the settings right, or at least tie 
 > in to see what the user was doing to better help them (tho I know win32 
 > at least offer OS-level tricks to do the same).

This is really tangential, but what tricks are those?  I'm curious
mainly to see if there's something similar on Unix/Mac, since I do
deliver end-user apps sometimes.

 > >And if the transported cell contains some code fragment that will be
 > >evaluated on the other system but knows it came from the other system
 > >would mean to have transparent cell communication between machines.
 >
 > I still do not see moving Cells, I see cross-network slot-references and 
 > /data/ moving.

This seems the right way to do it to me, too.

 > So it is probably better to borrow the synaptic concept and do it as an 
 > internal cells engine trick when it sees a networked reference, or more 
 > generally, an interprocess reference--anytime the namespace search goes 
 > outside the user process. So the developer does not worry about it, they 
 > just make sure they get the URL, if you will, right.

Yeah, and if the developer whats something else, they can build their
own out of the blocks that network-transparent cells were built out
of: cells, sockets, and synapses.

 > Is anyone asking for this? I missed the whole age of networked systems, 
 > so I do not know.

No, of course not, for the same reason no one's asking for CL :-).  If
you ask me, what you're talking about is the natural application of
Cells to networked systems, so to the extent that anyone's asking for
Cells/CL, they're asking for this.  The model (no pun intended) needs
authentication and authorization layers ("who are you?" "can you do
what you're trying to?").  You can always build such on top, but the
same applies to CMUCL's WIRE package, which is underutilized for just
that reason.




More information about the cello-devel mailing list