The motion of an object, state plus behavior, between two systems has been a problem that was too hard to tackle so far. It has been possible to transfer a whole ecology of objects to sufficiently similar hardware in systems with persistent state, but moving individual subcomponents seems unnatural, even if highly desirable.

The metaphor of foreign travel is too juicy to resist! When one travels to a foreign country the food is different, the germs are different and worst of all, they are likely to speak a different (machine) language. They may even drive on the other side of the road, which makes ordinary travel highly dangerous.

You must first negotiate foreign money and perhaps learn to use foreign banks.

Come to think of it foreign travel in the world of atoms is far easier than in the world of bits. Keykos brings some hope I think. Pages and nodes need not be tied to an ISA (Instruction set architecture) but domains must be. The fundamental unit of interaction is the message: four keys and a string of 8 bit bytes. There remain difficult problems. An object in mid execution has state coded in a format peculiar to one ISA. Keykos checkpoints capture object state in that form. I posit here that a traveling object should also carry its state in that form even if it travels from one machine to another. This is easy with interpretive domains. There remain two large hurdles each with strong analogs in the real world:

That these analogies hold indicates to me that the problems are real but also that they can be managed and that it is often useful to do so. We may find solutions from the real world that fit cyberspace well.

Java applets afford the introduction of foreign code into a system while protecting the other interests on that system. It does not address the harder problems of bringing state or protecting the interests of the imported code.

When I travel to a foreign country I am safe depending in part on what country I have traveled to.

See this too on foriegn travel.