Patent ID: 8433818
Filing Date: 2013-04-30
Classification: H04L

Abstract:
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, a first virtual machine that virtualizes network capabilities of the first device such that a first virtual network connection is provided to the application, the application running external to the first virtual machine; (c) selecting, at the first device, a first routing protocol for the first virtual network connection from among a plurality of available routing protocols for communicating data using the first virtual network connection; (d) using the selected first routing protocol of said step (c), communicating data from the application in a plurality of packets to a destination device over a first network path, the method involving, for each packet, (e) determining that there has been a failure in communications over the first network path; (f) spawning, at the first device, a second virtual machine that virtualizes network capabilities of the first device such that a second virtual network connection is provided to the application, the application running external to the second virtual machine; (g) selecting, at the first device, a second routing protocol for the second network connection from among the plurality of available routing protocols for communicating data using the second virtual network connection; (h) using the selected second routing protocol of said step (f), communicating data from the application in a plurality of packets to the destination device, the method involving, for each packet, (i) wherein the selected first routing protocol of step (c) is different from the selected second routing protocol of step (f).