System and method for supporting one-way remote method invocation for session replication in a server cluster
First Claim
1. A method for supporting session replication in a server cluster, comprising:
- receiving, via a primary application server, a request associated with a session from a client;
replicating, via the primary application server, session information associated with the session in the request to a secondary application server using an underlying transport protocol which comprises one-way remote method invocation (RMI) session replication based on a socket direct protocol (SDP) between a first SDP socket on the primary application server and a second SDP socket on the secondary application server, wherein the underlying transport protocol guarantees that the session information is transmitted to the secondary application server once a return message from a network socket associated with the underlying transport protocol is received at the primary application server, and wherein, in accordance with the underlying transport protocol,the primary application server initiates a send call to the first SDP socket to start transmitting the session information,the first SDP socket informs the second SDP socket that the session information is available,the secondary application server instructs the second SDP socket to receive the session data,the second SDP socket performs a read operation using remote direct memory access (RDMA) to read the session data from a buffer associated the primary application server,the second SDP socket informs the first SDP socket when read operation is completed, andthe first SDP socket sends a return message to the primary application server, andthe second SDP socket sends a return message to the secondary application server; and
responding, via the primary application server, to the client based on the session information without waiting for an acknowledgement from the secondary application server.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method can support one-way Remote Method Invocation (RMI) session replication in a middleware machine environment, such as a server cluster. The server cluster can include a primary application server and a secondary application server. The primary application server receives a request with a session from a client, maintain the session information, and replicate the session information to a secondary application server using one-way Remote Method Invocation (RMI). The primary application server can then respond to the client based on the session information after receiving a return message of the one-way RMI from a network socket associate with the primary application server. The benefit of using one-way RMI is that the primary application server does not have to wait for an acknowledgment from the secondary application server instance, since the underlying transport protocol guarantees that the session data has been successfully transmitted to the second server instance.
58 Citations
20 Claims
-
1. A method for supporting session replication in a server cluster, comprising:
-
receiving, via a primary application server, a request associated with a session from a client; replicating, via the primary application server, session information associated with the session in the request to a secondary application server using an underlying transport protocol which comprises one-way remote method invocation (RMI) session replication based on a socket direct protocol (SDP) between a first SDP socket on the primary application server and a second SDP socket on the secondary application server, wherein the underlying transport protocol guarantees that the session information is transmitted to the secondary application server once a return message from a network socket associated with the underlying transport protocol is received at the primary application server, and wherein, in accordance with the underlying transport protocol, the primary application server initiates a send call to the first SDP socket to start transmitting the session information, the first SDP socket informs the second SDP socket that the session information is available, the secondary application server instructs the second SDP socket to receive the session data, the second SDP socket performs a read operation using remote direct memory access (RDMA) to read the session data from a buffer associated the primary application server, the second SDP socket informs the first SDP socket when read operation is completed, and the first SDP socket sends a return message to the primary application server, and the second SDP socket sends a return message to the secondary application server; and responding, via the primary application server, to the client based on the session information without waiting for an acknowledgement from the secondary application server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11, 12)
-
-
9. A system for supporting in-memory session replication in a server cluster, comprising:
-
one or more microprocessors, a primary application server running on the one or more microprocessors, wherein the primary application server is configured to receive a request associated with a session from a client; wherein the primary application server is configured to replicate session information associated with the session in the request to a secondary application server using an underlying transport protocol which comprises one-way remote method invocation (RMI) session replication based on a socket direct protocol (SDP) between a first SDP socket on the primary application server side and a second SDP socket on the secondary application server side, wherein the underlying transport protocol guarantees that the session information is transmitted to the secondary application server once a return message from a network socket associate with the underlying transport protocol is received at the primary application server, and wherein, in accordance with the underlying transport protocol, the primary application server initiates a send call to the first SDP socket to start transmitting the session information, the first SDP socket informs the second SDP socket that the session information is available, the secondary application server instructs the second SDP socket to receive the session data, the second SDP socket performs a read operation using remote direct memory access (RDMA) to read the session data from a buffer associated the primary application server, the second SDP socket informs the first SDP socket when read operation is completed, and the first SDP socket sends a return message to the primary application server, and the second SDP socket sends a return message to the secondary application server; and wherein the primary application server is configured to respond to the client based on the session information without waiting for an acknowledgement from the secondary application server. - View Dependent Claims (13, 14, 15)
-
-
16. A non-transitory machine readable medium having instructions stored thereon for supporting session replication in a server cluster, which instructions, when executed cause a system to perform steps comprising:
-
receiving, via a primary application server, a request associated with a session from a client; replicating, via the primary application server, session information associated with the session in the request to a secondary application server using an underlying transport protocol which comprises one-way remote method invocation (RMI) session replication based on a socket direct protocol (SDP) between a first SDP socket on the primary application server and a second SDP socket on the secondary application server, wherein the underlying transport protocol guarantees that the session information is transmitted to the secondary application server once a return message from a network socket associated with the underlying transport protocol is received at the primary application server, and wherein, in accordance with the underlying transport protocol, the primary application server initiates a send call to the first SDP socket to start transmitting the session information, the first SDP socket informs the second SDP socket that the session information is available, the secondary application server instructs the second SDP socket to receive the session data, the second SDP socket performs a read operation using remote direct memory access (RDMA) to read the session data from a buffer associated the primary application server, the second SDP socket informs the first SDP socket when read operation is completed, and the first SDP socket sends a return message to the primary application server, and the second SDP socket sends a return message to the secondary application server; and responding, via the primary application server, to the client based on the session information without waiting for an acknowledgement from the secondary application server. - View Dependent Claims (17, 18, 19, 20)
-
Specification