Network Working Group C.Demichelis CSELT Internet Draft July 1998 expires 16 January 1999 Instantaneous Packet Delay Variation Metric for IPPM <draft-ietf-ippm-ipdv-01.txt> 1. Status of this Memo This document is an Internet Draft. Internet Drafts are working doc- uments of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute work- ing 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''. To learn the current status of any Internet Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet Drafts shadow directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited. 2. Abstract This memo refers to a metric for variation in delay of packets across Internet paths. The metric is based on statistics of the difference in One-way Delay of consecutive packets. This particular definition of variation is called "Instantaneous Packet Delay Variation (ipdv)". The metric is valid for measurements between two hosts both in the case that they have synchronized clocks and in the case that they are not synchronized. In the second case it allows an evaluation of the relative skew. Measurements performed on both directions (Two-ways measurements) allow a better estimation of clock differences. The precision that can be obtained is evaluated. This memo is intended to have, as much as possible, the structure of the ippm draft on one-way delay metric. Demichelis [Page 1]

I-D Ipdv Metric July 1998 3. Introduction This memo refers to the Draft-ietf "One-way-delay metric for IPPM" that supposes as known. Part of the text in this memo is directly taken from that Draft. This memo defines a metric for variation in delay of packets that flow from one host to another one through an IP path. Since the metric is related to a variation, different definitions are possible according to what the variation is measured against. 3.1. Definition The Instantaneous Packet Delay Variation of an IP packet, inside a stream of packets, going from the measurement point MP1 to the measu- rement point MP2, is the difference of the One-Way Delay of that packet and the One-Way Delay of preceding packet in the stream. 3.2. Motivation A number of services that can be supported by IP are sensitive to the regular delivery of packets and can be disturbed by instantaneous va- riations in delay, while they are not disturbed by slow variations, that can last a relatively long time. A specific metric for quick va- riations is therefore desirable. Metrics that can be derived from the analysis of statistics of ipdv can also be used for buffer dimensioning, but this memo is not intended in that sense. The scope is to provide a way for measurement of the quality delivered by a path. In addition, this type of metric is particularly robust with respect differences and variations of the clocks of the two hosts. This allow the use of the metric even if the two hosts that support the measure- ment points are not synchronized. The related precision is comparable with the one that can be achieved with synchronized clocks. This will be discussed below. 3.3. General Issues Regarding Time All what is contained in the paragraph 2.2. of the Draft ippm on one- way delay metric (2.2. General Issues Regarding Time) applies also in this case. In addition, it is here considered that the relative skew of the two clocks can be decomposed into two parts: * A fixed one, called in this context "skew", given, for example, by tolerances in physical dimension of crystals. ^Demichelis [Page 2]

I-D Ipdv Metric July 1998 * A variable one, called in this context "drift", given, for example, by changes in temperature or other conditions of operation. Both of this components are part of the term "skew" as defined in the referenced Draft and in the Framework document. 4. Structure of this memo The metric will be defined as applicable to a stream of packets that flow from a source host to a destination host (one-way ipdv). The ini -tial assumption is that source and destination hosts have synchronized clocks. The definition of a singleton of one-way ipdv metric is first consi- dered, and then a definition of samples for ipdv will be given. Then the case of application to not synchronized hosts will be dis- cussed, and the precision will be compared with the one of the previous case. A bidirectional ipdv metric will be defined, and the methodology for error corrections. This will not be a two-ways metric, but a "paired" one-way in opposite directions. Some statistics describing the IP path's behavior will be proposed. 5. A singleton definition of a One-way ipdv metric This definition makes use of the corresponding definition of type-P- One-way-delay, that is supposed to be known. This section makes use of those parts of the One-way-delay Draft that directly apply to the One-way-ipdv metric, or makes direct references to that Draft. 5.1. Metric name Type-P-One-way-ipdv 5.2. Metric parameters + Scr, the IP address of a host + Dst, the IP address of a host + T1, a time + T2, a time. It is explicitly noted that also the difference T2-T1 is a parameter of the measurement though this is already implicit, since the times T1 and T2 exactly define the time conditions in which the measurement takes place. + Path, the path from Src to Dst; in cases where there is only one ^Demichelis [Page 3]

I-D Ipdv Metric July 1998 path from Src to Dst, this optional parameter can be omitted. {Comment: the presence of path is motivated by cases such as with Merit's NetNow setup, in which a Src on one NAP can reach a Dst on another NAP by either of several different backbone networks. Gener- ally, this optional parameter is useful only when several different routes are possible from Src to Dst. Using the loose source route IP option is avoided since it would often artificially worsen the per- formance observed, and since it might not be supported along some paths.} 5.2. Metric unit The value of a Type-P-One-way-ipdv is either a real number of seconds (positive, zero or negative) or an undefined number of seconds. 5.3. Definition Type-P-One-way-ipdv is defined for two (consecutive) packets from Src to Dst, as the difference between the value of the type-P-One-way- delay from Src to Dst at T2 [via path] and the value of the type-P- One-way-delay from Src to Dst at T1 [via path]. T1 is the wire-time at which Scr sent the first bit of the first packet, and T2 is the wire-time at which Src sent the first bit of the second packet. This metric is therefore ideally derived from the One-Way-Delay metric. NOTE: The requirement of "consecutive" packets is not essential. The measured value is anyway the difference in one-way-delay at the times T1 and T2, which is meaningful by itself, as long as the times T1 and T2 are such to describe the investigated characteristics. These times will be better defined later. Therefore, for a real number ddT "The type-P-one-way-ipdv from Src to Dst at T1, T2 [via path] is ddT" means that Src sent two consecutive packets whose the first at wire-time T1 (first bit), and the second wire-time T2 (first bit) and the packets were received by Dst at wire -time dT1+T1 (last bit of the first packet), and, respectively, at wire-time dT2+T2 (last bit of the second packet), and that dT2-dT1=ddT. "The type-P-one-way-ipdv from Src to Dst at T1,T2 [via path] is unde- fined" means that Src sent the first bit of a packet at T1 and the first bit of a second packet at T2 and that Dst did not receive one or both packets. 5.4. Discussion Type-P-One-way-ipdv is a metric that makes use of the same measurement methods provided for delay metrics. ^Demichelis [Page 4]

I-D Ipdv Metric July 1998 The following practical issues have to be considered: + Being a differential measurement, this metric is less sensitive to clock synchronization problems. This issue will be more care- fully examined in section 6. of this memo. It is pointed out that, if the reciprocal clock conditions change in time, the ac- curacy of the measurement will depend on the time interval T2-T1 and the amount of possible errors will be discussed below. + A given methodology will have to include a way to deter- mine whether a delay value is infinite or whether it is mere- ly very large (and the packet is yet to arrive at Dst). As noted by Mahdavi and Paxson, simple upper bounds (such as the 255 seconds theoretical upper bound on the lifetimes of IP packets [Postel: RFC 791]) could be used, but good engineering, including an understanding of packet lifetimes, will be nee- ded in practice. {Comment: Note that, for many applications of these metrics, the harm in treating a large delay as infinite might be zero or very small. A TCP data packet, for example, that arrives only after several multiples of the RTT may as well have been lost.} + Usually a path is such that if the first packet is largely delayed, it can "stop" the second packet of the pair and vary its delay. This is not a problem for the definition since is, in any case, part of the description of the path's behavior. + As with other 'type-P' metrics, the value of the metric may de- pend on such properties of the packet as protocol,(UDP or TCP) port number, size, and arrangement for special treatment (as with IP precedence or with RSVP). + If the packet is duplicated along the path (or paths!) so that multiple non-corrupt copies arrive at the destination, then the packet is counted as received, and the first copy to arrive determines the packet's one-way delay. + If the packet is fragmented and if, for whatever reason, reas- sembly does not occur, then the packet will be deemed lost. 5.5. Methodologies As with other Type-P-* metrics, the detailed methodology will depend on the Type-P (e.g., protocol number, UDP/TCP port number, size, precedence). Generally, for a given Type-P, the methodology would proceed as fol- lows: + The need of synchronized clocks for Src and Dst will be discus- sed later. Here a methodology is supposed that is based on synchronized clocks. ^Demichelis [Page 5]

I-D Ipdv Metric July 1998 + At the Src host, select Src and Dst IP addresses, and form two test packets of Type-P with these addresses. Any 'padding' por- tion of the packet needed only to make the test packet a given size should be filled with randomized bits to avoid a situation in which the measured delay is lower than it would otherwise be due to compression techniques along the path. + Optionally, select a specific path and arrange for Src to send the packets to that path. {Comment: This could be done, for example, by installing a temporary host-route for Dst in Src's routing table.} + At the Dst host, arrange to receive the packets. + At the Src host, place a timestamp in the prepared first Type-P packet, and send it towards Dst [via path]. + If the packet arrives within a reasonable period of time, take a timestamp as soon as possible upon the receipt of the packet. By subtracting the two timestamps, an estimate of one-way delay can be computed. + Record this first delay value. + At the Src host, place a timestamp in the prepared second Type-P packet, and send it towards Dst [via path]. + If the packet arrives within a reasonable period of time, take a timestamp as soon as possible upon the receipt of the packet. By subtracting the two timestamps, an estimate of one-way delay can be computed. + By subtracting the second value of one-way-delay from the first value the ipdv value of the pair of packets is obtained. + If one or both packets fail to arrive within a reasonable period of time, the ipdv is taken to be undefined. 5.6. Errors and Uncertainties In the singleton metric of ipdv, factors that affect the measurement are the same that can affect the one-way delay measurement, even if, in this case, the influence is different. The Framework document provides general guidance on this point, but we note here the following specifics related to delay metrics: + Errors/uncertainties due to uncertainties in the clocks of the Src and Dst hosts. + Errors/uncertainties due to the difference between 'wire time' and 'host time'. Each of these are discussed in more detail below. 5.6.1. Errors/Uncertainties related to Clocks If, as a first approximation, the error that affects the first measu- rement of one-way delay were the same of the one affecting the second Demichelis [Page 6]

I-D Ipdv Metric July 1998 measurement, they will cancel each other when calculating ipdv. The residual error related to clocks is the difference of the said errors that are supposed to change from the time T1, at which the first measurement is performed, to the time T2 at which the second measure- ment is performed. Synchronization, skew, accuracy and resolution are here considered with the following notes: + Errors in synchronization between source and destination clocks contribute to errors in both of the delay measurements required for calculating ipdv. + If the synchronization error is Tsync, and it is a linear func- tion of time, through the skew value, at time T1 the error will be Tsync1 and at time T2 the error will be Tsync2. The ipdv mea- surement will be affected by the error Tsync2-Tsync1, depending from skew and T2-T1. To minimize this error it is possible to reduce the time interval T2-T1, but this could limit the genera- lity of the metric. Methods for evaluating the synchronization error will be discussed below, since they come from a statistic over a significant sample. + As far as accuracy and resolution are concerned, what is noted in the above referenced Draft on one-way delay at section 3.7.1, applies also in this case, with the further consideration, about resolution, that in this case the uncertainty introduced is two times the one of a single delay measurement. 5.6.2. Errors/uncertainties related to Wire-time vs Host-time The content of sec. 3.7.2 of the above referenced Draft applies also in this case, with the following further consideration: The difference between Host-time and Wire-time can be in general de- composed into two components, whose one is constant and the other is variable around zero. Only the variable components will produce measu- rement errors, while the constant one will be canceled while calcu- lating ipdv. 6. Definitions for Samples of One-way ipdv Starting from the definition of the singleton metric of one-way ipdv, some ways of building a sample of such singletons are here described that have to be further analyzed in order to find the best way of con- sidering all the related problems. In the following, the two packets needed for a singleton measurement will be called a "pair". ^Demichelis [Page 7]

I-D Ipdv Metric July 1998 6.1. A "discontinuous" definition A general definition can be the following: Given particular binding of the parameters Src, Dst, path, and Type-P, a sample of values of parameters T1 and T2 is defined. The means for defining the values of T1 is to select a beginning time T0, a final time Tf, and an average rate lambda, then define a pseudo-random Poisson arrival process of rate lambda, whose values fall between T0 and Tf. The time interval between successive values of T1 will then average 1/lambda. Another si- milar, but independent, pseudo-random Poisson arrival process based on T0', Tf' and lambda', will produce a series of t' values. The time interval between successive t' values will then average 1/lambda'. For each T1 value that has been obtained by the first process, it is then possible to calculate the successive T2 values as the successive T1 values plus the successive intervals of t'. The result is shown in figure 1. |<- average interval 1/lambda ->| | | |<- av.int. | |<- av.int. | |1/lambda'->| | 1/lambda'->| _____|___________|___________________|_____________|________ pair i pair i+1 Figure 1 This general definition is likely go give problems, if no limits are considered for the obtained values. For example, the emission time of the first packet of a pair, could fall before the emission time of the second packet of the preceding pair. Probably this could be acceptable (provided that there are means to recognize pairs -e.g. use of sequence numbers-), but the concept itself of ipdv would be,at least, slightly changed. A way for avoiding this type of philosophical problems can be to give some rules on the values T0, Tf, lambda, T0', Tf', lambda', without changing the meaning of the metric. 6.2. A "continuous" definition A way to naturally avoid the previous problem is to adopt the following definition. A continuous stream of test packets can be supposed, where the second packet of a pair is, at the same time, the first packet of the next pair. Therefore the preceding definition becomes: ^Demichelis [Page 8]

I-D Ipdv Metric July 1998 + Given particular binding of the parameters Src, Dst, path, and Type-P, a sample of values of parameter T1 is defined. The means for defining the values of T1 is to select a beginning time T0, a final time Tf, and an average rate lambda, then define a pseudo-random Poisson arrival process of rate lambda, whose values fall between T0 and Tf. The time interval between successive values of T1 will then average 1/lambda. From the second value on, T1 value of the pair n coincides with T2 of the pair n-1, and the first packet of pair n coincides with the se- cond packet of the pair n-1. For the moment, in the following, this second definition will be con- sidered. Further refinement is required and is for further discussion. 6.3. Metric name Type-P-One-way-ipdv-stream 6.4. Parameters + Src, the IP address of a host + Dst, the IP address of a host + Path, the path* from Src to Dst; in cases where there is only one path from Src to Dst, this optional parameter can be omitted + T0, a time + Tf, a time + lambda, a rate in reciprocal seconds 6.5. Metric Units: A sequence of triads whose elements are: + T, a time + Ti, a time interval. + dT a real number or an undefined number of seconds 6.6. Definition A pseudo-random Poisson process is defined such that it begins at or before T0, with average arrival rate lambda, and ends at or after Tf. Those time values Ti greater than or equal to T0 and less than or equal to Tf are then selected. Starting from time T, at each pair of times T(i), T(i+1)of this process a value of Type-P-One-way-ipdv is obtained. The value of the sample is the sequence made up of the resulting <time, time interval, ipdv> triad, where the time interval is given by T(i+1)-T(i). Each obtained time T(i), excluding the first and the last, is therefore at the same time the the second time of pair i and the first time of pair i+1. The result is shown in figure 2 |T(i-2) |T(i-1) |T(i) |T(i+1) _____|__________|___________________|__________|________ pair i-1 pair i pair i+1 Figure 2 ^Demichelis [Page 9]

I-D Ipdv Metric July 1998 6.7. Discussion Note first that, since a pseudo-random number sequence is employed, the sequence of times, and hence the value of the sample, is not fully specified. Pseudo-random number generators of good quality will be needed to achieve the desired qualities. The sample is defined in terms of a Poisson process both to avoid the effects of self-synchronization and also capture a sample that is statistically as unbiased as possible. {Comment: there is, of course, no claim that real Internet traffic arrives according to a Poisson arrival process.} 6.8. Methodology Since packets can be lost or duplicated or can arrive in a different order with respect the one of emission, in order to recognize the pairs of test packets, they should be marked with a Sequence Number or make use of any other tool suitable to the scope. For duplicated packets only the first received copy should be considered. If a pac- ket is lost, two values of ipdv will be undefined, since each packet, in the supposed "continuous" definition, is common to two pairs. Steps for measurement can be the following: + Starting from a given time T, Src generates a test packet as for a singleton metrics, inserts in the packet a Sequence Number and the transmission Time Stamp Tx,then sorts the time Ti at which the next packet has to be sent. + At time Ti, Src repeats the previous step, unless T(i) > Tf. + On reception of the first packet, or the first packet after a SN error, Dst records SN and Tx timestamp that are contained in the packet and the reception time Rx as "old values". + On reception of the other packets Dst verifies the SN and if it is correct, by using the "old values" and the newly received ones, a value of ipdv is computed. Then Dst records the new SN, Tx and Rx timestamps as "old values". 6.9. Errors and uncertainties The same considerations apply that have been made about the single- ton metric. An additional error can be introduced by the pseudo-ran- dom Poisson process as focused in the above referenced Draft. Further considerations will be made in section 7. Demichelis [Page 10]

I-D Ipdv Metric July 1998 6.10 Some statistics for One-way-ipdv Some statistics are here considered, that can provide useful informa- tion in analyzing the behavior of the packets flowing from Src to Dst These statistics are given having in mind a practical use of them. The focus is on the instantaneous behavior of the connection, while buffer dimensioning is not in the scope of this document. Other statistics can be defined if needed. 6.10.1. Type-P-One-way-ipdv-inverse-percentile Given a Type-P-One-way-ipdv-Stream and a time threshold, that can be either positive or negative, the fraction of all the ipdv values in the Stream less than or equal to the threshold, if the threshold is positive, or greater or equal to the threshold if the threshold is ne- gative. For many real-time services that require a regular delivery of the packets, this statistics can give the amount of packets received beyond acceptable limits. 6.10.2 Type-P-One-way-ipdv-standard-deviation Given a Type-P-One-way-ipdv-Stream, the distribution of ipdv values is considered and the Standard Deviation can be calculated as an indication of regularity of delivery. For practical purposes it can useful to define a total standard deviation, computed over the com- plete set of value, and a standard deviation computed over the sub- set of those values that do not exceed given positive and negative thresholds. This allows a more accurate description of the performan- ce experienced by packets. 6.10.3 Type-P-One-way-ipdv-average This statistic should tend to a value of ZERO for a number of ipdv values that tend to infinite. The behavior of Type-P-One-way-ipdv- average, and its meaning, are issues for the next section 7. 7. Discussion on clock synchronization This section gives some considerations about the need of having syn- chronized clocks at Src and Dst. These considerations are given as a basis for discussion, they require further investigation. We start from the analysis of the mean value of the ipdv distribution related to a "continuous" sample. Demichelis [Page 11]

I-D Ipdv Metric July 1998 7.1. Mean value of ipdv distribution. If D(i) is the delay of packet "i", and ipdv(i) is the i-th value of ipdv in the distribution of a sample of "n" values, collected with the described methodology, we can write: ipdv(1) = D1 - D0 .......... ipdv(i) = D(i) - D(i-1) .......... ipdv(n) = D(n) - D(n-1) The mean value of ipdv distribution will result in E(ipdv) = (D(n) - D(0))/n If an actual measurement is performed, that lasts a period of time long enough to contain a number "n" sufficiently large and, supposing synchronized clocks, such that the network conditions (traffic) allow to find a D(n) not too different from D(0), e.g. a time of n x 24 hours, E(ipdv) will tend to zero, since the difference D(n) - D(0) will remain finite. 7.2. Effects of a varying traffic If the mean values of delay D are changing inside a given period of time, for example they are increasing due to an increment of traffic, we can consider, as a first approximation, the ipdv values as decom- posed into two components, one being instantaneous and another one as having a constant rate dD and corresponding to the increment "per interval" of the mean value of D. The mean value of the distribution will be shifted of the value dD corresponding to the mean value of the interval between test packets. When the conditions will come back to the initial ones, the distribution will resume a mean value around zero. At any time the distribution will correctly describe the effects of the path on the packet flow. 7.3. Effects of synchronization errors We refer here to the two components that can generate this type of errors that are the relative "skew" and "drift" of the Src and Dst clocks. It is first of all noted that the variable component "drift" is physically limited and its effects can be interpreted by saying that the total skew of the two clocks can vary, ranging from a min to a max value in the time. This type of variation takes place very slowly being mostly connected to variations in temperature. ^Demichelis [Page 12]

I-D Ipdv Metric July 1998 We suppose to perform a measurement between a Src and a Dst that have a reciprocal, initial skew of "ts1" and a reciprocal drift such that, after the time T the total skew is "ts2". It is not here a limitation to consider that at the beginning of time T the two clocks indicate the same time T0. In order to analyze the effects produced by this situation we suppose that packets are transferred, from Src to Dst, with a constant delay D. In this conditions the measured ipdv should always be zero, and what is actually measured is the error. An ipdv value is measured at the beginning of time T with two packets having an interval of Ti(1).Another ipdv value is measured at the end of T with two packets having a time interval Ti(2). On our purposes other errors (like wire-time vs host-time) are not considered since they are not relevant in this analysis. It is then possible to calculate the values of the Tx and Rx time- stamps as they are seen by the two clocks, and the related values of the two ipdv values. The first ipdv value will be: ipdv1 = ts1*Ti(1) + ((ts2-ts1)/T)*Ti(1) The second ipdv value will be: ipdv2 = ts2*Ti(2) +((ts2-ts1)/T)*Ti(2) The error is given by the amount of variation during the time inter- val Ti(i) between the two packets of the pair, and a second order term due to the variation of that variation in the same interval. If, as in practical cases, the drift can be considered zero, then ts1 = ts2, and the error is not depending on the time at which the measurement is done. 7.4. Related precision This means that: 1) + If the skew is constant and is = ts all the ipdv(i) values are increased by the quantity Ti(i)*ts with respect the actual value. 2) + Considering the total skew as subdivided into a fixed part and a variable part (skew and drift),respectively, ts and + or - td, and a minimum time T in which the drift can go from -td to +td or vice -versa, each ipdv(i) value will be increased of the fixed quantity Ti(i)*ts plus or minus, as a maximum, the quantity 2*td*Ti(i)/T Demichelis [Page 13]

I-D Ipdv Metric July 1998 3) + If the duration of the measurement is such that it is possible to consider that the effect of the items at points 7.1 and 7.2, and the effect of the drift are negligible (related average ten- ding to zero), the mean value of the ipdv distribution will have the value of the skew multiplied by the mean value of the emission interval. 4) + We observe that the displacement due to the skew does not change the shape of the distribution, and, for example the Standard Devi- ation remains the same. What introduces a distortion is the effect of the drift, even if the mean value of this effect is zero at the end of the measurement. The value of this distortion is limited to the effect of the total skew variation on the emission interval. 8. Definition for a bidirectional ipdv metric We now consider that the action of the skew on one direction is the same, with opposite sign, of the action on the other direction. The idea of performing at the same time two independent measurements in the two directions is suggested by this fact. If, after a long measurement, the variable conditions of the system under test have reached the situation of a contribution close to zero to the mean value of the ipdv distribution, it is expected that only the fixed action of the skew has modified the measured mean value. It is therefore expected that on one direction that value is equal and opposite to the one measured in the other direction. This fact offers the possibility of defining a theoretical reference measurement duration in the following way: The reference duration of a bidirectional ipdv measurement between an host E and an host W is reached at time Tf such that for each time T > Tf the expression ABS(E(ipdv E-W) - E(ipdv W-E))< epsilon, where epsilon is what we can consider as zero, is always verified. A bidirectional measurement can be defined not only as twin one-way independent metrics that take place (nearly) at the same time, but also as a two-ways metric making use of packets looped back at one end. This metric, that can be object of further study/Draft, would be able to measure also the Round Trip Delay and its variations. ^Demichelis [Page 14]

I-D Ipdv Metric July 1998 9. References V.Paxon, G.Almes, J.Mahdavi, M.Mathis - "Framework for IP Performance Metrics", Internet Draft <draft-ietf-ippm-framework-01.txt> Feb. 1998 G.Almes, S.Kalidindi - "A One-way Delay Metric for IPPM", Internet Draft <draft-ietf-ippm-delay-01.txt> Nov. 1997 10. Author's Address Carlo Demichelis <carlo.demichelis@cselt.it> CSELT - Centro Studi E Laboratori Telecomunicazioni S.p.A Via G. Reiss Romoli 274 10148 - TORINO Italy Phone +39 11 228 5057 Fax. +39 11 228 5069 Demichelis expires 16 January 1999 [Page 15]