摘要:
A session replication system (100) provides real-time data replication without unnecessarily slowing down the user experience. A system in accordance with the present invention may utilize a primary server (104) to serve requests from a network client (102), as well as a secondary server (110) to replicate the session information. When a request is received on the session, an attempt may be made to serve the request on the primary server (104). If the primary is unable to receive or respond to the request, the request may be served on the secondary application server or on a new primary server. If the secondary server (110) receives the request, the secondary server may become the new primary server. If a new primary server is selected, the new primary may request the session information from the secondary server.
摘要:
A clustered enterprise JavaTM 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 JavaTM virtual machine (JVM) (354) and kernel (355) software layer for transferring messages, including a remote JavaTM virtual machine (RJVM) (356). The second computer includes a JVM and a kernel software layer having an RJVM. Messages are passed from an RJVM to the JVM in one computer to the JVM and RJVM in the second computer. Messages may be forwarded through an intermediate server (302 and 303) or rerouted after a network reconfiguration. Each load balancing software component (362) 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 JavaTM distributed processing system allows for enhanced scalability and fault tolerance.
摘要:
A clustered enterprise Java distributed processing system (380) is provided. The distributed processing system includes a first and a second computer coupled to a communication medium (305). The first computer includes a Java virtual machine (JVM, 354) and kernel software (355) for transferring messages, including a remote Java virtual machine (RJVM). The second computer includes a JVM (354) and a kernel software layer having a RJVM (356). Messages are passed from a RJVM (365) to the JVM (354) in one computer to the JVM (354) and RJVM (365) in the second computer. Message 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 distributed processing system (380) allows for enhanced scalability and fault tolerance.
摘要:
A system and method for server load balancing that includes server affinity. The system can be incorporated into application servers to support load balancing algorithms for RMI objects that provide server affinity. Server affinity uses smart load balancing for external client connections in such a way that it uses preexisting connection and reduces overhead: the client considers its existing connections to the application server instances when choosing the server instance on which to access a service. If a service is configured for server affinity, the client-side stub attempts to choose a server instance to which it is already connected, and continues to use the same server instance for method calls. All stubs on that client will attempt to use that server instance. If the server instance becomes unavailable, the stubs fail over, if possible, to a server instance to which the client is already connected.