# US 12,182,289 B2 · Fencing off cluster services based on access keys for shared storage

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

- Number: US 12,182,289 B2
- Document ID: US12182289B2
- Status: Granted
- Kind: B2
- Application number: 17/854,318
- Filed: 2022-06-30
- Published: 2024-01-04
- Granted: 2024-12-31
- Earliest claimed: 2022-06-30
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: George Mathew; Abhinav Duggal; Senthil Ponnuswamy; Mahadev Karadigudda
- Web page: https://patentgrep.com/patent/US12182289B2

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 9/5072: {Grid computing}
- G06F 21/44: Program or device authentication
- G06F 21/604: {Tools and structures for managing or administering access control systems}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F 2209/505: Clust
- G06F 2221/2103: Challenge-response
- G06F 2221/2113: Multi-level security, e.g. mandatory access control
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A fencing service receives a cluster message based on a first service's removal from membership in a first node in a cluster, and generates an access key based on a generation identifier in the cluster message. The fencing service sends the access key to a shared storage, thereby enabling the shared storage to create signing keys based on the access key, and which are used to validate signed requests to access resources stored by the shared storage. A second service in a second node in the cluster receives the cluster message, and generates the access key based on the generation identifier. The second service accesses a resource previously accessed by the first service, by generating a signing key based on the access key and a request to access the resource stored by the shared storage, and then sending the request signed by the signing key to the shared storage.

## Claims

### Claim 1

A system for fencing off cluster services using access keys for shared storage comprising:
one or more processors; and
a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:
generate, by a fencing service, an access key using a generation identifier included in a cluster membership message, in response to receiving the cluster membership message upon removal of a first service from membership in a first node in a cluster;
send, by the fencing service, the access key to a shared storage, thereby enabling the shared storage to create signing keys which are generated using the access key, and which are used to validate signed requests to access resources stored by the shared storage;
generate, by a second service in a second node in the cluster of nodes, the access key using the generation identifier, in response to receiving the cluster message;
access, by the second service, a resource previously accessed by the first service, by generating a signing key using the access key and a request to access the resource stored by the shared storage, and then sending the request signed by the signing key to the shared storage; and
wherein the fencing service identifies the resource accessed by the first service which was removed from membership in the cluster, and enables the shared storage to create signing keys which are used to validate signed requests from services to access a type of the resource stored by the shared storage.

### Claim 2 (depends on 1)

The system of claim 1, wherein the cluster message is sent only to services which have membership in the cluster.

### Claim 3 (depends on 1)

The system of claim 1, wherein the cluster message is sent only to nodes which have membership in the cluster, the cluster message being based on a removal of any node from membership in the cluster.

### Claim 4 (depends on 1)

The system of claim 1, wherein the resource comprises one of a local fingerprint index, a namespace, a local post-deduplication log, and a range of similarity group identifiers, and the shared storage comprises one of an object service, a distributed key value store, and a distributed log.

### Claim 5 (depends on 1)

The system of claim 1, wherein the plurality of instructions further causes the processor to relocate the resource, previously accessed by the first service, from the first node to the second node, in response to the first service in the first node being removed from membership in the cluster.

### Claim 6 (depends on 1)

The system of claim 1, wherein the cluster message further comprises a current list of member services and a previous list of member services, which the fencing service uses to identify the first service which was removed from membership in the cluster, and enables the shared storage to create signing keys which are used to validate signed requests from the type of the first service to access resources stored by the shared storage.

### Claim 7

A computer program product comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:
generate, by a fencing service, an access key using a generation identifier included in a cluster membership message, in response to receiving the cluster message upon removal of a first service from membership in a first node in a cluster;
send, by the fencing service, the access key to a shared storage, thereby enabling the shared storage to create signing keys which are generated using the access key, and which are used to validate signed requests to access resources stored by the shared storage;
generate, by a second service in a second node in the cluster, the access key using the generation identifier, in response to receiving the cluster message; and
access, by the second service, a resource previously accessed by the first service, by generating a signing key using the access key and a request to access the resource stored by the shared storage, and then sending the request signed by the signing key to the shared storage; and
wherein the fencing service identifies a type of the resource accessed by the first service which was removed from membership in the cluster, and enables the shared storage to create signing keys which are used to validate signed requests from services to access the type of the resource stored by the shared storage.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the cluster message is sent only to services which have membership in the cluster.

### Claim 9 (depends on 7)

The computer program product of claim 7, wherein the cluster message is sent only to nodes which have membership in the cluster, the cluster message being based on a removal of any node from membership in the cluster.

### Claim 10 (depends on 7)

The computer program product of claim 7, wherein the resource comprises one of a local fingerprint index, a namespace, a local post-deduplication log, and a range of similarity group identifiers, and the shared storage comprises one of an object service, a distributed key value store, and a distributed log.

### Claim 11 (depends on 7)

The computer program product of claim 7, wherein the program code includes further instructions to relocate the resource, previously accessed by the first service, from the first node to the second node, in response to the first service in the first node being removed from membership in the cluster.

### Claim 12 (depends on 7)

The computer program product of claim 7, wherein the cluster message further comprises a current list of member services and a previous list of member services, which the fencing service uses to identify the first service which was removed from membership in the cluster, and enables the shared storage to create signing keys which are used to validate signed requests from the type of the first service to access resources stored by the shared storage.

### Claim 13

A computer-implemented method for fencing off cluster services based on access keys for shared storage, comprising:
generating, by a fencing service, an access key using a generation identifier included in a cluster membership message, in response to receiving the cluster message upon a removal of a first service from membership in a first node in a cluster;
sending, by the fencing service, the access key to a shared storage, thereby enabling the shared storage to create signing keys which are generated using the access key, and which are used to validate signed requests to access resources stored by the shared storage;
generating, by a second service in a second node in the cluster, the access key using the generation identifier, in response to receiving the cluster message; and
accessing, by the second service, a resource previously accessed by the first service, by generating a signing key using the access key and a request to access the resource stored by the shared storage, and then sending the request signed by the signing key to the shared storage; and
wherein the fencing service identifies a type of the resource accessed by the first service which was removed from membership in the cluster, and enables the shared storage to create signing keys which are used to validate signed requests from services to access the type of the resource stored by the shared storage.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, wherein the cluster message is sent only to services which have membership in the cluster.

### Claim 15 (depends on 13)

The computer-implemented method of claim 13, wherein the cluster message is sent only to nodes which have membership in the cluster, the cluster message being based on a removal of any node from membership in the cluster, and the resource comprises one of a local fingerprint index, a namespace, a local post-deduplication log, and a range of similarity group identifiers, and the shared storage comprises one of an object service, a distributed key value store, and a distributed log.

### Claim 16 (depends on 13)

The computer-implemented method of claim 13, wherein the computer-implemented method further comprises relocating the resource, previously accessed by the first service, from the first node to the second node, in response to the first service in the first node being removed from membership in the cluster.

### Claim 17 (depends on 13)

The computer-implemented method of claim 13, wherein the cluster message further comprises a current list of member services and a previous list of member services, which the fencing service uses to identify the first service which was removed from membership in the cluster, and enables the shared storage to create signing keys which are used to validate signed requests from the type of the first service to access resources stored by the shared storage.
