IP Library › Granted Patent US 10,783,268
Granted Patent B2
US 10,783,268 · App. 15/774,708 · Granted Sep 22, 2020

Data allocation based on secure information retrieval

Inventors: Mehran Kafai (Redwood City, CA); Manav Das (Chicago, IL)
Assignee: Hewlett Packard Enterprise Development LP
G06F21/6227G06F16/2455G06F16/24578G06F21/62
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,783,268
App. No.
15/774,708
Granted
Sep 22, 2020
Kind
B2
Abstract

Data allocation based on secure information retrieval is disclosed. One example is a system including an information processor communicatively linked to a query processor and a plurality of data processors respectively associated with a plurality of datasets. The information processor receives a request from the query processor for identification of a target dataset to be associated with a query term. The information processor generates a random permutation, and receives a secure version of the query term from the query processor, and receives secure versions of a collection of candidate terms from each of a plurality of data processors, each candidate term representing a cluster of similar terms in the associated dataset. The information processor determines similarity scores between the secure version of the query term and secure versions of the candidate terms, and identifies the target dataset of the plurality of datasets based on the determined similarity scores.

Claims (56)

1. A system for data allocation based on secure information retrieval, the system comprising:

an information processor communicatively linked to a query processor and a plurality of data processors respectively associated with a plurality of datasets, wherein the information processor is to:

receive, from the query processor, a request for identification of a target dataset to be associated with a query term, the request including a hash length and a hash number;

generate a random permutation based on the hash length;

receive, from the query processor, a secure version of the query term, the secure version based on the hash number and the permutation;

receive, from each of a plurality of data processors, secure versions of a collection of candidate terms, wherein each candidate term represents a cluster of similar terms in the associated dataset, and wherein the secure versions are based on the hash number and the permutation;

determine similarity scores between the secure version of the query term and secure versions of the candidate terms; and

identify the target dataset of the plurality of datasets based on the determined similarity scores.

2. The system of claim 1 , wherein the information processor is to provide the query term to the identified target dataset.

3. The system of claim 1 , wherein the information processor is to identify the target dataset by:

select, for each of the plurality of data processors, a representative term of the collection of candidate terms;

provide, to each of the plurality of data processors, the respective representative term;

receive, from each of the plurality of data processors, a comparative statistic between the representative term and its cluster of similar terms; and

identify the target dataset based on the comparative statistic.

4. The system of claim 1 , wherein the secure terms are based on applying orthogonal transforms to the respective terms.

5. The system of claim 1 , wherein the plurality of datasets is a respective plurality of secure storage containers, and the query term is a data term to be stored in a target storage container associated with the target dataset.

6. The system of claim 1 , wherein the information processor is to:

rank the plurality of datasets based on the determined similarity scores; and

provide, to the query processor, the ranked list of datasets.

7. The system of claim 5 , wherein the information processor is to identify the target dataset based on the ranking.

8. The system of claim 1 , wherein the information processor is to select a target cluster of the target dataset based on the determined similarity scores, and is to associate the query term with the target cluster in the target dataset.

9. The system of claim 1 , wherein the information processor is to:

receive a second query term from the query processor;

determine if the second query term is similar to the query term;

upon a determination that the second query term is similar to the query term, provide the second query term to the identified target dataset; and

upon a determination that the second query term is not similar to the query term, identify a second target dataset, and provide the second query term to the identified second target dataset.

10. A method for data allocation based on secure information retrieval, the method comprising:

receiving, from a query processor, a request for identification of a target dataset to be associated with a query term, the request including a hash length and a hash number;

generating a random permutation based on the hash length;

receiving, from the query processor, a secure version of the query term, the secure version based on the hash number and the permutation;

receiving, from each of the plurality of data processors associated with a plurality of datasets, secure versions of a collection of candidate terms, wherein each candidate term represents a cluster of similar terms in the associated dataset, and wherein the secure versions are based on the hash number and the permutation;

determining similarity scores between the secure version of the query term and secure versions of the candidate terms;

selecting, for each of the plurality of data processors, a representative term of the collection of candidate terms;

receiving, from each of the plurality of data processors, a comparative statistic between the representative term and its cluster of similar terms; and

identifying the target dataset of the plurality of datasets based on the comparative statistic.

11. The method of claim 10 , comprising providing the query term to the identified target dataset.

12. The method of claim 10 , comprising selecting a target cluster of the target dataset based on the determined similarity scores, and associating the query term with the target cluster in the target dataset.

13. The method of claim 10 , wherein the plurality of datasets is a respective plurality of secure storage containers, and the query term is a data term to be stored in a target storage container associated with the target dataset.

14. A non-transitory computer readable medium comprising executable instructions to:

receive, from a query processor, a request for identification of a target dataset to be associated with a query term, the request including a hash length and a hash number;

generate a random permutation based on the hash length;

receive, from the query processor, a secure version of the query term, the secure version based on the hash number and the permutation;

receive, from each of the plurality of data processors associated with a plurality of datasets, secure versions of a collection of candidate terms, wherein each candidate term represents a cluster of similar terms in the associated dataset, and wherein the secure versions are based on the hash number and the permutation;

determine similarity scores between the secure version of the query term and secure versions of the candidate terms;

identify the target dataset of the plurality of datasets based on the determined similarity scores; and

provide the query term to the identified target dataset.

15. The computer readable medium of claim 14 , comprising executable instructions to:

select a target cluster of the target dataset based on the determined similarity scores; and

associate the query term with the target cluster in the target dataset.

16. The system of claim 1 , wherein the information processor is not exposed to an unsecure version of the query term or an unsecure version of the candidate terms.

17. The system of claim 1 , wherein the information processor is configured to extract information about the query term and the secure version of the query term prevents the information from being extracted.

18. The system of claim 1 , wherein the information processor is further to:

apply an orthogonal transform to at least one of the candidate terms; and

determine an index of the hash position based on the orthogonal transform.

19. The system of claim 1 , wherein the secure version of the query term allows the information processor to retrieve information about the query term absent revealing an unsecure version of the query term.

20. The system of claim 1 , wherein the secure version of the query term and the secure versions of the cluster of similar terms in the associated dataset are a same length, and the determined similarity scores are a ratio of the same length corresponding to a number of shared data elements between the secure version of the query term and one or more similar terms in the cluster.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2018
From: KAFAI, MEHRAN; DAS, MANAV
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045752/0219 →
Continuity (1)
Related Publication 20180322304A1 · Nov 8, 2018