Virtual dispersive routing
First Claim
1. A method of facilitating network communications, comprising the steps of:
- (a) configuring an end-user device such that the end-user device communicates with one or more nodes of a network;
(b) detecting, at the end-user device, a request for a network connection from an application running on the end-user device;
(c) spawning a virtual machine for a network connection that virtualizes network capabilities of the end-user device;
(d) determining application-specific information associated with the application;
(e) using the application-specific information, selecting a routing protocol from among a plurality of available routing protocols for communicating data over the network using the virtualized network capabilities of the virtual machine; and
(f) using the selected routing protocol, communicating data from the application over the network using the virtualized network capabilities of the virtual machine.
9 Assignments
0 Petitions
Accused Products
Abstract
A computer performs a method comprising the steps of, for each application, creating, for such application, a virtual machine that is associated with sending and receiving of communications over the computer network, determining, for such application, a network protocol out of a plurality of available network protocols, the determined network protocol representing an appropriate network protocol, out of the plurality of available network protocols, for current communication requirements of the application, and causing the application, when communicating over the network, to send and receive communications via the created virtual machine using the determined network protocol. Multiple virtual machine instances are created and simultaneously maintained by the computer, each virtual machine instance is associated with communications of one of the plurality of applications via a networking protocol that has been determined to be appropriate for the current communication requirements of the application.
-
Citations
20 Claims
-
1. A method of facilitating network communications, comprising the steps of:
-
(a) configuring an end-user device such that the end-user device communicates with one or more nodes of a network; (b) detecting, at the end-user device, a request for a network connection from an application running on the end-user device; (c) spawning a virtual machine for a network connection that virtualizes network capabilities of the end-user device; (d) determining application-specific information associated with the application; (e) using the application-specific information, selecting a routing protocol from among a plurality of available routing protocols for communicating data over the network using the virtualized network capabilities of the virtual machine; and (f) using the selected routing protocol, communicating data from the application over the network using the virtualized network capabilities of the virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for communicating data between first and second end-user devices connected to a network, comprising the steps of:
-
(a) configuring each of the first and second end-user devices such that each of the first and second end-user devices communicates with one or more nodes of the network; and (b) on the first end-user device, performing the steps of, (i) detecting a request for a network connection from an application running on the first end-user device; (ii) spawning a virtual machine for a network connection that virtualizes network capabilities of the first end-user device; (iii) determining application-specific information associated with the application; (iv) using the application-specific information, selecting a routing protocol from among a plurality of available routing protocols for communicating data using the virtualized network capabilities of the virtual machine; (v) receiving network information associated with the second end-user device; (vi) identifying, based on the received network information associated with the second end-user device, a network pathway by which to communicate data from the first end-user device to the second end-user device; and (vii) using the selected routing protocol, communicating data from the application on the first end-user device, to the second end-user devices, over the identified network pathway, using the virtualized network capabilities of the virtual machine.
-
Specification