Patent ID: 8931051
Filing Date: 2015-01-06
Classification: G06F,H04L

Abstract:
1. A computer-implemented method of providing scalable and highly available clustering for large scale real-time applications, comprising: forming, by a computer, a ring comprising a plurality of nodes, a state of each of the plurality of nodes being maintained in the ring; detecting, by the computer, a network partition affecting communications between the plurality of nodes; preventing, by the computer, the formation of at least one additional ring among the plurality of nodes; selecting a set of the plurality of nodes in the ring as voter nodes; maintaining communication between each of the voter nodes; upon detecting the network partition, identifying minority nodes among the plurality of nodes; upon detecting the network partition, identifying majority nodes among the plurality of nodes, the majority nodes being unable to communicate with the minority nodes; shutting down all of the minority nodes to prevent the formation of the at least one additional ring; and receiving a query to determine a current primary node for a service in the plurality of nodes in the ring, the query being issued from at least one other one of the plurality of nodes in the ring.