Non-limiting embodiments of the invention will be described with reference to the following description of exemplary embodiments, in conjunction with the figures. The figures are generally not shown to scale and any sizes are only meant to be exemplary and not necessarily limiting. In the figures, identical structures, elements or parts that appear in more than one figure are preferably labeled with a same or similar number in all the figures in which they appear, in which:
The disclosed subject matter generally relates to protecting the traffic in a network against failures.
In exemplary embodiments of the disclosed subject matter, given a primary network used in normal operation mode to transfer information, a backup network is determined for the primary network wherein the backup network can reroute all affected traffic in the network if one or more links within the primary network fail. The backup network is defined as additional links to the links of the primary network, rather than as allocating parts of the capacity of the primary network for backup purposes. Upon a failure of any link of the primary network, the traffic on that link is rerouted through bypass paths which all belong to the backup network. The dedicated resources are thus allocated to links of the backup network, so these links can function when one or more failures are experienced by the primary network. The backup network comprises dedicated resources to be used exclusively for handling network failures in the primary network. The resources are allocated in advance when the network is configured. It is desired to construct a backup network which can cover up for a failure in any link of the primary network, with as little extra cost as possible.
In exemplary embodiments of the invention, determining a backup network for a given primary network is formulated as a network design problem with an objective of minimizing the total spare capacity of the backup network.
A network can be abstracted or modeled as a directed graph G=(V, E), wherein V is the set of nodes, or network element, and E is the set of edges or links between two network elements. In the case of computerized network, each node is preferably a computing platform such as a router, a server, a desktop computer, a laptop computer, or the like, and each edge is a communication channel between two nodes. The communication channel can be wired or wireless and can employ any known hardware or protocol. Each edge or link (i, j) connecting network elements i and j in the graph, is associated with at least one attribute, that is a capacity c(i, j) of the link (i,j).
Referring now to
Given a primary network G(V,E) with capacity ce for each link eεE. Let N=|V| and M=|E|. It is assumed that the network is represented by an undirected graph. However, the transition between a directed graph and an undirected graph is known in the art. Undirected graphs are preferably used to model various networks, for instance optical networks, in which adjacent nodes are usually connected by a pair of (identical) fibers carrying information in opposite directions.
An objective of some embodiments of the disclosed subject matter is to construct a backup network Gb(V,Eb) that can backup the traffic carried by all links in G(V,E). Therefore it is required to find a set of links wherein each link connect two nodes of V, i.e. Eb⊂V×V and backup capacities {ce
In an exemplary embodiment, design constraints, also referred to as design requirements, are considered in designing a backup network. Some exemplary design constraints relevant for efficient deployment of backup networks are described below.
In a first exemplary design constraint, each link in the primary network should be protected by a bypass path fully contained in the backup network, with a bounded hop-count. A bounded hop-count means that a limited number of nodes is to be visited along the path replacing the failed link. Limiting the hop-count on each bypass path is effective in meeting Quality of Service (QoS) requirements. Queuing delay in congested networks increases significantly with the number of hops, which should thus be limited. In addition, for example in optical networks, the signal quality is deteriorated as it travels over multiple hops.
Another exemplary design constraint relates to the topology of the resulting backup network. Such requirement restricts the backup network to be a sub-graph of the primary network, i.e. there will be no link between two nodes in the backup network, unless there was such link in the primary network. With this constraint, the physical construction of the backup network is easier, since the backup network is limited to the links of the primary network. When the backup network is indeed a sub-graph of the primary network, the duct systems that contain the physical equipment such as the communication cables of the primary network can be used to thread all equipment of the backup network, thus avoiding extra digging. Complying with this constraint enables a user to avoid hardware installation in access of the primary network. When the backup network is a sub-graph of the primary network, it is possible to make the initial bandwidth the sum of the normal capacity and the backup capacity, and allocate for backup purposes the relevant fraction of the bandwidth of each primary link for protection purposes. A backup link is generally used for protecting and passing traffic when a failure occurs in a link other than the primary link connecting the same endpoints as the backup link. Thus, the backup network is defined over the (available) primary network infrastructure and no hardware installation is required
Another exemplary design constraint relates to bounding the number of bypass paths that protect each primary link. Such constraint may arise from a number of reasons: first, splitting traffic between multiple bypass paths can cause packets to arrive out of order, thus increasing delivery latency and buffering requirements; second, the complexity of a scheme that distributes traffic among multiple bypasses considerably increases with the number of paths; third, often there is a physical limit on the number of explicit bypass paths, such as label-switched paths in Multiprotocol Label Switching (MPLS) that can be set up between a pair of nodes.
The following types of backup networks are can be considered in relation to the disclosed subject matter: 1. Unsplittable backup networks have a bypass path p between the end-nodes of each primary link eεE, such that p can carry all the traffic of e once e fails i.e., the capacity of p (denoted by c(p)) is at least ce, the capacity of e. 2. Splittable backup networks have a collection of bypass paths P(e) between the end-nodes of each primary link eεE such that the total capacity of all protection paths in P(e) is at least the capacity of e i.e., ΣpεP(e)c(p)≧ce.
In exemplary embodiments of the disclosure, among all possible backup networks that satisfy one or more of the above mentioned constraints or restrictions, it is required to determine and construct the backup network having the lowest possible total capacity i.e., ΣeεE
In some embodiments of the invention the focus is on the single link failure model i.e., at any given time there exists at most one failed link. This assumption enables to construct backup networks that are significantly more efficient in terms of capacity, since bypass paths in the backup network for two different primary links can intersect each other and share the same amount of capacity.
Each of the design constraints or requirements mentioned above levies a toll in terms of the required backup capacity. Accordingly, extra capacity must be allocated to the backup network due to the imposition of each combination of the above design requirements or constraints. Specifically, the capacity increase is quantified as follows: given a set of one or more design constraints, the worst-case ratio between the minimum capacity that needs to be allocated to a backup network that satisfies the constraint set and the minimum capacity that needs to be allocated to a backup network that has no constraints to satisfy is determined.
Referring now to
Any combination of the abovementioned constraints can be represented as a triplet of binary indicators (H,U,S) in which possible values are indicated as follows: Indicator H takes the value H+ if the 2-hop count limit is imposed, and the value H− otherwise, indicator U takes the value U+ if it is required to support unsplittable routing, and the value U− otherwise, and indicator S takes the value S+ if the subgraph constraint is imposed, and the value S− otherwise.
In exemplary embodiments of the invention, Table 200 provides design rules for efficient construction of backup networks. First, all combinations of design constraints except cases 1, 6, and 8 of table 200 increase the extra capacity by a factor of at most 2; thus, their enforcement provides performance benefits, while still incurring only a small cost in terms of extra capacity. Thus, although backup networks induce minor overhead for unconstrained cases, the overhead remains small also when the corresponding combinations of design constraints are imposed.
As seen in cases 6 and 8 in table 200, when the hop-count limit constraint and the sub-graph constraint are concurrently imposed, the extra capacity increases significantly by a factor relative to the number of nodes, i.e. Ω(N). Since such increase is usually impractical, only one out of the two design constraints is preferably considered. Table 300 also shows that the cost incurred by imposing the requirement for unsplittable routing at the backup network does not increase if a requirement for small hop-count is imposed as well. Thus, when the requirement to support unsplittable routing is imposed, hop-count limit constraint can be also imposed at no additional resource allocation.
For the above mentioned design constraints, several polynomial running time methods for constructing backup networks can be designed. Such methods aim at minimizing the capacity allocated for the backup networks while satisfying a given set of constraints. Specifically, two types of methods or algorithms are described hereinafter. The first imposes the requirement to support unsplittable routing at the backup network while the other allows traffic to be split among several bypasses (i.e., the unsplittable routing requirement is not imposed). For the splittable case, a polynomial running time algorithm that optimally solves the problem while considering either one or both of the other design constraints (namely, the hop-count limits and the sub-graph constraint) is presented. For the unsplittable case, two algorithms that approximate the optimal solution by a factor of at most 2, are presented. The first approximation is designed to meet the sub-graph constraint while running in a time complexity of O(N·M) for M-link N-node networks, and the other is designed to meet the hop-count limit while running in a (linear) time complexity of O(N).
For some specific network yes, establishing backup networks for primary networks induces small overhead in terms of extra capacity. For example, in Waxman networks, described in B. M. Waxman, Routing of Multipoint Connections, IEE Journal on Selected Areas in Communications, 6:1617-1622,1988, it is sufficient to increase the total capacity allocated to the primary network by a factor of
for an N-node primary network in order to construct a backup network. In Power-Law networks, described in M. Faloutsos, P. Faloutsos, and C. Faloutsos, On Power-Law Relationships of the Internet Topology, in Proc. ACM SIGCOMM, Cambridge, Mass., September 1999 it is sufficient to increase the total capacity allocated to the primary network by a factor of
In accordance with another preferred embodiment of the present invention there are thus provided methods for optimal construction of a backup network for a primary network, the backup network satisfying certain design constraints.
Referring now to
On step 300, a primary network G(V,E) is received. For each vεV, the maximum capacity of a link that is incident to v is denoted by C(v), i.e.,
where c(v,u) is the capacity of the link (v,u) for any U. Thus, a lower bound on the minimum capacity of any unrestricted backup network is
On step 304, an empty backup link set is created, and the primary links are ordered in a non-descending capacity order.
On step 308, the next link in the order determined on step 304 is determined. It is then determined if adding this link to the backup link set creates a cycle within the backup network. If not, a link having the same capacity as the checked link is added to the backup link set. On step 312, it is determined whether all links in the primary network were tested. If yes, the method finishes and returns the backup link set, otherwise the method re-visits step 208 for the next primary link. This method provides a backup network with a topology that is a subgraph of the primary network, i.e. only edges that exist in the primary network can be added to the backup network. If such constraint is applied, the total capacity allocated for the backup network increases at most by a factor that is between
and 2 for both splittable and unsplittable backup networks, wherein N=|V|, i.e. the number of nodes in the graph.
It will be appreciated by a person skilled in the art, that in an undirected graph, each undirected link in the primary network G(V,E) can be transformed into two directed links having opposite directions and each having the same capacity as the original undirected link. Thus, an undirected link having a capacity ce can be represented by two directed links such that each of the links can transfer at most ce flow units per time unit. Therefore, the total capacity of all links in the undirected representation equals half of the total capacity of all links in the directed representation. In particular, minimizing the total capacity of all links in the directed representation also minimizes the total capacity in the undirected representation.
Referring now to
Denote by fe
On step 404, an initial backup network is defined, comprising all nodes of the initial network and an initial link set. If the backup network must be a subgraph of the primary network then the links of the initial backup network are defined to be identical to the links of the primary network. Otherwise, the initial link set is defined to be the full set of edges, i.e. V×V. In steps detailed further below, a part of the links in the initial backup network will be assigned a capacity of 0, and will thus be excluded from the backup network.
On step 408 an objective function is formulated using the variables {{fe
Objective function (1) defines the variables to be minimized, being the capacities of the links of the backup network. Objective function (1) thus minimizes the total capacity allocated to the backup network Gb(V,Eb).
On step 412 a set of limitations expressing the constraints is formulated using the same variables as the objective. The exemplary constraints relate to the hop-count and subgraph constraints. The constraints are preferably expressed the following limitations:
for any eεE, any h between 0 and a predetermined upper hop limit H, and any vεV excluding the link connecting se and te Equation (2) relates to the nodal flow conservation limitation of the backup flow. Equation (2) implies that upon a failure of any primary link e connecting se and te, to total backup flow that enters any node excluding se and te and has traversed paths from se to v of hop-count h-1 must equal the total backup of flow emanating out of that node through paths having a hop count h.
for any eεE. Equations (3) and (4) imply that for each primary link e, the backup network enables at least a total capacity of ce along the paths that connect each of the end-nodes of e, i.e. ensuring that a total capacity emitted or absorbed by a node incident to a link through the backup network, is at least equal to the capacity of the link; specifically, limitation (3) relates to emitting from the end-node se of each primary link e=se→te a backup flow of at least ce flow units; similarly, limitation (4) relates to absorbing at the end node te of each primary link e=se→te, a total backup flow of at least ce flow units.
for any eεE, and any ebεEb. Equation (5) ensures that, upon a failure of any primary link e, the total flow rerouted over each backup link eb is at most ce
f
e
h(e)=0 (6)
for any eεE, any ebεEb, and any h or exceeding the predetermined limit H. Equation (6) rules out flows that violate the hop restriction.
f
e
h(e)≧0 (8)
for any eεE, for any ebεEb, and for any h between 0 and the predetermined limit H. Limitations (7) and (8) restrict all variables to be non-negative capacities and flows.
f
e
h(e)=fe
for any eεE, any h between 0 and H, and any e1b, e2bεEb such that e1b connect the same nodes. Equation (9) restricts the solution to be symmetrical; hence, it rules out all solutions that are not feasible for the original undirected network, since the capacity of each link is required to be equal in both directions.
On step 416, objective function (1) and limitations (2)-(9) are fed into any linear programming solving machine, tool, package, or application, such as CPLEX and/or MOSEK. CPLEX is by ILOG (www.ilog.com).
On step 420, the values provided by the linear program solver are assigned as the capacities of the links belonging to the initial backup networks. The links assigned a capacity of 0 are practically removed from the backup network, since no traffic is assumed to pass through them when the need rises to overcome a primary link failure.
Since Equation (7) allows flow variables {fe
Appendix A entitled “Designing Low-Capacity Backup Networks for Fast Restoration” is incorporated in its entirety into the detailed description of this specification.
A person skilled in the art will appreciate that further changes and enhancements can be made without deviating from the spirit of the disclosure. One or more constraints can be expressed in a different manner. Additional or different constraints can be imposed and phrased as linear or integer equations or expressions, and thus be solved by a relevant tool or application.
It will be further appreciated that the disclosed subject matter can be used for a wide variety of applications, including but not limited to networks carrying computerized information, electricity, telephony information, water supply, sewage, physical supply networks, train networks, and others.
The present disclosure has been described using non-limiting detailed descriptions of embodiments thereof that are provided by way of example and are not intended to limit the scope of the invention. It should be understood that features described with respect to one embodiment may be used with other embodiments and that not all embodiments of the invention have all of the features shown in a particular figure or described with respect to one of the embodiments. It is noted that some of the above described embodiments may describe the best mode contemplated by the inventors and therefore include structure, acts or details of structures and acts that may not be essential to the invention and which are described as examples.
While the above description has focused on methods, it is meant to also encompass apparatus for carrying out the invention. The apparatus may be a system comprising of hardware and software.
Thus, a system for protecting a network from failures may comprise one or more computing platforms or programmed computers or network appliances, executing a component for determining a backup network for the primary network, and a component for rerouting traffic through the backup network in the case a link of the primary network fails. The components may be executed by different computing platforms and on different times, wherein the backup network determination component is executed when the network is being planned, while the rerouting component is executed when the network is in normal usage. In one preferred embodiment the component for determining the backup network comprises a component for defining an initial backup network; a component for expressing an objective function associated with the capacities of links in the backup network backup link; a component for expressing constraints for the backup network; and a component for solving the objective function in accordance with the constraints, to capacities for the backup network. In another preferred embodiments, the component for determining the backup network comprises a component for ordering the links of the primary network in a non-descending capacity order; a component for determining whether a link from the primary network added to the backup link set creates a cycle within the backup link set, and a component for adding links having capacity equal to the capacity of the primary link to the backup link set.
The apparatus may include various computer readable media having suitable software thereon, for example, diskettes and computer and/or flash RAM.
Structure and acts described herein are replaceable by equivalents, which perform the same function, even if the structure or acts are different, as known in the art. Therefore, only the elements and limitations as used in the claims limit the scope of the invention. When used in the following claims, the terms “comprise”, “include”, “have” and their conjugates mean “including but not limited to”.
The present invention relates to Provisional Patent Application Ser. No. 60/820,806 filed on Jul. 31, 2006.
Number | Date | Country | |
---|---|---|---|
60820806 | Jul 2006 | US |