Patent ID: 8806223

Claim:
A method of using synchronized search and order data structures to access a collection of data stored on a non-transitory computer-readable medium, the method comprising the following steps performed by a hardware database server: organizing the search data structure by encrypted key value, wherein the search data structure contains only references to elements in the collection and their associated encrypted keys; organizing the order data structure by unencrypted key value, wherein the order data structure contains only references to elements in the collection and their associated encrypted keys, and wherein the order data structure is a single order data structure created and updated as the data in the associated column changes; exposing a maximum of two pieces of clear text data during operations on the collection, wherein all data remains encrypted with the exception of one or two pieces necessarily kept unencrypted during data structure updates after insert or update operations; engaging in insert or delete operations by searching and updating the search data structure and the order data structure to insert or delete associated elements of the collection; engaging in update operations by searching the search data structure for the desired elements of the collection and updating their associated values, by comparing the decrypted values from the data structures with clear values of the changed or updated data so that it is known where to update the data structures; engaging in search operations by searching the search data structure according to a search key; engaging in sort operations by searching the order data structure to locate a range of values and then traversing the order data structure in a desired direction; engaging in merge operations by traversing and selecting entries from two or more order data structures; and reporting the results of those operations to a user.