U.S. patent application number 10/570650 was filed with the patent office on 2007-08-23 for simple and resource-efficient resilient network systems.
Invention is credited to Michael Menth, Jens Milbrandt, Andreas Reifert, Phuoc Tran-Gia.
Application Number | 20070195701 10/570650 |
Document ID | / |
Family ID | 34276721 |
Filed Date | 2007-08-23 |
United States Patent
Application |
20070195701 |
Kind Code |
A1 |
Menth; Michael ; et
al. |
August 23, 2007 |
Simple And Resource-Efficient Resilient Network Systems
Abstract
The invention is related to a method for resilient multi-paths
connections between edge devices of a communication network. First
are determined connection-specific traffic distribution functions
for the multi-paths depending on a plausible failure pattern of
active and inactive paths of the multi-path of this connection.
Further is selected the traffic distribution function for a
multi-path depending on the current failure pattern of active an
inactive paths of the multi-path of this connection and is
distributed the traffic of the connection onto the path of the
corresponding multi-path pursuant to the selected traffic
distribution function. An essential advantage of the invention is a
significant decrease of network capacity for resilient multi-path
connections. Another advantage of the invention is the short
reaction time in case of an outage of one or more path of the
multi-path connections.
Inventors: |
Menth; Michael; (Oellingen,
DE) ; Milbrandt; Jens; (Wurzburg, DE) ;
Reifert; Andreas; (Aschaffenburg, DE) ; Tran-Gia;
Phuoc; (Wurzburg, DE) |
Correspondence
Address: |
SIEMENS CORPORATION;INTELLECTUAL PROPERTY DEPARTMENT
170 WOOD AVENUE SOUTH
ISELIN
NJ
08830
US
|
Family ID: |
34276721 |
Appl. No.: |
10/570650 |
Filed: |
September 3, 2004 |
PCT Filed: |
September 3, 2004 |
PCT NO: |
PCT/EP04/52034 |
371 Date: |
December 21, 2006 |
Current U.S.
Class: |
370/238 |
Current CPC
Class: |
H04L 47/50 20130101;
H04L 45/24 20130101; H04L 47/522 20130101; H04L 47/626 20130101;
H04L 45/00 20130101; H04L 47/14 20130101; H04L 45/50 20130101; H04L
47/54 20130101 |
Class at
Publication: |
370/238 |
International
Class: |
H04J 3/14 20060101
H04J003/14 |
Foreign Application Data
Date |
Code |
Application Number |
Sep 3, 2003 |
EP |
03014809.2 |
Sep 13, 2003 |
JP |
03020840.9 |
Claims
1-16. (canceled)
17. A method for providing a resilient multi-path connection
between edge devices of a communication network, comprising:
calculating connection-specific traffic distribution functions of
the multi-path connection based upon path failure patterns of the
multi-path connection; selecting a traffic distribution function of
the multi-path connection based upon the calculated
connection-specific traffic distribution functions and based upon
current path failure pattern of the multi-path connection; and
distributing traffic into corresponding paths of the multi-path
connection based upon the selected traffic distribution
function.
18. The method as claimed in claim 17, wherein one path of
multi-path is a primary path over which traffic is transmitted in a
failure-free scenario and remaining paths are backup paths
19. The method as claimed in claim 17, wherein the traffic of the
multi-path connection is distributed over a plurality of primary
paths over which the traffic is transmitted in a failure-free
scenario.
20. The method as claimed in claim 17, wherein the calculation of
the connection-specific traffic distribution functions of the
multi-path connection depends on a topology of the communication
network, routes of paths of the multi-path connection through the
communication network, and both an expected traffic between the
edge devices and available link capacities.
21. The method as claimed in claim 17, wherein the paths of the
multi-path connection are logically or physically disjoint.
22. The method as claimed in claim 17, wherein the paths of the
multi-path connection are link or node disjoint.
23. The method as claimed in claim 17, wherein a path failure
pattern is a combination of detected active and inactive paths of
the multi-path connection.
24. The method as claimed in claim 23, wherein a partial outage of
a path is indicated as inactive by a failure information at the
edge devices.
25. The method as claimed in claim 24, wherein a failure of a path
due to an outage of a contained network element is indicated by a
monitoring information which is periodically transmitted over the
path.
26. The method as claimed in claim 17, wherein the traffic
distribution function is optimized for likely and foreseeable path
failure pattern.
27. The method as claimed in claim 17, wherein the path failure
pattern is determined by the following equation:
f.sub.g(s)=.PHI.p.sup.0;.sub.g,s) . . . .PHI.(p.sub.g.sup.kg-1
,s).sup..tau. with .PHI.(p,s) is a function indicating whether a
partial (single) path p is active or inactive if a failure scenario
s (set of failed network elements) occurs, and F.sub.g is the
failure pattern comprising a set of active and inactive partial
path p.sub.g.sup.i within the multi-path P.sub.g for a connection g
between two edge devices kg is the maximum number of partial paths
p.sub.g.sup.i within the multi-path P.sub.g, i.e.,
0<=i<kg.
28. The method as claimed in claim 17, wherein a primary capacity
of a link is a capacity allocated to a flow if no failure
occurs.
29. The method as claimed in claim 17, wherein the primary capacity
of a link is reused and the traffic distribution function is
computed by a linear program with several constraints whose
optimization function is determined by following equation:
.A-inverted. g .di-elect cons. S .times. : g .di-elect cons. Gs
.times. P g T .times. l g .function. ( f g .function. ( s ) ) c
.function. ( g ) .ltoreq. b with ##EQU16## S is a set of all
failure scenarios, Gs is a set of all active aggregate connections
in case of failure scenario s, L.sub.g(f) is a load distribution
function based upon a failure pattern f,
P.sub.g.sup..tau.lg(f)*c(g):.sup..tau. transposes a proceeding
vector, this computes a vector with a fraction of a traffic rate
c(g) caused by the multi-path P.sub.g and a rate c(g) of a
aggregate connection g, b is a vector with a capacity of links
which are larger than corresponding traffic rates caused by any
failure scenario and g .di-elect cons. G s .times. c .function. ( g
) P g T .times. l g ( f g .function. ( 0 ) .ltoreq. b ##EQU17##
30. The method as claimed in claim 17, wherein the primary capacity
of a link is not reused and the traffic distribution function is
computed by a linear program with several constraints whose
optimization function is determined by following equations:
.A-inverted. g .di-elect cons. S .times. : g .di-elect cons. Gs
.times. P g T .times. l g .function. ( f g .function. ( s ) ) c
.function. ( g ) .ltoreq. b .times. .times. and .A-inverted. g
.di-elect cons. F g .times. : l g .function. ( f ) + f .gtoreq. l g
.function. ( f g .function. ( 0 ) ) .times. .times. with ##EQU18##
S is a set of all failure scenarios, Gs is a set of all active
aggregate connections in case of failure scenario s, L.sub.g(f) is
a load distribution function based upon a failure pattern f,
p.sub.g.sup..tau.lg(f)*C(g):.sup..tau. transposes a proceeding
vector, this computes a vector with a fraction of a traffic rate
c(g) caused by the multi-path P.sub.g and a rate c(g) of a
aggregate connection g, b is a vector with a capacity of links
which are larger than corresponding traffic rates caused by any
failure scenario and g .di-elect cons. G s .times. c .function. ( g
) P g T .times. l g ( f g .function. ( 0 ) .ltoreq. b ##EQU19##
31. An edge device for providing a resilient multi-path connection
between edge devices of a communication network, comprising: a
calculator that calculates connection-specific traffic distribution
functions of the multi-path connection based upon path failure
patterns of the multi-path connection; a selector that selects a
traffic distribution function of the multi-path connection based
upon the calculated connection-specific traffic distribution
functions and based upon current path failure pattern of the
multi-path connection; and a distributor that distributes traffic
into corresponding paths of the multi-path connection based upon
the selected traffic distribution function.
32. The edge device as claimed in claim 31, wherein the calculation
of the connection-specific traffic distribution functions of the
multi-path connection depends on a topology of the communication
network, routes of paths of the multi-path connection through the
communication network, and both an expected traffic between the
edge devices and available link capacities.
33. A computer program product for providing a resilient multi-path
connection between edge devices of a communication network,
comprising: a program subroutine for calculating
connection-specific traffic distribution functions of the
multi-path connection based upon path failure patterns of the
multi-path connection;
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is the US National Stage of International
Application No. PCT/EP2004/052034, filed Sep. 03, 2004 and claims
the benefit thereof. The International Application claims the
benefits of European Patent application No. 03020840.9 filed Sep.
13, 2003 and European Patent application No. 03014809.2 filed Sep.
03, 2003, all of the applications are incorporated by reference
herein in their entirety.
FIELD OF THE INVENTION
[0002] The inventive method is related to multi-path connections
between edge devices in a communication network. The method is
preferred provided for MPLS (Multi-Protocol Label Switching)
communication networks.
BACKGROUND OF THE INVENTION
[0003] Carrier grade networks are expected to provide a high degree
of availability although of in the networks elements can fail. This
challenge arises, e.g., for virtual private networks or in the
terrestrial radio access network of the universal mobile
telecommunication system (UMTS). In contrast Internet Protocol (IP)
technology enables a global interconnection of computer controlled
devices; e.g.; hosts, servers and terminals, on a unreliable best
effort basis.
[0004] In time division networks, e.g., telephone networks, the
reliability is ensured by hardware redundancy of the different
network elements. Packet-oriented networks, e.g. the IP network,
are protected against link failure by backup links or by ring
shaped networks on the physical layer, e.g. SDH rings. However,
these methods require a backup capacity which comprises at least
the capacity of the failed network elements.
[0005] In packet-switched networks, a high degree of reliability
can be achieved by traffic deviation over alternative paths in case
of local outages. The backup capacity may be shared among different
traffic aggregates in different failure scenarios. Therefore, the
required backup capacity can be reduced without compromising the
failure resilience of the network.
[0006] For the routing of the packets in packet switched networks
there are two different routing methods. The routes in a
destination address based routing used in the internet protocol
(IP) are usually set up by the routing protocol like the open
shortest path first protocol and the destination address
transmitted in protocol header. Load balancing over multiple paths
is possible if several routes to the same destination reveal the
same costs. The traffic in connection-oriented routing used in MPLS
networks is forwarded along virtual connections whereby each
virtual connection is assigned a label. The virtual connections
including the label are established or set up before the forwarding
of the packets and the routes can be chosen arbitrarily, e.g. using
an explicit route object in MPLS.
[0007] In packet-switched networks like IP and MPLS networks,
traffic is deviated over alternative paths in case of a local
outage. There are basically two options for resilient
mechanisms.
[0008] With local path restoration in case of MPLS networks or with
local rerouting in case of IP technology, a deviation path or route
is only activated if a failure of the local network element is
indicated. I.e., in IP networks a link failure is detected and
indicated by missing hello messages of the open shortest path first
protocol (OSPF). Backup capacity can be shared because no resources
are bound to any aggregate before the failure is indicated.
However, the reaction time of restoration mechanism especially for
networks with high transmission rates is to long.
[0009] To avoid long reaction time with path protection, the
primary path failure is anticipated, i.e., a back up path is set up
before a failure is indicated, whereby the traffic is transmitted
simultaneously over the primary and the backup path. In this case a
backup capacity sharing is not possible.
[0010] A new approach for routing in packet-switched networks is
multi-path routing. In the source network element, the traffic is
distributed over the several paths wherein the paths are
established connection-oriented. The distributed traffic is
transmitted parallel over the paths and reassembled at the
destination network element. If an outage of one or more network
elements is indicated, i.e., if an inactive condition of the local
network elements is indicated, the traffic is deflected to the
remaining active paths.
SUMMARY OF THE INVENTION
[0011] In the discussed networks, the backup capacity for
resilience is not used effectively. Therefore, it is an object of
the invention to amend the effectiveness of the resources in the
well-known resilient networks especially in connection-oriented
networks wherein the resilience of the networks should be
maintained.
[0012] According to the invention, a novel method for multi-path
connections is provided for resilience of paths in communication
networks. The method includes a calculation of connection-specific
distribution functions for the multi-paths depending on path
failure patterns of active an inactive paths of the multi-path of a
specific connection. Furthermore, the selecting of the traffic
distribution function is provided depending on the current path
failure pattern and the distribution of the traffic pursuant to the
selected traffic distribution function. An essential advantage of
the invention is a significant decrease of network capacity for
resilient multi-path connections. Another advantage of the
invention is the short reaction time in case of an outage of one or
more path of the multi-path connections.
[0013] Preferable, the calculation of the connection-specific
distribution functions for the multi-paths further depends on the
topology of the communication network, the routes of the paths of
the multi-path through the communication network, and both the
expected traffic between the edge devices and the available link
capacities. Additional, parameters may be used for this calculation
to take constraints for different technologies, networks, or
characteristics of determined routes into account.
[0014] Pursuant further aspects of the invention, the paths of the
multi-paths are logically or physically or link or node disjointed.
Of particular importance are physically disjointed paths in
multi-path connections because in case of a local outage of network
elements the number of affected path is minimized. However, the
computation of physically disjoint paths in multi-path connections
depends on the topology of the network and can not always be
achieved. Therefore, not all the paths of a mulit-paths may be
disjoint.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The sole FIGURE shows a Multi-Protocol Label Switching
communication network connection with edge devices.
DETAILED DESCRIPTION OF THE INVENTION
[0016] The inventive method is related to multi-path connections
between edge devices in a communication network. The method is
preferred provided for MPLS (Multi-Protocol Label Switching)
communication networks.
[0017] MPLS equipped with edge routers ER--see FIGURE. The edge
routers ER are respectively connected to terminals T. In FIGURE,
between two edge routers ER a multi-path connection mc which
consists of three paths p1 . . . p3 is exemplarily depicted. A path
p is formed by a sequence of transit routers TR and links L. These
paths or routes are determined in assistance of well-known routing
algorithms, for instance the Dijkstra algorithm. For the
computation of the paths, advantageous restrictions should be
considered, for example the paths of the multi-path connection
should be physically disjoint. The first and second path p1, p2 is
composed of two transit routers TR and three links L. The third
path p3 comprises one transit router TR and two links L, wherein
the first and second path p1, p2 are partially physically disjoint.
The first and second path p1, p2 are respectively completely
physically disjointed from the third path p3.
[0018] For this embodiment is assumed that multi-path connections
mc are established between the depicted edge routers ER are
established multi-path connections with a different number of paths
p. The number of paths and the sequence of transit router TR and
links L depend on the topology of the MPLS network and the expected
traffic transmitted over the paths p of the network. According to
the invention a calculation of connection-specific distribution
functions for the multi-paths depending on path failure pattern of
this multi-path connection mc is provided.
[0019] In the following, the computation of the traffic
distribution function is described:
[0020] Basic Notation:
[0021] Let X be a set of elements, then X.sup.n is the set of all
n-dimensional vectors and X.sup.n.times.m the set of all
n.times.m-matrices with components taken from X. Vector
x.epsilon.X.sup.n and matrices X.epsilon.X.sup.n.times.m are
written bold and their components are written as x = ( x 0 x n - 1
) ##EQU1## and X ( x 0 , 0 .times. .times. .times. x 0 , m - 1 x n
- 1 .times. .times. .times. x n - 1 , m - 1 ) . ##EQU2##
[0022] The scalar multiplication cv and the transpose
operator.sup..tau. are defined a usual. The scalar product o two
n-dimensional vectors u and v is written with the help of matrix
multiplication u v = i = 1 n .times. u i .times. v i ##EQU3##
Binary operators o.epsilon. {*,-,} are applied componentwise. i. e.
u o v=(u.sub.0 o v.sub.0, . . . , u.sub.n-1 o v.sub.ne1).sup..tau..
The same holds for relational operators
o.epsilon.{<,.ltoreq.,=,.gtoreq.,>}, i.e. u o v equals
.A-inverted.=.ltoreq.,i<n:u.sub.i o v.sub.i. For reasons of
simplicity, we define special vectors 0=(0, . . . , 0).sup..tau.
and 1=(1, . . . , 1).sup..tau. with context-specific
dimensions.
[0023] Links and Nodes:
[0024] The Network N=(V,E) consists of n=|V| nodes and m=|E|
unidirectional links that are represented a unit vectors
v.sub.i.epsilon.{0,1} and e.sub.i.epsilon.{0,1}.sup.m, i.e. ( v i )
j = { 0 i .noteq. j for .times. .times. 0 .ltoreq. i , j < n
.times. .times. and 1 i = j ( 1.1 ) ( e i ) j = { 0 i .times.
.noteq. .times. j for .times. .times. 0 <= i , j < n .times.
.times. and 1 i .times. = .times. j ( 1.2 ) ##EQU4##
[0025] The links are directed and the operators .alpha.(e.sub.i)
and .omega.(e.sub.i) yield the sending and the receiving router of
a link. The outgoing and incoming incidence matrices A.sub..alpha.
and A.sub..omega. describe the network connectivity, i.e. ( a
.alpha. ) ij = { 0 .alpha. .function. ( e j ) .noteq. v i 1 .alpha.
.function. ( e j ) .noteq. v i and .times. ( 1.3 ) ( a .omega. ) ij
= { 0 .omega. .function. ( e i ) .noteq. v i .times. for .times.
.times. 0 .ltoreq. i , j < n 1 .omega. .function. ( e j )
.noteq. v i ( 1.4 ) ##EQU5##
[0026] The indience matrix A.epsilon.-1,{0,1}.sup.n.times.m id
defined as A=A.sub..omega.-A.sub..alpha.. The j-th column of A
indicates the source and target of link e.sub.j. The vector
Ae.sub.j yields a node vector. It has a -1 in the i-th row if the
source node of e.sub.j is v.sub.i, it has a 1 in the i-th row if
the target node of e.sub.j is v.sub.i, and there are zeros in all
other positions. The j-th row of A indicates the outgoing and
incoming links of node v.sub.j. The link vector v.sub.j.sup..tau. A
has a -1 for all outgoing links, a 1 for all incoming link, and
zeros in all other positions. Loops cannot be expressed by this
formation.
[0027] Traffic, Matrix, Paths, and Flows:
[0028] The Matrix: The aggregate of all flows from an ingress
router vi to an egress router v.sub.j is denoted by the edge to
edge aggregate g.sub.vi,vj. All edge to edge aggregates compose the
set g.epsilon.G is given by c(g) and corresponds to an entry on the
traffic matrix.
[0029] Path: A path p.sub.g of an an aggregate g.epsilon.G between
distinct nodes v.sub..alpha. and v.sub..omega. is a set of
contiguous links presented by a link vector p.sub.g.epsilon.{0,
1}.sup.m. This corresponds to a single path--However, we usually
apply the concept of multi-path p.sub.g.epsilon.{0,1}.sup.m, which
is more general since the traffic may be split into several partial
paths carrying a real fraction of traffic. A path follows
conservation rules, i.e., the amount of incoming traffic equals the
amount of outgoing traffic in a node which is expressed by
Ap.sub.g=(v.sub..omega.-v.sub..alpha.). (1.5)
[0030] While cycles containing only inner nodes can be easily
removed, cycles containing the start and the end node of a path are
more problematic. Therefore, it is formulated a condition
preventing this case. The expression
v.sub..alpha..sup..tau.A.sub..omega. and
v.sub..omega..sup..tau.A.sub..alpha. a yield the incoming edges of
start node v.sub..alpha. and all outgoing edges of the end node
v.sub..omega. of a path p.sub.g. Hence, cycles containing the start
or end node can be prevented if the following equations hold:
(v.sub..alpha..sup..tau.A.sub..omega.)p.sub.g=0 and
(v.sub..omega..sup..tau.A.sub..alpha.)p.sub.g=0. (1.6)
[0031] Flows: The mere path of an aggregate g.epsilon.G is p.sub.g.
We get the corresponding flow by a scalar multiplication
c(g)p.sub.g to take the rate of aggregate into account.
[0032] Protected scenarios: A protected failure scenario is given
by a vector of failed nodes s.sub.v.epsilon.{0,1}.sup.n and a
vector failed links s.sub..epsilon..epsilon.{0,1}.sup.m. The set S
contains all protected outage scenarios including s=0, i.e. the no
failure case.
[0033] Traffic reduction: During normal operation without any
failure, all aggregates g.epsilon.G are inactive. If routers fail,
some may disappear. There are to consider several options.
[0034] No Traffic Reduction: It is assumed that failed routers lose
only their transport capability for transit flows but still able to
generate traffic. Therefore G.sub.s=G.
[0035] Source Traffic Reduction: An aggregate flow is removed from
the traffic matrix if the source node v.sub.i of aggregate
g.sub.vi,vj fails. If a failed node is the destination of a flow,
"server push" traffic may still be transported through the network,
hence G.sub.s=G\{g.sub.vj,vj:
v.sub.i.sup..tau.s.sub.v=1,1.ltoreq.j.ltoreq.n,i.noteq.j}.
(1.7)
[0036] Full traffic reduction: In contrast to above it is assumed
that the traffic with a failed destination is stalled. An aggregate
flow is removed from the traffic matrix if a node fails which
either the source or the destination of a flow, hence G s = G
.times. \ .times. { g vi , vj .times. : .times. .times. v i s v = 1
, 1 .ltoreq. j .ltoreq. n , i .noteq. j } ( 1.8 ) .times. { g vi ,
vj .times. : .times. .times. v j s v = 1 , 1 .ltoreq. j .ltoreq. n
, i .noteq. j } ( 1.9 ) ##EQU6##
[0037] Failure indication function: The failure indication function
.PHI.(p,s) indicates whether a path p is affected by a failure
scenario s. Path p is affected by a link failure scenario
s.sub..epsilon. if s.sub..epsilon..sup..tau.>0. To formulate
this analogously for node failures it is defined traces. The
.alpha.-trace is tr.sub..alpha.(p.sub.g)=A.sub..alpha.p.sub.g and
the .omega.-trace is tr.sub..omega.(p.sub.g)=A.sub..omega.p.sub.g,
respectively. It is obtained the interior trace ti by executing the
corresponding end or start node of the .alpha.- or .omega.-trace,
respectively, i.e.
ti(p.sub.g)=A.sub..alpha.p.sub.g-v.sub..alpha.=A.sub..omega.p.sub.g-v.sub-
..omega.. Path p is affected by a node failure scenario s.sub.v if
s.sub.v.sup..tau.ti(p)>0. Finally, the failure indication
function is .PHI. .function. ( p , s ) = { 1 s p + s v ti .times. (
p ) > 0 0 .times. otherwise . ( 1.10 ) ##EQU7##
[0038] Protection alternatives: A path restoration scheme
introduces a backup path q.sub.g which is activated if the primary
path fails. This backup path protects against link and/or node
failure of each primary path p.sub.g depending on the required type
of resilience. A backup path is link protected if
q.sub.g.sup..tau.p.sub.g=0 (1.11) and is both link and node
protectiong if the following holds
ti(q.sub.g).sup..tau.ti(p.sub.g)=0. (1.12)
[0039] Objective function and capacity constrains: It is described
the capacity of all links by a vector of edges
b.epsilon.(R.sub.0.sup.+).sup.m. The overall capacity in the
network is the objective function that is to be minimized. It can
be computed by w.sup..tau.b.fwdarw.min (1.13) where
w.epsilon.(R.sub.0.sup.+).sup.m is a vector of weights, that is
normally set to w=1. If the connectivity is maintained by backup
path in case of failure scenario s.epsilon.S, the following
bandwidth constrains guarantee that enough capacity is available to
carry the traffic generated by the aggregate g.epsilon.G. Bandwidth
reuse: In pure packet-switched networks, resources are not
physically dedicated to any flow. If traffic is rerouted due to an
outage, the resources can be automatically reuse for transporting
other traffic. Under this assumption, the capacity constraints are
.A-inverted. s .di-elect cons. S .times. : .times. g .di-elect
cons. Gs .times. c .function. ( g ) .times. ( ( 1 - .PHI.
.function. ( p g , s ) ) .times. p g + .PHI. .function. ( p g , s )
.times. q g ) .ltoreq. b ( 1.14 ) ##EQU8##
[0040] No bandwidth reuse: In optical networks, physical resources
like fibers, wavelengths, or time slots are bound to connections.
If a network element fails, there might not be enough time to free
the resources of a redirected connection. This is respected by the
following capacity constraints: .A-inverted. s .di-elect cons. S
.times. : .times. g .di-elect cons. Gs .times. c .function. ( g )
.times. p g + g .di-elect cons. Gs .times. c .function. ( g )
.times. .PHI. .function. ( p g , s ) q g ) .ltoreq. b . ( 1.15 )
##EQU9##
[0041] Optimal solution summary: The free variables to be set by
the optimization are b.epsilon.(R.sub.0.sup.+).sup.m and
.A-inverted.s.epsilon.G:p.sub.g q.sub.g.epsilon.[0,1].sup.m.
(1.16)
[0042] Both the primary path p.sub.g and the backup path q.sub.g
conform to the conversation rule equation (1.5) and exclude start
and end nodes explicity from cycles by equation (1.6). The
protection of path p.sub.g is achieved if the backup path q.sub.g
respect either equation (1.11) or (1.12) for link protection or for
link and node protection, respectively. The capacity constraints
have to met either with or without bandwidth reuse ((equation
(1.14) and (1.1)). The objective function in equation (1.13) is to
be minimized while all these constraints are taken into
account.
[0043] Unfortunately, the path protection constraints (equation
(1.11)) and the equation (1.12) are quadratic with respect to the
free variables. Therefore, this description can not be solved by LP
(linear program) solvers. In addition, the failure indication
function .PHI. (p,s) cannot be transformed into a linear mapping.
Thus, there is no efficient algorithm to compute the desired
structures p.sub.g and q.sub.g. If the complexity of the primary
and the backup multi-paths is restricted, e.g. to single-paths, the
computation becomes more difficult due to a required integer
solution for p.sub.g and q.sub.g. The modelling of disjoint
multi-paths solutions is even more difficult. Therefore heuristics
are used.
[0044] Heuristic for path calculation:
[0045] Due to the computational problems and due the difficulty of
controlling the structure of multi-paths first should be calculated
a suitable path layout and then should be derivate a suitable
traffic distribution function. Then is calculated a link and a node
disjoint multi-path structure by using an algorithm to compute the
k disjoint shortest paths (kDSP). Another heuristic tries to place
a primary path in preferred way for PP methods. If a primary path
is given, the kDSP algorithm may be used for the computation of a
link and a node disjoint multi-path for backup purposes. Another
option is the computation of an optimal path layout together with
traffic distribution function. This method yields a general
multi-path and is, therefore, not suitable in practice.
[0046] The k disjoint shortest path algorithm:
[0047] Both PP method and the inventive approach require disjoint
multi-paths for their path layout. A very simple solution to get
disjoint paths is taking the shortest p which can be found by
Dijkstra's algorithm, removing its interior node te(p) and links
tr(p) from the network running Dijkstra's algorithm again. However,
this procedure does not always find k disjoint paths in the network
although the might be topology feasible. In contrast to online
solutions, the k disjoint shortest path (kDSP) offline algorithm
finds always up to k disjoint shortest path in the network if they
exist. These paths may be taken as the equal paths of an safe
protecting mult-path. If they are taken for layout of path
protection mechanism, the shortest one of them should become the
primary path and the other paths constitute the muliti-path for
backup purposes.
[0048] Primary path computation: minimum traffic routing:
[0049] With path protection the primary path plays a distinguished
role. If a network element carries a large amount of traffic and
fails, this traffic has to be redistributed and requires a lot of
backup capacity near the outage location. Therefore, a path layout
is constructed that entails a minimum traffic load on each network
element.
[0050] Minimum traffic constraints:
[0051] The overall traffic on all links is giver by the auxiliary
vector a.sup.E.epsilon.(R.sub.0.sup.+).sup.m and the overall
traffic on all links is given by the auxiliary vector
a.sup.v.epsilon.(R.sub.0.sup.+).sup.n, respecitively a E = g
.di-elect cons. G .times. f .function. ( g ) .times. p g .times.
.times. and .times. .times. a v = g .di-elect cons. G .times. f
.function. ( g ) ti .function. ( p g ) ( 1.17 ) ##EQU10##
a.sup.E.ltoreq..alpha..sub.max.sup.E1 and
a.sup.v.ltoreq..alpha..sub.max.sup.v1 (1.18)
[0052] The value f(g) may set to 1 of only the number of aggregates
is to be minimized or it may be set to c(g) if their rate should be
taken into account. In the embodiment is used f(g)=c(g).
[0053] Objective Function:
[0054] Both the maximum traffic per network element and the overall
capacity (1.sup..tau.a.sup.E or 1.sup..tau.a.sup.v) should be
minimized but they represent potentially conflict goals. To avoid
very long path, the objective function takes also the overall
required capacity 1.sup..tau.a.sup.Y into account:
M.sup.x.ltoreq.a.sub.max.sup.x+1.sup.Ta.sup.Y.fwdarw.min (1.19)
[0055] The constants M.sup.X,M.sup.Y.epsilon.R.sub.0.sup.+ control
the tradeoff between the conflicting goals. A small M.sup.X favours
little overall capacity while a large M.sup.X favours little
maximum traffic per network element. In the embodiment X=V and
Y=V.
[0056] Path constraints:
[0057] Like above, the flow conservation rule (equation (1.5)) and
the exclusion of start and end nodes from cycles (equation(1.6))
have to be respected. For a single-path solution
p.sub.g.epsilon.{0,1}.sup.m is required. This, however, leads to a
mixed trigger LP that takes a long computation time.
[0058] Therefore, p.sub.g.epsilon.{0,1}.sup.m is used to get a
non-integer LP. To obtain a desired single-path as primary path,
the general multi-path is decomposed into single-paths and traffic
distribution function. For the example is taken the single-path of
the calculated multi-path structure with the largest traffic
distribution function. Note that this decomposition is not unique
and various results can be obtained depending on the
implementation. This is very similar to the computation of a
singe-shortest path.
[0059] Backup path computation with kDSP:
[0060] A set of disjoint single-path is required to build a backup
path for a given primary path p.sub.g. They can be obtained using
KDSP algorithm. For that objective, first the links tr (p.sub.g)
contained in the primary path from the network. If the backup path
should be both link and node disjoint with the primary path, the
interior node ti(p.sub.g) are removed. Then the kDSP algorithm is
running on the remaining network and the results provide the
resulting structure of the backup path. If the primary path has not
been found by the KDSP algorithm, a link and node disjoint backup
path cannot always found although two disjoint paths may exist in
the network.
[0061] Computation of an optimum backup path:
[0062] If a primary path is given, the optimum backup path together
with the corresponding traffic distribution function can be
obtained by a slight modification of the LP formulation. As p.sub.g
already fixed, it is removed from the set of free variables. Then,
the quadratic conditions in term of free variables in equation
(1.11) and (1.12) disappear. In addition, the failure indication
function .PHI. (p,s) is independent of any free variables.
Therefore, this modification yields an LP formulation which can be
solved efficiently. The so obtained backup path structure may have
circles that do not increase the required capacity. When this path
layout is configured in real time system, these circles must be
removed. The corresponding elementary graph-theoretical operations
are omitted, which are simple because the source and destination
nodes are prevented to be part of a circle (equation (1.6)).
However, the structure of the resulting backup path is potentially
still very complex since the partial edge to edge paths are not
necessarily disjoint and, therefore, this method is rather intended
for comparison purposes and not in practice.
[0063] For the computation of disjoint multi-paths the kDSP
algorithm is used which is simple and efficient to compute.
However, it does not take general into account which is a different
and a hard problem. Basically, the kDSP heuristic can be
substituted by any other routing scheme yielding disjoint
multi-path.
[0064] Computation of the traffic distribution function:
[0065] If the path layout for a safe protection multi-path or a
path protection mechanism is given, a suitable traffic distribution
function is required. First are presented some basics for
failure-dependent traffic distribution and then are derived three
different traffic distribution mechanism for safe protection
multi-path. Finally, an adaptation to path protection is
presented.
[0066] Basics for failure-dependent traffic distribution:
[0067] A self protecting multi-path consists kg link an (not
necessarily) node disjoint paths (expect for source and
destination) p.sub.g.sup.i for 0.ltoreq.i<k.sub.g that be found,
e.g. by a kDSP solution. It is represented by a vector of single
path Pg=(p.sub.g.sup.0, . . . , p.sub.g.sup.kg-1).sup..tau.. These
paths are equal in the sense that they all may be active without
any network failure.
[0068] Path failure pattern f.sub.g(s):
[0069] The path failure pattern is defined
fg(s).epsilon.{0,1}.sup.kg that indicates the failed partial path
of the safe protection multi-path for g depending on the failure
scenario s. It is composed f.sub.g(s)=(.phi.(p.sub.g.sup.0,s), . .
. , .PHI.(p.sub.g.sup.kg-1,s)).sup..tau. (1.20) With a path failure
pattern f.sub.g=0 all paths are working f.sub.g=1 connectivity
cannot be maintained. The set of all different failures for safe
protection multi-path Pg is denoted by
Fg={f.sub.g(s):s.epsilon.S}.
[0070] Traffic distribution function:
[0071] For all aggregates g.epsilon.G, a traffic distribution
function l.sub.g(f).epsilon.(R.sub.0.sup.+).sup.kg must be found
whose arguments are path failure pattern f.epsilon.Fg. They have to
suffice the following restrictions: 1.sup..tau.l.sub.g(f)=1.
(1.21)
[0072] Furthermore, failed paths must not be used, i.e.
f.sup..tau.l.sub.g(f)=0. (1.22)
[0073] Finally, the vector indicating the transported traffic
aggregate g over all links is calculated by
P.sub.g.sup..tau.l.sub.g(f)c(g).
[0074] Equal traffic distribution:
[0075] The traffic may be distributed equally over all working
paths, i.e. l g .function. ( f ) = 1 1 .times. .times. T .function.
( 1 - f ) ( 1 - f ) ( 1.23 ) ##EQU11##
[0076] Reciprocal traffic distribution:
[0077] The traffic distribution factors may be indirectly
proportional to the length of the partial path (1.sup..tau.p). They
can be computed for all partial paths. ( lg .function. ( f ) ) I =
1 - fi 1 T .times. ( P g ) i 0 .ltoreq. j < k .times. .times. g
.times. 1 - fj 1 .times. T .function. ( P g ) .times. j for .times.
.times. 0 .ltoreq. i < k g ( 1.24 ) ##EQU12##
[0078] Optimized traffic distribution:
[0079] Traffic distribution is optimal if the required capacity b
to protect all aggregates g.epsilon.G in all protected failure
scenarios s.epsilon.S is minimal. The free variables are
b.epsilon.(R.sub.0.sup.+).sup.m,
.A-inverted.g.epsilon.G.A-inverted.f.epsilon.Fg:l.sub.g(f).epsilon.(R.sub-
.0.sup.+).sup.kg (1.25)
[0080] The objective function is given by equation (1.13). The
traffic distribution function constraints in equation (1.21) and
(1.22) must be respected by all l.sub.g(f) and the bandwidth
constraints are newly formulated.
[0081] Bandwidth constraints with capacity reuse:
[0082] The capacity must be large enough to accommodate the traffic
in all protected failure scenarios s.epsilon.S: .A-inverted. g
.di-elect cons. S .times. : g .di-elect cons. Gs .times. Pg T
.times. l g .function. ( f g .function. ( s ) ) c .function. ( g )
.ltoreq. b . ( 1.26 ) ##EQU13##
[0083] Bandwidth constraints without capacity reuse:
[0084] Releasing capacity unnecessarily leads to waste of bandwidth
if it cannot be reused by other connections. Therefore, traffic
distribution factor l.sub.g(f) if active paths must only increase
in an outage scenario, except for failed paths for which they are
zero. This quasi monotonictiy can be expressed by
.A-inverted.g.epsilon.F.sub.g:l.sub.g(f)+f.gtoreq.l.sub.g(f.sub.g(0)),
(1.27)
[0085] are removed due to router failure. Thus, the bandwidth
constraints are .A-inverted. g .di-elect cons. S .times. : g
.di-elect cons. G s .times. c .function. ( g ) P g T .times. l g (
f g .function. ( s ) + ( 1 ) .times. .times. used .times. .times.
capacity g .di-elect cons. G s .times. c .function. ( g ) P g T ( f
g .function. ( s ) l g ( f g .function. ( 0 ) + ( 2 ) .times.
.times. inactive .times. .times. partial .times. .times. paths g
.di-elect cons. G s .times. c .function. ( g ) P g T .times. l g (
f g .function. ( 0 ) .ltoreq. b .times. ( 3 ) .times. .times.
removed .times. .times. aggregates ( 1.28 ) ##EQU14##
[0086] Note that the term f.sub.g(s)l.sub.g(f(0) expresses an
element-wise multiplication of two vectors. Hence, if bandwidth
reuse is possible, equation (1.26) is used as bandwidth
constraints, otherwise equations (1.27) and (1.28) must be
respected. Neither protection constraints (equations (1. 11) and
(1.12)) nor path constraints (equation (1.5) and (1.6)) apply since
the structure of the path is already fixed.
[0087] Adaptation of path protection:
[0088] The adaptation of the above explained traffic distribution
scheme to path protection mechanism is simple. The primary path pg
is denotes together with its disjoint backup single-paths as safe
protection multi-path P.sub.g with p.sub.g=(P.sub.g).sub.0. The
essential difference between the path protection scheme and the
safe protection multi-path is that the path failure pattern
f.sub.g.sup.PP(s) is described by f g PP .function. ( s ) = { u 0
.PHI. .function. ( p g , s ) = 0 f g .function. ( s ) .PHI.
.function. ( p g , s ) = 1 ( 1.29 ) ##EQU15## with u.sup.0=(0, 1, .
. . , 1).sup..tau.. By substituting the path failure pattern in
equation (1.20) by (1.29), the traffic distribution optimization
can be applied to path protection schemes.
[0089] The approaches above for finding the structure--in our case
linear programs--have to be taken also only as a favoured
realization. It might be reasonable to use other or additional
constraints that reflect additional networking side conditions. If
the network becomes large, the solution approach with linear
programs can fail due to the computational expenses. Then, faster
heuristics (e.g. genetic algorithms or simulated annealing) must be
applied to find the layout of the routing structures as well as a
suitable load balancing to achieve suboptimal results.
[0090] Apart from that there is a related problem that can be
solved by the proposed forwarding paradigms. In the description
above we took for the sake of simplicity a network topology,
configured the structures, and dimensioned the link sizes of the
network such that no quality of service (QoS) degradation is
observed if traffic is rerouted in a failure case. The
structures--primary path together with backup multi-path or
SPM--can also be applied if the network topology is given together
with the link capacities. Then, different algorithms approaches
have to be taken to configure the forwarding structures and to
maximize the amount of traffic that can be transported with
resilience guarantees in the network. Above, the traffic amount is
given and the required capacity is minimized while here link sizes
are fixed and the amount of traffic is maximized. These algorithms
and approximative heuristics are necessary to make best use of the
network capacity in combination with our forwarding structures.
* * * * *