US2015363496A1PendingUtilityA1

Methods of providing fast search, analysis, and data retrieval of encrypted data without decryption

Assignee: SPEEDTRACK INCPriority: Jul 1, 2012Filed: Feb 17, 2015Published: Dec 17, 2015
Est. expiryJul 1, 2032(~5.9 yrs left)· nominal 20-yr term from priority
Inventors:Jerzy Lewak
G06F 21/6227H04L 63/0876G06F 16/9535G06F 17/30867G06F 16/901
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and systems of providing remote coded data storage, data analysis, and search and retrieval, with assurance of data security are described. Data security is such that it protects the data from any provider, administrator of remote services, or anyone breaking into the servers housing the data at the remote site. The methods include a coding schema such that both the storage and the associated services, such as data analysis, search and retrieval, can be provided even more efficiently and more responsively than without the coding. Possible applications of the methods include data storage, powerful data search and analysis services which can all be provided “in the Cloud” over the Internet, completely securely, even when a customer's private data set needs to be uploaded to the remote site. The efficiency of analysis, and search means that the methods may be useful even when security of data is not an issue.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer implemented method of providing secure data storage, the data comprised of data items which are comprised of data components, a plurality of the data components being comprised of a plurality of text characters, the method comprising:
 coding at least all data components needing secure storage such that each unique data component of a plurality of data components is assigned a unique code unrelated to the semantic meaning of the data component;   storing the data using the coded data components;   ensuring that decoding a coded data component is not needed to search for it;   ensuring that to replace each code with a corresponding data component requires a table with at least as many code entries as there are codes used.   
     
     
         2 . The method of  claim 1  wherein each code is a number, the method further comprising:
 creating a code table storing the coded data components' codes. 
 creating an association matrix storing associations of data items with the number codes of the data components; 
 
     
     
         3 . The method of  claim 2  wherein the number codes are sequential numbers. 
     
     
         4 . The method of  claim 2  wherein a majority of the coded data components are comprised of a plurality of text characters. 
     
     
         5 . The method of  claim 2  wherein a whole number code of a data component in the code table is arithmetically related to the table row number which contains the data component. 
     
     
         6 . The method of  claim 2  where the code table comprises a list of data components wherein the number code of each data component is the list item number. 
     
     
         7 . The method of  claim 5  wherein the code table is implemented in a software program as an array of vectors. 
     
     
         8 . The method of  claim 1  further comprising performing coding of the data components on the client. 
     
     
         9 . The method of  claim 8  further comprising transferring the coded data to the server. 
     
     
         10 . A computer implemented method of providing data storage and search services, using a client-server system, in which a client computer is in a first location and a server computer is in a second location, the database comprised of data items which are comprised of data components, the method comprising:
 choosing a plural set of data components for coding in the first location;   assigning a number code to each of the chosen data components in the first location;   assigning identifiers to each of a plurality of data items in the first location;   in the first location, creating a code table for converting each coded data component's assigned number code to the data component, such that the number code is arithmetically related to the number of the table row which contains the data component; and   storing the number codes at the second location;   wherein the code table is stored in a location other than the second location.   
     
     
         11 . The method of  claim 10  wherein a reverse table is implemented as an array of data components, in which a data component is stored in the array at an index arithmetically related to the data component's whole number code. 
     
     
         12 . The method of  claim 10  wherein data items are stored coded using number codes and assignment of a number code to a data component is made in such as way as to change the true frequency of occurrence of the data component within the data. 
     
     
         13 . The method of  claim 10  wherein a data component is assigned a plurality of number codes. 
     
     
         14 . A computer implemented method of coding data by assigning whole number codes to data components of data items, the method comprising:
 accepting input of a data component;   comparing the data component to other data components that have already been coded;   assigning a whole number code to the data component;   storing the data component and its code;   performing a search for a data component without decoding the data and without adding any performance overhead as compared with searches through uncoded data.   
     
     
         15 . The method of  claim 14  further comprising:
 determining a count of the number of times the data component appears in the data; 
 assigning a plurality of different whole number codes to a data component such that the number of assigned codes to a data component is adjusted to hide the true frequency of occurrence of the data component in the data. 
 
     
     
         16 . The method of  claim 14  further comprising:
 determining a count of the number of times the data component appears in the data; 
 assigning a plurality of different whole number codes to a data component such that the number of assigned codes to a data component is adjusted to hide the true frequency of occurrence of the data component in the data.

Join the waitlist — get patent alerts

Track US2015363496A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.