Jini Technology Infrastructure: Moving Code

When services join or leave a Lookup Service, events are signaled, and objects that have registered interest in such events get notifications when new services become available or old services cease to be active. The programming model rests on the ability to move code, which is supported by the base infrastructure.
Communication between services is accomplished using Java Remote Method Invocation (RMI). The infrastructure to support communication between services is not itself a service that is discovered and used but is,  rather, a part of the Jini technology infrastructure. RMI provides mechanisms to find, activate, and garbage collect object groups. RMI also provides the infrastructure for multicast, replication, and the mechanisms for basic security and confidentiality.
Fundamentally, RMI is a Java-programming-language-enabled extension to traditional remote procedure call mechanisms. RMI allows not only data to be passed from object to object around the network but full objects, including code. Much of the simplicity of the Jini system is enabled by this ability to move code around the network in a form that is encapsulated as an object.