Internet DRAFT - draft-choi-pce-p2mp-framework

draft-choi-pce-p2mp-framework



Network Working Group                                 Jun Kyun Choi (BcN ERC)
Internet Draft                                          Dipnarayan Guha (NTU)
Category: Informational                                                                                   

Expiration Date: January 2007                                     August 2006



        Considerations of point-to-multipoint route optimization using PCEMP 

                        draft-choi-pce-p2mp-framework-04.txt



 Status of this Memo


   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   By submitting this Internet-Draft, each author represents that any 
   applicable patent or other IPR claims of which he or she is aware 
   have been or will be disclosed, and any of which he or she becomes 
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   This document is subject to the rights, licenses and restrictions 
   contained in BCP 78, and except as set forth therein, the authors 
   retain all their rights.

   Copyright (C) The Internet Society (2006).


 Abstract


   This draft describes the basic concepts of point-to-multipoint 
   (p2mp) path computation on the basis of the Path Computation Element 
   Metric Protocol (PCEMP). PCEMP, being soft-memory based, has the 
   capability of dynamic configuration of its finite state machines 
   (FSMs) in the participating PCEMP peers, and thus can support a 
   wide variety of traffic engineering techniques that are needed to 
   guarantee bandwidth demand and scalable fast protection and 
   restoration in PCE based p2mp frameworks. To take advantage of 
   bandwidth considerations and fast restoration mechanisms, the 
   centralized Controller, which is the key element in a PCE node, 
   is used for path computation in case of p2mp paths and can be used 
   in a scenario where reliable multicasting of bandwidth-on-demand 
   services becomes an important criteria for multiple-domain and/or 
   inter-domain PCE based architectures.



Choi, Guha                   Informational                    [Page 1]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006



Table of Contents

   1  Terminology .................................................   3
   2  Introduction ................................................   4
   3  p2mp Support Requirements in PCE architectures ..............   4
      3.1 High-level requirements for PCE-based p2mp TE path
      computation and PCEMP .......................................   5
      3.2 Features of PCEMP as outlined for p2mp realizations .....   6
          3.2.1 PCEMP as a metric protocol ........................   6
          3.2.2 Protection and Restoration considerations in p2mp
                TE LSP computation using PCEMP ....................   7
          3.2.3 p2mp Peer Discovery during Path Computation .......   7
   4  Implementation considerations of the PCEMP protocol 
      architecture in p2mp LSP TE computations ....................   7
      4.1 PCEMP State Machines Design .............................   8
      4.2 Functional Parameters for PCEMP DS processing for
      p2mp TE LSP computation .....................................   8
      4.3 Realization of fast path computing unit architecture 
      using PCEMP .................................................   9
      4.4 Fundamentals of the PCEMP Algorithm as a function of CPCA   9
      4.5 Protocol implementation considerations using PCEMP ......  12
   5  Considerations of operationing of p2mp in PCE ...............  14
      5.1 QoS oriented p2mp path computation provisioning in PCE ..  15
   6  Conclusion ..................................................  15
   7  Security Considerations .....................................  16
   8  IANA Considerations .........................................  16
   9  Acknowledgements ............................................  16
   10 Intellectual Property Considerations ........................  16
   11 Normative References ........................................  17
   12 Informational References ....................................  17
   13 Authors' Addresses ..........................................  18
   14 Full Copyright Statement ....................................  19















Choi, Guha                   Informational                    [Page 2]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


1. Terminology
    
   This memo makes use of the following terms: 
    
     1. Path Computation Element (PCE): an entity that is responsible 
        for computing/finding inter/intra domain LSPs. This entity can 
        simultaneously act as a client and a server. Several PCEs can 
        be deployed in a given Autonomous System (AS).                                      

     2. Path Computation Element node (PCE Node): a network processing 
        unit comprising of a PCE unit. This can be embedded in a router
        or a switch.  
 
     3. Domain: Denotes an Autonomous system (AS) within the scope of
        this draft.

     4. PCE Domain Area (PCEDA): A specific domain area within an AS 
        that consists of PCE peers managed by a PCE node running PCEMP

     5. PCE descriptor ID: a 32 bit number generated by the PCEMP
        FSM execution upon successful path computation and partition
        of the AS into PCEDAs

     6. PCE p2mp ID (pp2mp ID): A set consisting of one or more PCE
        descriptor IDs. The scope of this ID is determined by the 
        LSP setup and teardown dynamically, it can be within two
        adjacent nodes, or between different PCE peers under a 
        common PCEDA, or just a unique one for the entire LSP.
























Choi, Guha                   Informational                    [Page 3]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


2.  Introduction

    One of the key work items involving the functional specification of
    MPLS and GMPLS Traffic Engineering LSP path computation techniques
    in the proposed PCE WG charter is the case for TE LSP path 
    computation for inter-domain areas applying to both point-to-point 
    (p2p) and point-to-multipoint (p2mp) TE LSPs. Such path computation 
    techniques include primary, protection and recovery paths and well 
    as load balancing and reoptimization techniques. 

    Most of the existing MPLS TE allows for strict QoS guarantee, 
    resource optimization and fast failure recovery, but the scope is 
    mostly limited to p2p applications. In the context of path 
    computation, one of the important application areas is the 
    reliable support of bandwidth-on-demand applications, where the 
    QoS provisioning needs to be dynamic and robust. A scenario where
    a PCE node acts a server which are connected to several clients, 
    which may or may not be PCE peers, needs a clear requirement
    addressal so far as p2mp TE tunneling is considered. In this draft,
    we consider that such p2mp TE LSP path computation is QoS triggered, 
    and we show how PCEMP finite state machines (FSMs) might help in 
    achieving a scalable architecture involving PCEDAs where p2mp path 
    computation metrics are independent of the number of clients to which 
    the PCE server is attached to. 

    The Path Computing Element Metric Protocol (PCEMP) acts as a generic 
    computational model for path based metrics in large multi-domain and/or 
    multi-layer networks. This draft goes on to show some of the features 
    of the PCEMP protocol in realizing a protocol-driven architecture, 
    which essentially means that the topology for load balancing and 
    reoptimization in path computation is performed on the fly with the 
    PCEMP FSM execution on the participating PCE peers. This feature of 
    PCEMP helps in degenerating the setup and teardown of p2mp TE LSP 
    computation to the PCEMP protocol processing itself, thus enabling 
    support of an arbitrary number of clients as well provisioning of 
    guaranteed robust path protection and restoration and dynamic QoS 
    provisioning for bandwidth-on-demand services. 


3.  p2mp Support Requirements in PCE architectures

    For the scenario involving robust and dynamic provisioning of 
    bandwidth-on-demand services, the p2mp applications request p2mp 
    forwarding paths in case of different topology deployments. The 
    robustness must be thought in the context of path reoptimization, 
    so a quick change in the topology must be accomodated with every 
    PCEDA level optimization. The p2mp path will have several observed 
    metrics as constraints, such as cost of path establishment and 
    teardown, delay boundedness of the p2mp path, both delay bounded 
    and cost optimized constraints in tandem for path computation, etc. 
    One of the features as brought out in the PCE WG charter is the 
    co-existence of different path computation algorithms on the PCE 
    node, so that depending upon the data that is processed, a 
    particular algorithm is invoked. It is also evident that for p2mp 

Choi, Guha                    Informational                   [Page 4]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


    applications, a CPU intensive path computation is necessary, 
    primarily because most of the bandwidth-on-demand applications tend 
    to be resource-intensive applications like streaming multimedia, 
    real-time videoconferencing, etc. The ideal thing would be to let the 
    data that is under processing in the PCE node determine the path 
    computation algorithm directly, which would mean that the constraints 
    imposed by the QoS provisioning requirements would directly determine 
    the path computation algorithm and path reoptimization, which in 
    turns drives the resulting topology architecture. Thus, it is easy to 
    see why PCEMP is a possible solution for p2mp TE LSP computation, as 
    it drives a protocol driven architecture for topology changes in 
    path reoptimization.

    The traffic engineering techniques involved with p2mp TE LSP
    computation involve mainly with the case of p2mp path computation 
    over multiple domains. There are three main issues involved with this 
    feature: 1. load sharing among paths, 2. ability to modify the p2mp 
    paths in different PCEDAs even when the PCEDA entities lie in 
    different multiple domains, 3. p2mp path computation for corresponding 
    clients in muliple domains must be able to support scalability, i.e. 
    the number of clients entering/leaving the p2mp tree at a given time. 

3.1 High-level requirements for PCE-based p2mp TE path computation and 
    PCEMP

    Some of the high level requirements for PCE-based p2mp TE path
    computation [1] are:


    1. Capability to implement multiple p2mp path calculation 
    algorithms/mechanisms and to select the appropriate algorithm/
    mechanism based on computation demands. We have mentioned this
    independently earlier about PCEMP FSM driven architectures. 

    2. Reliability in LSR-PCE signaling. A good thing about PCEMP is 
    that as the FSMs are soft-configured on the participating peers, 
    the same protocol can be used for communicating between a LSR and 
    a PCE, as well do the data processing and path computation on a 
    PCE peer entity, i.e. a node. 

    3. Support of PCE in a centralized and distributed manner. This is 
    automatically derived from the PCEDA partitions once the PCE peers 
    are known. 

    4. Capability to calculate a p2mp path by co-ordinating multiple 
    PCEs. PCEMP does this by assigning an IDT (input data type) 
    associated with each TE-LSP that is set up through the corresponding 
    PCE node entity. For path computation using PCEMP FSMs, the PCE 
    descriptor ID is returned after every computation is complete. If 
    the computation is successful, a random 32 bit number is generated 

Choi, Guha                   Informational                    [Page 5]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


    which holds the path computation status at that PCE node. If the 
    path computation fails, a value of -1 is generated in the PCE 
    descriptor ID field which is communicated to the immediate PCE peer 
    and automatic protection of the TE LSP begins and a reoptimization 
    is calculated by the last stored random number for this node by the 
    neighboring PCE peer. A pp2mp ID is a set of the corresponding PCE 
    descriptor IDs (a -1 has a local scope to the node where the fault 
    occurred)

    5. Detection of p2mp capability (p2mp signaling/forwarding support) 
    of LSRs. This is done using the soft-memory feature aspect of PCEMP 
    FSMs. If the LSR does not support p2mp capability, it will just 
    transparently pass through the PCEMP protocol messages. The 
    soft-memory will provide a temporary "make-and-break" FSM support 
    on the LSR before actual communications take place. 

    6. Support of load balancing between multiple PCEs. This is done 
    with the help of the corresponding IDTs derived from the QoS classes 
    in the PCEMP FSMs. 

    7. Capability to hold calculated p2mp path information. This is 
    done dynamically for TE LSPs passing through a PCE peer entity 
    through the PCE descriptor IDs. Besides, the centralized Controller 
    of the PCE server also maintains a table containing these 
    descriptor IDs corresponding to the PCE peers within the PCEDA for 
    which it is responsible.

    8. Capability to synchronize TEDB/LSDB between the PCE and LSR. 
    This has been discussed using the different parts of the centralized 
    Controller. The authors have brought out a draft on this for SRLG 
    based end-to-end fast protection and recovery, where this 
    synchronization aspect is mentioned in [3]. 

3.2 Features of PCEMP as outlined for p2mp realizations

3.2.1 PCEMP as a metric protocol

    1. PCEMP acts as a generic computational model for path based metrics 
    in large multi-domain and/or multi-layer networks. 

    2. The protocol mechanism can serve as an application path 
    computation framework for any PCE

    3. Analysis of PCEMP metrics in terms of protocol cost shows the 
    implementation considerations of PCEMP protocol state machines in 
    p2mp TE LSP path computations.


Choi, Guha                   Informational                    [Page 6]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006

    4. The underlying key point is that PCEMP addresses inter-domain 
    partitioning and management issues through the concept of PCE peers 
    drafted by PCEMP. Partitioning into PCEDAs help automatically in 
    p2mp path computation, reoptimization and multiple PCE co-ordination. 


3.2.2 Protection and Restoration considerations in p2mp TE LSP computation 
      using PCEMP

    1. PCE based backup path computation can be done using SRLGs, as in 
    [3]. There can be any other mechanism associated with the real-time 
    protection, restoration and recovery for p2mp TE LSP path 
    computation, as we have mentioned earlier, using the PCE descriptor 
    ID. Processing the PCE descriptor ID for protection and recovery is 
    outside the scope of this draft. 


    2. PCEMP FSMs partition the corresponding AS into PCEDAs, which 
    means there is an obvious segmentation of any logical topology 
    during path computation. The network and control structure 
    frameworks in the scenario of PCEMP guarantees a fast establishment 
    of a disjoint backup path. This also means that there is a 
    mechanism possible for integrated provisioning and protection for 
    the purpose of fast backup path computation, which is an important 
    standpoint for bandwidth-on-demand QoS provisioning in p2mp 
    scenarios.


3.2.3 p2mp Peer Discovery during Path Computation 

    1. The PCE peer architecture as "seen" by the PCEMP FSM [2] helps 
    in fast PCE peer advertisement and fast processing of PCE peer 
    solicitations, thus improving router handling procedures on 
    individual PCE nodes and peers.
   
    2. The configuration of PCE peers for fast processing of 
    solicitations is one of the key aspects of p2mp TE LSP path 
    computation and reoptimization. This is also an important requirement 
    for bandwidth-on-demand services involving a PCE server and the 
    corresponding clients. 

    3. [4] has shown a guideline to specifications of modifying existing 
    protocols to facilitate communication between LSRs, PCEs and PCE 
    peers. The concept of synchronization of information between PCE 
    nodes in case of a change in the PCEDA helps in fast default PCE peer 
    acquisition [4]. This results from the fact that PCE peers are capable 
    of being "soft-configured" in inter-domain PCE issues. 


4.  Implementation considerations of the PCEMP protocol architecture in 
    p2mp LSP TE computations

    We extend the definition from [2], which contains the basic 
    definition of PCEMP Data Structure (PCEMP DS). The PCE node 
    essentially has three distinct functional entities: 


Choi, Guha                   Informational                    [Page 7]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


    1. Protocol System Architecture: PCEMP DS decoder architecture and 
    path computing core that interfaces with the network processing 
    engines in the PCE nodes. 

    2. Protocol System Specifications: An efficient algorithm for running 
    in the computing core of the PCE units, called the Combinatorial Path 
    Computing Algorithm (CPCA). This algorithm is the fundamental block 
    that co-ordinates the PCEMP state machines and describes the decoder 
    that processes arbitrarily large input data sequences using SCM [2]. 
    The memory structure of the protocol processing engine is implemented 
    in terms of these soft decoder algorithms and the data that is being 
    processed for p2mp applications. The method reduces hardware and path 
    computing complexity considerably.

    3. Protocol System Requirements: High Level Path Computing Transform 
    Library

4.1 PCEMP State Machines Design

    Definition: A unifying concept that ties together the CPCA and 
    protocol level processing. These mathematical programs are selected 
    on the PCE node block structure by the PCEMP DS based on the input 
    data sequence real-time and implemented as a dynamic data driven 
    tree partitioning. For p2mp TE LSP computation, this tree is
    additionally given respective IDs for different LSPs (differentiated 
    by LSP IDs during LSP setup) 

    Concept: A function that is mapped onto the CPCA and PCE computation 
    (PCEC) classes and outputs the path computation unit length. This 
    parameter is benchmarked for performance in processing time and 
    computational complexity of the PCE unit and invoked CC and SPC 
    metrics. For p2mp, these individual functions might be mapped to a 
    single centralized function in the PCE server (centralized path 
    computation), or might co-exist with one another in terms of local 
    function descriptors(distributed path computation)

    Iterator Self-Reflection of Types Design: The PCEMP DS is a general 
    framework supporting CPCA and PCEC modes of computation in the PCE 
    unit. Self-reflection of type instantiates two iterators that share 
    a common constructor class. The iterator types are of type CPCA and 
    PCEC, and called during compile-time to generate the necessary 
    control structure output. This helps in implementing the data-driven 
    strategy for path computing real-time and forms the basis of PCEMP 
    State Machines design. 

4.2 Functional Parameters for PCEMP DS processing for p2mp TE LSP 
    computation

    The input data sequence is arranged into an ordered set called the 
    Input Data Type (IDT) which is a subset of the input vector S and 
    a function of the control transform to be computed T. A State Subset 


Choi, Guha                   Informational                    [Page 8]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006

    is a member of the cardinal product of S and T. It is shown to be 
    isomorphic with the logical decoder outputs [2]. The IDTs invoke 
    the hardware for computing across the partitioned kernel in the PCE 
    nodes. 

    Input: IDT Tj, State Subsets Sl and Sm, Integers l and m, Label Lb, 
    Semi-Ring R. For p2mp support, there will be multiple state subsets, 
    and we will pairwise consider all such states. In case where the 
    total number of states is odd, one state will be paired with the 
    identity state.  
 
    Output: Flow metric/measure p(A,B), which maps to the PCE descriptor 
    ID. For p2mp cases, the PCE descriptor IDs are setwise collected to 
    form the pp2mp ID. This is again implementation dependent. 

4.3 Realization of fast path computing unit architecture using PCEMP

    Concept: Iterative applications of the PCEMP DS. Two or more IDT 
    encoders separated by an interleaver (respectively CC and SPC). 
    This structure suggests a decoding strategy based on the iterative 
    passing of soft-computing information between two decoding 
    algorithms. This is equivalent to dynamically partitioning the path 
    computing engine core into sub-units that are linked together 
    real-time based on the input data and the protocol handler. This is 
    what makes PCEMP a protocol driving architecture, and is one of the 
    key features of realizing a NP-hard path computation for p2mp TE LSPs. 

    Basic Computation: Configure PCEMP DS to compute soft-decisions in 
    terms of measures. An assigned measure is given to each branch of 
    the IDT. This algorithm makes the data intensive path computing much 
    easier and reduces overhead and complexity and is incorporated in 
    the computing core. It also guarantees disjoint path computation 
    that enables fast end-to-end backup and protections. The configuration 
    is totally dependent on the processed data and in a PCE server based 
    bandwidth-on-demand scenario, can be triggered by the QoS service
    classes. The QoS classes are directly mapped onto the IDT, and thus 
    can realize the p2mp based TE LSP path computation and reoptimization 
    all the time based on the demanded bandwidth ensuring robustness and 
    reliability of services. 


4.4 Fundamentals of the PCEMP Algorithm as a function of CPCA

for {
     any TE LSP passing through a PCE node P
    {

     Let A belong to Sm and B belong to Sl. 
     A and B are thus sets of states with m and l.

     Initialization: For each s in Sm, r(Sj,s) = 1 when s is 
     in A else 0
 
     xt(0) =1, xt(m) = 0, m is not zero

     Loop: 


Choi, Guha                   Informational                    [Page 9]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


     	/* For Decoder i to Decoder k, CC and SPC */
         
      	/* For j = m+1, m+2,...,l, for each s2 in Si, */

        /* Label branch bout with input m and three outputs 
        (c0,c1,x1); */

        // p2mp TE LSP path computation support //

        do
          {
           repeat for all Si's ; 
           assign bouts for each si in Si for P ; 
          }

        // p2mp TE LSP path computation support //

        /* c0 = common symbols between the two encoders, CC 
        and SPC */
        /* c1,x1 = PCE unit inputs */ 

        call decoder_private;  /* populates decoder specific 
        private data*/

        /* This is populated by data driven mapping of 
        external routing information. In PCEMP, each 
        external route is imported into the PCE domain area 
        in separate data driven computation strategies */

        u(y|c0) = load file_channel; /* populates PCE 
        unit kernel specific data */

        /* This is populated by the peer-to-peer information 
        exchange by the functional blocks involved in the 
        PCE node. i.e. the network processor, the domain 
        processor and the node processor */ 

        u(y|m) = rel (u(y|c0), u(c1,x1|c0,y); 

        /* This is SCM specific kernel computation that 
        involves a data-driven partitioning of the ordered 
        graph based on iterator instantiates */

        assign p = probability(c0); 

        // p2mp TE LSP path computation support //

        do
          {
           repeat for all Si's; 
           assign p for all c0's for all Si's; 
           take the weighted arithmetic mean of the 
           probabilities along with the branch labels;

           assign p1 = probability weighted (mean(c0)); 
         } 

        // p2mp TE LSP path computation support //  

        /* This is the probability that the PCE computing is 
        actually invoked for computing upon data vectors 
        that show a significant change in the data profile 
        sequence, else it is just buffered and tagged for 
        decision making. This reduces computational overhead 
        and unnecessary kernel calls for data intensive path 
        computing */


Choi, Guha                   Informational                    [Page 10]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt      August 2006


        // This is precisely what we use for the p2mp
        support in PCEMP based architectures. The path
        computation and reoptimization is driven by QoS
        demands. The algorithm processing completely
        depends on the data that is under processing,
        and the PCEMP FSM executes accordingly. Besides,
        this also shows that there can be other algorithms
        that can co-exist with PCEMP, in which case the 
        corresponding iterators to the other protocol FSMs
        would just be needed to be included as a child of
        the PCEMP iterator //

        assign y = u(c0).u(y|c0).decoder_private;

        log p(Si, xj) = log sum (si, xj-1) + log sum (zj) over 
        all b in Bi,

        y(b) = u(m).u(y|m).decoder_private;

        invoke Fast_Decoding_Procedure;

        /* This procedure has been described in the context of 
        iterator self-reflection types in Section 4.1 */

        /* This essentially means this: */
 
        /* for m to l all the state indices, */ 

        /* for all the branches on the corresponding graph of 
        the PCEMP DS IDT, obtain the sum of the logarithms of 
        the corresponding weights and optimize it for 
        choosing the correct points on the graph. This is a 
        continuous, cumulative and dynamic process which 
        involves minimum computation overhead and provides a
        guaranteed fast crossover for path computation and 
        backup protection */

        // This is thus invoked for all the p2mp TE LSP
        path computations, as we see above in the algorithm//

        // besides, the path computation for p2mp support
        is independent of the number of nodes, as that 
        parameter does not appear in our algorithm. This
        helps in scalability issues for p2mp TE LSP 
        computation in PCE architectures //

  Stop: 

        p(si,xj) = min log (sum (si, xj -1)

        /* Store the sums obtained in the Loop and then equate 
        to the final sum */ 


Choi, Guha                   Informational                   [Page 11]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006



   /* Fast path computing procedure for large sequence input 
   data: */ 

   /* 1. Setup: Use the received kernel data to compute the 
   common and private soft channel information */

   /* 2. Iterate: Repeatedly update, for the outer and inner 
   decoder, the iterative information by updating u(c0) and 
   u(m). The computation involves a forward and backward 
   application of the PCEMP DS with the complete branch 
   measure. */ 

   /* The extracted measure for the common symbol is computed 
   based on (x,y1,z) using the private branch measure */ 

   /* 3. Conclude: The extracted measure for the control 
   symbol m is computed based on (x,y1,z) using the complete 
   branch measure z */

   Based on the above algorithm and analysis, we can consider two 
   distinct finite state machine diagrams of the PCEMP protocol 
   architecture, as in [2]: 

   1. The case where the PCE unit block is invoked for constantly 
   changing data profiles within the time of test of goodness of fit 
   (MAX_PCE_TIME_FIT)

   2. The case where the PCE unit block is invoked only once for a 
   variable data profile and then the data is tagged (tags) within the 
   time of test of goodness of fit (MAX_PCE_TIME_FIT). max tags is an 
   important parameter to determine the computing potential within 
   MAX_PCE_TIME_FIT and determines the ease of p2mp path bifurcation, 
   route reoptimization and real-time protection and restoration.  

4.5 Protocol implementation considerations using PCEMP
 

                     |----------- (1) ------------>|                       
                     |                             |
                     |<-----------(2) -------------|
                     |                             |
                     |------------(3) ------------>|
                     |                             |
                     |<-----------(4) -------------|
                     |                             |  
                     |------------(5) ------------>|
                     |                             |
                     |<-----------(6) -------------|
                      
                  PCE1                           PCE2

   Figure 1: PCEMP message exchanges between PCE elements in p2mp case



Choi, Guha                   Informational                   [Page 12]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


    For considerations of point-to-multipoint route optimization using 
    PCEMP, we can use PCEMP messaging for implementing such a scenario. 
    Here is a sample sequence of messaging that helps in the PCE nodes  
    maintain soft PCEMP status. Details about the protocol messages can
    be found in [2]. 

  (1): Send a PCEMP Common Header with the COMPUTE_PATH enabled in the
       PCEMode field and the ACK REQUESTED enabled in the PCEFlag field. 
       The PCEMP message MAY include a PCE SUBOBJECT to inform the 
       responder (PCE2) about the initiator's (PCE1) 
       PCEMP-LOCAL-INITIATOR-ADDRESS. In this way PCE2 is initialized
       with the soft-memory based computation for PCEMP FSMs. 

  (2): PCE2 receives this message and is configured with the soft-memory
       based path computation states. It sends back an ACK message to 
       PCE1 with the responder's (PCE2) PCEMP-LOCAL-RESPONDER-ADDRESS

  (3): PCE1 sends a PCEMP Common Header with the COMPUTE_LSP_TYPE enabled
       in the PCEMode field, the Peer-to-peer mode set to 0 in the 
       PCEStatus field of the Common Header. For the other values set in
       the Peer-to-peer mode according to [2], this is still TBD. It 
       also sends a PCEMP ESTABLISH message with the following 
       parameters: 
       
       1. Flag field set to VARIABLE. The MAX_PCE_TIME_FIT is to be
          negotiated as discussed in [2]. In case this is not able to 
          be negotiated, then the PCEMP ERROR message SHOULD be 
          generated with the ERROR CODE field set to OUT OF TIME, and
          the PCE1 node MUST issue a fresh PCEMP ESTABLISH message with
          the Flag field set to STATIC. 

       2. In case of contention in the value of the MAX_PCE_TIME_FIT
          during negotiation, the node ID with the higher value wins. 
          The other PCE node which has won contention must send a 
          fresh PCEMP ESTABLISH message with the Flag field set to 
          STATIC and its' own MAX_PCE_TIME_FIT value. It MUST also set
          the ACK requested flag in the PCEFlag of the corresponding
          outgoing PCEMP Common Header. The node which has lost 
          contention SHOULD send out an ACK message along with a 
          PCE SUBOBJECT with the MAX_PCE_TIME_FIT value obtained thus.

       3. A BANDWIDTH OBJECT for conveying the QoS requirements of the
          initiator. An absence of this object SHOULD generate a PCEMP
          ERROR MESSAGE with the ERROR CODE field set to 3 signifying 
          a protocol error. 

  (4): PCE2 sends a PCEMP RESPOND message with the corresponding PCE
       Descriptor ID. This is matched and stored statically for the
       lifetime of the path computation between PCE1-PCE2 so that this 
       ID remains static between them till the path computation is over.
       If the PCE Descriptor ID changes value, a PCEMP ERROR message
       MUST be generated with the ERROR CODE field set to PROTOCOL 
       ERROR with its own saved PCE Descriptor ID of the wronged hop
       in the PCEMP NEGOTIATE OBJECT. It MUST also set the Protection
       mode in the PCEStatus field of the corresponding outgoing 
       PCEMP Common Header and the BANDWIDTH OBJECT with the same field
       value that was received in the PCEMP ESTABLISH message. If the
       two values are different, a PCEMP ACK message MUST be generated
       with the PCE SUBOBJECT set to the newer value of the BANDWIDTH
       OBJECT. The responder MUST generate a PCEMP ACK message with
       this accepted value of the BANDWIDTH OBJECT. In case these two
       still do not match, a PCEMP ERROR message MUST be generated 
       with the ERROR CODE field set to 3, a PCEMP NEGOTIATE OBJECT
       with the accepted QoS parameters and the same value in the 
       BANDWIDTH OBJECT.  


Choi, Guha                   Informational                   [Page 13]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


  (5): PCE1 issues a PCEMP TEARDOWN message with the RequestType field 
       set to CHANGE IN COMPUTATION STYLE for PCE2 to remain PCEMP
       enabled and the path computation state active.

  (6): PCE2 sends a PCEMP Common Header with the COMPUTE_LSP_TYPE 
       enabled in the PCEMode field. The PCEMP message MAY include a 
       PCE SUBOBJECT to inform the responder (PCE1) about the 
       initiator's (PCE2) PCEMP-LOCAL-INITIATOR-ADDRESS. 

   This process is repeated for multiple PCEn, and the path computation
   works along the one described in Section 4.4.
   

5. Considerations of operationing of p2mp in PCE

   As said before, it is possible to obtain a protocol driven network 
   architecture from a data driven protocol FSM. From the operationing 
   point of view, there are two equally likely possibilities for p2mp 
   support in PCEs:

   1. The PCE descriptor ID that is obtained from the FSM execution can 
   be carried as a separate optional object in standard OSPF/RSVP-TE 
   extensions, irrespective of whether a routing or a signaling based 
   solution is deployed for TE LSP path computation in p2mp scenarios. 
   Traditionally, if an explicit-route object is used, the PCE descriptor 
   ID can be used in conjuction with it as a sub-object. It is easy to 
   understand that a path change will essentially mean changing the 
   contents of the explicit-route object and/or inserting/deleting a new 
   one for the purpose of p2mp support. The pp2mp ID, which is added on 
   once the PCE descriptor IDs are added with the explicit route object 
   being processed by every next hop, will be thus spanned over the 
   entire PCEDA. At the egress side, the total pp2mp ID is recognized 
   and the LSP contents mapped onto the corresponding client paths. 

   2. The other option is to have a separate messaging system for PCEMP 
   that only has the PCEMP header and the PCE descriptor ID as the 
   payload. The PCE nodes can maintain a local counter for these IDs, 
   which are generated randomly but become fixed for any set of adjacent 
   path computation. The scope of this deployment is again implementation 
   specific. It might act as an encapsulated packet within standard 
   routing or signaling protocols, or may be run independently before 
   control and management information is exchanged, or may be periodically 
   run to maintain the "soft-state" like conditions. 

   In either case, the p2mp TE LSP path computation is independent of the 
   number of clients (or end points) that are attached to the PCE node, 
   resulting in clear scalability enhancements. It is also evident that 
   the make-before-break conditions in modifying p2mp TE LSPs can be 
   easily done without much overhead and computation intensive operations. 


Choi, Guha                   Informational                   [Page 14]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


5.1 QoS oriented p2mp path computation provisioning in PCE

    For bandwidth-on-demand services, the QoS flow classes are mapped 
    onto individual PCE descriptor IDs using soft-memory concepts, as 
    shown in Section 4.4, so that route optimization is guaranteed for 
    reliable bandwidth provisioning in case of protection and restoration 
    using the central Controller in PCE nodes [3]. The central Controller 
    acts analogous to a bandwidth controller in this case. The algorithm 
    tree helps in guaranteeing an optimal route path all the time, thus 
    provisioning (as well as tree generation/bifurcation/extensions is 
    optimal globally all the time) is guaranteed for bandwidth-on-demand 
    applications. This is possible to do while extracting the QoS field 
    or indicative object/TLV in the corresponding control packet and 
    then generating the PCE FSM based on this. This also has the feature 
    that one single PCE node that is part of multiple LSPs requesting 
    different levels of bandwidth may support them by the corresponding 
    FSM execution and optimized routes, ensuring real-time provisioning 
    and path protection for multiple LSPs that may pass through it. It 
    also has the compatibility of supporting both P2P and P2MP scenarios 
    in either case based on what the LSP setup and teardown demands. 
    Also, in the trivial case the p2mp support using PCEMP degenerates 
    to what the single p2p case is so far as performance and scalability 
    is concerned. 

6.  Conclusion

    One of the important things is that the soft-nature of the PCEMP FSM 
    helps in supporting an arbitrary number of client nodes so far as 
    p2mp applications are concerned. The nominal value of such nodes is a 
    function of the deployment scenario, based on the domain that is being 
    controlled by the service provider, or in the case where different 
    service providers have an agreement about providing inter-domain 
    end-to-end QoS services. The algorithm's performance is independent of 
    the number of leaf nodes, which makes PCEMP scalable to large 
    inter-domain and multi-domain networks considerably. Apart from this, 
    PCEMP also helps the p2mp participating nodes to advertise their 
    capabilities based on the set of constraints that it can support. Using 
    PCEMP for p2mp TE LSP path computation and global reoptimization also 
    serves the dual purpose of topology reconfiguration. The main metrics 
    for evaluating PCEMP as a facilitator for p2mp support in PCE are 
    1. scalability, 2. cost of setup/teardown of the tree and/or its subtrees 
    and branches, and 3. reliability and robustness. The intent of this draft 
    is to provide a general framework for p2mp support in PCE architectures, 
    and is based on a scenario where the p2mp path computation is triggered
    by a QoS requirement. However, the algorithm is very general for path 
    computation and the p2mp support can be invoked by any general criterion. 
    The PCEMP framework also supports the co-existence of other path
    computing algorithms, as seen in Section 4.4, and can invoke them 
    based solely on the data (here the bandwidth-on-demand) that is being 
    processed. This draft shows a complete bandwidth sharing scheme which
    might help in significant bandwidth savings for bandwidth-on-demand 
    scenarios in PCE architectures. 

Choi, Guha                   Informational                   [Page 15]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


7.  Security Considerations

    As outlined in the scope of the PCE WG charter, one of the main area 
    for standardization is the specification of a communication protocol 
    for use between LSRs(termed Path Computation Clients - PCCs) and 
    PCEs, and between cooperating PCEs. This protocol must be capable 
    of representing requests for path computation including a full set 
    of constraints, must be able to return multiple paths with 
    consideration of confidentiality and security, and must itself be 
    secure. The impact of the use of the PCEMP architecture is relatively 
    much secure as the PCEDA are computed and distributed internal to the 
    PCE unit. An increase in inter-domain information flows and the 
    facilitation of inter-domain path establishment through PCEMP does not 
    increase the existing vulnerability to security attacks. It should 
    be remembered that PCEMP works by an invoked logic scheme local to 
    each participating PCE unit, and the protocol invoke is brought into 
    play only when there is a significant change in the data profile 
    within the time of goodness of fit. However, it is expected that the 
    PCE solutions will address security issues mentioned in [Ash] in 
    details using authentication and security techniques. 


8.  IANA Considerations

    This document makes no requests for IANA action.

9.  Acknowledgements

    This work was supported by the BcN ITRC, Ministry of Information and 
    Communications (MIC), Republic of Korea

10. Intellectual Property Considerations

    The IETF takes no position regarding the validity or scope of any 
    Intellectual Property Rights or other rights that might be claimed 
    to pertain to the implementation or use of the technology described 
    in this document or the extent to which any license under such 
    rights might or might not be available; nor does it represent that 
    it has made any independent effort to identify any such rights. 
    Information on the procedures with respect to rights in RFC 
    documents can be found in BCP 78 and BCP 79.

    Copies of IPR disclosures made to the IETF Secretariat and any 
    assurances of licenses to be made available, or the result of an 
    attempt made to obtain a general license or permission for the use 
    of such proprietary rights by implementers or users of this 
    specification can be obtained from the IETF on-line IPR repository 
    at http://www.ietf.org/ipr.


Choi, Guha                   Informational                   [Page 16]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


    The IETF invites any interested party to bring to its attention any 
    copyrights, patents or patent applications, or other proprietary 
    rights that may cover technology that may be required to implement 
    this standard. Please address the information to the IETF at 
    ietf-ipr@ietf.org.


11. Normative References


    [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 
    Requirement Levels", BCP 14, RFC 2119, March 1997.

    [RFC3667] Bradner, S., "IETF Rights in Contributions", BCP 78, 
    RFC 3667, February 2004.

    [RFC3668] Bradner, S., "Intellectual Property Rights in IETF 
    Technology", BCP 79, RFC 3668, February 2004.


12. Informational References

    [1] Yasukawa, S. ed., "Signaling Requirements for Point to Multipoint 
    Traffic Engineered MPLS LSPs", Internet Draft, 
    draft-ietf-mpls-p2mp-sig-requirement-05.txt, May 2006

    [2] Choi, J.K., and Guha, D., "Path Computation Element Metric 
    Protocol (PCEMP)", Internet Draft, 
    draft-choi-pce-metric-protocol-05.txt, August 2006

    [3] Choi, J.K., Guha, D. et al., "Fast End-to-End Restoration 
    Mechanism with SRLG using Centralized Control", Internet Draft,                
    draft-choi-pce-e2e-centralized-restoration-srlg-06.txt, August 2006

    [4] Choi, J.K. and Guha, D., "Fast IPv6 PCE peer Advertisement 
    using PCEMP", Internet Draft, draft-choi-pcemp-ipv6-05.txt, 
    August 2006

    [5] Mannie, E. et al., "Generalized Multi-Protocol Label Switching 
    Architecture", Internet Draft, 
    draft-ietf-ccamp-gmpls-architecture-07.txt, November 2003.  
 
    [6] Papadimitriou, D. and Mannie, E. (Editors), "Analysis of 
    Generalized Multi-Protocol Label Switching (GMPLS) based Recovery 
    Mechanisms (Including Protection and Restoration)", Internet Draft, 
    draft-ietf-ccamp-gmpls-recovery-analysis-03.txt, October 2004.






Choi, Guha                  Informational                   [Page 17]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt    August 2006


    [7] Mannie, E. and Papadimitriou, D. (Editors), "Recovery 
    (Protection and Restoration) Terminology for Generalized 
    Multi-Protocol Label Switching (GMPLS)", Internet Draft, 
    draft-ietf-ccamp-gmpls-recovery-terminology-04.txt, October 2004.

    [8] Lang, P. and Rajagopalan, B. (Editors), "Generalized 
    Multi-Protocol Label Switching (GMPLS) Recovery Functional 
    Specification", Internet Draft, 
    draft-ietf-ccamp-gmpls-recovery-functional-02.txt, October 2004. 
 
    [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell and J. 
    McManus, "Requirements for Traffic Engineering over MPLS", RFC 2702, 
    September 1999.

    [RFC3209] Awduche, D., et. al., "Extensions to RSVP for LSP Tunnels", 
    RFC 3209, December 2001.

    [RFC3473] Berger, L., et. al., "Generalized Multi-Protocol Label 
    Switching (GMPLS) Signaling - Resource ReserVation Protocol-Traffic 
    Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.

    [INTER-AREA] Le Roux, J., Vasseur, JP, Boyle, J., "Requirements for 
    Support of Inter-Area and Inter-AS MPLS Traffic Engineering", 
    draft-ietf-tewg-interarea-mpls-te-req-00.txt, March 2004 (WIP).

    [INTER-AS] Zhang, R., Vasseur, JP., et. al., "MPLS Inter-AS Traffic 
    Engineering requirements", draft-ietf-tewg-interas-mpls-te-req-06.txt, 
    January 2004 (work in progress).

    [MRN] Papadimitriou, D., et. al., "Generalized MPLS Architecture 
    for Multi-Region Networks",
    draft-vigoureux-shiomoto-ccamp-gmpls-mrn-04.txt, February 2004 (WIP).

    Le Roux, J.L., Ed., "Requirements for Path Computation Element (PCE)
    Discovery", draft-ietf-pce-discovery-reqs-05.txt, June 2006

    Ash, J., and Le Roux, J.L., Ed., "PCE Communication Protocol Generic
    Requirements", draft-ietf-pce-comm-protocol-gen-reqs-07.txt,
    June 2006


13.  Authors' Addresses

    Jun Kyun Choi
    BcN Engineering Research Center
    103-6 Munji-Dong, Yuseong-gu, Daejeon, 305-732, Republic of Korea
    Phone: +82-42-866-6122
    Email: jkchoi@icu.ac.kr

    Dipnarayan Guha
    Nanyang Technological University, Singapore
    Email: dg236@cornell.edu



Choi, Guha                   Informational                   [Page 18]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006


14. Full Copyright Statement

    Copyright (C) The Internet Society (2006). All Rights Reserved. 
    This document is subject to the rights, licenses and restrictions 
    contained in BCP 78, and except as set forth therein, the authors 
    retain all their rights.


    This document and the information contained herein are provided on 
    an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE 
    REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND 
    THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, 
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT 
    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR 
    ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A 
    PARTICULAR PURPOSE.









































Choi, Guha                   Informational                   [Page 19]

Internet Draft    draft-choi-pce-p2mp-framework-04.txt     August 2006