IP Library Granted Patent US 10,541,907
Granted Patent B2
US 10,541,907 · App. 15/965,474 · Granted Jan 21, 2020

Virtual dispersive networking systems and methods

Inventor: Robert W. Twitchell, Jr. (Alpharetta, GA)
Assignee: Dispersive Networks, Inc.
H04L45/06G06F9/45558H04L45/124H04L45/24G06F2009/4557G06F2009/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,541,907
App. No.
15/965,474
Filed
Apr 27, 2018
Granted
Jan 21, 2020
Kind
B2
Art Unit
2456
USPC
709/238
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 (47)

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 the method involves utilizing encryption for communications between nodes.

3. 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.

4. The method of claim 1 , wherein application-level encryption is utilized.

5. The method of claim 1 , wherein public-key encryption is utilized and a key is communicated utilizing a methodology involving splits inside of splits.

6. The method of claim 1 , wherein interleaving is utilized inside of one or more splits.

7. The method of claim 1 , wherein the insertion of red herring data is utilized within one or more splits.

8. 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.

9. The method of claim 1 , wherein endpoint software is loaded on a desktop computer.

10. The method of claim 1 , wherein endpoint software is loaded on a laptop computer.

11. The method of claim 1 , wherein endpoint software is loaded on a tablet.

12. The method of claim 1 , wherein endpoint software is loaded on a smartphone.

13. The method of claim 1 , wherein endpoint software is loaded on a smart watch.

14. The method of claim 1 , wherein endpoint software is loaded on a wearable computing device.

15. The method of claim 1 , wherein endpoint software is loaded on a smart appliance.

16. The method of claim 1 , wherein deflect software is loaded on a desktop computer.

17. The method of claim 1 , wherein deflect software is loaded on a laptop computer.

18. The method of claim 1 , wherein deflect software is loaded on a tablet.

19. 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.

20. 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.

Assignments (6)
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 Jun 30, 2021
From: DISPERSIVE NETWORKS, INC.
To: ASSET RECOVERY ASSOCIATES, LLC
Reel/Frame 056729/0086 →
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 →
Cited By (7)
US 12,335,160 US 12,432,042 US 12,519,631 US 12,519,755 US 12,567,966 US 12,615,284 US 12,701,101