# US 10,122,595 B2 · System and method for supporting service level quorum in a data grid cluster

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,122,595 B2
- Document ID: US10122595B2
- Status: Granted
- Kind: B2
- Application number: 14/984,648
- Filed: 2015-12-30
- Published: 2016-04-28
- Granted: 2018-11-06
- Earliest claimed: 2011-01-28
- Assignees: Orcale International Corporation
- Applicants: Oracle International Corporation
- Inventors: Robert H. Lee; Mark Falco; Gene Glezyer; Cameron Purdy
- Web page: https://patentgrep.com/patent/US10122595B2

## CPC

- H04L 41/5054: Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
- G06F 9/5061: {Partitioning or combining of resources}
- G06F 11/1425: {by reconfiguration of node membership}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- G06F 2209/505: Clust
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method is described for use with a data grid cluster, for supporting service level quorum in the data grid cluster. The data grid cluster includes a plurality of cluster nodes that support performing at least one service action. A quorum policy, defined in a cache configuration file associated with the data grid cluster, can specify a minimum number of service members that are required in the data grid cluster for performing the service action. The data grid cluster uses the quorum policy to determine whether the service action is allowed to be performed, based on a present state of the plurality of cluster nodes in the data grid cluster.

## Claims

### Claim 1

A system for supporting service level quorum in a data grid cluster, comprising:
a plurality of computer servers, the data grid cluster executing thereon, wherein the data grid cluster comprises a plurality of interoperating cluster nodes in the data grid cluster, wherein the data grid cluster supports performing a plurality of services including a root cluster service performed by all of the plurality of interoperating cluster nodes, and at least one other cluster service performed by at least one of the plurality of interoperating cluster nodes specified as a service member of the at least one other cluster service, and wherein the at least one other cluster service provides a different type of service than the root cluster service;
a root cluster service quorum policy, wherein the root cluster service quorum policy specifies a minimum number of qualified root cluster service members that are required for performing root cluster service actions of said root cluster service;
a cache configuration file associated with the data grid cluster, the cache configuration file accessible to all of the plurality of interoperating cluster nodes and including:
a service name element for a first cluster service of the at least one other cluster service that uniquely identifies a name of the first cluster service; and
a quorum policy scheme element that contains a reference to a custom action policy for the first cluster service of the at least one other cluster service, the custom action policy specified in a user application;
wherein the data grid cluster uses the root cluster service quorum policy to determine whether root service actions are allowed to be performed based on how many qualified root cluster service members are operational in said plurality of interoperating cluster nodes in the data grid cluster; and
wherein the custom action policy specified in the user application provides resource-driven control of the first cluster service, wherein the resource-driven control is provided by the custom action policy to the first cluster service via a pluggable interface provided by the data grid cluster and implemented by the user application, and wherein the resource-driven control is based on an external state managed by the user application.

### Claim 2 (depends on 1)

The system according to claim 1, wherein the pluggable interface is a com.tangosol.net.ActionPolicy pluggable interface, and wherein the data grid cluster is an ORACLE COHERENCE data grid cluster.

### Claim 3 (depends on 1)

The system according to claim 1, wherein the external state is a deployment topology of the user application within the data grid cluster.

### Claim 4 (depends on 1)

The system of claim 1, wherein the first cluster service of the at least one other cluster service is a partitioned cache service.

### Claim 5 (depends on 1)

The system of claim 1, wherein a class-name element is present within the quorum policy scheme element, and wherein the class name element contains a fully qualified name of a class that implements the custom action policy.

### Claim 6 (depends on 5)

The system of claim 5, wherein the class that implements the custom action policy is a factory class.

### Claim 7 (depends on 6)

The system of claim 6, wherein a method name element is present within the quorum policy scheme element, and wherein the method name element specifies the name of a static factory method on the factory class that performs instantiation of an object of the class.

### Claim 8

A method for supporting service level quorum in a data grid cluster comprising a plurality of computer servers, the data grid cluster executing thereon, wherein the data grid cluster comprises a plurality of interoperating cluster nodes in the data grid cluster, wherein the data grid cluster supports performing a plurality of services including a root cluster service performed by all of the plurality of interoperating cluster nodes and at least one other cluster service performed by at least one of the plurality of interoperating cluster nodes specified as a service member of the at least one other cluster service, and wherein the at least one other cluster service provides a different type of service than the root cluster service, the method comprising:
providing a root cluster service quorum policy, wherein the root cluster service quorum policy specifies a minimum number of qualified root cluster service members that are required for performing root cluster service actions of said root cluster service;
providing a cache configuration file;
associating the cache configuration file with the data grid cluster such that the cache configuration file is accessible to all of the plurality of interoperating cluster nodes;
defining, in the cache configuration file, a service name element for a first cluster service of the at least one other service, the service name element uniquely identifying a name of the first cluster service;
defining, in the cache configuration file, a quorum policy scheme element that contains a reference to a custom action policy for the first cluster service of the at least one other cluster service, the custom action policy specified in a user application;
using the root cluster service quorum policy to determine whether root cluster service actions are allowed to be performed based on how many qualified root cluster service members are operational in said plurality of interoperating cluster nodes in the data grid cluster; and
using the custom action policy specified in the user application to provide resource-driven control of the first cluster service
providing, by the data grid cluster, a pluggable interface;
implementing, by the user application, the pluggable interface;
providing the resource-driven control via the pluggable interface implemented by the user application; and basing the resource-driven control on an external state managed by the user application.

### Claim 9 (depends on 8)

The method of claim 8, wherein the pluggable interface is a com.tangosol.net.ActionPolicy pluggable interface, and wherein the data grid cluster is an ORACLE COHERENCE data grid cluster.

### Claim 10 (depends on 8)

The method of claim 8, wherein the external state is a deployment topology of the user application within the data grid cluster.

### Claim 11 (depends on 8)

The method of claim 8, wherein the first cluster service of the at least one other cluster service is a partitioned cache service.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
providing a class-name element within the quorum policy scheme element, wherein the class name element contains a fully qualified name of a class that implements the custom action policy.

### Claim 13 (depends on 12)

The method of claim 12, wherein the class that implements the custom action policy is a factory class.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
providing a method name element within the quorum policy scheme element, wherein the method name element specifies the name of a static factory method on the factory class that performs instantiation of an object of the class.

### Claim 15

A non-transitory machine readable medium having instructions stored thereon for supporting service level quorum in a data grid cluster comprising a plurality of computer servers, the data grid cluster executing thereon, wherein the data grid cluster comprises a plurality of interoperating cluster nodes in the data grid cluster, wherein the data grid cluster supports performing a plurality of services including a root cluster service performed by all of the plurality of interoperating cluster nodes and at least one other service performed by at least one of the plurality of interoperating cluster nodes specified as a service member of the at least one other cluster service, and wherein the at least one other cluster service provides a different type of service than the root cluster service, which instructions, when executed cause the data grid cluster to perform steps comprising:
providing a root cluster service quorum policy, wherein the root cluster service quorum policy specifies a minimum number of qualified root cluster service members that are required for performing root cluster service actions of said root cluster service;
providing a cache configuration file;
associating the cache configuration file with the data grid cluster such that the cache configuration file is accessible to all of the plurality of interoperating cluster nodes;
defining, in the cache configuration file, a service name element for a first cluster service of the at least one other cluster service, the service name element uniquely identifying a name of the first cluster service;
defining, in the cache configuration file, a quorum policy scheme element that contains a reference to a custom action policy for the first cluster service of the at least one other cluster service, the custom action policy specified in a user application;
using the root cluster service quorum policy to determine whether root cluster service actions are allowed to be performed based on how many qualified root cluster service members are operational in said plurality of interoperating cluster nodes in the data grid cluster; and
using the custom action policy specified in the user application to provide resource-driven control of the first cluster service
providing, by the data grid cluster, a pluggable interface;
implementing, by the user application, the pluggable interface;
providing the resource-driven control via the pluggable interface implemented by the user application; and basing the resource-driven control on an external state managed by the user application.

### Claim 16 (depends on 15)

The non-transitory machine readable medium of claim 15, wherein the external state is a deployment topology of the user application within the data grid cluster.

### Claim 17 (depends on 15)

The non-transitory machine readable medium of claim 15, wherein the first cluster service of the at least one other cluster service is a partitioned cache service.

### Claim 18 (depends on 15)

The non-transitory machine readable medium of claim 15, further comprising:
providing a class-name element within the quorum policy scheme element, wherein the class name element contains a fully qualified name of a class that implements the custom action policy.

### Claim 19 (depends on 18)

The non-transitory machine readable medium of claim 18, wherein the class that implements the custom action policy is a factory class.

### Claim 20 (depends on 19)

The non-transitory machine readable medium of claim 19, further comprising:
providing a method name element within the quorum policy scheme element, wherein the method name element specifies the name of a static factory method on the factory class that performs instantiation of an object of the class.
