Transmitting packets from device in network communications with other device utilizing multiple virtual network connections
First Claim
1. A method of providing network communications, comprising the steps of:
- (a) detecting, at a first device, a request for a network connection from an application running on the device;
(b) spawning, at the first device, a first virtual machine for a network connection that virtualizes network capabilities of the first device such that a first virtual network connection is provided;
(c) spawning, at the first device, a second virtual machine for a network connection that virtualizes network capabilities of the first device such that a second virtual network connection is provided;
(d) spawning, at a second device, a third virtual machine for a network connection that virtualizes network capabilities of the second device such that a third virtual network connection is provided;
(e) spawning, at the second device, a fourth virtual machine for a network connection that virtualizes network capabilities of the second device such that a fourth virtual network connection is provided;
(f) spawning, at a third device, a fifth virtual machine for a network connection that virtualizes network capabilities of the third device such that a fifth virtual network connection is provided;
(g) establishing a first connection between the first device, via the first virtual network connection, and the second device, via the third virtual network connection, over a first network path;
(h) establishing a second connection between the first device, via the second virtual network connection, and the second device, via the fourth virtual network connection, over a second network path, the second network path including the third device;
(i) determining that the second network path represents a trusted path;
(j) determining that a first packet does not need to be routed via a trusted connection;
(k) transmitting the first packet from the first device using the first virtual network connection for communication via the first network path;
(l) determining that a second packet needs to be routed via a trusted connection;
(m) transmitting the second packet from the first device using the second virtual network connection for communication via the second network path;
(n) receiving, at the third device using the fifth virtual network connection, the second packet;
(o) transmitting, using the fifth virtual network connection, the second packet onward along the second network path; and
(p) receiving, at the second device using the fourth virtual network connection, the second packet;
(q) wherein the first network path and the second network path are different.
7 Assignments
0 Petitions
Accused Products
Abstract
A method includes detecting, at a device, a request for a network connection from an application running on the device; spawning first and second virtual machines for network connections that virtualize network capabilities of the device such that first and second virtual network connections are provided; using the first virtual network connection, establishing a first connection with another device over a first path; using the second virtual connection, establishing a second connection with the other device over a second path; determining that the second path represents a trusted path; determining that a first packet does not need to be routed via a trusted connection; transmitting the first packet using the first virtual network connection for communication via the first path; determining that a second packet needs to be routed via a trusted connection; and transmitting the second packet using the second virtual network connection for communication via the second path.
109 Citations
16 Claims
-
1. A method of providing network communications, comprising the steps of:
-
(a) detecting, at a first device, a request for a network connection from an application running on the device; (b) spawning, at the first device, a first virtual machine for a network connection that virtualizes network capabilities of the first device such that a first virtual network connection is provided; (c) spawning, at the first device, a second virtual machine for a network connection that virtualizes network capabilities of the first device such that a second virtual network connection is provided; (d) spawning, at a second device, a third virtual machine for a network connection that virtualizes network capabilities of the second device such that a third virtual network connection is provided; (e) spawning, at the second device, a fourth virtual machine for a network connection that virtualizes network capabilities of the second device such that a fourth virtual network connection is provided; (f) spawning, at a third device, a fifth virtual machine for a network connection that virtualizes network capabilities of the third device such that a fifth virtual network connection is provided; (g) establishing a first connection between the first device, via the first virtual network connection, and the second device, via the third virtual network connection, over a first network path; (h) establishing a second connection between the first device, via the second virtual network connection, and the second device, via the fourth virtual network connection, over a second network path, the second network path including the third device; (i) determining that the second network path represents a trusted path; (j) determining that a first packet does not need to be routed via a trusted connection; (k) transmitting the first packet from the first device using the first virtual network connection for communication via the first network path; (l) determining that a second packet needs to be routed via a trusted connection; (m) transmitting the second packet from the first device using the second virtual network connection for communication via the second network path; (n) receiving, at the third device using the fifth virtual network connection, the second packet; (o) transmitting, using the fifth virtual network connection, the second packet onward along the second network path; and (p) receiving, at the second device using the fourth virtual network connection, the second packet; (q) wherein the first network path and the second network path are different. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification