Patent ID: 9727523
Date: 2017-08-08
CPC Classifications: G06F,H04L

Claim:
1. An application server data processing system configured for remote direct memory access (RDMA) optimized high availability for in-memory storing of data, the system comprising: a primary computing server with a corresponding in-memory key-value store storing associative arrays of data each associative array including a key associated with a single value, and at least one processor and network adapter; a secondary computing server with a corresponding in-memory key-value store and at least one processor and a network adapter; and, an RDMA optimized high availability module disposed in each of the network adapters, the module comprising program code enabled to receive RDMA key-value store write requests in the network adapter of a primary computing server directed to writing data to the in-memory key-value store of the primary computing server, to perform RDMA write operations of the data by the network adapter of the primary computing server responsive to the RDMA key-value store write requests, to replicate the RDMA key-value store write requests to the network adapter of the secondary computing server, by the network adapter of the primary computing server, to provide from the network adapter of the primary computing server to the network adapter of the secondary computing server, address translation data indicating the address in the in-memory key-value store of the primary computing server at which the data is stored, to receive an RDMA key-value store update request in the network adapter of the primary computing server directed to data stored in the in-memory key-value store of the primary computing server, to perform an RDMA key-value store update operation on the stored data by the network adapter of the primary computing server responsive to the RDMA key-value store update request, to replicating the RDMA key-value store update request to the network adapter of the secondary computing server, by the network adapter of the primary computing server, to translate addressing for the stored data in the in-memory key-value store of the primary computing server to an address in the in-memory key-value store of the secondary computing server utilizing the address translation data and to update the stored data in the in-memory key-value store of the secondary server utilizing the translated addressing.