Transmitting packet from device after timeout in network communications utilizing virtual network connection
First Claim
Patent Images
1. A method of providing network communications, comprising:
- (a) detecting, at a device, a request for a network connection from an application running on the device;
(b) spawning a virtual machine that virtualizes network capabilities of the device such that a virtual network connection is provided;
(c) determining application-specific information associated with the application;
(d) using the application-specific information, selecting, at the device, a first routing protocol from among a plurality of routing protocols for communicating data from the application using the virtual network connection;
(e) using the virtual network connection, transmitting a packet to a first node using the first routing protocol for communication to a destination device;
(f) determining an average response time of the destination device;
(g) setting a timer to have a value corresponding to an amount of time greater than the determined average response time of the destination device; and
(h) upon expiration of the timer, transmitting the packet to a second node using a second routing protocol for communication to the destination device;
(i) wherein the application runs on the device outside of the virtual machine.
7 Assignments
0 Petitions
Accused Products
Abstract
A method of providing network communications includes spawning a virtual machine that virtualizes network capabilities of the device such that a virtual network connection is provided; using the virtual network connection, transmitting a packet to a first node using a first routing protocol for communication to a destination device; setting a timer, the timer having a value corresponding to an amount of time greater than an average response time of the destination device; and, upon expiration of the timer, transmitting the packet to a second node using a second routing protocol for communication to the destination device.
158 Citations
16 Claims
-
1. A method of providing network communications, comprising:
-
(a) detecting, at a device, a request for a network connection from an application running on the device; (b) spawning a virtual machine that virtualizes network capabilities of the device such that a virtual network connection is provided; (c) determining application-specific information associated with the application; (d) using the application-specific information, selecting, at the device, a first routing protocol from among a plurality of routing protocols for communicating data from the application using the virtual network connection; (e) using the virtual network connection, transmitting a packet to a first node using the first routing protocol for communication to a destination device; (f) determining an average response time of the destination device; (g) setting a timer to have a value corresponding to an amount of time greater than the determined average response time of the destination device; and (h) upon expiration of the timer, transmitting the packet to a second node using a second routing protocol for communication to the destination device; (i) wherein the application runs on the device outside of the virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of providing network communications, comprising the steps of:
-
(a) detecting, at a device, a request for a network connection from an application running on the device; (b) spawning a first virtual machine that virtualizes network capabilities of the device such that a first virtual network connection is provided; (c) determining application-specific information associated with the application; (d) using the application-specific information, selecting, at the device, a first routing protocol from among a plurality of routing protocols for communicating data from the application using the first virtual network connection; (e) using the first virtual network connection, transmitting a packet to a first node using the first routing protocol for communication to a destination device; (f) determining an average response time of the destination device; (g) setting a timer to have a value corresponding to an amount of time greater than the determined average response time of the destination device; (h) upon expiration of the timer, spawning a second virtual machine that virtualizes network capabilities of the device such that a second virtual network connection is provided; and (i) using the second virtual network connection, transmitting a packet to a second node using a second routing protocol for communication to the destination device; (j) wherein the application runs on the device outside of the first and second virtual machines. - View Dependent Claims (14, 15)
-
-
16. A device comprising:
-
(a) a processor; (b) one or more network adapters providing network capabilities; (c) one or more computer readable media containing computer executable instructions configured to; (i) detect, at the device, a request for a network connection from an application running on the device, (ii) spawn a first virtual machine that virtualizes network capabilities of the one or more network adapters of the device such that a first virtual network connection is provided, (iii) determine application-specific information associated with the application, (iv) using the application-specific information, select, at the device, a first routing protocol from among a plurality of routing protocols for communicating data from the application using the first virtual network connection, (v) using the first virtual network connection, transmit a packet to a first node using a first routing protocol for communication to a destination device, (vi) determine an average response time of the destination device, (vii) set a timer to have a value corresponding to an amount of time greater than the determined average response time of the destination device, and (viii) upon expiration of the timer, transmit the packet to a second, different node using the first virtual network connection with a second routing protocol for communication to the destination device, (ix) wherein the application runs on the device outside of the first virtual machine.
-
Specification