×

Providing network communications using virtualization based on protocol information in packet

  • US 9,059,975 B2
  • Filed: 09/23/2011
  • Issued: 06/16/2015
  • Est. Priority Date: 10/17/2007
  • Status: Active Grant
First Claim
Patent Images

1. A method of providing network communications, 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 in response to the request for a network connection, a first virtual machine that runs on the first device and that virtualizes network capabilities of the first 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 associated with the application, selecting, at the first device, a routing protocol from among a plurality of available routing protocols for communicating data from the application over a network using the first virtual network connection; and

    (e) determining, at the first device, a first intermediate node to transmit a packet to, the determination being based on(i) the selected routing protocol, and(ii) a routing table maintained at the first device;

    (f) transmitting, from the first device using the first virtual network connection, the packet to a second device corresponding to the first intermediate node for communication to a destination node, the packet including(i) an indication of the destination node, and(ii) protocol information corresponding to the selected routing protocol;

    (g) spawning, at the second device, a second virtual machine that runs on the second device and that virtualizes network capabilities of the second device such that a second virtual network connection is provided;

    (h) receiving, at the second device via the second virtual network connection that virtualizes network capabilities of the second device, the packet transmitted by the first device;

    (i) determining, at the second device, a third device to which to transmit the packet, said determination being informed by the protocol information contained in the packet; and

    (j) transmitting the packet to the third device using the second virtual network connection;

    (k) wherein the application runs outside of the first virtual machine.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×