| CPC G06F 11/1469 (2013.01) [G06F 16/2379 (2019.01); G06F 16/245 (2019.01); G06F 21/602 (2013.01); G06F 21/6227 (2013.01); G06F 9/45558 (2013.01); G06F 2009/45587 (2013.01); G06F 2201/80 (2013.01)] | 20 Claims |

|
1. A system comprising:
a processing system that includes one or more processors; and
a memory that stores computer program instructions that are executable by the processing system, the computer program instructions including:
a query manager configured to:
receive from a first client device a first query, having a decryption key, that when performed modifies an encrypted index of a database using a secure enclave that requires the decryption key for access to the encrypted index; and
receive from a second client device a second query, subsequent to the first query, that is directed to the database and that has the decryption key;
an event monitor configured to:
determine that events requiring remedial actions for the database have occurred;
initiate a first remedial action for the database based on an event of the events that occurs subsequent to the first query and prior to the second query, the first remedial action comprising an attempt to recover the encrypted index;
determine, after completion of the first remedial action, that the first remedial action was unsuccessful in recovering the encrypted index; and
initiate, after access is enabled for the database subsequent to completion of the first remedial action, a second remedial action that utilizes the decryption key received with the second query; and
a deferment manager configured to:
defer one or more transactions of at least the first query or the second query based on a lock for the encrypted index being taken; and
queue the one or more transactions for completion based on the lock for the encrypted index being released.
|