S. Van den Bosch Internet Draft G. Van Hoey Document: draft-vdbosch-tewg-multiarea- N. Degrande offline-te-00.txt F. Poppe P. de la Vallee Expires: May 2002 November 2001 Offline TE in hierarchical networks Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Abstract This document describes an approach to engineer a hierarchical network by means of offline traffic engineering. This approach can be used as a stand-alone solution, as was recently described as an example of a best current practice, or it may be combined with online traffic engineering. The offline approach presented here uses global information about network topology and traffic matrix to optimize explicit routes in the network. The optimization is based on the definition of global network performance parameters. Table of Contents Status of this Memo................................................1 Abstract...........................................................1 Conventions used in this document..................................2 1. Introduction....................................................2 2. Principles......................................................3 3. Single-area traffic engineering.................................5 Van den Bosch, et al. Informational - Expires May 2002 1 Offline TE in hierarchical networks November 2001 4. Hierarchical traffic engineering................................8 5. Conclusion.....................................................10 6. Security Considerations........................................10 References........................................................10 Author's Addresses................................................11 APPENDIX A: Simple Constraint-Based Routing implementation........11 APPENDIX B: Comparison between offline TE and CBR results.........12 Full Copyright Statement..........................................14 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 [1]. 1. Introduction Internet Service Providers (ISPs) are looking to extend the capabilities of their networks beyond a mere best-effort (BE) transport in order to offer value-added services. These services are more demanding in terms of resource availability than traditional data traffic such as e-mail or web-browsing. Traffic engineering by means of explicit routes provides improved traffic control and more optimal resource usage, which allows the ISP to accept more traffic with better Quality of Service (QoS) in his network. Explicit route computation can be subject to distributed or centralized control. The advantages and drawbacks of each approach are well known. A distributed control system is generally fast and robust but potentially less stable and sub-optimal. A centralized control system has access to more extensive information and processing power and can therefore make more optimal decisions. Also, it is generally more stable, converges quickly and imposes little operational overhead allowing easy operator control of the available resources. On the other hand, its responsiveness is considerably slower. One large ISP has recently expressed its preference for an offline traffic engineering solution and has expressed several reasons for this in a BCP document [2]. A method for performing offline TE was not disclosed. The present contribution will describe an approach for offline TE that could support the offline strategy described in [2]. The offline approach can be used as a stand-alone solution or it can be combined with online traffic engineering. Online traffic engineering and online/offline interworking is outside the scope of this contribution. The remainder of this contribution is organised as follows. Section 4 describes the basic principles underlying the offline approach. Section 5 discusses offline traffic engineering in a single-area Van den Bosch, et al. Informational - Expires May 2002 2 Offline TE in hierarchical networks November 2001 network. Section 6 extends the functionality to hierarchical networks. 2. Principles The offline traffic engineering approach is based on the following three principles. 2.1. Principle 1: The topology of the network and the traffic matrix are completely specified Offline traffic engineering is capable of obtaining efficient routing configurations because it takes into account global network and traffic information. These are specified as topology and traffic matrix. The topology information taken into account consists of a list of nodes with node attributes and a list of links with link attributes. The nodes represent routers and are characterized by the area(s) to which they belong. The links represent connections between interfaces and are characterized by -source node -destination node -link capacity -maximum allocation multiplier (MAM) for oversubscribing or undersubscribing link capacity -resource class list The network topology can be discovered in the network. The traffic matrix is a list of traffic trunks with trunk attributes. A traffic trunk is defined as an aggregation of traffic flows belonging to the same class which are forwarded through a common path [3]. For a trunk, the following basic attributes are taken into account: -source : the ingress node of the LSP -destination : the egress node of the LSP -demand : the capacity required for the LSP -resource affinities : a trunk can specify its affinity for certain resource classes buy means of an include/exclude list -protection attributes : a trunk requiring protection can specify protection type, protection level and preemption level (see section 5.2) -PHB : currently BE, EF and AF1-4 are supported (see section 5.3) The traffic matrix is computed by means of a traffic forecast function. This function forecasts the expected traffic flow of all traffic trunks in the network. These forecasts can be based on historical measurements, for instance when traffic engineering is used to adapt the routing configuration in the network to hourly or daily shifts in network traffic. Alternatively, they may be based on or complemented by SLA contract information. Van den Bosch, et al. Informational - Expires May 2002 3 Offline TE in hierarchical networks November 2001 2.2. Principle 2: Routing optimization is a two-step procedure based on edge-to-edge connections The optimization of the routing configuration proceeds in two steps. First, a list of candidate paths (complying with resource affinities) is constructed for each trunk. These are essentially k shortest paths for the trunk. This heuristic reduces the search space for the optimization. It is based on the assumption that, given sufficient amounts of other traffic, the probability of finding a better path first increases with the number of paths that are considered but quickly decreases again as too many resources are taken from other paths. Therefore, k can be restricted to a reasonably low number (5-10) that decreases with increasing traffic load. Second, a computer program selects the global routing optimum based on a number of network performance objectives. A first version of the optimization was based on a heuristic for combinatorial optimization. Subsequent versions are based on linear programming. 2.3. Principle 3: The quality of a routing configuration is represented by four network performance objectives: fairness, throughput, balance and utilization Offline traffic engineering evaluates a global routing configuration as a whole. Therefore, it needs to have a quality measure for a routing configuration. In our case, this quality measure is a function of four global network performance objectives: fairness, throughput, balance and utilization. These are derived from two network quantities: trunk share and link load. In this way, they reflect the difference between traffic-oriented optimization and resource-oriented optimization [3]. 2.3.1. Share, Fairness and Throughput The maximum bandwidth a trunk can fairly occupy is determined by a proportional distribution of the available capacity on the constraining link on its path over all trunks constrained by it. We define the share of the trunk as the ratio between this maximum bandwidth and its demand. If the share is higher than one, the demand of the trunk can be supported by the network. Fairness is defined as the minimum share in the network. It is determined by a proportional distribution of the available capacity on the bottleneck link over all trunks crossing it. Maximizing fairness will increase the share of the least served trunk in the network and will hence avoid starvation of traffic. Hence, minimum share is a measure of network fairness. Throughput is defined as the sum over all trunks of the product of share and demand. As such, the throughput corresponds to the maximum amount of traffic that can fairly flow through the network given the current routing configuration. A more conventional definition equals throughput to the sum of all demands. Both definitions are equal when all shares are equal to one. Van den Bosch, et al. Informational - Expires May 2002 4 Offline TE in hierarchical networks November 2001 2.3.2. Why does the network need to be fair? Treating all flows fairly in the network directly avoids starvation and pre-emption in times of congestion and thus directly translates into customer satisfaction. More importantly, optimizing fairness also renders the network less sensitive to traffic variations. Indeed, since all flows can expand up to their full share simultaneously without negatively affecting each other, maximizing fairness directly translates into network robustness. Finally, the share information can be used for value-added services such as bandwidth brokerage (admission control). The share then indicates for each trunk how much extra traffic can safely be admitted into the network. 2.3.3. Load, Balance and Network Utilization The load on a link is defined as the ratio between used capacity and available capacity on that link. Balance is defined as 1 minus the maximum link load. Therefore, maximizing the balance in the network effectively decreases the maximum link load. Network utilization is defined as the sum over all links of the product of link load and capacity. Minimizing utilization saves network resources. 2.3.4. Why does the network need to be balanced? Network delay for a large part consists of queuing delay, which is largely dependent on the link load. The amount of end-to-end delay due to queuing can be reduced by reducing the number of hops and/or by lowering the load in these hops. From our simulations, we see that global offline routing optimization significantly reduces the maximum link load with respect to CBR (see Appendix A) while only slightly increasing resource consumption. Some argue that load balancing is not important when the network is sufficiently over-provisioned. Load levels of 30%-50% are typically cited and in that case it is clear that the network can support a substantial increase of capacity usage. An over-provisioned network, however, needs to invest in order to stay ahead of traffic growth. Therefore, the maximum link load reduction translates into postponing capacity investment. Simulation results with the offline optimization and a (simple) CBR implementation are shown in Appendix B. 3. Single-area traffic engineering Van den Bosch, et al. Informational - Expires May 2002 5 Offline TE in hierarchical networks November 2001 3.1. Basic building blocks A simple flowchart for the offline approach is shown below. +--------+ +--------------+ +----------------------+ |Topology| |Traffic matrix| |Performance objectives| +--------+ +--------------+ +----------------------+ | | | | v | | +--------------+ | +->|Candidate path| | |computation | | +--------------+ | | v | +--------------+ +----------------->|Path selection| +--------------+ | v +--------+ |LSP list| +--------+ The inputs are topology, traffic matrix and the network performance objectives. The output is a list of paths and shares for each trunk together with the load on each link in the network. The basic building blocks of the solution are candidate path computation and path selection. 3.1.1. Candidate path computation Candidate paths for each trunk are computed as follows. First, all links not complying with resource class affinity are pruned from the network. In case of an include list, only links with the resource classes in the include list are kept. In case of an exclude list, all links without resource classes in the exclude list are kept. Then, a k shortest path calculation on the remaining network is run. The paths are ordered in the candidate path list in increasing metric. In case of protection (see section 5.2), two candidate path lists are computed. One for the primary path and one for the protection path. Both may have different resource class affinity. Paths from both lists are then paired prior to path selection in order to form maximally node and link disjoint path pairs. The path selection procedure then selects the optimal path pair from this list. The paths are paired prior to the optimization in order to reduce the amount of decision variables. Maximally node and link disjoint path pairs are used in order to be able to use the same protection path for all single node and link failures on the primary path. 3.1.2. Path selection The path selection procedure chooses the path (or the path pair) for each trunk that maximizes the network performance objectives. To Van den Bosch, et al. Informational - Expires May 2002 6 Offline TE in hierarchical networks November 2001 this end, the network performance objectives are combined into a performance objective function O that needs to be maximized. O = Cb*balance + Cf*fairness + Ct*throughput û Cu*utilization The coefficients in the objective functions can be chosen according to several scenarios. The default choice is to prioritize the objectives and optimise balance first, then fairness, then throughput and then utilization. Priority can (approximately) be induced by normalizing the performance objectives (for instance with respect to the OSPF solution) and choosing the coefficients with orders of magnitude difference. The path selection algorithm can be a heuristic for combinatorial optimization or a mixed-integer linear program. 3.2. Protection For trunks requiring protection, the candidate path computation needs to be adapted (see section 5.1.1) and the protection attributes need to be specified. The protection attributes are protection type, protection level and preemption level. The protection level (between 0% and 100%) indicates what portion of the trunk needs to be protected in case of a primary path failure. The preemption level (between 0% and 100%- protection level) indicates what portion of the trunks traffic may be preempted in case of a failure on other paths. We support two capacity allocation strategies indicated by the protection type. Dedicated protection reserves capacity on the protection path of each trunk in all cases. Shared protection assumes a certain failure state model (usually single node or single link failures) and shares capacity on the protection path of trunks whose primary paths cannot fail simultaneously under the assumed failure state model. 3.3. Differentiated Services The offline optimization currently supports BE, EF and AF1-4 PHB. Several trunk attributes depend on the PHB. Each PHB is mapped onto a demand model with two parameters: committed rate (CR) for guaranteed traffic and peak rate (PR) for excess traffic. For EF, only a committed rate (CR) can be specified since only in-profile traffic will be allowed. For BE, only a peak rate (PR) can be specified since all traffic is considered as excess. For AF, both PR and CR can be specified in order to indicate the relative portion of guaranteed and excess traffic. Resource-oriented optimization is applied to guaranteed traffic. This means that EF traffic and guaranteed AF traffic will be load balanced in the network. Traffic-oriented optimization is applied to excess traffic. This means that the excess throughput is maximized. More details on the objectives and the optimization can be found in [4]. Van den Bosch, et al. Informational - Expires May 2002 7 Offline TE in hierarchical networks November 2001 The relation between the demand model and the bandwidth allocation is shown below. 0 CR PR |-----------------|---------------------------|---------> demand : / : / : / |-----------------|---------------------|---------------> allocation 0 CR share*(PR-CR) For EF traffic a delay, delay quantile and jitter value can be specified. The delay and jitter objectives are pursued through maximizing balance and verified a posteriori by means of an empirical formula for path delay as a function of network loads. 4. Hierarchical traffic engineering The traffic engineering methods described in the previous section apply to non-hierarchical networks, e.g. comprised of a single OSPF area or containing only level 1 IS-IS routers. In practice, the network will usually exhibit hierarchy, that could be introduced by an administrative boundary, such as the creation of multiple OSPF areas. Combining suitable topology abstraction with offline routing optimization achieves an efficient solution to the hierarchical problem. An inter-area traffic engineering approach is described as an example. The approach is an instantiation of the fourth scenario of [5]. 4.1. Basic building block: topology abstraction Topology abstraction is the enabling concept used to decompose a hierarchical traffic engineering problem into several disjoint, more tractable subproblems. Topology abstraction consists in replacing part of the network with a simplified virtual topology. 4.2. Inter-area traffic engineering An OSPF autonomous system (AS) can typically be divided into several areas. A single backbone area forms the upper level in the hierarchy. It is connected to the leaf areas by means of area border routers (ABR). A connection between two leaf areas can only be made through the backbone area. AS border routers (ASBR) can be located in any area. A similar mechanism exists in IS-IS where level 1 nodes are required to make a connection to the nearest level 2 node when routing traffic outside their area. A small example of a hierarchical network consisting of a backbone area and three leaf areas is shown below. +--------+ |area3 | | | Van den Bosch, et al. Informational - Expires May 2002 8 Offline TE in hierarchical networks November 2001 | | | | | | | | +--A--A--+ B B R R +--------+ +--5--6--+ +--------+ | area1 | | | | area2 | | ABR1 ABR3 | | | | | | | | | | | | | | ABR2 ABR4 | | | | area0 | | | +--------+ +--------+ +--------+ The specific configuration of an OSPF AS strongly reduces the flexibility when optimizing the routing configuration in the network. In fact, the ABRs decouple the routing problem in the leaf areas from that in the backbone area. Indeed, from the originating areaÆs point of view, the optimization consists of finding the most suitable egress ABR and the optimal path towards it. From the destination areaÆs point of view, it consists of finding the best ingress ABR and the optimal path from it to the destination. The backbone area then optimises the connection between both path segments. In this way, the leaf areas drive the area border router selection. Arguments for this approach can be stated from a topological point of view and from traffic considerations. Indeed, the backbone area will arguably be more densely interconnected than the leaf areas. Therefore more candidate paths are available to the optimization and the results are less sensitive to the actual input. Also since large traffic volumes transit the backbone, link capacity is generally an order of magnitude larger, again leaving more flexibility to the optimization. Topology abstraction is the enabling concept for hierarchical traffic engineering. Assume that we are trying to optimise the routing configuration of a leaf area. In this case, we will use a virtual star network for each of the area border routers in the backbone area and replace all other areas by a single node. The link metric of the abstract backbone links is chosen as the average shortest path metric from the ABR to the destination area. The bandwidth can be chosen equal to the sum of the bandwidth on the outgoing links of the ABR. The application to the example network is shown below. +--------+ | area1 | | ABR1---------area3 | | \-------/ | | /-------\ | ABR2---------area2 | | +--------+ Van den Bosch, et al. Informational - Expires May 2002 9 Offline TE in hierarchical networks November 2001 The abstract topology is computationally very efficient while allowing exactly the flexibility we need for the leaf area optimization. Indeed, the routing optimization is focused on the selection of the ABR and the path to it. The introduction of the virtual star network in the backbone does not increase the number of routing options beyond the choice of the ABR. On the other hand, the use of the virtual links per destination area still allows taking into account some measure of bandwidth and distance towards the destination area. Also, it allows to treat all internal, incoming and outgoing traffic of an area simultaneously, which leads to more optimal solutions. The area optimizer can be co-located with an ABR in which case no additional flooding of information outside an area is required. Also note that leaf areas can be optimised independently and in parallel, which approximately fixes the run time for the hierarchical solution at twice the run time for single- area optimization. A central optimizer builds the backbone traffic matrix from the area solutions and optimises the routing in the backbone area. Note that this central optimizer de-couples the area from a technological point of view. Some areas may in fact not use traffic engineering at all (and may be over-provisioned instead) without impacting the global solution. 5. Conclusion This draft describes an offline traffic engineering methodology for single-area and hierarchical networks. 6. Security Considerations The approach outlined in this document poses no new security problems. References 1 RFC 2119 Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997 2 C. Liljenstolpe, ôOffline Traffic Engineering, A Best Current Practice from a Large ISP,ö work in progress, draft-liljenstolpe- tewg-cwcbp-00.txt, November 2001. 3 D. O. Awduche, A. Chiu, A. Elwalid, I. Widjaja and X. Xiao, ôOverview and Principles of Internet Traffic Engineering,ö work in progress, draft-ietf-tewg-principles-00.txt, July 2001. 4 S. Van den Bosch, F. Poppe, H. De Neve and G. H. Petit, ôMulti- Objective Traffic Engineering of IP Networks Using Label Switched Paths,ö Proceedings of Networks 2000, September 2000, Toronto, Canada. Van den Bosch, et al. Informational - Expires May 2002 10 Offline TE in hierarchical networks November 2001 5 K. Kompella, Y. Rekhter and J. P. Vasseur, ôMulti-area MPLS Traffic Engineering,ö work in progress, draft-kompella-mpls- multiarea-te-02.txt, November 2001. Author's Addresses Sven Van den Bosch Alcatel Francis Wellesplein 1 Phone: 32-3-240-8103 B-2018 Antwerpen Email: sven.van_den_bosch@alcatel.be Belgium Gert Van Hoey Alcatel Francis Wellesplein 1 Phone: 32-3-240-4238 B-2018 Antwerpen Email: gert.van_hoey@alcatel.be Belgium Natalie Degrande Alcatel Francis Wellesplein 1 Phone: 32-3-240-4691 B-2018 Antwerpen Email: natalie.degrande@alcatel.be Belgium Fabrice Poppe Alcatel Francis Wellesplein 1 Phone: 32-3-240-8006 B-2018 Antwerpen Email: fabrice.poppe@alcatel.be Belgium Paloma de la Vallee Alcatel Francis Wellesplein 1 Phone: 32-3-240-5849 B-2018 Antwerpen Email: paloma.de_la_vallee@alcatel.be Belgium APPENDIX A: Simple Constraint-Based Routing implementation For comparison, we have implemented a simple CBR algorithm. The basic steps of the algorithm are: 1. Take the first trunk to be routed. 2. Prune all link not complying with the resource affinity constraints of the trunk to be routed. 3. In the remaining network, prune all links with insufficient capacity to route the current demand. 4. Finally, compute the shortest path for the trunk in the remaining network. If no path is found, the LSP setup fails and the connection is blocked. Update the link loads and restore all links in the network. 5. If this was the last trunk stop. Otherwise go to 2. Van den Bosch, et al. Informational - Expires May 2002 11 Offline TE in hierarchical networks November 2001 APPENDIX B: Comparison between offline TE and CBR results We have compared the performance of the offline TE algorithm to the simple CBR algorithm described in APPENDIX A. This comparison was conducted on randomly generated networks with random traffic matrices. Twenty random networks containing 100 nodes and around 300 links were generated. The link capacity was the same for all links and varied between 50 Mb/s and 400 Mb/s in different simulations. For each network a random traffic matrix containing 200 trunks was generated with random demands uniformly distributed between 1 Mb/s and 5 Mb/s. For each network and each traffic matrix, the routing configuration was optimised using CBR and the offline optimization. Simulation results for CBR are shown in the table below. CBR 50 100 200 400 -------------------------------------------------- min 1.00 1.00 1.68 3.36 Fairness mean 1.00 1.27 2.53 5.06 [-] max 1.02 1.72 3.45 6.90 min 0.59 0.65 0.91 1.50 Throughput mean 0.61 0.91 1.57 2.90 [Gb/s] max 0.65 1.08 1.95 3.70 min 98% 58% 29% 15% Max load mean 100% 81% 41% 21% [-] max 100% 100% 60% 30% min 3.92 5.02 6.62 11.27 Utilization mean 4.45 6.87 12.31 23.37 [Gb/s] max 4.72 8.29 15.72 30.56 Note that for link capacity of 50 CBR could not route all traffic in all cases. The min, mean and max percentage of blocked setup attempts was 0%, 1.85% and 12% respectively. Simulation results for offline are shown in the table below. Offline 50 100 200 400 -------------------------------------------------- min 1.00 1.25 2.50 5.00 Fairness mean 1.22 2.14 4.28 8.56 [-] max 1.52 3.03 6.06 12.12 min 0.64 0.77 1.53 3.07 Throughput mean 0.87 1.49 2.95 5.90 [Gb/s] max 1.57 3.54 6.54 13.07 min 66% 33% 17% 8% Max load mean 83% 49% 24% 12% [-] max 100% 80% 40% 20% Van den Bosch, et al. Informational - Expires May 2002 12 Offline TE in hierarchical networks November 2001 min 4.63 5.91 11.82 23.63 Utilization mean 6.37 10.95 21.78 43.57 [Gb/s] max 11.89 25.34 48.46 96.92 In order to compare both approaches, the table below shows the percentage performance increase obtained with the offline TE algorithm. 50 100 200 400 -------------------------------------------------- min -38% 25% 25% 25% Fairness mean 7% 69% 71% 71% max 49% 138% 138% 138% min -35% -0.4% 17% 28% Throughput mean 20% 62% 89% 106% max 141% 228% 239% 261% min 0% 25% 25% 25% Max load mean 12% 69% 71% 71% max 49% 138% 138% 138% min -154% -208% -217% -230% Utilization mean -22% -60% -79% -90% max 36% 3% -7% -13% The above table suggests that fairness, throughput and maximum link load are improved for all networks by the offline algorithm except for fairness with 50 Mb/s link loads and throughput with 50 Mb/s and 100 Mb/s link loads. Note, however, that the negative improvement for 50 Mb/s link loads is caused by blocking at 50 Mb/s link loads (giving the LSPs that are routed a higher share). The slight decrease in throughput for one case with 100 Mb/s link loads is caused by the increase in fairness (which is the first objective). The offline TE algorithm obviously has higher utilization since longer paths are used to optimize network performance. We can conclude that the offline algorithm allows substantial increases in network performance. The performance increase decreases when the network becomes under-provisioned (link load of 50) at the expense of higher blocking risks. Up to 12% of trunks were blocked during set-up with 50 Mb/s link capacity. Based on maximum link load savings of 70-130% with respect to CBR, we have calculated that investments can be postponed up to 75%-125% of traffic doubling time. With current Internet traffic growth numbers, this would translate into a 9-15 months gain. Note that the offline approach is independent of the order in which the LSPs are presented whereas the CBR result depends on it. Therefore, one could even argue to refer to the maximum improvement values only. Van den Bosch, et al. Informational - Expires May 2002 13 Offline TE in hierarchical networks November 2001 Full Copyright Statement "Copyright (C) The Internet Society (date). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implmentation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Van den Bosch, et al. Informational - Expires May 2002 14