Systems and methods for implementing an encrypted search index
First Claim
1. A system comprising:
- a processor and a memory to execute instructions at the system;
disk storage of the system having a search index stored thereupon comprised of a plurality of individual search index files, the search index having customer information stored therein;
wherein at least one of the individual search index files constitutes a term dictionary or a term index type file having an internal structure which allows a portion of the individual search index file to be updated, encrypted, and/or decrypted without affecting the internal structure of the individual search index file;
wherein the search index stores both customer information and non-customer data organized into sub-blocks, wherein sub-blocks having customer information therein do not contain non-customer data and wherein sub-blocks having non-customer data therein do not contain customer information;
a query interface, to execute via the processor and memory of the system, wherein the query interface is to receive an incoming search query;
a file input/output (TO) layer to encrypt the customer information being written into the individual search index file and to decrypt the customer information being read from the individual search index file based on the incoming search query without requiring decryption or encryption of the individual search index file in its entirety; and
the query interface to execute the incoming search query and return outgoing search results including at least a portion of the customer information in decrypted form.
1 Assignment
0 Petitions
Accused Products
Abstract
An encrypted search index is disclosed. For instance, an exemplary system may include a search index stored on disk with customer information stored therein, the search index files having a term dictionary or a term index type file having internal structure which allows a portion of the individual search index file to be updated, encrypted, and/or decrypted without affecting the internal structure of the individual search index file; a file input/output (IO) layer to encrypt the customer information being written into the individual search index file and to decrypt the customer information being read from the individual search index file; and a query interface to execute the operation against the customer information stored in the memory in its decrypted form.
132 Citations
20 Claims
-
1. A system comprising:
-
a processor and a memory to execute instructions at the system; disk storage of the system having a search index stored thereupon comprised of a plurality of individual search index files, the search index having customer information stored therein; wherein at least one of the individual search index files constitutes a term dictionary or a term index type file having an internal structure which allows a portion of the individual search index file to be updated, encrypted, and/or decrypted without affecting the internal structure of the individual search index file; wherein the search index stores both customer information and non-customer data organized into sub-blocks, wherein sub-blocks having customer information therein do not contain non-customer data and wherein sub-blocks having non-customer data therein do not contain customer information; a query interface, to execute via the processor and memory of the system, wherein the query interface is to receive an incoming search query; a file input/output (TO) layer to encrypt the customer information being written into the individual search index file and to decrypt the customer information being read from the individual search index file based on the incoming search query without requiring decryption or encryption of the individual search index file in its entirety; and the query interface to execute the incoming search query and return outgoing search results including at least a portion of the customer information in decrypted form. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method to execute within a system having at least a processor and a memory therein, wherein the computer-implemented method comprises:
-
storing a search index on disk storage within the system, the search index comprised of a plurality of individual search index files, the search index having customer information stored therein; wherein at least one of the individual search index files constitutes a term dictionary or a term index type file having an internal structure which allows a portion of the individual search index file to be updated, encrypted, and/or decrypted without affecting the internal structure of the individual search index file; storing, via the search index on disk storage, both customer information and non-customer data organized into sub-blocks, wherein sub-blocks having customer information therein do not contain non-customer data and wherein sub-blocks having non-customer data therein do not contain customer information; receiving an incoming search query via a query interface; encrypting the information being written into the search index via a file input/output (TO) layer and decrypting the customer information being read from the search index via the file based on the incoming search query without requiring decryption or encryption of the individual search index file in its entirety; and executing, via the query interface, the incoming search query and return outgoing search results including at least a portion of the customer information in decrypted form. - View Dependent Claims (16, 17)
-
-
18. Non-transitory computer readable storage media having instructions stored thereon that, when executed by a processor of a system, the instructions cause the system to perform operations comprising:
-
storing a search index on disk storage within the system, the search index comprised of a plurality of individual search index files, the search index having customer information stored therein; wherein at least one of the individual search index files constitutes a term dictionary or a term index type file having an internal structure which allows a portion of the individual search index file to be updated, encrypted, and/or decrypted without affecting the internal structure of the individual search index file; storing, via the search index on disk storage, both customer information and non-customer data organized into sub-blocks, wherein sub-blocks having customer information therein do not contain non-customer data and wherein sub-blocks having non-customer data therein do not contain customer information; receiving an incoming search query via a query interface; encrypting the information being written into the search index via a file input/output (TO) layer and decrypting the customer information being read from the search index via the file based on the incoming search query without requiring decryption or encryption of the individual search index file in its entirety; and executing, via the query interface, the incoming search query and return outgoing search results including at least a portion of the customer information in decrypted form. - View Dependent Claims (19, 20)
-
Specification