Systems and methods for providing distributed, decentralized data storage and retrieval
First Claim
Patent Images
1. A system comprising:
- a plurality of processor nodes, each one of the plurality of processing nodes comprising storage;
a distributed hash table comprising a plurality of local routing tables maintained in the plurality of processor nodes, each of the plurality of local routing tables containing hash values corresponding to node addresses of neighboring network nodes;
a storage service configured to receive a storage request message comprising a bit stream; and
a routing service configured to receive the bit stream from the storage service, divide the bit stream into a plurality of chunks, compute hash values for each of the plurality of chunks, each hash value based on a concatenation of a bit stream identifier and a user identifier, and transmit into a network a plurality of chunk store messages, the transmitting comprising consulting a local routing table of a first processor node to determine if an address of a recipient processor node corresponds to a neighboring network node of the first processor node, the recipient processor node comprising a chunk store service that divides a received chunk into a plurality of fragments, encodes a fragment into a check block, and transmits the check block to a fragment store service.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for distributed, decentralized storage and retrieval of data in an extensible SOAP environment are disclosed. Such systems and methods decentralize not only the bandwidth required for data storage and retrieval, but also the computational requirements. Accordingly, such systems and methods alleviate the need for one node to do all the storage and retrieval processing, and no single node is required to send or receive all the data.
-
Citations
7 Claims
-
1. A system comprising:
-
a plurality of processor nodes, each one of the plurality of processing nodes comprising storage; a distributed hash table comprising a plurality of local routing tables maintained in the plurality of processor nodes, each of the plurality of local routing tables containing hash values corresponding to node addresses of neighboring network nodes; a storage service configured to receive a storage request message comprising a bit stream; and a routing service configured to receive the bit stream from the storage service, divide the bit stream into a plurality of chunks, compute hash values for each of the plurality of chunks, each hash value based on a concatenation of a bit stream identifier and a user identifier, and transmit into a network a plurality of chunk store messages, the transmitting comprising consulting a local routing table of a first processor node to determine if an address of a recipient processor node corresponds to a neighboring network node of the first processor node, the recipient processor node comprising a chunk store service that divides a received chunk into a plurality of fragments, encodes a fragment into a check block, and transmits the check block to a fragment store service. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification