Skip to main content

Conveying Vendor-Specific Constraints in the Path Computation Element Protocol
draft-ietf-pce-vendor-constraints-06

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 7150.
Authors Fatai Zhang , Adrian Farrel , Greg M. Bernstein
Last updated 2012-07-08
Replaces draft-farrel-pce-vendor-constraints
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state Became RFC 7150 (Proposed Standard)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-pce-vendor-constraints-06
Network Working Group                                       Fatai Zhang 
Internet-Draft                                                   Huawei 
Intended status: Standards Track                              A. Farrel 
                                                     Old Dog Consulting 
                                                           G. Bernstein 
                                                      Grotto Networking 
Expires: January 9, 2013                                   July 9, 2012 
                                      

                                    
            Conveying Vendor-Specific Constraints in the Path 
                      Computation Element Protocol 
                                      
                 draft-ietf-pce-vendor-constraints-06.txt 

Status of this Memo 

   This Internet-Draft is submitted to IETF in full conformance with   
   the provisions of BCP 78 and BCP 79. 

   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. 

   This Internet-Draft will expire on January 9, 2013. 

    

Abstract 

   The Path Computation Element Protocol (PCEP) is used to convey path 
   computation requests and responses between Path Computation Clients 
   (PCCs) and Path Computation Elements (PCEs), and also between 
 
 
 
Farrel & Zhang           Expires January 2013                  [Page 1] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   cooperating PCEs. In PCEP the path computation requests carry 
   details of the constraints and objective functions that the PCC 
   wishes the PCE to apply in its computation.  

   The mechanisms defined for indicating objective functions include 
   the capability to convey vendor-specific objective functions. This 
   document defines a facility to carry vendor-specific constraints in 
   PCEP.  

Conventions used in this document 

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
   document are to be interpreted as described in RFC-2119 [RFC2119]. 

Table of Contents 

    
   1. Introduction ................................................ .2 
   2. Procedures .................................................. .4 
   3. Protocol Elements ........................................... .6 
   4. IANA Considerations ......................................... .7 
   5. Management Considerations  .................................. .7 
      5.1. Control of Function and Policy ......................... .8 
      5.2. Information and Data Models............................. .8 
      5.3. Liveness Detection and Monitoring ...................... .8 
      5.4. Verifying Correct Operation.............................. 8 
      5.5. Requirements on Other Protocols and Functional Components 8 
      5.6. Impact on Network Operation.............................. 9 
   6. Security Considerations ...................................... 9 
   7. References ................................................... 9 
      7.1. Normative References .................................... 9 
      7.2. Informative References  ................................. 10 
   8. Acknowledgements ............................................. 11 
   9. Authors' Addresses ........................................... 11 
    
    

1. Introduction 

   A Path Computation Element (PCE) is an entity (component, 
   application or network node) that is capable of computing a network 
   path or route based on a network graph and applying computational 
   constraints. An architecture for the use of PCEs is defined in 
   [RFC4655]. 

 
 
Farrel & Zhang           Expires January 2013                  [Page 2] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   The Path Computation Element Protocol (PCEP) is defined in [RFC5440] 
   to exchange path computation requests and responses between Path 
   Computation Clients (PCCs) and PCEs. It is also used between 
   cooperating PCEs. 

   Path computations performed by a PCE depend on a set of constraints 
   indicated by the PCC. These constraints include the end points of 
   the path to compute (source and destination), and may include other 
   simple constraints such as bandwidth requirements and metric maxima 
   (for example, a maximum threshold for the hop count or the TE metric 
   of the computed path). 

   The PCE also needs to use some objective function to qualify the 
   path it selects as meeting the requirements of the PCC. The PCE may 
   have a default objective function, but the PCC can also indicate 
   which objective function it wants applied by placing an Objective 
   Function object in the path computation request message [RFC5541]. A 
   core set of objective functions to be supported in PCEP messages is 
   defined in the base PCEP requirements [RFC4657], and [RFC5541] 
   defines each of these functions as an abstract formula. 

   The registry of codepoints used to indicate objective functions is 
   managed by IANA and can be extended in future documents. PCE 
   implementations may choose to offer proprietary, vendor-specific 
   objective functions, and there is scope for this within the 
   codepoint registry created by [RFC5541]. That is, in the "PCE 
   Objective Function" code point registry managed by IANA, the rules 
   for the assignment of objective function code point values are as 
   follows (using terms defined in [RFC5226]) 

   o Function code values 1 through 1023 are assigned by IANA using the 
   "IETF Review" policy. 

   o Function code values 1024 through 32767 are assigned by IANA, 
   using the "First Come First Served" policy. 

   o Function code values in the range 32768-65535 are for "Private 
   Use". 

   Proprietary objective functions may operate on non-standard 
   constraints or metrics. The PCEP Metric Object defined in [RFC5440] 
   has scope for the definition of new, standardized metrics, but no 
   facility for the definition of vendor-specific metrics. At the same 
   time, there is no mechanism in PCEP for carrying other, more complex, 
   vendor-specific constraints. 

 
 
Farrel & Zhang           Expires January 2013                  [Page 3] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   This document defines a new PCEP object, the Vendor Constraints 
   object that can be used to carry arbitrary constraint information.  

   This document also defines a new PCEP TLV, the VENDOR-CONSTRAINT-TLV 
   that can be used to carry arbitrary constraint information within an 
   existing PCEP object.  

    

2. Procedures  

   A PCC that wants to convey proprietary or vendor-specific 
   constraints or metrics to a PCE does so by including a Vendor 
   Constraints object in the PCReq message. The contents and format of 
   the object are described in Section 3, but it is important to note 
   that the object includes an Enterprise Number that is a unique 
   identifier of an organization responsible for the definition of the 
   content and meaning of the object. 

   A PCC that wants to convey endpoints-specific vendor specific 
   constraints to a PCE may do so by including a Vendor Constraints TLV 
   in the endpoint-restriction-list of the END-POINTS with object type 
   Generalized Endpoint.   

   This Vendor Constraints TLV MAY also present in PCEP Objects 
   supporting TLVs and using the registry for the PCEP TLVs, to 
   indicate a vendor-specific constraint that applies to the PCEP 
   object.  

   A PCE that receives a PCReq message containing a Vendor Constraints 
   object MUST act according to the P-bit in the object header. That is, 
   if the P-bit is set, the object MUST be treated as mandatory and the 
   request must either be processed using the contents of the object or 
   rejected as defined in [RFC5440]. If the P-bit is clear, the object 
   MAY be used by the PCE or MAY be ignored. The PCC sets the P-bit 
   according to how it wishes the request to be processed. 

   The PCE determines how to interpret the Vendor Constraints object or 
   TLV by examining the Enterprise Number it contains. 

   The Vendor Constraints object is optional in a PCReq message. 
   Multiple instances of the object MAY be used on a single PCReq 
   message and each MUST be treated according to its P-bit setting. The 
   object can be present in two places within the PCReq message to 
   enable it to apply to a single path computation request or to a set 
   of synchronized requests. This usage mirrors the usage of the 
   Objective Function object [RFC5541]. Thus, the PCReq message based 
 
 
Farrel & Zhang           Expires January 2013                  [Page 4] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   on [RFC6006] is encoded as follows using the syntax described in 
   [RFC5511]. 

        <PCReq Message> ::= <Common Header> 
                            [<svec_list>] 
                            <request-list> 
    
        where 
    
            <svec-list> ::= <SVEC> 
                            [<OF>] 
                            [<GC>] 
                            [<XRO>] 
                            [<metric-list>] 
                            [<vendor-constraint-list>] 
                            [<svec-list>] 
    
            <metric-list> ::= <METRIC> 
                              [<metric-list>] 
    
            <vendor-constraint-list> ::= <VENDOR-CONSTRAINT> 
                                         [<vendor-constraint-list>] 
    
            <request-list>::= <request> 
                              [<request-list>] 
    
            <request>::= <RP> 
                         [<vendor-constraint-list>] 
                         <end-point-rro-pair-list> 
                         [<LSPA>] 
                         [<BANDWIDTH>] 
                         [<metric-list>] 
                         [<OF>] 
                         [<RRO>] 
                         [<IRO>] 
                         [<LOAD-BALANCING>] 
        where 
    
            <end-point-rro-pair-list> ::=  
                            <END-POINTS> 
                            [<RRO-List>] 
                            [<BANDWIDTH>] 
                            [<vendor-constraint-list>] 
                            [<end-point-rro-pair-list>]  
             
            <RRO-List>::=<RRO>[<BANDWIDTH>][<RRO-List>] 
            <metric-list>::=<METRIC>[<metric-list>] 
 
 
Farrel & Zhang           Expires January 2013                  [Page 5] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

    
   The Vendor Constraints object is included in a PCRep message in 
   exactly the same way as any other object as defined in [RFC5440]. 

   The Vendor Constraints TLV is optional in the END-POINTS with object 
   type Generalized Endpoint. The vendor restriction TLV MAY be 
   inserted at any place in the endpoint-restriction-list.  

   The VENDOR-CONSTRAINT-TLV MUST be taken into account. If the P flag 
   of the containing object is set, but the PCE does not understand the 
   TLV and its enterprise number, the entire PCEP message MUST be 
   rejected and the PCE MUST send a PCErr message with Error-
   Type="Reception of an invalid object" and Error-Value="Unsupported 
   VENDOR-CONSTRAINT-TLV" along with the corresponding object.  

   When present in the END-POINTS with object type Generalized Endpoint 
   the endpoint-restriction-list is encoded as follow: 

   <endpoint-restriction> ::= 
                            <LABEL-REQUEST><label-restriction-list>| 
                            <VENDOR-CONSTRAINT-TLV>]| 
3. Protocol Elements  

   The Vendor Constraints object and TLV conform to the format for PCEP 
   objects and TLVs defined in [RFC5440].  

   VENDOR-CONSTRAINT Object-Class is to be assigned by IANA 
   (recommended value=23). 

    VENDOR-CONSTRAINT Object-Type is to be assigned by IANA 
   (recommended value=1) 

   VENDOR-CONSTRAINT-TLV Type is to be assigned by IANA (recommended 
   value=16) 

   The format of the VENDOR-CONSTRAINT object, VENDOR-CONSTRAINT-TLV 
   body is as follows: 

      0                   1                   2                   3 
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |                       Enterprise Number                       | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     ~                 Enterprise-Specific Information               ~ 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    

 
 
Farrel & Zhang           Expires January 2013                  [Page 6] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   Enterprise Number 

   A unique identifier of an organization encoded as a 32-bit integer. 
   Enterprise Numbers are assigned by IANA and managed through an IANA 
   registry [RFC2578]. 

   Enterprise-Specific Information 

   The detailed enterprise-specific constraint information carried by 
   the object. The format and interpretation of this information is a 
   matter for the enterprise identified by the Enterprise Number. Such 
   formats and interpretation MAY be published by the enterprise 
   (possibly through an informational RFC or through commercial 
   documentation) so that PCCs or PCEs that are not part of the 
   organization can use the information. 

4. IANA Considerations 

   IANA maintains a registry of PCEP parameters. This includes sub-
   registry for PCEP Objects and PCEP TLV Type Indicators. 

   IANA is requested to make an allocation from the sub-registry PCEP 
   Objects as follows. The values here are suggested for use by IANA. 

    
   Object        Name                                  Reference Class 
   23       VENDOR-CONSTRAINT                              [This.I-D] 
              Object-Type 
                1: Vendor-Specific Constraints             [This.I-D] 

   IANA is requested to do the following allocations in the "PCEP TLV 
   Type Indicators" as follow. The Values are suggested for use by IANA. 

   Value     Meaning                                       Reference 
    16       Vendor Constraint TLV                         [This.I-D] 
    
   IANA is requested to make an allocation from the sub registry "PCEP-
   ERROR Object Error Types and Values" as follow. The Values are 
   suggested for use by IANA. 

   Error Name                                              Reference 
   Type   
   10    Reception of an invalid object 
         Error-Value=8  Unsupported VENDOR-CONSTRAINT-TLV [This.I-D] 
    
5. Management Considerations 

   This section follows the guidance of [MANAGE]. 
 
 
Farrel & Zhang           Expires January 2013                  [Page 7] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

5.1. Control of Function and Policy 

   A PCEP implementation SHUOLD allow configuring of various parameters 
   as described in [RFC5440]. A PCC implementation that uses vendor- 
   specific constraints MAY make the use of these constraints 
   configurable either across the whole PCC, per PCE that the PCC uses, 
   or per path computation request. A PCE that supports vendor-specific 
   constraints MAY make the support of these constraints configurable, 
   and MAY allow configuration of policies for the use of the 
   constraints.  

5.2. Information and Data Models 

   A PCEP MIB module is defined in [PCE-MIB] that describes managed 
   objects for modeling of PCEP communications. 

   It is NOT RECOMMENDED that standard MIB modules are extended to 
   include detailed information about the content of the Vendor 
   Constaints object. However, the standard MIB module MAY be extended 
   to report the use of the Vendor Specific object and the Enterprise 
   Numbers that the objects contain.  

5.3. Liveness Detection and Monitoring 

   This document makes no change to the basic operation of PCEP and so 
   there are no changes to the requirements for liveness detection and 
   monitoring set out in [RFC4657] and [RFC5440]. 

5.4. Verifying Correct Operation 

   This document makes no change to the basic operation of PCEP and so 
   there are no changes to the requirements or techniques for 
   monitoring the correct operation of the protocol out in [RFC4657] 
   and [RFC5440]. 

   Note that "correct operation" in this context referes to the 
   operation of the protocol itself, and not to the operation of the 
   computation algorithms which are out of scope for all PCEP work. 
   Mechanisms for verifying the correct operation of computation 
   algorithms might involve comparing the results returned by more than 
   one PCE. Scope for this might be limited by the use of vendor 
   constraints unless multiple PCEs support the same set of constraints. 

5.5. Requirements on Other Protocols and Functional Components 

   This document does not place any new requirements on other network 
   components or protocols. However, it may be beneficial to consider 
 
 
Farrel & Zhang           Expires January 2013                  [Page 8] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   whether a PCE should advertise the enterprise numbers and vendor 
   constraints it supports. This advertisement could be within PCE 
   Discovery ([RFC5088], [RFC5089]) or through extensions to PCEP 
   [RFC5440]. 

   Extensions for discovery and advertisement are outside the scope of 
   this document. 

5.6. Impact on Network Operation 

   The availability of vendor constraints in PCEP messages may 
   facilitate more complex and detailed path computations that may 
   enhance the way in which the network is operated. 

   On the other hand, the presence of additional vendor-specific 
   information in PCEP messages may congest the operation of the 
   protocol especially if the PCE does not support the constraints 
   supplied by the PCC. Thus, a PCC SHOULD monitor the capabilities of 
   a PCE either by discovery mechanisms as described in Section 5.5, or 
   through the receipt of negative responses. A PCC SHOULD NOT include 
   vendor constraints in a PCReq message to a PCE that it believes does 
   not support the constraints and that will not forward the request to 
   some other PCE that does support the constraints. 

6. Security Considerations 

   The protocol extensions defined in this document do not 
   substantially change the nature of PCEP. Therefore, the security 
   considerations set out in [RFC5440] apply unchanged. 

   Operators should note that an attack on PCEP may involve making PCEP 
   messages as large as possible in order to consume bandwidth and 
   processing power. The Vendor Constraints object may provide a 
   mechanism for this type of attack. It may be protected against by 
   using the authentication and integrity procedures described in 
   [RFC5440]. 

7. References 

7.1. Normative References 

   [RFC2119] S. Bradner, "Key words for use in RFCs to indicate 
             requirements levels", RFC 2119, March 1997.  

 
 
Farrel & Zhang           Expires January 2013                  [Page 9] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   [RFC5440] Vasseur, J.P., Le Roux, J.L., Ayyangar, A., Oki, E., 
             Ikejiri, A., Atlas, A., Dolganow, A., "Path Computation 
             Element (PCE) communication Protocol (PCEP)", RFC 5440, 
             March 2009.  

   [RFC5511] Farrel, A., "Reduced Backus-Naur Form (RBNF): A Syntax to 
             Form Encoding Rules in Various Routing Protocol 
             Specifications", RFC 5511, April 2007.  

   [RFC6006] Q. Zhao, et al., "Extensions to the Path Computation 
             Element Communication Protocol (PCEP) for Point-to-
             Multipoint Traffic Engineering Label Switched Paths", RFC 
             6006, September 2009.  

7.2. Informative References 

   [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, 
             "Structure of Management Information Version 2 (SMIv2)", 
             STD 58, RFC 2578, April 1999. 

   [RFC4655] Farrel, A., Vasseur, J.P., Ash, J., "Path Computation 
             Element (PCE) Architecture", RFC 4655, August 2006. 

   [RFC4657] Ash, J. and J. Le Roux, "Path Computation Element (PCE) 
             Communication Protocol Generic Requirements", RFC 4657, 
             September 2006. 

   [RFC5088] Le Roux, JL., Vasseur, JP., Ikejiri, Y., and R. Zhang, 
             "OSPF Protocol Extensions for Path Computation Element 
             (PCE) Discovery", RFC 5088, January 2008. 

   [RFC5089] Le Roux, JL., Vasseur, JP., Ikejiri, Y., and R. Zhang, 
             "IS-IS Protocol Extensions for Path Computation Element 
             (PCE) Discovery", RFC 5089, January 2008. 

   [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 
             IANA Considerations Section in RFCs", BCP 26, RFC 5226, 
             May 2008. 

   [RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Objective 
             Function Encoding in Path Computation Element 
             Communication and Discovery protocols", RFC 5541, June 
             2009. 

   [MANAGE]  Farrel, A., "Inclusion of Manageability Sections in PCE 
             Working Group Drafts", draft-ietf-pce-manageability-
             requirements, work in progress. 
 
 
Farrel & Zhang           Expires January 2013                 [Page 10] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   [PCE-MIB] Stephan, E. and K. Koushik, "PCE Communication Protocol 
             (PCEP) Management Information Base", draft-ietf-pce-pcep-
             mib, work in progress.  

8. Acknowledgements 

   Thanks to Meral Shirazipour, Ramon Casellas and Cyril Margaria for 
   review and comments. 

9. Authors' Addresses 

   Adrian Farrel 
   Old Dog Consulting 
   EMail: adrian@olddog.co.uk 
    
    
   Fatai Zhang 
   Huawei Technologies 
   Email: zhangfatai@huawei.com 
    
    
   Greg Bernstein 
   Grotto Networking 
   EMail: gregb@grotto-networking.com 
 
    
Intellectual Property 
    

   The IETF Trust 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 any IETF 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. 

   Copies of Intellectual Property 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 

   The IETF invites any interested party to bring to its attention any   
   copyrights, patents or patent applications, or other proprietary   

 
 
Farrel & Zhang           Expires January 2013                 [Page 11] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   rights that may cover technology that may be required to implement   
   any standard or specification contained in an IETF Document. Please   
   address the information to the IETF at ietf-ipr@ietf.org. 

   The definitive version of an IETF Document is that published by, or   
   under the auspices of, the IETF. Versions of IETF Documents that are   
   published by third parties, including those that are translated into   
   other languages, should not be considered to be definitive versions   
   of IETF Documents. The definitive version of these Legal Provisions   
   is that published by, or under the auspices of, the IETF. Versions 
   of   these Legal Provisions that are published by third parties, 
   including   those that are translated into other languages, should 
   not be   considered to be definitive versions of these Legal 
   Provisions. 

   For the avoidance of doubt, each Contributor to the IETF Standards   
   Process licenses each Contribution that he or she makes as part of   
   the IETF Standards Process to the IETF Trust pursuant to the   
   provisions of RFC 5378. No language to the contrary, or terms,   
   conditions or rights that differ from or are inconsistent with the   
   rights and licenses granted under RFC 5378, shall have any effect 
   and   shall be null and void, whether published or posted by such   
   Contributor, or included with or in such Contribution. 

Disclaimer of Validity 
 
   All IETF Documents and the information contained therein are 
   provided   on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION 
   HE/SHE   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET 
   SOCIETY, THE   IETF TRUST 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 THEREIN 
   WILL NOT INFRINGE   ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 
   MERCHANTABILITY OR FITNESS   FOR A PARTICULAR PURPOSE. 

 
Full Copyright Statement 
 
   Copyright (c) 2010 IETF Trust and the persons identified as the   
   document authors.  All rights reserved. 

   This document is subject to BCP 78 and the IETF Trust's Legal 
   Provisions Relating to IETF Documents 
   (http://trustee.ietf.org/license-info) in effect on the date of 
   publication of this document. Please review these documents 
   carefully, as they describe your rights and restrictions with 

 
 
Farrel & Zhang           Expires January 2013                 [Page 12] 


draft-ietf-pce-vendor-constraints-06.txt                      July 2012 
    

   respect to this document.  Code Components extracted from this 
   document must include Simplified BSD License text as described in 
   Section 4.e of the Trust Legal Provisions and are provided without 
   warranty as described in the Simplified BSD License. 

 
 
Farrel & Zhang           Expires January 2013                 [Page 13]