1. Field of the Invention
The present invention relates to automatically finding paths in a network. In particular, the present invention relates to optimizing an automatic path generation algorithm in a computer network.
2. Discussion of the Related Art
The Automatic Path Generation (APG) algorithm computes paths between a source node and a destination node in a computer network, subject to a set of constraints, while minimizing the hops between the source node and the destination node. In a computer network, a hop count captures the network cost, as it measures the number of links over which network resources are used. If fewer links are used, the amount of bandwidth that is allocated for the path is lesser, resulting in a more efficient bandwidth usage in the entire network.
Under the APG algorithm, an exhaustive breadth-first search is used to evaluate paths between the source node and the destination node. Beginning with the source node as the current node, each node that is connected to the source node is identified as nodes having a hop count of one. Each identified node with a hop count of one is assigned in turn as a current node to repeat this procedure to identify nodes that are connected to it by a link. These nodes that are now two hops away from the source node are nodes with a hop count of two. This procedure is repeated iteratively in the same manner for nodes of successively greater hop counts. At every step, if the current node is the destination node, if it is a node that is already identified in a previously step, or if the hop count equals to a specified maximum, evaluation is complete as to that current node. Where more than a simple hop count is used as a cost of the path, the cost associated with each link in a path can be evaluated according to a set of constraints. Some typical constraints are the available bandwidth in the link and the estimated utilization of that bandwidth at the time of evaluation. Suitable algorithms for constrained path evaluation include the Dijstra algorithm (See, E. W. Dijkstra, “A note on two problems in connection with graphs,” Numerische Mathematik 1 (1959), 269-271.) and any of the radius based algorithms. In this manner, a set of paths, including the shortest path (i.e., the path with the least cost), may be identified. These algorithms can be used in conjunction with numerous network services, such as private virtual network (VPN) and multi-protocol label switching (MPLS) services.
The APG algorithm performs favorably for a medium size network (i.e., a network with less than 1000 nodes). However, as the algorithm does not take into account the placement or location of a given node in the network, as the number of nodes increases, both the complexity of the computation and the storage required for applying the algorithm to the network increase exponentially.
Thus, an optimized APG algorithm suitable for use in larger networks is desired.
The present invention provides a method and a system organized to optimize the performance of an automatic path generation algorithm on a computer network. According to one embodiment of the present invention, the system may include routers in the computer network configured into regions according to geographical locations, with one or more routers in each region being designated inter-region router or routers. The inter-region routers each have an interface with a router of another region. The inter-region routers may be organized to be interconnected in a highly redundant manner (e.g., a full mesh) to ensure connectivity among the regions. Within such a network, when a path is required between routers in different regions, a processor applies the automatic path generation algorithm independently to: (a) the network segment in the region of the source router to generate a first set of paths, (b) the network segment of the inter-region routers to generate a second set of paths; and (c) the network segment of the destination router to generate a third set of paths, These set of paths are then combined to provide a set of paths between the source and destination routers.
According to one embodiment of the present invention, each router within each region may be further assigned a numerical rank indicative of a distance between the router and an inter-region router within the same region. The numerical rank may be related, for example, to a hop count between the router and an inter-region router. In such a system, when a path is required between routers of the same region, the automatic path generation algorithm may be applied on a network segment pruned to include only routers with a rank greater than or equal to a predetermined numerical rank. One choice of such a network segment excludes the inter-region routers. Such a network segment may be organized topologically as a tree.
The present invention is applicable to an autonomous system with “backbone” connectivity for a wide area computer network and edge routers to which customer equipment may connect.
According to one embodiment of the present invention, the automatic path generation algorithm may include a path evaluation algorithm based on cost constraints, such as bandwidth availability or utilization factor.
The present invention is better understood upon consideration of the detailed description below and the accompanying drawings.
The present invention takes advantage of favorable performance of the APG algorithm in medium size networks by dividing a large network into smaller network segments each of a size that the APG algorithm can be independently and favorably applied.
In many networks, such as the autonomous systems of service providers having “backbone” connectivity, the network may be implemented topologically as a hierarchy. At the top of the hierarchy are highly redundant core switches or routers, which haul the traffic between geographically disparate areas. One implementation divides the network into geographical regions (e.g., the network is divided into North America, Europe, Asia and other regions), with the regions interconnected with each other in a highly redundant, fully meshed fashion, so that no region would become an island due to the failures of a few links.
In
According to one embodiment of the present invention, when a set of paths is required between a source node and a destination node, path evaluation is carried out according to the region assignments of the source and destination nodes. If the source node and the destination node belong to different regions, the APG algorithm is applied to each of the following network segments: (a) between the source node and the IR router or routers in the same region as the source node; (b) among the IR routers interfaced with the regions of the source and destination nodes; and (c) between the destination node and the IR router or routers of the same region as the destination node. Thus, for example, the total number of paths between source node 105 and destination node 108 is the product of S1, S2, and S3, where S1, S2, and S3 are, respectively, the number of paths discovered in network segments (a) between source PE router 105 and IR router 101, (b) between IR router 101 and IR router 102 and (c) between IR router 102 and destination router 108. Of course, within each network segment, any suitable kind of path evaluation algorithms may be used (e.g., Dijkstra, or any of the radius-based algorithms), and different network segments may use different evaluation algorithms, if appropriate. These algorithms can be used to support numerous services, such as VPN and MPLS services. Further, the APG algorithms can be applied to each network segment independently and in a distributed fashion (i.e., each network segment can be evaluated on a separate processor), and the results are combined to identify the individual paths.
When evaluating paths between two routers belonging to the same region, the applicable network segment may be bounded by the region of these routers (i.e., very infrequently can a more favorable path be found involving network segments outside of the region). One approach to further prune the search space for the APG algorithm is to involve only routers having a numerically higher rank in the search. For example, for a coarse calculation, it may be possible to involve all routers in the region. For a finer calculation, however, one may elect to include only routers having a rank numerically greater or equal to one (i.e., excluding the IR device) in the path evaluation. Restricting the network segment for application of the APG algorithm to routers having a rank that is an even higher numerical value will further reduce the network segment to which the APG algorithm is applied, and thus further optimize the performance of the APG algorithm.
The detailed description is provided to illustrate the specific embodiments of the present invention and is not intended to be limiting. Numerous modifications and variations within the scope of the invention are possible. The present invention is set forth in the following claims.