US2015100662A1PendingUtilityA1

Utilizing multiple data structures for slice storage

Assignee: CLEVERSAFE INCPriority: Oct 3, 2013Filed: Sep 3, 2014Published: Apr 9, 2015
Est. expiryOct 3, 2033(~7.2 yrs left)· nominal 20-yr term from priority
G06F 3/0637G06F 16/182H04L 67/1095G06F 2221/2149G06F 3/0619G06F 21/6272G06F 2211/1028G06F 2212/154G06F 3/0689G06F 3/067G06F 3/0604G06F 3/0635G06F 16/10G06F 3/0622G06F 3/061G06F 12/1458G06F 11/1076G06F 9/4881G06F 3/0665G06F 3/0655G06F 2212/1052G06F 21/31G06F 3/064G06F 3/0611H04L 67/1097G06F 3/0647H04L 67/145H04L 67/1001G06F 3/0682
60
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method includes a dispersed storage (DS) processing module receiving a slice access request that includes a slice name. The method continues by obtaining one or more revision numbers for the slice access request. The method continues for each combination of revision number and the slice name, by performing a deterministic function on the combination to produce a slice location table index value. The method continues by accessing a slice location table utilizing the slice location table index value to obtain a slice location. The method continues by accessing a slice utilizing the slice location. The method continues by generating a slice access response based on the accessing of the slice and sending the slice access response to a requesting entity.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
 receiving a slice access request that includes a slice name;   obtaining one or more revision numbers for the slice access request;   for each combination of revision number and the slice name, performing a deterministic function on the combination to produce a slice location table index value;   accessing a slice location table utilizing the slice location table index value to obtain a slice location;   accessing a slice utilizing the slice location;   generating a slice access response based on the accessing of the slice; and   sending the slice access response to a requesting entity.   
     
     
         2 . The method of  claim 1 , wherein the slice location includes one or more of:
 a memory device identifier; and   a location identifier within the memory device.   
     
     
         3 . The method of  claim 1  further comprises the obtaining including searching a slice name tree and receiving the revision numbers. 
     
     
         4 . The method of  claim 1  further comprises the obtaining including selecting an estimated revision number. 
     
     
         5 . The method of  claim 1 , wherein the slice location table includes one or more of:
 associated information;   slice name;   revision number;   slice length of the revision;   an integrity value of the revision.   
     
     
         6 . The method of  claim 1  further comprises:
 when the request includes writing a slice, creating a new entry in a slice name tree. 
 
     
     
         7 . The method of  claim 6 , wherein the new entry includes one or more of:
 slice name;   revision number;   slice integrity value;   slice length; and   pointers to adjacent entries.   
     
     
         8 . The method of  claim 1  further comprises the request including access to a list of the slice name ranges. 
     
     
         9 . The method of  claim 8  wherein the list of the slice name ranges includes accessing a slice name tree within a slice name range to gather revision number and any associated information. 
     
     
         10 . The method of  claim 1  wherein the slice access response includes, for each slice name:
 slice; 
 revision; 
 slice length; and 
 revision count. 
 
     
     
         11 . A dispersed storage network (DSN) comprising one or more processing modules configured to:
 receive a slice access request that includes a slice name;   obtain a revision number for the slice access request;   for each combination of revision number and the slice name, perform a deterministic function on the combination to produce a slice location table index value;   access a slice location table utilizing the slice location table index value to obtain a slice location;   access a slice utilizing the slice location;   generate a slice access response based on the accessing of the slice; and   send the slice access response to a requesting entity.   
     
     
         12 . The DSN of  claim 11 , further comprising a slice name tree and the obtaining comprises searching the slice name tree and receiving the revision number. 
     
     
         13 . The DSN of  claim 11  further comprises:
 when the request includes reading a slice, the obtaining revision number includes selecting an estimated revision number. 
 
     
     
         14 . The DSN of  claim 11 , wherein the slice location table includes one or more of:
 associated information;   slice name;   revision number;   slice length of the revision;   an integrity value of the revision.   
     
     
         15 . The DSN of  claim 11  further comprises:
 when the request includes writing a slice, creating a new entry in a slice name tree. 
 
     
     
         16 . The DSN of  claim 15 , wherein the new entry includes one or more of:
 slice name;   revision number;   slice integrity value;   slice length; and   pointers to adjacent entries.   
     
     
         17 . The DSN of  claim 11  further comprises the request including access to a list of the slice name ranges. 
     
     
         18 . The DSN of  claim 17  wherein the list of the slice name ranges includes accessing a slice name tree within a slice name range to gather the revision numbers and any associated information. 
     
     
         19 . The DSN of  claim 11  wherein the slice access response includes, for each slice name:
 slice; 
 revision; 
 slice length; and 
 revision count. 
 
     
     
         20 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
 receiving a slice range access request that includes a range of slice names;   obtaining a revision number for each slice in the slice range access request;   for each combination of the revision number and the slice name obtained, performing a deterministic function on the combination to produce slice location table index values;   accessing a slice location table utilizing the slice location table index values to obtain slice locations;   accessing the slices utilizing the slice locations;   generating a slice access response based on the accessing of the slices; and   sending the slice access response to a requesting entity.   
     
     
         21 . The method of  claim 20  further comprises the obtaining including accessing a slice name tree within a slice name range to gather the revision number and any associated information. 
     
     
         22 . The method of  claim 20 , wherein the slice access response includes:
 slice;   revision;   slice length; and   revision count.   
     
     
         23 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
 receiving a read slice access request that includes a slice name;   for each combination of an estimated revision number and the slice name, performing a deterministic function on the combination to produce a slice location table index value;   accessing a slice location table utilizing the slice location table index value to obtain a slice location;   accessing a slice utilizing the slice location;   generating a slice access response based on the accessing of the slice; and   sending the slice access response to a requesting entity.   
     
     
         24 . The method of  claim 23  wherein the slice access response includes, for each slice name:
 slice; 
 revision; 
 slice length; and 
 revision count. 
 
     
     
         25 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
 receiving a read slice access request that includes a slice name;   searching a slice name tree and receiving a slice name revision number;   for each combination of an estimated revision number and the slice name, performing a deterministic function on the combination to produce a slice location table index value;   accessing a slice location table utilizing the slice location table index value to obtain a slice location;   accessing a slice utilizing the slice location;   generating a slice access response based on the accessing of the slice; and   sending the slice access response to a requesting entity.   
     
     
         26 . The method of  claim 25  wherein the slice access response includes, for each slice name:
 slice; 
 revision; 
 slice length; and 
 revision count. 
 
     
     
         27 . The method of  claim 25  further comprises the searching a slice name tree and receiving slice name revision numbers including receiving one or more of:
 slice integrity value; 
 slice length; and 
 pointers to adjacent entries. 
 
     
     
         28 . A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
 receiving a write slice access request that includes a slice name, slice and revision number;   for each combination of the revision number and the slice name, performing a deterministic function on the combination to produce a slice location table index value;   accessing a slice location table utilizing the slice location table index value to obtain a slice location;   writing the slice to the slice location within DSN memory;   creating a new entry in a slice name tree including at least slice name and revision number;   sending a slice access response to a requesting entity.   
     
     
         29 . The method of  claim 28 , wherein the new entry further includes one or more of:
 slice integrity value;   slice length; and   pointers to adjacent entries.

Join the waitlist — get patent alerts

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

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