IP Library Granted Patent US 10,216,537
Granted Patent B2
US 10,216,537 · App. 15/351,369 · Granted Feb 26, 2019

Dispersive storage area networks

Inventors: Robert W. Twitchell, Jr. (Cumming, GA); Khanh Mai (Alpharetta, GA)
Assignee: DISPERSIVE NETWORKS, INC.
G06F9/45558G06F3/06G06F3/0604G06F3/067G06F3/0664H04L67/1097H04L67/14H04L67/24G06F2009/45562G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,216,537
App. No.
15/351,369
Granted
Feb 26, 2019
Kind
B2
Abstract

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.

Claims (32)

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 first splitting server, a fifth virtual machine that virtualizes network capabilities of the first splitting server such that a fifth virtual network connection is provided; (f) generating, at the first electronic device, a first hash for first data to be stored on the dispersive storage area network, and storing the generated first hash at the first electronic device; (g) communicating, from the first electronic device via the first virtual network connection, one or more packets collectively containing the first data for communication to the first splitting server for storage of the first data on the dispersive storage area network; (h) receiving, at the first splitting server via the fifth virtual network connection, the one or more packets containing data for storage on the dispersive storage area network; (i) spawning, at the first splitting server, a sixth virtual machine that virtualizes network capabilities of the first splitting server such that a sixth virtual network connection is provided; (j) spawning, at the first splitting server, a seventh virtual machine that virtualizes network capabilities of the first splitting server such that a seventh virtual network connection is provided; (k) spawning, at the splitting server, an eighth virtual machine that virtualizes network capabilities of the first splitting server such that an eighth virtual network connection is provided; (l) splitting, at the first splitting server, the first data for storage on the dispersive storage area network; (m) communicating, from the first splitting server via the sixth virtual network connection, one or more packets for communication to the first storage server representing a first portion of the split data; (n) receiving, at the first storage server via the second virtual network connection, the one or more packets representing a first portion of the split data; (o) storing, at the first storage server, the first portion of the split data; (p) communicating, from the first splitting server via the seventh virtual network connection, one or more packets for communication to the second storage server representing a second portion of the split data; (q) receiving, at the second storage server via the third virtual network connection, the one or more packets representing a second portion of the split data; (r) storing, at the second storage server, the second portion of the split data; (s) communicating, from the first 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; (t) receiving, at the third storage server via the fourth virtual network connection, the one or more packets representing a third portion of the split data; (u) storing, at the third storage server, the third portion of the split data; (v) effecting, by the first electronic device, retrieval of the first data; (w) retrieving, at a second splitting server in response to effecting retrieval of the first data, a plurality of data portions stored on a plurality of storage servers, including retrieving the first portion from the first storage server, retrieving the second portion from the second storage server, and retrieving the third portion from the third storage server; (x) combining, at the second splitting server, the retrieved plurality of data portions into second data; (y) communicating, from the second splitting server to the first electronic device, the second data; (z) generating, at the first electronic device, a second hash for the second data; (aa) determining, at the first electronic device, whether the stored first data was corrupted by comparing the stored first hash to the generated second hash.

2. The method of claim 1 , wherein the first electronic device comprises a mobile phone.

3. The method of claim 1 , wherein the first electronic device comprises a tablet.

4. The method of claim 1 , wherein the first electronic device comprises a computer.

5. The method of claim 1 , wherein the first electronic device comprises a laptop.

6. The method of claim 1 , wherein the first electronic device comprises a mobile electronic device.

7. The method of claim 1 , wherein the splitting server comprises a server.

8. The method of claim 1 , wherein the splitting server comprises a mobile electronic device.

9. The method of claim 1 , wherein the first storage server comprises a mobile phone.

10. The method of claim 1 , wherein the first storage server comprises a tablet.

11. The method of claim 1 , wherein the first storage server comprises a computer.

12. The method of claim 1 , wherein the first storage server comprises a laptop.

13. The method of claim 1 , wherein the first storage server comprises a mobile electronic device.

14. The method of claim 1 , wherein the first storage server comprises a first server at a first data center, and the second storage server comprises a second server at a second data center different from the first data center.

15. The method of claim 1 , wherein the first portion of the split data includes data overlapping with data from the second portion of the split data.

16. The method of claim 1 , wherein the splitting server comprises a plurality of physical servers at a first data center.

17. The method of claim 1 , wherein the splitting server comprises a plurality of physical servers at a plurality of data centers.

18. The method of claim 1 , wherein the first splitting server and the second splitting server are the same splitting server.

19. The method of claim 1 , wherein the first splitting server and the second splitting server are different splitting servers.

20. A method for storing data from a first electronic device at a plurality of storage devices of a dispersive storage area network, the method involving spawning, at the first electronic device, one or more splitting servers, and the plurality of storage devices, one or more virtual network connections for network communications, the method comprising:

(a) generating, at the first electronic device, a first hash for first data to be stored on the dispersive storage area network, and storing the generated first hash at the first electronic device;

(b) communicating, from the first electronic device via one or more virtual network connections, one or more packets collectively containing the first data for communication to a first splitting server for storage on the dispersive storage area network;

(c) receiving, at the splitting server via one or more virtual network connections, the one or more packets collectively containing the first data;

(d) splitting, at the splitting server, the first data into a plurality of portions for storage on the dispersive storage area network;

(e) communicating, from the splitting server via one or more virtual network connections, each portion of the plurality of portions to a storage device of the plurality of storage devices;

(f) thereafter, effecting, by the first electronic device, retrieval of the first data;

(g) retrieving, at a second splitting server in response to effecting retrieval of the first data, a set of data portions stored on storage devices;

(h) combining, at the second splitting server, the retrieved set of data portions into second data;

(i) communicating, from the second splitting server to the first electronic device, the second data;

(j) generating, at the first electronic device, a second hash for the second data;

(k) determining, at the first electronic device, whether the stored first data was corrupted by comparing the stored first hash to the generated second hash.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 10/333,972 PREVIOUSLY RECORDED AT REEL: 56729 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 14, 2024
From: DISPERSIVE NETWORKS, INC.
To: ASSET RECOVERY ASSOCIATES, LLC
Reel/Frame 066797/0207 →
CORRECTIVE ASSIGNMENT TO CORRECT THE IN PROPERTY NUMBERS, PATENT NUMBER 10333972 IS INCORRECT PREVIOUSLY RECORDED AT REEL: 056422 FRAME: 0951. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 9, 2023
From: DISPERSIVE NETWORKS, INC.
To: DISPERSIVE HOLDINGS, INC.
Reel/Frame 066946/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2021
From: DISPERSIVE NETWORKS, INC.
To: ASSET RECOVERY ASSOCIATES, LLC
Reel/Frame 056729/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2021
From: DISPERSIVE NETWORKS, INC.
To: DISPERSIVE HOLDINGS, INC.
Reel/Frame 056422/0951 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2021
From: DISPERSIVE NETWORKS, INC.
To: DISPERSIVE HOLDINGS, INC.
Reel/Frame 056333/0687 →
Continuity (3)
Continuation 14670240 · Mar 26, 2015
Provisional Application 61970639 · Mar 26, 2014
Related Publication 20170206106A1 · Jul 20, 2017
Cited By (1)
US 12,598,232