发明名称 Dispersive storage area networks
摘要 A method for storing data from an electronic device at a plurality of storage devices of a dispersive storage area network includes communicating, from the electronic device via a virtual network connection, one or more packets to a splitting server. The method further includes splitting, at the splitting server, the data for storage on the dispersive storage area network, and communicating, from the splitting server to each of a plurality of storage servers over each of a plurality of virtual network connections, portions of the split data. The method further includes storing, at each of the storage servers, the received portions of the split data for later retrieval.
申请公布号 US9495194(B1) 申请公布日期 2016.11.15
申请号 US201514670240 申请日期 2015.03.26
申请人 DISPERSIVE NETWORKS, INC. 发明人 Twitchell, Jr. Robert W.;Mai Khanh
分类号 G06F9/455;H04L29/08 主分类号 G06F9/455
代理机构 Tillman Wright, PLLC 代理人 Tillman Wright, PLLC ;Tillman Chad D.;Doerre Jeremy C.
主权项 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.
地址 Cumming GA US