8848704

Facilitating Network Routing Using Virtualization

PublishedSeptember 30, 2014
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method of facilitating network routing 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 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 plurality of packets 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 plurality of packets to a second device corresponding to the first intermediate node for communication to a destination node, the packets including (i) an indication of the destination node, and (ii) an indication of 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, one of the packets transmitted by the first device; (i) loading, at the second device, information from the packet into memory of the second device; (j) appending, at the second device, to a payload of the packet, information associated with the second device; (k) determining, at the second device, a second intermediate node to transmit the packet to, the determination being based on (i) the indication of the destination node contained in the packet, (ii) the indication of the routing protocol contained in the packet, and (iii) a routing table maintained at the second device; and (l) transmitting, from the second device using the second virtual network connection, the packet to a third device corresponding to the second intermediate node for communication to the destination node; (m) wherein the application runs outside of the first virtual machine.

Plain English Translation

A method for network routing using virtualization involves the following steps: A device detects a network connection request from an application. In response, it spawns a virtual machine to virtualize its network capabilities, creating a virtual network connection. Application-specific information is determined, and a routing protocol is selected from available options. Based on the selected protocol and a routing table, an intermediate node is chosen. The device transmits packets to this node, including destination and routing protocol indications. The intermediate node spawns its own virtual machine, receives the packet, loads information, appends its own information to the packet payload, determines the next intermediate node based on destination, routing protocol, and its routing table, and forwards the packet. The application runs outside the virtual machine.

Claim 2

Original Legal Text

2. The method of claim 1 , wherein the indication of the routing protocol contained in the packet is contained in the payload of the packet.

Plain English Translation

The method for network routing using virtualization described previously, where a device detects a network connection request from an application, spawns a virtual machine, selects a routing protocol, transmits packets including destination and routing protocol indications to an intermediate node which then spawns its own VM and forwards the packet, includes the detail that the routing protocol information within the packet is placed specifically within the packet's payload.

Claim 3

Original Legal Text

3. The method of claim 1 , wherein said step of appending, to the payload of the packet, information associated with the second device comprises utilizing application specific knowledge to select information for appending tailored to the needs of a specific application.

Plain English Translation

In the method for network routing using virtualization, as previously described involving virtual machines and routing protocols, the step of appending information associated with the second device to the payload of the packet involves using application-specific knowledge to select information for appending that is tailored to the specific needs of the application transmitting the data.

Claim 4

Original Legal Text

4. The method of claim 1 , wherein the method further comprises a step of determining, based on application information in the payload of the packet received at the second device via the virtual machine, an originating application associated with the packet.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, and appends information to the packet payload, further includes determining the originating application associated with a packet based on application information found within the payload when the packet is received at the second device via the virtual machine.

Claim 5

Original Legal Text

5. The method of claim 1 , wherein the plurality of available routing protocols includes the Interior Gateway Routing Protocol (IGRP), the Enhanced Interior Gateway Routing Protocol (EIGRP), the Border Gateway Protocol (BGP), and the Constrained Shortest Path First (CSPF) protocol.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, and selects a routing protocol, includes a selection of available routing protocols that consists of the Interior Gateway Routing Protocol (IGRP), the Enhanced Interior Gateway Routing Protocol (EIGRP), the Border Gateway Protocol (BGP), and the Constrained Shortest Path First (CSPF) protocol.

Claim 6

Original Legal Text

6. The method of claim 1 , wherein the second device comprises a computer.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, includes the detail that the second device, which receives and forwards network packets, is a computer.

Claim 7

Original Legal Text

7. The method of claim 1 , wherein the second device comprises a mobile phone.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, includes the detail that the second device, which receives and forwards network packets, is a mobile phone.

Claim 8

Original Legal Text

8. The method of claim 1 , wherein the method further comprises storing, at the second device, network information from the packet in a computer readable medium.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, further includes storing network information extracted from the received packet into a computer readable medium (e.g., hard drive, SSD, memory) at the second device.

Claim 9

Original Legal Text

9. The method of claim 1 , wherein the method further comprises updating, at the second device, the routing table maintained at the second device based on network data from the packet.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, further includes updating the routing table maintained at the second device based on the network data extracted from the received packet.

Claim 10

Original Legal Text

10. A method of facilitating network routing 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 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 plurality of packets 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 plurality of packets to a second device corresponding to the first intermediate node for communication to a destination node, the packets including (i) an indication of the destination node, and (ii) an indication of 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, one of the packets transmitted by the first device; (i) loading, at the second device, information from the packet into memory of the second device; (j) appending, at the second device, to a payload of the packet, information associated with the second device; (k) selecting, at the second device based on the indication of the application contained in the packet, a second routing protocol from among a plurality of available routing protocols for communicating data over the network using the second virtual network connection; (l) determining, at the second device, a second intermediate node to transmit the packet to, the determination being based on (i) the indication of the destination node contained in the packet, (ii) the selected second routing protocol, and (iii) a routing table maintained at the second device; and (m) transmitting, from the second device using the second virtual network connection, the packet to a third device corresponding to the second intermediate node for communication to the destination node; (n) wherein the application runs outside of the first virtual machine.

Plain English Translation

A method for network routing using virtualization: A device detects a network connection request from an application. It spawns a virtual machine to virtualize network capabilities. Application-specific information is determined and used to select a routing protocol. An intermediate node is determined based on the selected protocol and a routing table. The device sends packets to this node, including destination and routing protocol indications. The intermediate node spawns a virtual machine, receives the packet, loads information, appends its information, and selects a *second* routing protocol based on the application indicated in the packet. A new intermediate node is determined based on destination, the *second* routing protocol, and the intermediate node's routing table. The packet is transmitted to the next node. The application runs outside of the virtual machine.

Claim 11

Original Legal Text

11. The method of claim 10 , wherein the first routing protocol is the same routing protocol as the second routing protocol.

Plain English Translation

The method of network routing with virtualization described previously, where the second device selects a second routing protocol based on the application, uses the same routing protocol at the first device. In other words, the routing protocols are identical.

Claim 12

Original Legal Text

12. The method of claim 10 , wherein the first routing protocol is a different routing protocol than the second routing protocol.

Plain English Translation

The method of network routing with virtualization described previously, where the second device selects a second routing protocol based on the application, uses a different routing protocol at the first device.

Claim 13

Original Legal Text

13. The method of claim 10 , wherein said step of appending, to the payload of the packet, information associated with the second device comprises utilizing the indication of the application contained in the packet to select information for appending tailored to the needs of a specific application.

Plain English Translation

In the method for network routing using virtualization, as previously described involving virtual machines, routing protocols, and selection based on application, the step of appending information associated with the second device to the payload of the packet uses the indication of the application contained in the packet to select the information for appending that is specifically tailored to the application's needs.

Claim 14

Original Legal Text

14. The method of claim 10 , wherein the plurality of available routing protocols includes the Interior Gateway Routing Protocol (IGRP), the Enhanced Interior Gateway Routing Protocol (EIGRP), the Border Gateway Protocol (BGP), and the Constrained Shortest Path First (CSPF) protocol.

Plain English Translation

The method of network routing with virtualization described previously, where the second device selects a second routing protocol based on the application, provides a selection of available routing protocols that consists of the Interior Gateway Routing Protocol (IGRP), the Enhanced Interior Gateway Routing Protocol (EIGRP), the Border Gateway Protocol (BGP), and the Constrained Shortest Path First (CSPF) protocol.

Claim 15

Original Legal Text

15. The method of claim 10 , wherein the second device comprises a computer.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, includes the detail that the second device, which receives and forwards network packets, is a computer.

Claim 16

Original Legal Text

16. The method of claim 15 , wherein the computer includes a plurality of processing cores.

Plain English Translation

The method for network routing using virtualization described previously, where the second device is a computer, specifies that this computer includes multiple processing cores.

Claim 17

Original Legal Text

17. The method of claim 10 , wherein the second device comprises a mobile phone.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, includes the detail that the second device, which receives and forwards network packets, is a mobile phone.

Claim 18

Original Legal Text

18. The method of claim 10 , wherein the method further comprises storing, at the second device, network information from the packet in a computer readable medium.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, further includes storing network information extracted from the received packet into a computer readable medium (e.g., hard drive, SSD, memory) at the second device.

Claim 19

Original Legal Text

19. The method of claim 1 , wherein the method further comprises updating, at the second device, the routing table maintained at the second device based on network data from the packet.

Plain English Translation

The method for network routing using virtualization as previously described, where a device detects a network connection request from an application, spawns virtual machines to handle routing, further includes updating the routing table maintained at the second device based on the network data extracted from the received packet.

Claim 20

Original Legal Text

20. A method of facilitating network routing 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 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 first 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 plurality of packets to, the determination being based on (i) the selected first 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 plurality of packets to a second device corresponding to the first intermediate node for communication to a first destination node, the packets including (i) an indication of the first destination node, and (ii) an indication of the selected first routing protocol; (g) spawning, at the first device, a second virtual machine that runs on the first device and that virtualizes network capabilities of the first device such that a second virtual network connection is provided; (h) receiving, at the first device via the second virtual network connection that virtualizes network capabilities of the first device, a first packet transmitted by a second device, the first packet containing; (i) an indication of a second destination, and (ii) an indication of a second routing protocol; (i) loading, at the first device, information from the first packet into memory of the first device; (j) appending, at the first device, to a payload of the first packet, information associated with the first device; (k) determining, at the second device, a second intermediate node to transmit the packet to, the determination being based on (i) the indication of the second destination node contained in the first packet, (ii) the indication of the second routing protocol contained in the first packet, and (iii) the routing table maintained at the first device; (l) transmitting, from the first device using the second virtual network connection, the packet to a third device corresponding to the second intermediate node for communication to the second destination node; (m) spawning, at the first device, a third virtual machine that runs on the first device and that virtualizes network capabilities of the first device such that a third virtual network connection is provided; (n) receiving, at the first device via the third virtual network connection that virtualizes network capabilities of the first device, a second packet transmitted by a fourth device, the first packet containing (i) an indication of a third destination node, and (ii) an indication of a third routing protocol; (o) loading, at the first device, information from the second packet into memory of the first device; (p) appending, at the first device, to a payload of the second packet, information associated with the first device; (q) determining, at the first device, a third intermediate node to transmit the packet to, the determination being based on (i) the indication of the third destination node contained in the second packet, (ii) the indication of the third routing protocol contained in the second packet, and (iii) the routing table maintained at the first device; and (r) transmitting, from the first device using the third virtual network connection, the packet to a fifth device corresponding to the third intermediate node for communication to the third destination node; (s) wherein the application runs outside of the first virtual machine.

Plain English Translation

A method for network routing using virtualization on a single device: a first application triggers the creation of a first virtual machine handling a first connection using a first routing protocol to a first destination, all in one device. Separately, a *second* packet arrives from an external second device (destined elsewhere) which also triggers the creation of a *second* virtual machine on the *same* first device. The first device appends data to that second packet and forwards it based on a second routing protocol. Furthermore, this entire process is then repeated again with a *third* packet triggering a *third* virtual machine connection destined elsewhere with its own routing protocol, handled concurrently all on the original first device. The application runs outside of the virtual machine.

Patent Metadata

Filing Date

Unknown

Publication Date

September 30, 2014

Inventors

Robert W. Twitchell

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “FACILITATING NETWORK ROUTING USING VIRTUALIZATION” (8848704). https://patentable.app/patents/8848704

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/8848704. See llms.txt for full attribution policy.