Scheduled network layer programming within a multi-topology computer network
First Claim
1. A method comprising:
- receiving, by a multi-topology path computation element, topology information for a base network layer of a multi-topology network that comprises the base network layer having a plurality of network switches interconnected by base network layer three (L3) links in a base network topology and also comprises an overlay network layer having a plurality of overlay switches interconnected by overlay network links in an overlay network topology, wherein each of the overlay network links represents a path through the base network connecting two of the overlay switches;
receiving, by the multi-topology path computation element, topology information for the overlay network layer;
receiving, by the multi-topology path computation element, a path request that requests a path to be established between two endpoints;
in response to receiving the path request, and using the topology information for the base network layer and the topology information for the overlay network layer, computing, by the multi-topology path computation element, two disjoint subgraphs of the overlay network layer that are unconnected by an overlay network link, wherein a first one of the endpoints is reachable by a first one of the two disjoint subgraphs and a second one of the endpoints is reachable by a second one of the two disjoint subgraphs;
computing, by the multi-topology path computation element, a base network layer path through the base network layer that connects the two disjoint subgraphs, wherein a first network switch of the network switches is an ingress network switch for the base network layer path;
establishing, by the multi-topology path computation element, a communication session with the first network switch;
directing, by the multi-topology path computation element using the communication session, the first network switch to establish a tunnel connecting the two disjoint subgraphs over the base network layer path;
storing a new overlay network link for the tunnel to the topology information for the overlay network layer,computing, by the multi-topology path computation element and using the topology information for the overlay network layer, a computed path to carry traffic between the two endpoints through the overlay network layer, wherein at least a portion of the computed path traverses the new overlay network link.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, techniques are described for dynamically scheduling and establishing paths in a multi-layer, multi-topology network to provide dynamic network resource allocation and support packet flow steering along paths prescribed at any layer or combination of layers of the network. In one example, a multi-topology path computation element (PCE) accepts requests from client applications for dedicated paths. The PCE receives topology information from network devices and attempts to identify paths through a layer or combination of layers of the network that can be established at the requested time in view of the specifications requested for the dedicated paths and the anticipated bandwidth/capacity available in the network. The PCE schedules the identified paths through the one or more layers of the network to carry traffic for the requested paths. At the scheduled times, the PCE programs path forwarding information into network nodes to establish the scheduled paths.
163 Citations
27 Claims
-
1. A method comprising:
-
receiving, by a multi-topology path computation element, topology information for a base network layer of a multi-topology network that comprises the base network layer having a plurality of network switches interconnected by base network layer three (L3) links in a base network topology and also comprises an overlay network layer having a plurality of overlay switches interconnected by overlay network links in an overlay network topology, wherein each of the overlay network links represents a path through the base network connecting two of the overlay switches; receiving, by the multi-topology path computation element, topology information for the overlay network layer; receiving, by the multi-topology path computation element, a path request that requests a path to be established between two endpoints; in response to receiving the path request, and using the topology information for the base network layer and the topology information for the overlay network layer, computing, by the multi-topology path computation element, two disjoint subgraphs of the overlay network layer that are unconnected by an overlay network link, wherein a first one of the endpoints is reachable by a first one of the two disjoint subgraphs and a second one of the endpoints is reachable by a second one of the two disjoint subgraphs; computing, by the multi-topology path computation element, a base network layer path through the base network layer that connects the two disjoint subgraphs, wherein a first network switch of the network switches is an ingress network switch for the base network layer path; establishing, by the multi-topology path computation element, a communication session with the first network switch; directing, by the multi-topology path computation element using the communication session, the first network switch to establish a tunnel connecting the two disjoint subgraphs over the base network layer path; storing a new overlay network link for the tunnel to the topology information for the overlay network layer, computing, by the multi-topology path computation element and using the topology information for the overlay network layer, a computed path to carry traffic between the two endpoints through the overlay network layer, wherein at least a portion of the computed path traverses the new overlay network link. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 26, 27)
-
-
13. A multi-topology path computation element comprising:
-
a multi-topology traffic engineering database to store topology information for a base network layer of a multi-topology network that comprises a plurality of network switches interconnected by base network layer three (L3) links in a base network topology and to store topology information for an overlay network layer of the multi-topology network that comprises a plurality of overlay switches interconnected by overlay network links in an overlay network topology, wherein each of the overlay network links represents a path through the base network connecting two of the overlay switches; a topology server interface to receive topology information for the base network layer; an overlay controller interface to receive topology information for the overlay network layer; a client interface to receive a path request that requests a path to be established between two endpoints, wherein the path request specifies the two endpoints; a service path engine to compute, in response to receiving the path request, and using the topology information for the base network layer and the topology information for the overlay network layer, two disjoint subgraphs of the overlay network layer that are unconnected by an overlay network link, wherein a first one of the endpoints is reachable by a first one of the two disjoint subgraphs and a second one of the endpoints is reachable by a second one of the two disjoint subgraphs, wherein the service path engine computes a base network layer path through the base network layer that connects the two disjoint subgraphs, wherein a first network switch of the network switches is an ingress network switch for the base network layer path; a network switch interface to establish a communication session with the first network switch; a tunnel manager to, using the communication session, direct the first network switch to establish a tunnel connecting the two disjoint subgraphs over the base network layer path and store a new overlay network link for the tunnel to the topology information for the overlay network layer, wherein the service path engine computes a computed path to carry traffic between the two endpoints through the overlay network layer using the topology information for the overlay network layer, wherein at least a portion of the computed path traverses the new overlay network link. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer-readable medium comprising instructions for causing one or more programmable processors to:
-
receive, by a multi-topology path computation element, topology information for a base network layer of a multi-topology network that comprises the base network layer having a plurality of network switches interconnected by base network layer three (L3) links in a base network topology and also comprises an overlay network layer having a plurality of overlay switches interconnected by overlay network links in an overlay network topology, wherein each of the overlay network links represents a path through the base network connecting two of the overlay switches; receive, by the multi-topology path computation element, topology information for the overlay network layer; receive, by the multi-topology path computation element, a path request that requests a path to be established between two endpoints, wherein the path request specifies the two endpoints; in response to receiving the path request, and using the topology information for the base network layer and the topology information for the overlay network layer, compute, by the multi-topology path computation element, two disjoint subgraphs of the overlay network layer that are unconnected by an overlay network link, wherein a first one of the endpoints is reachable by a first one of the two disjoint subgraphs and a second one of the endpoints is reachable by a second one of the two disjoint subgraphs; compute, by the multi-topology path computation element, a base network layer path through the base network layer that connects the two disjoint subgraphs, wherein a first network switch of the network switches is an ingress network switch for the base network layer path; establish, by the multi-topology path computation element, a communication session with the first network switch; direct, by the multi-topology path computation element using the communication session, the first network switch to establish a tunnel connecting the two disjoint subgraphs over the base network layer path; store a new overlay network link for the tunnel to the topology information for the overlay network layer, compute, by the multi-topology path computation element and using the topology information for the overlay network layer, a computed path to carry traffic between the two endpoints through the overlay network layer, wherein at least a portion of the computed path traverses the new overlay network link.
-
Specification