Live-Distributed Java Objects: a middleware for the manipulation of objects spanning on multiple computers