IP Library Granted Patent US 9,697,244
Granted Patent B2
US 9,697,244 · App. 14/307,883 · Granted Jul 4, 2017

Record addressing information retrieval based on user data descriptors

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 9,697,244
App. No.
14/307,883
Granted
Jul 4, 2017
Kind
B2
Abstract

Record addressing information retrieval is achieved using a plurality of user data descriptors. When a threshold number of user data descriptors from a set of user data descriptors are received, the threshold number of user data descriptors can be converted into a computed record index that is compared to a list of record indexes associated with a plurality of records. When the computed record index compares favorably to a record index in the list of record indexes, the record addressing information for a particular record is retrieved based on the record index.

Claims (48)

1. A method for identifying record addressing information, comprising:

receiving, by a processing module, a threshold number of user data descriptors from a set of user data descriptors that each indicate a separate attribute of a user, wherein the threshold number of user data descriptors being fewer than all of the user data descriptors and being a sufficient number of user data descriptors to populate a read threshold number of pillars corresponding to a record index based on error coding dispersal storage function parameters;

converting, by the processing module, the threshold number of user data descriptors into a computed record index;

comparing, by the processing module, the computed record index to a list of record indexes associated with a plurality of records; and

when the computed record index compares favorably to the record index in the list of record indexes, retrieving, by the processing module, record addressing information for a particular record of the plurality of records based on the record index.

2. The method of claim 1 , wherein the converting the threshold number of user data descriptors into a computed record index comprises:

producing, by the processing module, corresponding deterministic outputs from each of the threshold number of user data descriptors; and

determining, by the processing module, the computed record index based on the corresponding deterministic outputs.

3. The method of claim 2 , wherein the corresponding deterministic outputs are respective hashes of the user data descriptors.

4. The method of claim 2 , further comprises:

selecting, by the processing module, one of the corresponding deterministic outputs to create a plurality of data slices corresponding to the computed record index.

5. The method of claim 4 , further comprises:

populating, by the processing module, each of the corresponding deterministic outputs into at least one of the plurality of data slices.

6. The method of claim 5 , further comprises:

decoding, by the processing module, the plurality of data slices to produce the computed record index.

7. The method of claim 6 , wherein the threshold number of user data descriptors corresponds to a minimum number of the plurality of data slices needed to produce the computed record index.

8. The method of claim 1 , further comprises:

when data within any of the threshold number of user data descriptors is incorrect, determining, by the processing module, that the computed record index does not compare favorably to any record index in the list of record indexes.

9. A dispersed storage processing unit within a dispersed storage network, comprising:

an interface; and

a processing module operably coupled to the interface, wherein the processing module is operable to:

receive, via the interface, a threshold number of user data descriptors from a set of user data descriptors that each indicate a separate attribute of a user, wherein the threshold number of user data descriptors being fewer than all of the user data descriptors and being a sufficient number of user data descriptors to populate a read threshold number of pillars corresponding to a record index based on error coding dispersal storage function parameters;

convert the threshold number of user data descriptors into a computed record index;

compare the computed record index to a list of record indexes associated with a plurality of records; and

when the computed record index compares favorably to the record index in the list of record indexes, retrieve record addressing information for a particular record of the plurality of records based on the record index.

10. The dispersed storage processing unit of claim 9 , wherein the set of user data descriptors comprises one or more of text, speech, audio or video.

11. The dispersed storage processing unit of claim 9 , wherein the set of user data descriptors comprises one or more of a name, a social security number, a date of birth, an address, a city of birth, a passport number or a biometric.

12. The dispersed storage processing unit of claim 9 , wherein the processing module is further operable to:

produce corresponding deterministic outputs from each of the threshold number of user data descriptors; and

determine the computed record index based on the corresponding deterministic outputs.

13. The dispersed storage processing unit of claim 12 , wherein the corresponding deterministic outputs are respective hashes of the user data descriptors.

14. The dispersed storage processing unit of claim 12 , wherein the processing module is further operable to:

populate each of the corresponding deterministic outputs into at least one of a plurality of data slices corresponding to the computed record index.

15. The dispersed storage processing unit of claim 14 , wherein the processing module is further operable to:

decode the plurality of data slices to produce the computed record index.

16. The dispersed storage processing unit of claim 15 , wherein the threshold number of user data descriptors corresponds to a minimum number of the plurality of data slices needed to produce the computed record index.

17. The dispersed storage processing unit of claim 9 , wherein the processing module is further operable to:

when data within any of the threshold number of user data descriptors is incorrect, determine that the computed record index does not compare favorably to any record index in the list of record indexes.

18. The dispersed storage processing unit of claim 9 , wherein the record addressing information is a data object name of the particular record or a source name of the particular record.

19. A non-transitory computer readable storage medium having accessible therefrom a set of instructions interpretable by a processing module, the set of instructions being configured to cause the processing module to carry out operations for:

receiving a threshold number of user data descriptors from a set of user data descriptors that each indicate a separate attribute of a user, wherein the threshold number of user data descriptors being fewer than all of the user data descriptors and being a sufficient number of user data descriptors to populate a read threshold number of pillars corresponding to a record index based on error coding dispersal storage function parameters;

converting the threshold number of user data descriptors into a computed record index;

comparing the computed record index to a list of record indexes associated with a plurality of records; and

when the computed record index compares favorably to the record index in the list of record indexes, retrieving record addressing information for a particular record of the plurality of records based on the record index.

20. The non-transitory computer readable storage medium of claim 19 , wherein the set of instructions further causes the processing module to carry out operations for:

producing corresponding deterministic outputs from each of the threshold number of user data descriptors;

populating each of the corresponding deterministic outputs into at least one of a plurality of data slices corresponding to the computed record index; and

decoding the plurality of data slices to produce the computed record index.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2014
From: RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 033128/0367 →