Patent ID: 9350794
Filing Date: 2016-05-24
CPC Classification: H04L

Claim Text:
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.