主权项 |
1. A method for storing data from a first electronic device at a plurality of storage devices of a dispersive storage area network comprising:
(a) spawning, at the first electronic device, a first virtual machine that virtualizes network capabilities of the first electronic device such that a first virtual network connection is provided; (b) spawning, at a first storage server, a second virtual machine that virtualizes network capabilities of the first storage server such that a second virtual network connection is provided; (c) spawning, at a second storage server, a third virtual machine that virtualizes network capabilities of the second storage server such that a third virtual network connection is provided; (d) spawning, at a third storage server, a fourth virtual machine that virtualizes network capabilities of the third storage server such that a fourth virtual network connection is provided; (e) spawning, at a splitting server, a fifth virtual machine that virtualizes network capabilities of the splitting server such that a fifth virtual network connection is provided; (f) communicating, from the first electronic device via the first virtual network connection, one or more packets for communication to the splitting server containing first data for storage on the dispersive storage area network; (g) receiving, at the splitting server via the fifth virtual network connection, the one or more packets containing first data for storage on the dispersive storage area network; (h) spawning, at a splitting server, a sixth virtual machine that virtualizes network capabilities of the splitting server such that a sixth virtual network connection is provided; (i) spawning, at a splitting server, a seventh virtual machine that virtualizes network capabilities of the splitting server such that a seventh virtual network connection is provided; (j) spawning, at a splitting server, an eighth virtual machine that virtualizes network capabilities of the splitting server such that an eighth virtual network connection is provided; (k) splitting, at the splitting server, the first data into a plurality of portions for storage on the dispersive storage area network, the plurality of portions including a first portion, a second portion, and a third portion of the split data; (l) generating, at the splitting server, a first hash for the first portion of the split data; (m) generating, at the splitting server, a second hash for the second portion of the split data; (n) generating, at the splitting server, a third hash for the third portion of the split data; (o) communicating, from the splitting server via the sixth virtual network connection, one or more packets for communication to the first storage server representing the first portion of the split data, and saving, at the splitting server, the first hash for the communicated first portion in association with the first storage server; (p) receiving, at the first storage server via the second virtual network connection, the one or more packets representing the first portion of the split data; (q) storing, at the first storage server, the first portion of the split data; (r) communicating, from the splitting server via the seventh virtual network connection, one or more packets for communication to the second storage server representing the second portion of the split data, and saving, at the splitting server, the second hash for the communicated second portion in association with the second storage server; (s) receiving, at the second storage server via the third virtual network connection, the one or more packets representing the second portion of the split data; (t) storing, at the second storage server, the second portion of the split data; (u) communicating, from the splitting server via the eighth virtual network connection, one or more packets for communication to the third storage server representing a third portion of the split data, and saving, at the splitting server, the third hash for the communicated third portion in association with the third storage server; (v) receiving, at the third storage server via the fourth virtual network connection, the one or more packets representing the third portion of the split data; (w) storing, at the third storage server, the third portion of the split data; (x) receiving, at the splitting server from the first electronic device, a request to access the first data; (y) communicating, from the splitting server to the first storage server, a first request for a hash for authentication of the first storage server; (z) receiving, at the first storage server, the communicated first request for a hash for authentication, and, in response thereto, generating a fourth hash for the first portion of the split data, and communicating the generated fourth hash to the splitting server; (aa) receiving, at the splitting server, the fourth hash communicated by the first storage server, and authenticating the first storage server by comparing the communicated fourth hash to the first hash stored in association with the first storage server; (bb) following authentication of the first storage server, communicating from the splitting server to the first storage server, a second request for stored data, and receiving at the splitting server, in response thereto, the first portion of the split data; (cc) communicating, from the splitting server to the second storage server, a third request for a hash for authentication of the second storage server; (dd) receiving, at the second storage server, the communicated third request for a hash for authentication, and, in response thereto, generating a fifth hash for the second portion of the split data, and communicating the generated fifth hash to the splitting server; (ee) receiving, at the splitting server, the fifth hash communicated by the second storage server, and authenticating the second storage server by comparing the communicated fifth hash to the second hash stored in association with the second storage server; (ff) following authentication of the second storage server, communicating from the splitting server to the second storage server, a fourth request for stored data, and receiving at the splitting server, in response thereto, the second portion of the split data; (gg) communicating, from the splitting server to the third storage server, a fifth request for a hash for authentication of the third storage server; (hh) receiving, at the third storage server, the communicated fifth request for a hash for authentication, and, in response thereto, generating a sixth hash for the second portion of the split data, and communicating the generated sixth hash to the splitting server; (ii) receiving, at the splitting server, the sixth hash communicated by the third storage server, and authenticating the third storage server by comparing the communicated sixth hash to the third hash stored in association with the third storage server; (jj) following authentication of the third storage server, communicating from the splitting server to the third storage server, a sixth request for stored data, and receiving at the splitting server, in response thereto, the third portion of the split data; (kk) combining, at the splitting server, data portions received from storage servers, including the first data portion received from the first storage server, the second data portion received from the second storage server, and the third data portion received from the third storage server, into the first data; and (ll) communicating, in response to the request to access the first data, the combined first data from the splitting server to the first electronic device. |