Patent ID: 9659078
Date: 2017-05-23
CPC Classifications: G06F,H04L

Claim:
1. A method for supporting asynchronous message processing in a distributed data grid comprising a plurality of autonomous clusters including a source cluster comprising a first plurality of first cluster members storing a plurality of source partitions and a destination cluster comprising a second plurality of second cluster members storing a plurality of destination partitions corresponding with said plurality of source partitions, the method comprising: in each of said first plurality of cluster members in the source cluster, tracking at a partition level, data changes which are applied to said plurality of source partitions; in response to each data change in a source partition, transmitting an asynchronous data change replication message from the first cluster member of the first plurality of first cluster members storing said source partition to the second cluster member of the second plurality of second cluster members storing a destination partition corresponding to the source partition; in response to the first cluster member becoming unavailable, allowing another first cluster member of the first plurality of first cluster members to take over as owner of the source partition such that in response to each data change in the source partition, the another first cluster members transmits an asynchronous data change replication message to the second cluster member of the second plurality of second cluster members storing a destination partition corresponding to the source partition; receiving, at the second cluster member in the destination cluster, one or more data change replication messages from said first cluster member and said another first cluster member in the source cluster, wherein said one or more data change replication messages include one or more data changes in said source partition; ignoring, in the second cluster member in the destination cluster replication messages which have already been received and successfully processed in the destination cluster; and processing, in the second cluster member in the destination cluster replication messages which have not already been received and successfully processed in the destination cluster to make data changes in the destination partition corresponding to the data changes in the source partition.