# US 12,010,218 B2 · Managing data availability on encryption key status changes in replicated storage systems

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

- Number: US 12,010,218 B2
- Document ID: US12010218B2
- Status: Granted
- Kind: B2
- Application number: 17/452,987
- Filed: 2021-10-29
- Published: 2023-05-04
- Granted: 2024-06-11
- Earliest claimed: 2021-10-29
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Bonan Liu; Ramesh Rathan Dharan; Michelle Morgan Socher; Shuen Wen Si; Anwesha Das
- Web page: https://patentgrep.com/patent/US12010218B2

## CPC

- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0866: {involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/06: {for supporting key management in a packet data network (cryptographic mechanisms or cryptographic arrangements for key management H04L9/08)}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/561: Adding application-functional data or data for application control, e.g. adding metadata
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method includes obtaining a key status for a first cryptographic key. The first cryptographic key is used to encrypt replicated data of a first replication instance. The method also includes determining, based on the key status, that the first cryptographic key is inaccessible which causes the first replication instance to be unavailable. In response to determining that the first cryptographic key is inaccessible, the method includes scheduling a second replication instance to be unavailable after a threshold amount of time has passed. The second replication instance includes replicated data encrypted by a second cryptographic key that is accessible. After the threshold amount of time has passed and when the first cryptographic key is still inaccessible, the method includes setting the second replication instance as unavailable.

## Claims

### Claim 1

A computer-implemented method when executed by data processing hardware of a cloud computing environment causes the data processing hardware to perform operations comprising:
obtaining a key status for a first cryptographic key, the first cryptographic key used to encrypt replicated data of a first replication instance of a cloud data warehouse;
determining, based on the key status, that the first cryptographic key is inaccessible to the data processing hardware, the inaccessible first cryptographic key causing the first replication instance to be unavailable for updates by the data processing hardware;
in response to determining that the first cryptographic key is inaccessible, scheduling a second replication instance of the cloud data warehouse to be unavailable after a threshold amount of time has passed, the second replication instance including replicated data encrypted by a second cryptographic key, the second cryptographic key accessible to the data processing hardware;
determining, after the threshold amount of time has passed, that the first cryptographic key is still inaccessible; and
based on determining that the first cryptographic key is still inaccessible, setting the second replication instance as unavailable to prohibit updates to the second replication instance by the data processing hardware.

### Claim 2 (depends on 1)

The method of claim 1, wherein the operations further comprise:
obtaining a second key status for a third cryptographic key, the third cryptographic key used to encrypt replicated data of a third replication instance of the cloud data warehouse;
determining, based on the second key status, that the third cryptographic key is inaccessible to the data processing hardware;
based on determining that the third cryptographic key is inaccessible, scheduling a fourth replication instance of the cloud data warehouse to be unavailable after the threshold amount of time has passed, the fourth replication instance including replicated data encrypted by a fourth cryptographic key, the fourth cryptographic key accessible to the data processing hardware;
determining, prior to the threshold amount of time passing, that the third cryptographic key is accessible; and
based on determining that the third cryptographic key is accessible,
canceling the schedule for the fourth replication instance to be unavailable.

### Claim 3 (depends on 1)

The method of claim 1, wherein the operations further comprise, after the threshold amount of time has passed:
obtaining a second key status for the first cryptographic key;
determining, based on the second key status, that the first cryptographic key is accessible; and
setting the second replication instance as available.

### Claim 4 (depends on 3)

The method of claim 3, wherein setting the second replication instance as available comprises determining that the second replication instance is unavailable because a different replication instance is unavailable.

### Claim 5 (depends on 1)

The method of claim 1, wherein the operations further comprise storing, in a data store, as replication metadata associated with the first replication instance, an indication that the first replication instance is inaccessible because the first cryptographic key is inaccessible.

### Claim 6 (depends on 5)

The method of claim 5, wherein the operations further comprise, after the threshold amount of time has passed, storing, in the data store, as replication metadata associated with the second replication instance, an indication that the second replication instance is unavailable because a different replication instance is unavailable.

### Claim 7 (depends on 1)

The method of claim 1, wherein the operations further comprise in response to determining that the first cryptographic key is inaccessible, scheduling a third replication instance to be unavailable after a second threshold amount of time has passed, the third replication instance including replicated data encrypted by a third cryptographic key, the third cryptographic key accessible.

### Claim 8 (depends on 1)

The method of claim 1, wherein the operations further comprise, before the threshold amount of time has passed, polling the key status for the first cryptographic key to determine whether the first cryptographic key is accessible.

### Claim 9 (depends on 8)

The method of claim 8, wherein polling the key status for the first cryptographic key comprises repeatedly reading replication metadata associated with the first replication instance.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first cryptographic key is temporarily inaccessible due to a network outage.

### Claim 11

A system comprising:
data processing hardware of a cloud computing environment; and
memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:
obtaining a key status for a first cryptographic key, the first cryptographic key used to encrypt replicated data of a first replication instance of a cloud data warehouse;
determining, based on the key status, that the first cryptographic key is inaccessible to the data processing hardware, the inaccessible first cryptographic key causing the first replication instance to be unavailable for updates by the data processing hardware;
in response to determining that the first cryptographic key is inaccessible, scheduling a second replication instance of the cloud data warehouse to be unavailable after a threshold amount of time has passed, the second replication instance including replicated data encrypted by a second cryptographic key, the second cryptographic key accessible to the data processing hardware; and
determining, after the threshold amount of time has passed, that the first cryptographic key is still inaccessible; and
based on determining that the first cryptographic key is still inaccessible, setting the second replication instance as unavailable to prohibit updates to the second replication instance by the data processing hardware.

### Claim 12 (depends on 11)

The system of claim 11, wherein the operations further comprise:
obtaining a second key status for a third cryptographic key, the third cryptographic key used to encrypt replicated data of a third replication instance of the cloud data warehouse;
determining, based on the second key status, that the third cryptographic key is inaccessible to the data processing hardware;
based on determining that the third cryptographic key is inaccessible, scheduling a fourth replication instance of the cloud data warehouse to be unavailable after the threshold amount of time has passed, the fourth replication instance including replicated data encrypted by a fourth cryptographic key, the fourth cryptographic key accessible to the data processing hardware;
determining, prior to the threshold amount of time passing, that the third cryptographic key is accessible; and
based on determining that the third cryptographic key is accessible,
canceling the schedule for the fourth replication instance to be unavailable.

### Claim 13 (depends on 11)

The system of claim 11, wherein the operations further comprise, after the threshold amount of time has passed:
obtaining a second key status for the first cryptographic key;
determining, based on the second key status, that the first cryptographic key is accessible; and
setting the second replication instance as available.

### Claim 14 (depends on 13)

The system of claim 13, wherein setting the second replication instance as available comprises determining that the second replication instance is unavailable because a different replication instance is unavailable.

### Claim 15 (depends on 11)

The system of claim 11, wherein the operations further comprise storing, in a data store, as replication metadata associated with the first replication instance, an indication that the first replication instance is inaccessible because the first cryptographic key is inaccessible.

### Claim 16 (depends on 15)

The system of claim 15, wherein the operations further comprise, after the threshold amount of time has passed, storing, in the data store, as replication metadata associated with the second replication instance, an indication that the second replication instance is unavailable because a different replication instance is unavailable.

### Claim 17 (depends on 11)

The system of claim 11, wherein the operations further comprise in response to determining that the first cryptographic key is inaccessible, scheduling a third replication instance to be unavailable after a second threshold amount of time has passed, the third replication instance including replicated data encrypted by a third cryptographic key, the third cryptographic key accessible.

### Claim 18 (depends on 11)

The system of claim 11, wherein the operations further comprise, before the threshold amount of time has passed, polling the key status for the first cryptographic key to determine whether the first cryptographic key is accessible.

### Claim 19 (depends on 18)

The system of claim 18, wherein polling the key status for the first cryptographic key comprises repeatedly reading replication metadata associated with the first replication instance.

### Claim 20 (depends on 11)

The system of claim 11, wherein the first cryptographic key is temporarily inaccessible due to a network outage.
