Distributed storage network employing multiple encoding layers in data routing
First Claim
1. A method for execution by a distributed storage processing module, the method comprising:
- generating a plurality of data slices from a data segment;
creating a plurality of storage command messages, wherein a storage command message of the plurality of storage command messages includes a data slice of the plurality of data slices;
determining a set of intermediate distributed storage units that includes an entry distributed storage unit and an exit distributed storage unit;
encoding the plurality of storage command messages in accordance with a nested layer encoding to produce an encoded message, wherein the nested layer encoding includes adding an encoding layer for each distributed storage unit of the set of intermediate distributed storage units, wherein the encoding of the plurality of storage command messages includes;
encoding the plurality of storage command messages using a public key of the exit distributed storage unit to generate a first layer encoded message;
identifying a next distributed storage unit of the set of intermediate distributed storage units;
when the next distributed storage unit is the entry distributed storage unit, encoding the first layer encoded message using a public key of the entry distributed storage unit to produce the encoded message;
when the next distributed storage unit is not the entry distributed storage unit;
encoding the first layer encoded message using a public key of the next distributed storage unit to produce a next layer encoded message; and
repeating the identifying the next distributed storage unit of the set of intermediate distributed storage units for the next layer encoded message; and
sending the encoded message to the entry distributed storage unit, wherein each of the set of intermediate distributed storage units respectively removes a corresponding encoding layer of the encoded message such that the exit distributed storage unit recovers the plurality of storage command messages and sends the plurality of storage command messages to a storage set of distributed storage units such that the set of distributed storage units executes the plurality of storage command messages.
5 Assignments
0 Petitions
Accused Products
Abstract
A distributed storage processing unit creates multiple different data slices from the same data object, and generates a message including one or more of the different data slices. The distributed storage processing unit identifies a chain of distributed storage units, and encrypts the message into multiple nested layers using, for example, public keys of public/private key pairs associated with each of the storage units in the chain. The distributed storage processing unit sends the layered, encrypted message to the first storage unit in the chain, which decodes and removes the outermost layer, and forwards the message to the next storage unit in the chain. This process continues until the message reaches the endpoint distributed storage unit, which decodes the innermost layer and stores the data slice encoded in the message.
82 Citations
6 Claims
-
1. A method for execution by a distributed storage processing module, the method comprising:
-
generating a plurality of data slices from a data segment; creating a plurality of storage command messages, wherein a storage command message of the plurality of storage command messages includes a data slice of the plurality of data slices; determining a set of intermediate distributed storage units that includes an entry distributed storage unit and an exit distributed storage unit; encoding the plurality of storage command messages in accordance with a nested layer encoding to produce an encoded message, wherein the nested layer encoding includes adding an encoding layer for each distributed storage unit of the set of intermediate distributed storage units, wherein the encoding of the plurality of storage command messages includes; encoding the plurality of storage command messages using a public key of the exit distributed storage unit to generate a first layer encoded message; identifying a next distributed storage unit of the set of intermediate distributed storage units; when the next distributed storage unit is the entry distributed storage unit, encoding the first layer encoded message using a public key of the entry distributed storage unit to produce the encoded message; when the next distributed storage unit is not the entry distributed storage unit; encoding the first layer encoded message using a public key of the next distributed storage unit to produce a next layer encoded message; and repeating the identifying the next distributed storage unit of the set of intermediate distributed storage units for the next layer encoded message; and sending the encoded message to the entry distributed storage unit, wherein each of the set of intermediate distributed storage units respectively removes a corresponding encoding layer of the encoded message such that the exit distributed storage unit recovers the plurality of storage command messages and sends the plurality of storage command messages to a storage set of distributed storage units such that the set of distributed storage units executes the plurality of storage command messages. - View Dependent Claims (2, 3)
-
-
4. A device comprising:
-
a processing module operable to; generate a plurality of data slices from a data segment; create a plurality of storage command messages, wherein a storage command message of the plurality of storage command messages includes a data slice of the plurality of data slices; and determine a set of intermediate distributed storage units that includes an entry distributed storage unit and an exit distributed storage unit; an encoder operable to encode the plurality of storage command messages in accordance with a nested layer encoding to produce an encoded message, wherein the nested layer encoding includes adding an encoding layer for each distributed storage unit of the set of intermediate distributed storage units, wherein the encoder is further operable to encode the plurality of storage command messages by; encoding the plurality of storage command messages using a public key of the exit distributed storage unit to generate a first layer encoded message; identifying a next distributed storage unit of the set of intermediate distributed storage units; when the next distributed storage unit is the entry distributed storage unit, encoding the first layer encoded message using a public key of the entry distributed storage unit to produce the encoded message; when the next distributed storage unit is not the entry distributed storage unit; encoding the first layer encoded message using a public key of the next distributed storage unit to produce a next layer encoded message; and repeating the identifying the next distributed storage unit of the set of intermediate distributed storage units for the next layer encoded message; and an interface operable to send the encoded message to the entry distributed storage unit, wherein each of the set of intermediate distributed storage units respectively removes a corresponding encoding layer of the encoded message such that the exit distributed storage unit recovers the plurality of storage command messages and sends the plurality of storage command messages to a storage set of distributed storage units such that the set of distributed storage units executes the plurality of storage command messages. - View Dependent Claims (5, 6)
-
Specification