A clustered enterprise Java.TM. distributed processing system is provided.
The distributed processing system includes a first and a second computer
coupled to a communication medium. The first computer includes a Java.TM.
virtual machine (JVM) and kernel software layer for transferring
messages, including a remote Java.TM. virtual machine (RJVM). The second
computer includes a JVM and a kernel software layer having a RJVM.
Messages are passed from a RJVM to the JVM in one computer to the JVM and
RJVM in the second computer. Messages may be forwarded through an
intermediate server or rerouted after a network reconfiguration. Each
computer includes a Smart stub having a replica handler, including a load
balancing software component and a failover software component. Each
computer includes a duplicated service naming tree for storing a pool of
Smart stubs at a node. The computers may be programmed in a stateless,
stateless factory, or a stateful programming model. The clustered
enterprise Java.TM. distributed processing system allows for enhanced
scalability and fault tolerance.