The document discusses distributed objects and remote method invocation (RMI) in Java.
1) RMI allows objects running in one Java virtual machine to invoke methods on objects residing in another Java VM. It uses stubs and skeletons as proxies for remote objects.
2) The client calls a method on the local stub, which communicates with the remote skeleton to invoke the method on the actual remote object residing on the server.
3) RMI provides mechanisms for remote object registration, lookup, parameter passing and serialization to enable communication between remote objects across the network.