Another approach to this type of thing worth checking out is Dan Ingall's Lively Kernel http://lively-kernel.org/
We are currently experimenting in distributing LK runtimes in nodejs instances so that basically a network of active runtimes can be created that communicate / exchange objects.
Note that the core development moved to github [2].
[1] http://www.hpi.uni-potsdam.de/hirschfeld/publications/media/...
(it's a semi-port of MIT's Scratch language).