US2020280510A1PendingUtilityA1

Virtual dispersive networking systems and methods

Assignee: DISPERSIVE NETWORKS INCPriority: Nov 2, 2015Filed: Mar 9, 2020Published: Sep 3, 2020
Est. expiryNov 2, 2035(~9.3 yrs left)· nominal 20-yr term from priority
H04L 45/24H04L 67/131G06F 2009/45595H04L 45/124G06F 9/45558H04L 63/18H04L 69/14H04L 63/0442G06F 2009/4557H04L 63/1408H04L 45/06H04L 67/38
60
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of communicating data using virtualization includes splitting, at endpoint software running on a first device, first data for communication to a destination device into a first plurality of data streams; selecting, at the first device by the endpoint software, a first plurality of deflects for use in communicating the first plurality of data streams; communicating each of the first plurality of data streams over a different one of the selected first plurality of deflects; splitting, at the first deflect, a particular data stream of the first plurality of data streams into a second plurality of data streams; selecting, at the first deflect, a second plurality of deflects for use in communicating the second plurality of data streams; and communicating each of the second plurality of data streams over a different one of the selected second plurality of deflects.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of communicating data using virtualization, the method comprising:
 (a) spawning, at a first device, a first plurality of virtual machines that each virtualizes network capabilities of the first device such that a first plurality of virtual network connections are provided;   (b) splitting, at endpoint software running on the first device, first data for communication to a destination device into a first plurality of data streams;   (c) selecting, at the first device by the endpoint software, a first plurality of deflects for use in communicating the first plurality of data streams;   (d) communicating each of the first plurality of data streams using a different one of the first plurality of virtual network connections over a different one of the selected first plurality of deflects;   (e) spawning, at a first deflect of the selected first plurality of deflects, a second plurality of virtual machines that each virtualizes network capabilities of the first deflect such that a second plurality of virtual network connections are provided;   (f) receiving, at the first deflect, a first data stream of the first plurality of data streams;   (g) splitting, at the first deflect, the first data stream into a second plurality of data streams;   (h) selecting, at the first deflect, a second plurality of deflects for use in communicating the second plurality of data streams;   (i) communicating each of the second plurality of data streams using a different one of the second plurality of virtual network connections over a different one of the selected second plurality of deflects;   (j) receiving, at a second deflect from a first set of deflects, the second plurality of data streams;   (k) reassembling, at the second deflect, the second plurality of data streams into the first data stream, and communicating the first data stream onward to another device;   (l) receiving, at a second device from a second set of deflects, the first plurality of data streams including the first data stream;   (m) reassembling, at the second device, the first plurality of data streams into the first data.   
     
     
         2 . The method of  claim 1 , wherein spawning, at the first deflect, the second plurality of virtual machines occurs before receiving, at the first deflect, the first data stream of the first plurality of data streams. 
     
     
         3 . The method of  claim 1 , wherein receiving, at the first deflect, the first data stream of the first plurality of data streams occurs before spawning, at the first deflect, the second plurality of virtual machines. 
     
     
         4 . The method of  claim 1 , wherein spawning, at the first deflect, the second plurality of virtual machines occurs in response to receiving, at the first deflect, the first data stream of the first plurality of data streams. 
     
     
         5 . The method of  claim 1 , wherein the method further comprises spawning, at the second deflect, a third plurality of virtual machines that each virtualizes network capabilities of the second deflect such that a third plurality of virtual network connections are provided. 
     
     
         6 . The method of  claim 1 , wherein the method further comprises spawning, at the second deflect, a third plurality of virtual machines that each virtualizes network capabilities of the second deflect such that a third plurality of virtual network connections are provided, and wherein receiving, at the second deflect, the second plurality of data streams comprises receiving, at the second deflect via the third plurality of virtual network connections, the second plurality of data streams. 
     
     
         7 . The method of  claim 1 , wherein the method further comprises spawning, at the second device, a fourth plurality of virtual machines that each virtualizes network capabilities of the second device such that a fourth plurality of virtual network connections are provided. 
     
     
         8 . The method of  claim 1 , wherein the method further comprises spawning, at the second device, a fourth plurality of virtual machines that each virtualizes network capabilities of the second device such that a fourth plurality of virtual network connections are provided, and wherein receiving, at the second device, the first plurality of data streams comprises receiving, at the second device via the fourth plurality of virtual network connections, the first plurality of data streams. 
     
     
         9 . The method of  claim 1 , wherein the first set of deflects comprises one or more of the second plurality of deflects. 
     
     
         10 . The method of  claim 1 , wherein the first set of deflects comprises none of the second plurality of deflects. 
     
     
         11 . The method of  claim 1 , wherein the first set of deflects is the second plurality of deflects. 
     
     
         12 . The method of  claim 1 , wherein the second set of deflects comprises one or more of the first plurality of deflects. 
     
     
         13 . The method of  claim 1 , wherein the second set of deflects comprises none of the first plurality of deflects. 
     
     
         14 . The method of  claim 1 , wherein the second set of deflects comprises the second deflect. 
     
     
         15 . The method of  claim 1 , wherein the second set of deflects does not comprise the second deflect. 
     
     
         16 . The method of  claim 1 , wherein each deflect represents deflect software loaded on a distinct physical computing device. 
     
     
         17 . The method of  claim 1 , wherein two or more deflects represent deflect software loaded on the same physical computing device. 
     
     
         18 . The method of  claim 1 , wherein the first device or the second device has both deflect software and endpoint software loaded thereon. 
     
     
         19 . The method of  claim 1 , wherein one or more deflects represent deflect software loaded on a guest operating system running in a virtual machine. 
     
     
         20 . The method of  claim 1 , wherein the method involves communication of a data stream between two virtual machines running on the same physical computing device. 
     
     
         21 . The method of  claim 1 , wherein the method involves utilizing encryption for communications between nodes. 
     
     
         22 . The method of  claim 1 , wherein the method involves utilizing node-to-node encryption for communications between nodes in combination with end-to-end encryption for the entire communication from the first device to the second device. 
     
     
         23 . The method of  claim 1 , wherein application-level encryption is utilized. 
     
     
         24 . The method of  claim 1 , wherein public-key encryption is utilized and a key is communicated utilizing a methodology involving splits inside of splits. 
     
     
         25 . The method of  claim 1 , wherein interleaving is utilized inside of one or more splits. 
     
     
         26 . The method of  claim 1 , wherein the insertion of red herring data is utilized within one or more splits. 
     
     
         27 . The method of  claim 1 , wherein selecting, at the first device by the endpoint software, the first plurality of deflects for use in communicating the first plurality of data streams comprises selecting the first plurality of deflects based at least in part on networking information. 
     
     
         28 . The method of  claim 1 , wherein endpoint software is loaded on a desktop computer. 
     
     
         29 . The method of  claim 1 , wherein endpoint software is loaded on a laptop computer. 
     
     
         30 . The method of  claim 1 , wherein endpoint software is loaded on a tablet. 
     
     
         31 . The method of  claim 1 , wherein endpoint software is loaded on a smartphone. 
     
     
         32 . The method of  claim 1 , wherein endpoint software is loaded on a smart watch. 
     
     
         33 . The method of  claim 1 , wherein endpoint software is loaded on a wearable computing device. 
     
     
         34 . The method of  claim 1 , wherein endpoint software is loaded on a smart appliance. 
     
     
         35 . The method of  claim 1 , wherein deflect software is loaded on a desktop computer. 
     
     
         36 . The method of  claim 1 , wherein deflect software is loaded on a laptop computer. 
     
     
         37 . The method of  claim 1 , wherein deflect software is loaded on a tablet. 
     
     
         38 . The method of  claim 1 , wherein deflect software is loaded on a smartphone. 
     
     
         39 . The method of  claim 1 , wherein deflect software is loaded on a smart watch. 
     
     
         40 . The method of  claim 1 , wherein deflect software is loaded on a wearable computing device. 
     
     
         41 . The method of  claim 1 , wherein deflect software is loaded on a smart appliance. 
     
     
         42 . A method of communicating data using virtualization, the method comprising:
 (a) spawning, at a first device, a first plurality of virtual machines that each virtualizes network capabilities of the first device such that a first plurality of virtual network connections are provided;   (b) splitting, at endpoint software running on the first device, first data for communication to a destination device into a first plurality of data streams;   (c) selecting, at the first device by the endpoint software, a first plurality of deflects for use in communicating the first plurality of data streams;   (d) communicating each of the first plurality of data streams using a different one of the first plurality of virtual network connections over a different one of the selected first plurality of deflects;   (e) spawning, at a first deflect of the selected first plurality of deflects, a second plurality of virtual machines that each virtualizes network capabilities of the first deflect such that a second plurality of virtual network connections are provided;   (f) splitting, at the first deflect, a particular data stream of the first plurality of data streams into a second plurality of data streams;   (g) selecting, at the first deflect, a second plurality of deflects for use in communicating the second plurality of data streams;   (h) communicating each of the second plurality of data streams using a different one of the second plurality of virtual network connections over a different one of the selected second plurality of deflects.   
     
     
         43 . A method of communicating data using virtualization, the method comprising:
 (a) splitting, at endpoint software running on a first device, first data for communication to a destination device into a first plurality of data streams;   (b) selecting, at the first device by the endpoint software, a first plurality of deflects for use in communicating the first plurality of data streams;   (c) communicating each of the first plurality of data streams over a different one of the selected first plurality of deflects;   (d) splitting, at the first deflect, a particular data stream of the first plurality of data streams into a second plurality of data streams;   (e) selecting, at the first deflect, a second plurality of deflects for use in communicating the second plurality of data streams,   (f) communicating each of the second plurality of data streams over a different one of the selected second plurality of deflects.   
     
     
         44 . One or more computer readable media containing computer executable instructions for performing a disclosed method. 
     
     
         45 . A system for performing a disclosed method. 
     
     
         46 . Software for performing a disclosed method. 
     
     
         47 . A system as disclosed. 
     
     
         48 . A method as disclosed. 
     
     
         49 . Software as disclosed.

Join the waitlist — get patent alerts

Track US2020280510A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.