PNNI-based mult-link shortest path class-of service routing
Abstract
The present invention concerns a technique for providing Class-of-Service Routing in an ATM network (10) that utilizes the Private Network-Network Interface (PNNI) protocol. An originating node seeking to route a call to a terminating node does so by initially selecting a shortest length path therebetween. Each successive link on the selected path is examined for sufficient available bandwidth for the Class-of-Service of the call. If every link possesses sufficient available bandwidth, then the call passes on the selected path. Otherwise, should a link on the selected path lack sufficient bandwidth, then a crankback message is sent to the originating node, and the originating node selects the next shortest path. Thereafter, the process of examining each link for sufficient bandwidth is repeated. If no path is found, the call is ultimately blocked.

Term
Term ended
Projected expiry passed 5 March 2021, 5.6 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
14 claims: 1 independent, 13 dependent
- 1A method for providing Class-of-Service (COS) routing of a call or connection request (a call) between an origin node and a destination node in a multi-link network employing a Private Network-to-Network Interface (PNNI) protocol, comprising the steps of:(a) searching for a shortest path between the origin and destination nodes;(b) determining the class of service of the call;(c) determining for each link in the path whether said each link has available bandwidth for the Class of Service for the call, and if said each link in the shortest path has sufficient bandwidth, then routing the call to the origin node across the shortest path, otherwise, (d) if insufficient bandwidth is available on any of the links, then sending a crankback message to the origin node;thereafter searching for a next shortest path and then repeating step (c).
28 paragraphs, as filed
Technical Field
0001This invention relates to a technique for routing calls in a data communications network that employs the Private Network-to-Network Interface protocol.
Background Art
0002Routing is the network process by which a call or other connection request proceeds (connects) from an origin to destination. Concerns about routing lie at the heart of the architecture, design, and operation of any network. Current and future networks are rapidly evolving to carry a multitude of voice/ISDN services and packet data services over time division multiplexing (TDM), asynchronous transfer mode (ATM), and Internet protocols (IP). The long awaited data revolution is occurring, with the extremely rapid growth of data services such as frame relay, IP multimedia, and B-ISDN ATM services. Different routing methods have evolved for services supported by the TDM, ATM, and IP protocols. These protocols will continue to exist simultaneously and thus the need will continue to interwork in most networks. In other words, there has not been nor will there probably ever be a universal homogeneous network solution.
0003Among the various routing techniques used for ATM networks is the Private Network-Network Interface (PNNI) strategy adopted by the ATM Forum. The PNNI routing strategy provides interoperability among different vendor equipment and scaling to very large networks. Scaling is provided by a hierarchical peer group structure that allows the details of topology of a peer group to be flexibly hidden or revealed at various levels within the hierarchical structure. Peer group leaders represent the switches within a peer group for purposes of routing protocol exchanges at the next higher level. Border switches handle inter-level interactions at call setup. PNNI routing involves two components: a) a topology distribution protocol, and b) the path selection and crankback procedures. The topology distribution protocol floods information within a peer group. The peer group leader abstracts the information from within the peer group and floods the abstracted topology information to the next higher level in the hierarchy, including aggregated reachable address information. As the peer group leader learns information at the next higher level, it floods it to the lower level in the hierarchy, as appropriate. In this fashion, all switches learn the network reach and topology.
0004Traditionally, providers of telecommunications services have offered different grades or classes of service (COS) based on customer demand. To meet quality objectives for such different grades of service, telecommunications providers, such as AT&T, have employed Class-of-Service routing techniques in traditional circuit switched networks. U.S. Patent 5,392,344, issued in the name of Gerald R. Ash et al., on February 21, 1995, and assigned to AT&T (incorporated by reference herein) describes and claims such a Class-of-Service routing technique. Unfortunately, Class-of-Service routing does not exist with present day PNNI networks. Thus, there is a need for PNNI Class-Of-Service routing technique.
Brief Summary of the Invention
0005Briefly, the present method provides Class-of Service routing for a call or other connection request (a call) from an origin node to a destination node in a multi-link network employing the PNNI protocol. In accordance with a preferred embodiment, the method commences by searching for a shortest link path between the origin and destination. Upon finding such a path, a check is then made whether each link in the path has available bandwidth for the class of service associated with the connection request. If each link has sufficient available bandwidth, then the call is routed from the origin to the destination via the shortest link path. Otherwise, if any of the links in the path lack available bandwidth for the class of service associated with the call, then a message, typically in the form of a crankback message, is send back to the origin node, prompting the node to search for repeat the process of selecting a shortest path, and checking each link within that path for available bandwidth.
Brief Summary of the Drawing
0006<ul id="ul0001" list-style="none" compact="compact"><li>FIGURE 1 shows a block schematic diagram of a network, according to the prior art, comprised of ATM and TDM switches;</li><li>FIGURE 2 shows a call flow within the network 1 using the Class-of-Service routing method of the invention; and</li><li>FIGURE 3 shows a call flow in the network using Class-of-Service routing method of the invention together with a method for establishing the shortest link path between nodes.</li></ul>
Detailed Description
0007FIGURE 1 shows a prior art network 10 employing the PNNI protocol. In the illustrated embodiment, the network comprises of a plurality of ATM switches, shown illustratively by ATM switches 12<sub>1</sub>, 12<sub>2</sub>, 12<sub>3</sub> and 12<sub>4</sub>. Each of the ATM switches may comprise an ATM switch made by manufacturers such as Lucent and Nortel, for example. A plurality of links illustratively depicted as links 14<sub>1</sub>, 14<sub>2</sub>, and 14<sub>3</sub>, link selective switches. In practice, at least a small fraction of the links 14<sub>1</sub>-14<sub>3</sub> possess OC3/12/48 data transmission capability, yielding a sparse network topology. As shown in FIG. 1, the network 10 also includes a plurality of TDM switches, shown illustratively by switches 16<sub>1</sub> and 16<sub>2</sub>. Each of switches 16<sub>1</sub> and 16<sub>2</sub> is linked or "homed" to the closest one of the ATM switches 12<sub>1</sub>-12, 12<sub>3</sub> via links 18<sub>1</sub>and 18<sub>2</sub> that typically each possess DS3 data transmission capacity.
0008In accordance with the invention, calls or other connection requests (hereinafter collectively referred to as calls) are routed from an origin node to a destination node using a novel routing scheme that takes account of the Class of Service of the call. In practice, different calls may have different classes of service based on priority. For example, call priority may be key, normal or best efforts. The priority of the call is determined from a variety of factors, including the called party number, TCAP signaling Information, the type of origin and destination of the call, and the ATM class of service, typically defined in terms of Constant bit rate (CBR), variable bit rate (VBR) and Undefined Bit rate (UBR). Once the priority (class of service is determined), the originating switch selects the path through the network along one or more of the links 141, 14<sub>2</sub> and 14<sub>3</sub>, based on the allowed Depth of Search (DOS) for the call priority, as discussed below, and on the load state of the network. Once the originating switch determines that the call will be admitted to the network, each subsequent switch lying along the path to the destination checks the required bandwidth and allowed DOS.
0009FIGURE 2 graphically illustrates a call flow within the network 10 using the Class of Service routing technique of the invention. For purposes of discussion, assume that a call originates at node 1 and is destined for node 4. In accordance with the PNNI protocol, the originating node 1 will establish the shortest path, which most often is the shortest hop path. If the shortest hop path is a one-hop path (not shown in FIG. 2), then in accordance with the invention, then a check is made to determine the Class-of-Service of the call. From knowledge of the Class-of-Service of the call, a check is made for available bandwidth using the Class-of-Service Criterion discussed below for this direct route. If available bandwidth exists on the direct route, then the call passes on this route.
0010If no direct route exists as seen in FIG. 2, then the shortest multi hop path is selected, which as seen in FIG 2 comprises path A that passes through via nodes 6 and 5 before reaching destination node 4. Having selected Path A, the origin node checks whether available bandwidth exists for the Class-of-Service of the call on the link from to node 6. If so, then node 6 looks for available bandwidth on the link to node 5 in a similar manner. In turn, via node 5 looks for available bandwidth on the link to the destination node 4 in a similar manner. The search depth passes from each node to a successive downstream path in the Initial Address Message (IAM) or in the start-up message. If any node along the selected path ascertains that an intermediate link, for example, the link between nodes 5 and 4, lacks sufficient bandwidth, then a crankback is sent back to the originating node 1 to select another path. The originating node 1 then selects the next shortest path, say path B in FIG 2., and repeats the above-described process.
0011FIGURE 3 illustrates the path selection process in somewhat more detail. As discussed earlier, when node 1 receives a call destined for node 4, node 1 searches for the shortest path. Assuming that paths A and B are the shortest (each having an administrative weight of one), the originating node will select a path (e.g., path A) in fixed order, sequentially in terms of subsequent paths. Thus, the originating node will pick path A, but if any link lacks sufficient bandwidth, then the originating node 1 selects path B. If any link in path B lacks sufficient bandwidth, then the originating node 1 selects path C and so on. As between paths that are of equal length, the path having the lowest administrative weight is selected.
0012To determine requisite depth, a Bandwidth in Progress (BWIP) indication is established at the start of the call or other connection request. To that end, two quantities: Bandwidth Peg Count (BWPC) and a Bandwidth Overflow Count (BWOV) are kept for each Virtual Path (VP) or link connecting an originating/terminating switch pair. During a given interval of X minutes, each switch tracks for each link to another switch the following quantities: <ul id="ul0002" list-style="none"><li>BWPC(VP) = Sum of all Bandwidth (BW) required for each Virtual Channel (VC) setup for calls on their first choice path; and</li><li>BWOV(VP)= Sum of BW required for each blocked VC setup included in BWPC that was blocked .</li></ul> At the end of a prescribed period, typically three minutes, the Link Blocking (LBL) is computed LBL(VP) = OV(VP)/PC(VP) Each switch also maintains the following two Depth parameters for each VP: <ul id="ul0003" list-style="none"><li><b>BWavg</b><sub><b><i>vk</i></b></sub><b>,</b> the Bandwidth required for each Virtual Network<sub><i>v</i></sub> (VN<sub><i>v</i></sub>) to carry the average Bandwidth-In-Progress (BWIP<sub><i>vk</i></sub>) [ = Erlang Load<sub><i>vk</i></sub> x Avg BW<sub><i>vk</i></sub> / Virtual Path<sub><i>vk</i></sub>] and</li><li><b>BWmax</b><sub><b><i>vk</i></b></sub><b>,</b> the Bandwidth required to meet the blocking probability Grade-of-Service objective= [TREBS(Erlang Load<sub><i>vk</i></sub>, Grade-of-Service(GOS)) x Avg BW<sub><i>vk</i></sub> / VC<sub><i>vk</i></sub>]</li></ul>
0013In practice , BWavg<sub><i>vk</i></sub> and BWmax<sub><i>vk</i></sub> are computed at prescribed intervals, typically weekly. Different values of BWavg<sub><i>vk</i></sub> and BWmax<sub><i>vk</i></sub> may be used for different periods of the day (business peak, residence peak).
0014Four different blocking reservation thresholds (BR1, BR2, BR3, BR4) are used, where 0% ≤ BR1 ≤ BR2 ≤ BR3 ≤ BR4 ≤ 100%. The reservation level N is 0 if BR1 is not exceeded, <i><b>N=1</b></i> if BR1 is exceeded but not BR2, <i><b>N=2</b></i> if BR2 is exceeded but not <i><b>BR3, N=3</b></i> if BR3 is exceeded but not BR4, and <i><b>N=4</b></i> if BR4 is exceeded. This relationship is depicted in Table I. <tables id="tabl0001" num="0001"><table frame="all"><title> Table I</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colnum="1" colname="col1" colwidth="78.75mm" /><colspec colnum="2" colname="col2" colwidth="78.75mm" /><thead valign="top"><row><entry namest="col1" nameend="col2" align="center">Determination of Reservation Level (N)</entry></row><row><entry namest="col1" nameend="col1" align="center"><i><b>N</b></i></entry><entry namest="col2" nameend="col2" align="center"><b>Condition</b></entry></row></thead><tbody valign="top"><row><entry namest="col1" nameend="col1" align="center">0</entry><entry namest="col2" nameend="col2" align="left">LBL(VP) ≤ BR1</entry></row><row><entry namest="col1" nameend="col1" align="center">1</entry><entry namest="col2" nameend="col2" align="left">BR1 < LBL(VP) ≤ BR2</entry></row><row><entry namest="col1" nameend="col1" align="center">2</entry><entry namest="col2" nameend="col2" align="left">BR2 <LBL(VP) ≤ BR3</entry></row><row><entry namest="col1" nameend="col1" align="center">3</entry><entry namest="col2" nameend="col2" align="left">BR3 < LBL(VP) BR4</entry></row><row rowsep="1"><entry namest="col1" nameend="col1" align="center">4</entry><entry namest="col2" nameend="col2" align="left">BR4< LBL(VP)</entry></row></tbody></tgroup></table></tables>
0015The total bandwidth (TBWmax) required on a Virtual Path to meet the blocking probability Grade of Service (GOS) objective for calls of their first choice route BWmax is typically computed every minute in accordance with the approximation: <ul id="ul0004" list-style="none"><li>TBWmax<sub>t+1</sub>(VP) =round(0.5*TBWmax<sub>t</sub>(VP) + .5* (1.1*TBWIP(VP) +TBWOV(VP)))</li><li>where TWIP(VP)= sum of all BWIP<i>v</i> for all virtual networks on the VP and TWBOV(VP) = sum of all BWOV<i>v</i> for all virtual networks v on the VP and round = the integer part of (x+0.5).</li></ul>
0016A VP is considered in a reserved (R) state if the Idle Bandwidth (ILBW) less than or equal to a Reserved Threshold (Rthr), as defined below. The VP is considered in the Heavily Loaded (HL) state if the Idle Bandwidth is less than or equal to a Heavily Loaded threshold (HLthr) for the link but more than Rthr. Conversely, the VP is considered Lightly Loaded (LL) if the Idle Bandwidth for each link in the path is greater than HLthr for the link. This relationship is best depicted in Table II (here we have omitted, for simplicity, the subscripts k denoting the node-pair for each variable): <tables id="tabl0002" num="0002"><table frame="all"><title> Table II</title><tgroup cols="2" colsep="1" rowsep="1"><colspec colnum="1" colname="col1" colwidth="78.75mm" /><colspec colnum="2" colname="col2" colwidth="78.75mm" /><thead valign="top"><row><entry namest="col1" nameend="col2" align="center">Load State Condition</entry></row><row><entry namest="col1" nameend="col1" align="left"><b>Name of State</b></entry><entry namest="col2" nameend="col2" align="left"><b>Condition</b></entry></row></thead><tbody valign="top"><row><entry namest="col1" nameend="col1" align="left">Busy <b>B</b></entry><entry namest="col2" nameend="col2" align="left">ILBW =0</entry></row><row><entry namest="col1" nameend="col1" align="left">Reserved <b>R</b></entry><entry namest="col2" nameend="col2" align="left">ILBW ≤ Rthr</entry></row><row><entry namest="col1" nameend="col1" align="left">Heavily Loaded <b>HL</b></entry><entry namest="col2" nameend="col2" align="left">Rthr <ILBW ≤ HLthr</entry></row><row rowsep="1"><entry namest="col1" nameend="col1" align="left">Lightly Loaded <b>LL</b></entry><entry namest="col2" nameend="col2" align="left">HLthr < ILBW</entry></row></tbody></tgroup></table></tables>
0017The Reservation Threshold Rthr and Heavily Loaded Threshold Hlthr are given by the relationships <ul id="ul0005" list-style="none" compact="compact"><li>Rthr(VP) = N x .05 x TBWmax</li><li>HLthr(VP) = Rthr(VP) + .05 x TBWmax<sub><i>v</i></sub></li></ul> where N is the reservation level based on the Blocking Reservation thresholds (BR1, BR2, BR3, and BR4).
0018The Depth-of-Search (DoS) for a flow to use various Load States depends on the Bandwidth-In-Progress (BWIP), the BWavg<sub><i>v</i></sub> and BWmax<sub><i>v</i></sub> the thresholds, the priority of the call or other connection, and the number of links in the path, as illustrated in Table III (here again we have omitted, for simplicity, the subscripts k denoting the node-pair for each variable): <tables id="tabl0003" num="0003"><table frame="all"><title> TABLE III</title><tgroup cols="4" colsep="1" rowsep="1"><colspec colnum="1" colname="col1" colwidth="39.37mm" /><colspec colnum="2" colname="col2" colwidth="39.37mm" /><colspec colnum="3" colname="col3" colwidth="39.37mm" /><colspec colnum="4" colname="col4" colwidth="39.37mm" /><thead valign="top"><row><entry namest="col1" nameend="col4" align="center">DoS CRITERION</entry></row><row><entry namest="col1" nameend="col1" align="center"><b>Load State Allowed</b><sub><b><i>v</i></b></sub></entry><entry namest="col2" nameend="col2" align="center"><b>Key Service</b></entry><entry namest="col3" nameend="col3" align="center"><b>Normal Service</b></entry><entry namest="col4" nameend="col4" align="center"><b>Best Efforts</b></entry></row></thead><tbody valign="top"><row><entry namest="col1" nameend="col1" align="center">R</entry><entry namest="col2" nameend="col2" align="center">if BWIP<sub><i>v</i></sub> ≤ 2 x BWmax<sub><i>v</i></sub></entry><entry namest="col3" nameend="col3" align="center">if BWip<sub><i>v</i></sub> ≤ BWavg<sub><i>v</i></sub></entry><entry namest="col4" nameend="col4" align="center">Not Allowed</entry></row><row><entry namest="col1" nameend="col1" align="center">HL</entry><entry namest="col2" nameend="col2" align="center">if BWIP<sub><i>v</i></sub> ≤ 2 x BWmax<sub><i>v</i></sub></entry><entry namest="col3" nameend="col3" align="center">if BWip<sub><i>v</i></sub> ≤ BWmax<sub><i>v</i></sub></entry><entry namest="col4" nameend="col4" align="center">Not Allowed</entry></row><row rowsep="1"><entry namest="col1" nameend="col1" align="center">LL</entry><entry namest="col2" nameend="col2" align="center">All BWIP<sub><i>v</i></sub></entry><entry namest="col3" nameend="col3" align="center">All BWIP<sub><i>v</i></sub></entry><entry namest="col4" nameend="col4" align="center">All BWIP<sub><i>v</i></sub></entry></row></tbody></tgroup></table></tables>
0019The originating router determines the allowed DoS for the call or other connection according to Table III. The originating router first attempts to route the call on shortest path to the terminating router. <ul id="ul0006" list-style="bullet"><li>For a key service flow: <ul id="ul0007" list-style="bullet"><li>If BWIP<sub><i>v</i></sub> ≤ 2 x BWmax<sub><i>v</i></sub>, then all load states are allowed. The originating switch computes the shortest path through the network based on the weight of each link and selects the next node in fixed order sequentially.</li><li>If BWIP<sub><i>v</i></sub> > 2 x BWmax<sub><i>v</i></sub>, then only LL links are allowed. The originating switch computes the shortest path through the network based on the weight of each link and selects the next node where the first link is in a LL state in fixed order sequentially.</li></ul></li><li>For a normal service flow : <ul id="ul0008" list-style="bullet"><li>If BWIP<sub><i>v</i></sub> ≤ BWavg<sub><i>v</i></sub>, then all load states are allowed. The originating switch computes the shortest path through the network based on the weight of each link and then selects the next node in a fixed order sequentially.</li><li>If BWavg<sub><i>v</i></sub> < BWIP<sub><i>v</i></sub> ≤ BWmax<sub><i>v</i></sub>, then only HL and LL states are allowed. The originating switch computes the shortest path through the network based on the weight of each link and then selects the next node where the first link is in a LL or HL state in a fixed order sequentially</li><li>If BWIP<sub><i>v</i></sub> > BWmax<sub><i>v</i></sub>, then only the LL links are allowed. The originating switch computes the shortest path through the network based on the weight of each link and then selects the next node where the first link is in a LL state in a fixed order sequentially</li></ul></li><li>For a best effort service call only LL are allowed. The originating switch computes the shortest path through the network based on the weight of each link and then selects the next node where the first link is in a LL state in a fixed order sequentially</li></ul>
0020If the originating switch fails to find a path to the destination switch and there are other terminating switches that can also complete the call, then the originating switch uses the same PNNI-based method to route the call to a subsequent terminating switch. Otherwise, the call is blocked.
0021If the originating switch finds a path to the terminating switch, the packet is sent to the next hop in the computed path. The originating switch routes the call to an intermediate switch and passes the bandwidth requirement and depth of search to the intermediate switch in the IAM or Setup signaling message. The intermediate switch routes the call to the terminating switch or a next intermediate switch if the required bandwidth is available and the load state of the link from the intermediate switch to the terminating switch or the next intermediate switch is allowed. Otherwise, the intermediate switch returns call control to the originating switch using the crankback message. Upon receipt of the crankback message, the originating switch can route advance to other eligible paths.
0022Typically, in PNNI protocol networks, link bandwidth is not among the initial route selection criterion whereas, by contrast the path length is such a criterion. Therefore, thresholds such as the Available Cell Rate Proportional Multiplier can be set to minimize the flooding of nodes in repose to changes in link bandwidth. In this way, the shortest path route between any two pair of switches will remain a fixed sequential list of paths.
0023The above-described embodiments merely illustrate the principles of the invention. Those skilled in the art may make various modifications and changes that will embody the principles of the invention and fall within the spirit and scope thereof.
3 sheets
Sheet 1 Sheet 2 Sheet 3
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0883307A2 | Cites | European Patent Office (EPO) | Search report |
| EP1037495A2 | Cites | European Patent Office (EPO) | Search report |
| US5392344A | Cites | United States of America | Search report |
6 members in 4 offices; this record represents the family
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 53800700 | United States of America | A | |
| 538007 | United States of America | – | |
| US20000538007 | – | – | – |
| 538007 | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| CA2337589A1 | Canada | A1 | |
| EP1139618A2This record | European Patent Office (EPO) | A2 | |
| JP2001308927A | Japan | A | |
| EP1139618A3 | European Patent Office (EPO) | A3 | |
| US6778535B1 | United States of America | B1 | |
| US7561519B1 | United States of America | B1 |
11 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Application deemed to be withdrawnWithdrawn18D | 18D | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWNSTAA | STAA | |
| Designation fees paidAKX | AKX | |
| First examination report despatched17Q | 17Q | |
| Request for examination filed17P | 17P | |
| Designated contracting statesAK | AK | |
| Request for extension of the european patentAX | AX | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | |
| Designated contracting statesAK | AK | |
| Request for extension of the european patentAL;LT;LV;MK;RO;SIAX | AX | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI |
Numbers
- Publication
- 1139618
- Publication, DOCDB
- 1139618
- Publication, EPODOC
- EP1139618
- Application
- 1200787
- Application, DOCDB
- 01200787
- Application, EPODOC
- EP20010200787
Titles3
- German
- PNNI orientiertes "multi-link shortest path class of service" Routen
- English
- PNNI-based mult-link shortest path class-of service routing
- French
- Routage selon le mode "multi-link shortest path class of service" et basé sur le PNNI
Classification
- CPC, 8
- H04L45/302
- H04L45/10
- H04L45/125
- H04L45/26
- H04L45/304
- H04L45/3065
- H04L2012/5621
- H04Q11/0478
- IPC, 2
- H04L12 56
- H04Q11 04
Designated states26
- Contracting states, 20
- Germany
- France
- United Kingdom
- Austria
- Belgium
- Switzerland
- Cyprus
- Denmark
- Spain
- Finland
- Greece
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden
- Türkiye
- Extension states, 6
- Albania
- Lithuania
- Latvia
- North Macedonia
- Romania
- Slovenia