TRANSMITTING PACKET FROM DEVICE AFTER TIMEOUT IN NETWORK COMMUNICATIONS UTILIZING VIRTUAL NETWORK CONNECTION
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.
1 . A method of providing network communications, comprising:
(a) spawning a virtual machine that virtualizes network capabilities of the device such that a virtual network connection is provided;
(b) using the virtual network connection, transmitting a packet to a first node using a first routing protocol for communication to a destination device;
(c) 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
(d) upon expiration of the timer, transmitting the packet to a second node using a second routing protocol for communication to the destination device.
2 . The method of claim 1 , wherein the second routing protocol is different from the first routing protocol.
3 . The method of claim 1 , wherein the second node is different from the first node.
4 . The method of claim 1 , wherein the second routing protocol is different from the first routing protocol, and the second node is different from the first node.
5 . The method of claim 1 , wherein said step (d) comprises transmitting the packet to the second node using the virtual network connection with the second routing protocol.
6 . The method of claim 1 , wherein the virtual machine is spawned in response to a request for a network connection from an application running on the device.
7 . The method of claim 7 , wherein the application runs on the device outside of the virtual machine.
8 . The method of claim 7 , wherein the virtual machine is created by a monitor in response to a controller that is configured to intercept messages sent to a network adapter.
9 . The method of claim 1 , wherein the virtual machine encapsulates a single hardware network interface of the device.
10 . The method of claim 1 , wherein the virtual machine encapsulates a plurality of hardware network interfaces of the device.
11 . The method of claim 1 , wherein the device includes a plurality of processing cores.
12 . The method of claim 1 , wherein the application is a video game.
13 . The method of claim 1 , wherein the device is a personal computer.
14 . The method of claim 1 , wherein the device is a handheld mobile device.
15 . A method of providing network communications, comprising the steps of:
(a) spawning a first virtual machine that virtualizes network capabilities of the device such that a first virtual network connection is provided;
(b) using the first virtual network connection, transmitting a packet to a first node using a first routing protocol for communication to a destination device;
(c) setting a timer, the timer having a value corresponding to an amount of time greater than an average response time of the destination device;
(d) 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
(e) using the second virtual network connection, transmitting a packet to a second node using a second routing protocol for communication to the destination device.
16 . The method of claim 15 , wherein the second routing protocol is different from the first routing protocol, and wherein the second node is different from the first node.
17 . The method of claim 15 , wherein the first virtual machine is spawned in response to a request for a network connection from an application running on the device.
18 . The method of claim 17 , wherein the application runs on the device outside of the first virtual machine.
19 . The method of claim 17 , wherein the first virtual machine encapsulates a single hardware network interface of the device.
20 . 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) 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,
(ii) using the first virtual network connection, transmit a packet to a first node using a first routing protocol for communication to a destination device,
(iii) set a timer, the timer having a value corresponding to an amount of time greater than an average response time of the destination device, and
(iv) 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.