Network communications of application running on device utilizing virtual network connection and routing protocol based on application connection criteria
First Claim
1. A method of providing network communications using virtualization, comprising the steps of:
- (a) detecting, at a first device, a request for a network connection from an application running on the first device;
(b) spawning, at the first device in response to the request for a network connection, a first virtual machine instance that runs on the first device and that virtualizes network capabilities of the first device such that a first virtual network connection is provided;
(c) querying an application interface to determine application-specific connection criteria associated with the application;
(d) using the application-specific connection criteria associated with the application, selecting, at the first device, a routing protocol from among a plurality of available routing protocols for communicating data from the application over a network using the first virtual network connection; and
(e) using the selected routing protocol of said step (d), communicating data from the application over the network in a plurality of packets to a destination device, the method involving, for each packet,(i) transmitting, from the first device using the first virtual network connection and the selected routing protocol, the packet for communication to the destination device,(ii) receiving, at networking hardware of a second device, the packet,(iii) intercepting, by a second virtual machine instance that runs on the second device and that virtualizes network capabilities of the second device such that a second virtual network connection is provided, the packet as it is passed from the networking hardware of the second device,(iv) selecting, at the second device based on the selected routing protocol, a next node to transmit the packet to,(v) transmitting, from the second device using the second virtual network connection, the packet for communication to the destination device, and(vi) receiving, at a third virtual machine instance that runs on the destination device and that virtualizes network capabilities of the destination device, the packet;
(f) wherein the application runs outside of the first virtual machine instance.
7 Assignments
0 Petitions
Accused Products
Abstract
A method of providing network communications using virtualization includes steps of creating a virtual machine instance that runs on a device and that virtualizes network capabilities of the device such that a virtual network connection is provided, detecting a request for a network connection from an application running on the device, determining application-specific information associated with the application, using the application-specific information associated with the application, selecting a routing protocol from among a plurality of available routing protocols for communicating data from the application over a network using the virtual network connection, and, using the selected routing protocol, communicating data from the application over the network to a device using the virtual network connection of the virtual machine instance.
108 Citations
16 Claims
-
1. A method of providing network communications using virtualization, comprising the steps of:
-
(a) detecting, at a first device, a request for a network connection from an application running on the first device; (b) spawning, at the first device in response to the request for a network connection, a first virtual machine instance that runs on the first device and that virtualizes network capabilities of the first device such that a first virtual network connection is provided; (c) querying an application interface to determine application-specific connection criteria associated with the application; (d) using the application-specific connection criteria associated with the application, selecting, at the first device, a routing protocol from among a plurality of available routing protocols for communicating data from the application over a network using the first virtual network connection; and (e) using the selected routing protocol of said step (d), communicating data from the application over the network in a plurality of packets to a destination device, the method involving, for each packet, (i) transmitting, from the first device using the first virtual network connection and the selected routing protocol, the packet for communication to the destination device, (ii) receiving, at networking hardware of a second device, the packet, (iii) intercepting, by a second virtual machine instance that runs on the second device and that virtualizes network capabilities of the second device such that a second virtual network connection is provided, the packet as it is passed from the networking hardware of the second device, (iv) selecting, at the second device based on the selected routing protocol, a next node to transmit the packet to, (v) transmitting, from the second device using the second virtual network connection, the packet for communication to the destination device, and (vi) receiving, at a third virtual machine instance that runs on the destination device and that virtualizes network capabilities of the destination device, the packet; (f) wherein the application runs outside of the first virtual machine instance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of providing network communications using virtualization, comprising the steps of:
-
(a) intercepting, by a controller loaded on a first device, a message for the network adapter that originated on the first device, the message being associated with an application running on the first device; (b) spawning, at the first device in response to the intercepting of the message for the network adapter, a first virtual machine instance that runs on the first device and that virtualizes network capabilities of the first device such that a first virtual network connection is provided; (c) querying an application interface to determine application-specific connection criteria associated with the application; (d) using the application-specific connection criteria associated with the application, selecting, at the first device, a routing protocol from among a plurality of available routing protocols for communicating data from the application over a network using the first virtual network connection; and (e) using the selected routing protocol of said step (d), communicating data from the application over the network in a plurality of packets to a destination device, the method involving, for each packet, (i) transmitting, from the first device using the first virtual network connection and the selected routing protocol, the packet for communication to the destination device, (ii) receiving, at networking hardware of a second device, the packet, (iii) intercepting, by a second virtual machine instance that runs on the second device and that virtualizes network capabilities of the second device such that a second virtual network connection is provided, the packet as it is passed from the networking hardware of the second device, (iv) selecting, at the second device based on the selected routing protocol, a next node to transmit the packet to, (v) transmitting, from the second device using the second virtual network connection, the packet for communication to the destination device, and (vi) receiving, at a third virtual machine instance that runs on the destination device and that virtualizes network capabilities of the destination device, the packet; (f) wherein the application runs outside of the first virtual machine instance.
-
Specification