# Patent

## Title
Methods for constructing PNNI networks with optimized architecture

## Abstract

The specification describes techniques for evaluating important network performance parameters, for example, call set-up time, for private network-to-network (PNNI) interfaces. These performance parameters are used to determine the optimum size of the peer groups in the PNNI network. Both flat and multi-level networks may be designed using the methods described.

## Background
FIELD OF THE INVENTION
This invention relates to private network-to-network interfaces (PNNI), and more specifically to methods for constructing PNNI networks with optimized architecture.
BACKGROUND OF THE INVENTION
Private network-to-network interfaces (PNNI) refers to very large ATM networks that communicate between multiple private networks. A typical PNNI network is organized in peer groups. These are subunits of the total network that are interconnected as a group, with each group then interconnected in the PNNI network. An advantage of this architecture is that communications between members in a peer group can be independent of overall network management. When a communication between a node in one peer group and a node in another peer group is initiated, the PNNI protocol is used for that call set-up and management. The size of the peer groups, i.e. the number of nodes in each peer group, also affects the overall performance of the PNNI network.
Depending on the number of nodes served by the PNNI network, the architecture may be flat (non-hierarchical) or may have two or more hierarchical levels. When the network topology moves to multiple level architecture, several new effects on network performance are introduced. A primary motive for introducing new levels in a PNNI network is to increase routing efficiency and reduce call set-up time. However, added levels increase cost and management complexity. Thus there is an important trade-off when considering adding new hierarchical levels. A technique for resolving this trade-off is described and claimed in my co-pending application Ser. No. 10/346,460.
In both flat and multi-level networks, the size of the peer groups, i.e. the number of nodes in each peer group, affects the overall performance of the PNNI network. Thus the division of the network nodes into peer groups presents an important design variable that has not been generically solved previously in a rigorous fashion.
BRIEF STATEMENT OF THE INVENTION
According to the invention, a technique has been developed that evaluates important network performance parameters, for example, call set-up time, in terms of the peer group size. These are used to determine the optimum peer group size for a given PNNI network.



BRIEF DESCRIPTION OF THE DRAWING
The invention may be better understood when considered in conjunction with the drawing in which:
The FIGURE is a schematic diagram of a PNNI network showing a sample peer group configuration.



DETAILED DESCRIPTION OF THE INVENTION
With reference to FIG. 1, a flat topological PNNI network is represented. These networks typically have many nodes. For simplicity, the illustration shows relatively few nodes 11, organized in peer groups as shown. The peer groups in the figure are illustrated as having five nodes per peer group. For the illustration, the peer group size is arbitrarily chosen. That design approach, more or less, typically with some empirical data or design experience, is used to determine the peer group size in conventional network designs. But a rigorous solution to the optimum peer group size, in terms of identifiably network performance parameters has not been available. The following section describes a rigorous approach to determining the optimum peer group size.
In the discussion that follows, let N be the total number of lowest-level nodes (i.e., the number of ATM switches). Let x1 be the number of lowest-level nodes in each level-1 PG, and let x2=N/x1 be the number of level-1 PGs (all variables are assumed to be continuous).
For a flat network, define ={α|α>1}. We assume the time complexity of computing a minimum cost path in a flat (non-hierarchical) network with z nodes is R1(z)=α0zα, where α0>0 and αε. For example, for Dijkstra's shortest path method we have a α=2.
Certain nodes are identified as border nodes. A level-1 border node of a PG is a lowest-level node which is an endpoint of a trunk linking the PG to another level-1 PG. For example, if each U.S. state is a level-1 PG, and if there is a trunk from switch a in Chicago to switch b in Denver, then a and b are level-1 border nodes. Define Γ={γ|0≦γ<1}. We assume the number of level-1 border nodes in a PG with x1 lowest-level nodes is bounded above by B1(x1)=γ0x1γ, where γ0>0 and γεΓ. The case where each PG has a constant number k of border nodes is modelled by choosing γ0=k and γ=0. The case where the border nodes are the (approximately 4√{square root over (x1)}) boundary nodes of a square grid of x1 switches is modelled by choosing γ0=4 and γ=1⁄2.
Define ={κ|0≦κ≦1}. We assume the total number of level-1 PGs, excluding the source level-1 PG, that the connection visits is bounded above by V1(x2)=κ0(x2κ−1), where κ0>0 and κε. Note that V1(1)=0, which means that in the degenerate case of exactly one level-1 PG, there are no PGs visited other than the source PG.
This functional form for V1(x2) is chosen since the expected distance between two randomly chosen points in a square with side length L is kL, where k depends on the probability model used: using rectilinear distance, with points uniformly distributed over the square, we have k=2⁄3; using Euclidean distance we have k=( 1/15)[2+√{square root over (2)}+5 log(√{square root over (2)}+1]≈0.521; with an isotropic probability model we have k=[(2√{square root over (2)}/(3π)]log(1+√{square root over (2)})≈0.264. If the x2 PGs are arranged in a square grid, a random connection will visit approximately κ√{square root over (x2)}PGs. Choosing κ0=k and κ=1⁄2, the total number of PGs visited is approximately κ0x2κ. Choosing κ0=1 and κ=1 models the worst case in which the path visits each level-1 PG.
The source node of a connection sees the x1 nodes in the source PG, and at most B1(x1) border nodes in each of the x2−1 non-source PGs. A path computation is performed by the entry border node of at most V1(x2) non-source PGs. In each non-source PG visited, the entry border node sees only the x1 nodes in its PG when computing a path across the PG (or a path to the destination node, in the case of the destination PG), and so the path computation time complexity at each entry border node is R1(x1). Hence the total path computation time is bounded above by R1(x1+(x2−1)B1(x1))+V1(x2)R1(x1)=α0[x1+(x2−1)γ0x1γ]α+κ0(x2κ−1)α0x1α. We ignore the constant factor α0. The optimization problem for a 2-level hierarchy is thus: minimize [x1+(x2−1)γ0x1γ]α+κ0x1α(x2κ−1) subject to x1x2=N.
We next transform this optimization problem to a convex optimization problem (which has a convex objection function, a convex feasible region, and any local minimum is also a global minimum. We approximate x2−1 by x2 and x2κ−1 by x2κ, yielding the objective function [x1+γ0x1γx2]α+κ0x1αx2κ, which also upper bounds the total path computation time. We rewrite the constraint x1x2=N as Nx1−1x2−1=1, which can be replaced by Nx1−1x2−1≦1, since the inequality must be satisfied as an equality at any solution of the optimization problem. Letting y=x1+γ0x1γx2 yields the optimization problem: minimize yα+κ0x1αx2κsubject to x1+γ0x1γx2≦y and Nx1−1x2−1≦1. The inequality constraint x1+γ0x1γx2≦y must be satisfied as an equality in any solution; we rewrite this constraint as x1y−1+γ0x1γx2y−1≦1. Let s1=log x1, s2=log x2, s=(s1, s2), and t=log y. Combining exponential terms, we obtain the optimization problem 2(N):

minimize f2(s, t)=eαt+κ0e(αs1+κs2)  (1)

subject to e(s1−t)+γ0e(γs1+s2−t)≦1;  (2)

Ne(−s1−s2)≦1.  (3)

Problem 2(N) it is a special type of convex optimization problem called a geometric program. Geometric programs are particularly well suited to engineering design, with a rich duality theory permitting particularly efficient solution methods.

The following algorithm determines values for s1 and s2 that solve the optimization problem 2(N). Thus, the algorithm determines the optimal x1(the optimal PG size) and the optimal x2(the optimal number of PGs).

    Step 1. Choose any s=( s1, s2) such that e s1e s2=N, and choose t such that e s1+γ0e(γ s1+ s2)=e t.
    Step 2. Define ε1=eα t/f2( s, t) and ε2=κ0e(α s1+κ s2)/f2( s, t).
    Step 3. Define δ=(δ1, δ2, δ3, δ4) by






  
    
      δ
      1
    
    =
    1
  
  ,
  
    
      δ
      2
    
    =
    
      
        
          
            ε
            1
          
          ⁢
          
            α
            ⁡
            
              (
              
                1
                -
                γ
              
              )
            
          
        
        +
        
          
            ε
            2
          
          ⁡
          
            (
            
              κ
              -
              α
            
            )
          
        
      
      
        2
        -
        γ
      
    
  
  ,
  
    
      δ
      3
    
    =
    
      
        
          ε
          1
        
        ⁢
        α
      
      -
      
        δ
        2
      
    
  
  ,
  
    

  
  ⁢
  
    
      δ
      4
    
    =
    
      
        
          ε
          1
        
        ⁢
        α
      
      +
      
        
          ε
          2
        
        ⁢
        κ
      
      -
      
        
          δ
          2
        
        .
      
    
  




    Step 4. Define b1=log(N), b2=log (δ2/(ε1α)), and b3=log (δ3/(γ0ε1α)).
    
        Define (s, t)=(s1, s2, t) by

s1=(b1+b2−b3)/(2−γ), s2=b1−s1, t=s1=b2.

        and d=(s, t)−( s, t).
    
    
    Step 5. Use any well-known technique (e.g., bisection) to obtain a value θ* solving the 1-dimensional optimization problem: minimize {f2(( s, t)+θd)|0≦θ≦1}. If θ*τ for some small positive stopping tolerance τ, go to Step 6. Otherwise, set ( s, t)←( s, t)+θ*d and go to Step 2.
    Step 6. The optimal PG size is x1*=e s1 and the optimal number of PGs is x2*=e s2. Stop.


For a three-level PNNI network, let N be the total number of lowest-level nodes, let x1 be the number of lowest-level nodes in each level-1 PG, x2 be the number of level-1 PGs in each level-2 PG, and x3 be the number of level-2 PGs. Thus x1x2x3=N.
As for H=2, we assume the complexity of routing in a flat network with z lowest-level nodes is R1(z)=α0zα, where α0>0 and αε.
As for H=2, certain nodes are identified as border nodes. A level-1 border node of a PG in a 3-level network is a lowest-level node which is an endpoint of a trunk linking the PG to another level-1 PG within the same level-2 PG. A level-2 border node of a PG in a 3-level network is a lowest-level node which is an endpoint of a trunk linking the PG to another level-2 PG within the same PNNI network. For example, suppose each country in the world is a level-2 PG, and each U.S. state is a level-1 PG. Then if there is a trunk from a switch a in Boston to a switch b in London, a and b are level-2 border nodes.
For h=1, 2, we assume that the number of level-h border nodes in a level-h PG with z lowest-level nodes is bounded above by Bh(z)=γ0zγ, where γ0>0 and γεΓ. Thus each level-1 PG has at most B1(x1)=γ0x1γlevel-1 border nodes, and each level-2 PG has at most B2(x1x2)=γ0(x1x2)γ level-2 border nodes.
We assume that the total number of level-2 PGs, excluding the source level-2 PG, that the connection visits is bounded above by V2(x3)=κo(x3κ1), where κ0>0 and κε. Note that V2(1)=0, which means that in the degenerate case where there is one level-2 PG, there are no level-2 PGs visited other than the source level-2 PG. We assume that the total number of level-1 PGs visited within the source level-2 PG, excluding the source level-1 PG, is bounded above by V1(x2)=κ0(x2κ−1).
The source node sees the x1 nodes in its level-1 PG, at most B1(x1) level-1 border nodes in each of the x2−1 level-1 PGs (excluding the source level-1 PG) in the same level-2 PG as the source, and at most B2(x1x2) level-2 border nodes in each of the x3−1 level-2 PGs (excluding the source level-2 PG) in the PNNI network. Thus the total number of nodes seen by the source is bounded above by

x1+(x2−1)B1(x1)+(x3−1)B2(x1x2)=x1+(x2−1)/γ0x1γ+(x3−1)γ0(x1x2)γ.

The time complexity of the source path computation is bounded above by

R1(x1+(x2−1)B1(x1)+(x3−1)B2(x1x2)).

The total path computation time for all the level-1 PGs in the source level-2 PG, excluding the source level-1 PG, is at most V1(x2)R1(x1). For z>0, define R2(z)=ω0zω. The total path computation time for each of the V2(x3) level-2 PGs visited (other than the source level-2 PG) is, by definition, f2*(x1x2), which by Theorem 2 is bounded above by R2(x1x2).
To minimize the upper bound on the total path computation time for a three-level net-work, we solve the optimization problem:

minimize R1(x1+(x2−1)B1(x1)+(x3−1)B2(x1x2))+V1(x2)R1(x1)+V2(x3)R2(x1x2)

subject to x1x2x3=N. We approximate x2−1 by x2, x3−1 by x3, x2κ−1 by x2κ, and x3κ−1 by x3κ, which preserves the upper bound. Introducing the variable y, we obtain the optimization problem: minimize α0yα+κ0x2κα0x1α+κ0x3κω0(x1x2)ω subject to x1+x2γ0x1Γ+x3γ0+(x1x2)γ≦y and Nx1−1x2−1x3−1≦1. Letting s1=log x1, s2=log x2, s3=log x3, s=(s1, s2, s3), and t=log y, we obtain the geometric program 3(N):

minimize f3(s, t)=α0eαt+α0κ0e(αs1+κs2)+κ0ω0e(ω(s1+s2)+κs3)  (4)

subject to es1−t+γ0e(γs1s2−t)+γ0e(γ(s1+s2)+s3−t)≦1  (5)

Ne(−s1−s2−s3)≦1  (6)

The following algorithm determines values for s1, s2, and s3 that solve the optimization problem 3(N). Thus, the algorithm determines the optimal x1 (the optimal level-1 PG size), x2 (the optimal number of level-1 PGs in each level-2 PG), and x3 (the optimal number of level-2 PGs).

    Step 1. Choose any s=( s1, s2, s3) such that e s1e s2e s3=N, and choose t such that

e s1+γ0e(γ s1+ s2)+γ0e(γ( s1+ s2)+ s3)=e t.

    Step 2. Define ε1=α0eα t/f3( s, t), ε2=α0κ0e(α s1+κ s2)/f3( s, t), and ε3=κ0ω0e(ω( s1+ s2)+κ s3)/f3( s, t).


Define (α1, α2, α3, α4)=(ε2α+ε3ω, ε2κ+ε3ω, ε3κ, ε1α).

    Step 3. Define δ=(δ1, δ2, δ3, δ4, δ5) by δ1=1,

δ3=[(1−γ)(α1+α4)+(γ−2)α2+α3]/(γ2−3γ+3),

δ2=(1−γ)δ3+α2−α1, δ4=α4−δ2−δ3, and δ5=α2+δ3+γδ4.

    Step 4. Define λ=δ2+δ3+δ4, and define b1=log(N), b2=log(δ2/λ), b3=log(δ3/(γ0λ)),
    
        and b4=log(δ4/(γ0λ)). Define (s, t)=(s1, s2, s3, t) by

s1=[b1+b2(2−γ)+b3(γ−1)−b4]/(γ2−3γ+3), t=s1−b2, s2=b3+t−γs1,

        and s3=b1=s1−s2. Define d=(s, t)−( s, t).
    
    
    Step 5. Use any well-known technique (e.g., bisection) to obtain a value θ* solving the 1-dimensional optimization problem: minimize {f3(( s, t)+θd) |0≦θ≦1}. If θ*<τ for some small positive stopping tolerance τ, go to Step 6. Otherwise, set ( s, t)←( s, t)+θ*d and go to Step 2.
    Step 6. The optimal level-1 PG size is x1*=e s1, the optimal number of level-1 PGs in each level-2 PG is x2*=e s2, and the optimal number of level-2 PGs is x3*=e s3. Stop.


Various additional modifications of this invention will occur to those skilled in the art. All deviations from the specific teachings of this specification that basically rely on the principles and their equivalents through which the art has been advanced are properly considered within the scope of the invention as described and claimed.

## Claims

1. A method for constructing a two level private network-to-network interface (PNNI) network, the PNNI network comprising a plurality of nodes N, comprising dividing the nodes into a number of nodes x*1 interconnected in each level one peer group and a number x*2 of level one peer groups, and interconnecting the level one peer groups, wherein the number of nodes x*1 interconnected in each level one peer group is determined using the following steps:
(1) Set s=( s1, s2) such that e s1e s2=N, and set t such that e s1+γ0e(γ s1+ s2)=e t,
(2) set f2( s, t)=eα t+κ0e(α s1+κ s2), set ε1=eα t/f2( s, t) and ε2=κ0e(α s1+κ s2)/f2( s, t),
(3) define δ=(δ1, δ2, δ3, δ4) by





  
    
      δ
      1
    
    =
    1
  
  ,
  
    
      δ
      2
    
    =
    
      
        
          
            ε
            1
          
          ⁢
          
            α
            ⁡
            
              (
              
                1
                -
                γ
              
              )
            
          
        
        +
        
          
            ε
            2
          
          ⁡
          
            (
            
              κ
              -
              α
            
            )
          
        
      
      
        2
        -
        γ
      
    
  
  ,
  
    
      δ
      3
    
    =
    
      
        
          ε
          1
        
        ⁢
        α
      
      -
      
        δ
        2
      
    
  
  ,
  
    

  
  ⁢
  
    
      δ
      4
    
    =
    
      
        
          ε
          1
        
        ⁢
        α
      
      +
      
        
          ε
          2
        
        ⁢
        κ
      
      -
      
        δ
        2
      
    
  
  ,



(4) set b1=log(N), b2=log (δ2/(δ1α)), b3=log (δ3/(γ0ε1α)), define (s, t)=(s1, s2, t) by


s1=(b1+b2−b3)/(2−γ), s2=b1−si, t=s1−b2,


and set d=(s, t)−( s, t),
(5) set θ* to the point minimizing f2(( s, t)+θd) over the range 0≦θ≦1,
and set ( s, t)←( s, t)+θ*d,

(6) set x1*=e s1 and x2*=e s2 

where S1 represents the log of the number of nodes in each level one peer group, S2 represents the log of the level one peer groups, e is the numerical constant, N is the total given number of nodes in the network, α represents the time complexity of computing a minimum cost path in a flat network, γ and γ0 are constants characterizing the number of border nodes of each level one peer group, κ and κ0 characterize the number of lower level peer groups in each higher level peer group that is visited by a network connection, and f2, ε1, ε2,t, t, d, b1, b2,b3, and Θ are temporary variables.

2. A method for constructing a three level private network-to-network interface (PNNI) network, the PNNI network comprising a plurality of nodes N , comprising dividing the nodes into a number x*1 of lowest level nodes interconnected in each level one peer group, a number x*2 of level one peer groups in each level two peer group, and a number x*3 of level two peer groups, and interconnecting the level one peer groups and the level two peer groups, wherein the number x*1 of lowest level nodes interconnected in each level one peer group is determined using the following steps:
(1) Set s=( s1, s2, s3) such that e s1e s2e s3=N, and set t such that e s1+γ0e(γ s1+ s2)+γ0e(γ( s1+ s2)+ s3)=e t,
(2) set f3( s, t)=α0eα t+α0κ0e(α s1+κ s2)+κ0ω0e(ω( s1+ s2)+κ s3), set ε1=α0eα t/f3( s, t), ε2=α0κ0e(α s1+κ s2)/f3( s, t), ε3=κ0ω0e(ω( s1+ s2)+κ s3)/f3( s, t),
set (α1, α2, α3, α4)=(ε2α+ε3ω, ε2κ+ε3ω, ε3κ1ε1α),
(3) define δ=(δ1, δ2, δ3, δ4, δ5) by δ1=1, δ3=[(1−γ)(α1+α4)+(γ−2)α2+α3]/(γ2−3γ+3), δ2=(1−γ)δ3+α2−α1, δ4=α4−δ2−δ3, and δ5=α2+δ3+γδ4,
(4) set π=δ2+δ3+δ4, and set b1=log(N), b2=log(δ2/λ), b3=log(δ3/(γ0λ)), and b4=log(δ4/(γ0λ)), define (s, t)=(s1, s2, s3, t) by


s1=[b1+b2(2−γ)+b3(γ−1)−4]/(γ2−3γ+3), t=s1−b2, s2=b3+t−γs1,


and s3=b1−s1−s2, set d=(s, t)−( s, t)
(5) set θ* to the point minimizing f3(( s, t)+θd) over the range 0≦θ<1,
and set ( s, t)←( s, t)+θ*d,

(6) set x1*=e s1, x2*=e s2 and x3=e s3, 

where S1 represents the log of the number of nodes in each level one peer group, S2 represents the log of the level one peer groups, S3 represents the log of the number of level two peer groups, i is the numerical constant, N is the total given number of nodes in the network, α represents the time complexity of computing a minimum cost path in a flat network, γ and γ0 are constants characterizing the number of border nodes of each level one peer group, κ and κ0 characterize the number of lower level peer groups in each higher level peer group that is visited by a network connection, and f3, ε1, ε2,t, t, d, b1, b2,b3, b4, a1 to a4 a, ω, δ, γ, and Θ* are temporary variables.