IP Library Granted Patent US 9,727,367
Granted Patent B2
US 9,727,367 · App. 14/750,956 · Granted Aug 8, 2017

Virtual dispersive networking systems and methods

Inventor: Robert W. Twitchell, Jr. (Cumming, GA)
Assignee: DISPERSIVE NETWORKS, INC.
G06F9/45558H04L41/00H04L45/586H04L67/06H04L67/10H04L67/14H04L67/141H04L69/32G06F2009/45562G06F2009/45595H04L69/14H04L69/18
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 9,727,367
App. No.
14/750,956
Filed
Jun 25, 2015
Granted
Aug 8, 2017
Kind
B2
Art Unit
2443
USPC
709/223
Abstract

A method for network communications from a first device to a second device includes communicating data from the first device to the second device by spawning a first virtual machine for a first network connection that virtualizes network capabilities of the electronic device, and using the virtualized network capabilities of the first virtual machine, transmitting a plurality of packets for communication to a first network address and port combination associated with the second device. The method further includes repeatedly changing to a respective another network address and port combination by repeatedly spawning a respective another virtual machine for a respective another network connection that virtualizes network capabilities of the electronic device, and using the virtualized network capabilities of the spawned respective another virtual machine, transmitting a plurality of packets for communication to the respective another network address and port combination associated with the second device.

Claims (48)

1. A method of providing network communications using virtualization comprising:

(a) spawning, at a first device, a first virtual machine that virtualizes network capabilities of the first device such that a first virtual network connection is provided;

(c) selecting, at the first device, a first deflect device for the first virtual network connection from among a plurality of available deflect devices for communicating data using the first virtual network connection;

(d) communicating data from the first device in a plurality of packets to a destination device via the selected deflect device, the method involving, for each packet,

(i) transmitting, from the first device using the first virtual network connection, the packet for communication to the deflect device,

(ii) receiving, at a third virtual machine that runs on a second device and that virtualizes network capabilities of the second device such that a third virtual network connection is provided, the packet,

(iii) transmitting, from the second device using the third virtual network connection, the packet for communication to the deflect device,

(iv) receiving, at a fourth virtual machine that runs on the deflect device and that virtualizes network capabilities of the deflect device, the packet,

(v) transmitting, from the deflect device using the fourth virtual network connection, the packet for communication to the destination device,

(vi) receiving, at a fifth virtual machine that runs on a third device and that virtualizes network capabilities of the third device such that a fifth virtual network connection is provided, the packet,

(vii) transmitting, from the third device using the fifth virtual network connection, the packet for communication to the destination device, and

(viii) receiving, at a sixth virtual machine that runs on the destination device and that virtualizes network capabilities of the destination device, the packet.

2. A method of communicating between a first end-user device and a second end-user device comprising the steps of:

(a) communicating by the first end-user device, to a point of entry gateway, a request to engage in network communications with the second-end user device;

(b) communicating, by the point of entry gateway to a presence server behind a firewall, the request to engage in network communications, the presence server maintaining connection information for the first end-user device and the second end-user device;

(b) communicating, from the presence server to the first end-user device, connection information for enabling an open network connection between the first and second end-user devices;

(c) communicating data from the first end-user device to a second end-user device by,

(i) spawning, at the first end-user device, a first virtual machine that virtualizes network capabilities of the first end-user device such that a first virtual network connection is provided,

(ii) selecting, at the first end-user device, a deflect device for the first virtual network connection from among a plurality of available deflect devices for communicating data using the first virtual network connection, said selection being based at least in part on the connection information received from the server,

(iii) spawning, at the second end-user device, a second virtual machine that virtualizes network capabilities of the second end-user device such that a second virtual network connection is provided,

(iv) spawning, at the deflect device, a third virtual machine that virtualizes network capabilities of the deflect device such that a third virtual network connection is provided,

(v) establishing a network connection between the first end-user device, via the first virtual network connection, and the second end-user device, via the second virtual network connection, over a network path using the connection information, the network path including the deflect device, and

(vi) for each of a plurality of packets,

(A) transmitting the packet from the first end-user device using the first virtual network connection for communication via the network path,

(B) receiving, at the deflect device using the third virtual network connection, the packet, and communicating the packet onward along the network path, and

(C) receiving, at the second end-user device using the second virtual network connection, the packet.

3. A method of communicating data using virtualization and multi-protocol dispersion from a first device to a destination device via a deflect device, the method comprising:

(a) spawning, at the first device, a first virtual machine that virtualizes network capabilities of the first device such that a first virtual network connection is provided;

(b) selecting a first deflect device for the first virtual network connection from among a plurality of available deflect devices for communicating data using the first virtual network connection;

(c) selecting a first protocol for communications from the first device to the first deflect device from among a plurality of available protocols for communicating data;

(d) communicating data from the first device in a plurality of packets using the selected first protocol to the selected deflect device, the method involving, for each packet,

(i) transmitting, from the first device using the first virtual network connection, the packet for communication to the first deflect device,

(ii) receiving, at a third virtual machine that runs on a second device and that virtualizes network capabilities of the second device such that a third virtual network connection is provided, the packet,

(iii) transmitting, from the second device using the third virtual network connection, the packet for communication to the deflect device, and

(iv) receiving, at a fourth virtual machine that runs on the deflect device and that virtualizes network capabilities of the deflect device, the packet; and

(e) selecting a second protocol for communications from the first deflect device to the destination device from among a plurality of available protocols for communicating data;

(f) communicating data from the deflect device in a plurality of packets using the selected second protocol to the destination device, the method involving, for each packet,

(i) transmitting, from the deflect device using the fourth virtual network connection, the packet for communication to the destination device,

(ii) receiving, at a fifth virtual machine that runs on a third device and that virtualizes network capabilities of the third device such that a fifth virtual network connection is provided, the packet,

(iii) transmitting, from the third device using the fifth virtual network connection, the packet for communication to the destination device, and

(iv) receiving, at a sixth virtual machine that runs on the destination device and that virtualizes network capabilities of the destination device, the packet.

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

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

6. The method of claim 1 , wherein the first device comprises a video game device.

7. The method of claim 1 , wherein the first device comprises a phone.

8. The method of claim 1 , wherein the destination device comprises a laptop or personal computer.

9. The method of claim 1 , wherein the destination device comprises a video game device.

10. The method of claim 1 , wherein the destination device comprises a phone.

Assignments (7)
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 →
CHANGE OF NAME Recorded Jan 13, 2016
From: DISPERSIVE NETWORKS INC.
To: DISPERSIVE NETWORKS, INC.
Reel/Frame 037515/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2015
From: TWITCHELL, ROBERT W., JR
To: DISPERSIVE NETWORKS INC.
Reel/Frame 036514/0114 →
Continuity (8)
Continuation 13844464 · Mar 15, 2013
Continuation In Part 13007595 · Jan 14, 2011
Continuation In Part 12499075 · Jul 7, 2009
Continuation In Part 12253926 · Oct 17, 2008
Provisional Application 61696770 · Sep 4, 2012
Provisional Application 61133935 · Jul 7, 2008
Provisional Application 60999603 · Oct 17, 2007
Related Publication 20150293778A1 · Oct 15, 2015