Method of storing encoded data slices using a distributed agreement protocol
Abstract
A system includes a plurality of functional rating modules configured to execute a deterministic function, a normalizing function and a scoring function using a set of storage unit coefficients that are different for each of the functional rating modules. The functional rating modules are configured to receive an encoded data slice identifier, perform the deterministic function using the encoded data slice identifier and a first storage unit coefficient to produce an interim result, perform the normalization function using interim result to produce a normalized interim result, and perform the scoring function by performing a mathematical function on the normalized interim result to produce a score. The system also includes a ranking module configured to receive the score from each of the plurality of functional rating modules to produce a highest ranked set of storage units for storing a plurality of sets of encoded data slices.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system for selecting a set of storage units of a dispersed storage network (DSN), the system comprises:
a plurality of functional rating modules, wherein each functional rating module of the plurality of functional rating modules is configured to execute a deterministic function, a normalizing function and a scoring function using a set of storage unit coefficients, wherein the set of storage unit coefficients differ for each of the functional rating modules, and wherein each functional rating module is configured to:
receive an encoded data slice identifier;
perform the deterministic function using the encoded data slice identifier and the set of storage unit coefficients to produce an interim result;
perform the normalization function using interim result to produce a normalized interim result; and
perform the scoring function by performing a mathematical function on the normalized interim result to produce a score;
a ranking module receiving the score from each of the plurality of functional rating modules to produce a highest ranked set of storage units; and sending a plurality of sets of encoded data slices to the highest ranked set of storage units for storage therein.
2 . The system of claim 1 , wherein the set of storage unit coefficients includes at least a first coefficient and a second coefficient.
3 . The system of claim 2 , wherein the first coefficient is a unique identifier for the set of storage units and the second coefficient is a weighting factor for the set of storage units.
4 . The system of claim 3 , wherein the weighting factor includes an arbitrary bias that adjusts a proportion of selections to an associated location such that a probability that an encoded data slice will be mapped to that location is equal to a location weight divided by a sum of all location weights for all locations of comparison.
5 . The system of claim 1 , wherein each functional rating module generates a unique score.
6 . The system of claim 1 , wherein the encoded data slice identifier corresponds to a encoded data slice name or common attributes of set of encoded data slice names.
7 . The system of claim 6 , wherein, for a set of encoded data slices, the encoded data slice identifier specifies a data segment number, a vault ID, and a data object ID.
8 . A computing device configured to execute a decentralized agreement protocol for selecting a set of storage units of a dispersed storage network (DSN), the computing device comprises:
a plurality of functional rating modules, wherein each functional rating module of the plurality of functional rating modules is configured to execute a deterministic function, a normalizing function and a scoring function using a set of storage unit coefficients, wherein the set of storage unit coefficients are different for each of the functional rating modules, and wherein each functional rating module is configured to: receive an encoded data slice identifier; perform the deterministic function using the encoded data slice identifier and the set of storage unit coefficients to produce an interim result; perform the normalization function using interim result to produce a normalized interim result; and perform the scoring function by performing a mathematical function on the normalized interim result to produce a score; a ranking module receiving the score from each of the plurality of functional rating modules to produce a highest ranked set of storage units; and sending a plurality of sets of encoded data slices to the highest ranked set of storage units for storage therein.
9 . The computing device of claim 8 , wherein the set of storage unit coefficients includes at least a first coefficient and a second coefficient.
10 . The computing device of claim 9 , wherein the first coefficient is a unique identifier for the set of storage units and the second coefficient is a weighting factor for the set of storage units.
11 . The computing device of claim 10 , wherein the weighting factor includes an arbitrary bias that adjusts a proportion of selections to an associated location such that a probability that an encoded data slice will be mapped to that location is equal to a location weight divided by a sum of all location weights for all locations of comparison.
12 . The computing device of claim 8 , wherein each functional rating module generates a unique score.
13 . The computing device of claim 8 , wherein the encoded data slice identifier corresponds to an encoded data slice name or common attributes of set of encoded data slices names.
14 . The computing device of claim 13 , wherein, for a set of encoded data slices, the encoded data slice identifier specifies a data segment number, a vault ID, and a data object ID.
15 . A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:
an interface; a local memory; and a plurality of functional rating modules operably coupled to the interface and the local memory, wherein each functional rating module of the plurality of functional rating modules is configured to execute a deterministic function, a normalizing function and a scoring function using a set of storage unit coefficients, wherein the set of storage unit coefficients are different for each of the functional rating modules, and wherein each functional rating module is configured to:
receive an encoded data slice identifier;
perform the deterministic function using the encoded data slice identifier and the set of storage unit coefficient to produce an interim result;
perform the normalization function using interim result to produce a normalized interim result; and
perform the scoring function by performing a mathematical function on the normalized interim result to produce a score; and
a ranking module operably coupled to the interface, the local memory and the plurality of functional rating modules and wherein the ranking module is configured to:
receive the score from each of the plurality of functional rating modules to produce a highest ranked set of storage units for storing a plurality of sets of encoded data slices.
16 . The computing device of claim 15 , wherein the set of storage unit coefficients includes at least a first coefficient and a second coefficient.
17 . The computing device of claim 16 , wherein the first coefficient is a unique identifier for the set of storage units and the second coefficient is a weighting factor for the set of storage units.
18 . The computing device of claim 17 , wherein the weighting factor includes an arbitrary bias that adjusts a proportion of selections to an associated location such that a probability that an encoded data slice will be mapped to that location is equal to a location weight divided by a sum of all location weights for all locations of comparison.
19 . The computing device of claim 15 , wherein each functional rating module generates a unique score.
20 . The computing device of claim 15 , wherein, for a set of encoded data slices, the encoded data slice identifier specifies a data segment number, a vault ID, and a data object ID.Join the waitlist — get patent alerts
Track US2019155689A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.