Custom routing decisions
First Claim
1. A routing system for determining a routing path for network data packets through a substrate network associated with a virtual network having virtual components, the routing system comprising:
- a computing interface for receiving user-specified characteristics of virtual routes of a virtual network; and
a route manager comprising one or more computing devices, the route manager configured to;
obtain a user-specified virtual route characteristic from the computing interface, the user-specified virtual route characteristic associated with a virtual route identifying one or more virtual components of the virtual network;
associate the user-specified virtual route characteristic with at least one computing node, wherein the at least one computing node is configured to simulate a virtual component identified in the virtual route;
generate a substrate routing table based at least partly on a topology of the substrate network and the user-specified virtual route characteristic associated with the at least one computing node, the substrate routing table comprising one or more substrate network addresses, the substrate routing table identifying routes through the substrate network;
generate one or more forwarding entries for the one or more nodes of the substrate network, the one or more forwarding entries reflecting a substrate route corresponding to an identified route in the substrate routing table; and
communicate the one or more forwarding entries to the at least one computing node.
1 Assignment
0 Petitions
Accused Products
Abstract
With the advent of virtualization technologies, networks and routing for those networks can now be simulated using commodity hardware rather than actual routers. For example, virtualization technologies such as those provided by VMWare, XEN, or User-Mode Linux can be adapted to allow a single physical computing machine to be shared among multiple virtual networks by providing each virtual network user with one or more virtual machines hosted by the single physical computing machine, with each such virtual machine being a software simulation acting as a distinct logical computing system that provides users with the illusion that they are the sole operators and administrators of a given hardware computing resource. In addition, routing can be accomplished through software, providing additional routing flexibility to the virtual network in comparison with traditional routing. As a result, in some implementations, supplemental information other than packet information can be used to determine network routing.
77 Citations
28 Claims
-
1. A routing system for determining a routing path for network data packets through a substrate network associated with a virtual network having virtual components, the routing system comprising:
-
a computing interface for receiving user-specified characteristics of virtual routes of a virtual network; and a route manager comprising one or more computing devices, the route manager configured to; obtain a user-specified virtual route characteristic from the computing interface, the user-specified virtual route characteristic associated with a virtual route identifying one or more virtual components of the virtual network; associate the user-specified virtual route characteristic with at least one computing node, wherein the at least one computing node is configured to simulate a virtual component identified in the virtual route; generate a substrate routing table based at least partly on a topology of the substrate network and the user-specified virtual route characteristic associated with the at least one computing node, the substrate routing table comprising one or more substrate network addresses, the substrate routing table identifying routes through the substrate network; generate one or more forwarding entries for the one or more nodes of the substrate network, the one or more forwarding entries reflecting a substrate route corresponding to an identified route in the substrate routing table; and communicate the one or more forwarding entries to the at least one computing node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method for determining a routing path for network data packets through a substrate network associated with an overlay network, the method comprising:
by a computing system that comprises one or more computing devices; in a substrate network comprising a plurality of nodes and an overlay network at least partially simulated by the substrate network, receiving network configuration data specified by a user associated with the overlay network, the network configuration data supplementary to data included in network data packets, the network configuration data specifying an overlay network characteristic that affects routing behavior of one or more overlay network components; in response to receiving the network configuration data, automatically associating the network configuration data with one or more substrate nodes associated with the one or more overlay network components; and adjusting routing in the substrate network based at least in part on the network configuration data associated with the one or more substrate nodes. - View Dependent Claims (16)
-
17. A computer-implemented method for determining a routing path for network data packets through a substrate network associated with a virtual network, the method comprising:
by a computing system that comprises one or more computing devices; receiving network configuration data supplementary to data included in network data packets from one of a plurality of virtual network customers, the network configuration data comprising a characteristic of one or more virtual components of the virtual network; and in response to receiving the network configuration data, automatically; associating components of the virtual network with one or more nodes of a substrate network, the one or more nodes of the substrate network capable of simulating the operation of one or more components of the virtual network; associating the network configuration data with the one or more substrate nodes associated with the one or more virtual components of the virtual network; and generating substrate routes through the substrate network at least partially based on the network configuration data associated with the substrate nodes. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
24. Non-transitory computer-readable storage medium having stored thereon instructions that, when executed, direct a computing system to:
-
receive a user-specified characteristic of a virtual route from one of a plurality of virtual network users, the user-specified characteristic identifying a source and a destination component of a virtual network, the virtual network associated with a substrate network; associate the user-specified characteristic of the virtual route with at least a first substrate node associated with the source virtual component; identify a substrate route from the first substrate node to a second substrate node, the substrate route at least partially based on the user-specified characteristic associated with the first substrate node; and generate a control message for the first substrate node, the control message configured to direct network packets associated with traffic from the source component to the destination component through the substrate route from the first node to the second node. - View Dependent Claims (25, 26, 27, 28)
-
Specification