Patent ID: 9167025
Filing Date: 2015-10-20
Classification: H04L

Abstract:
1. A method of providing network communications using virtualization, comprising the steps of: (a) detecting, at a first device, a plurality of requests for network connections and, for each respective request, spawning, in response thereto, a respective virtual machine that virtualizes network capabilities of the first device such that a respective virtual network connection is provided; (b) detecting, at the first device, a request for a network connection from an application running on the first device; (c) 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; (d) selecting, at the first device, a 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; (e) determining, at the first device, a first node for a path to a destination device over which to communicate data from the application using the first virtual network connection, said determination being based on the selected routing protocol and network information stored at the first device; (f) spawning, at the second device representing the first node, a second virtual machine that virtualizes network capabilities of the second device such that a second virtual network connection is provided; (g) determining, at the second device, a second node for the path to the destination device over which to communicate data from the application using the first virtual network connection, said determination being based on the selected routing protocol and network information stored at the second device; (h) using the selected routing protocol, communicating data from the application in a plurality of packets to the destination device, the method involving, for each packet,