US20080154525A1 - Exponential smoothing of aperiodically measured values with staleness reporting - Google Patents

Exponential smoothing of aperiodically measured values with staleness reporting Download PDF

Info

Publication number
US20080154525A1
US20080154525A1 US11/614,478 US61447806A US2008154525A1 US 20080154525 A1 US20080154525 A1 US 20080154525A1 US 61447806 A US61447806 A US 61447806A US 2008154525 A1 US2008154525 A1 US 2008154525A1
Authority
US
United States
Prior art keywords
measurement
denominator
staleness
numerator
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US11/614,478
Other versions
US7395164B1 (en
Inventor
Peter Frazier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Teradata US Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/614,478 priority Critical patent/US7395164B1/en
Assigned to NCR CORPORATION reassignment NCR CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FRAZIER, PETER
Assigned to TERADATA US, INC. reassignment TERADATA US, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NCR CORPORATION
Publication of US20080154525A1 publication Critical patent/US20080154525A1/en
Application granted granted Critical
Publication of US7395164B1 publication Critical patent/US7395164B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Definitions

  • the configurable step size a controls the size of the adjustment. Exponential smoothing is used in a wide range of applications.
  • a disadvantage with the exponential smoothing technique arises when measurements do not occur at fixed intervals.
  • the above exponential smoothing technique does not provide any way of discounting old measurements or give any indication of the age of measurements that could be used for controlling old measurements.
  • Described below is a computer program stored on tangible storage media for performing a method of providing a parameter estimate from noisy data with aperiodic data arrival.
  • One technique described below involves setting a fixed time interval and then waiting for the time interval to expire or for a measurement to occur. If a measurement occurs before the time interval expires a numerator is estimated as a previous numerator plus the new measurement and the denominator is estimated as a previous denominator plus one. Regardless of whether the measurement occurs or the time interval expires the numerator is estimated as a previous numerator times a step size and the denominator is estimated as a previous denominator times a step size. A measurement is estimated from the denominator. A parameter of the measurement is estimated as a numerator divided by the denominator. The method can be applied to many different applications including assessing data temperature and predicting I/O response times.
  • FIG. 1 is a flowchart of a technique of the invention.
  • FIG. 2 is a graph of an example of noisy measurements.
  • FIG. 3 is a graph showing the staleness of the measurements in FIG. 2 .
  • FIG. 4 is a block diagram of an exemplary large computer system on which the techniques described below are implemented.
  • FIG. 5 is a table illustrating measurements and the working of the technique of the present invention.
  • Staleness ranges from just above 0 to infinity. A staleness value just above zero is extremely fresh whereas in infinite staleness value is the stalest. A staleness value of zero can only occur if there are an infinite number of measurements.
  • the staleness value produced by the algorithm can be compared to a configurable staleness threshold to decide whether some action should be taken. Actions include ignoring the estimate and causing a measurement to be taken. For example, when the staleness value of a physical cluster exceeds the threshold, TVSA removes that physical cluster from consideration for migration and issues probe I/Os to measure the response time of the cluster and reduce the staleness value.
  • the staleness value can be set in accordance of confidence in the parameter estimate. For example, if a prior estimate is available and there is confidence in the accuracy of the estimate, then the staleness value can be set to a high value. If a prior estimate is available for the parameter being measured, then after the staleness value is set, the numerator is set as the denominator multiplied by the estimate of the parameter.
  • the staleness threshold is set by a user.
  • the staleness threshold can be set indirectly.
  • users of the method can consider how long the parameter should remain fresh between measurements.
  • the staleness period is measured from this moment in time.
  • the staleness period is set according to the equation:
  • t (staleness period)/(alarm period).
  • the staleness period is the maximum time allowed between measurements. If the staleness period is exceeded a measurement is triggered. The alarm period denotes how frequently the staleness value is updated in the absence of a measurement.
  • This formula will always create a staleness threshold between 0 and 1. In general the staleness threshold can range between 0 and infinity. The disparity between the staleness threshold set by the formula and the general staleness threshold is due to the assumption that the staleness period is measured on a hypothetical parameter the staleness of which was 0 before the measurement that began the staleness period.
  • the program waits until a set interval expires or a measurement (x) is received (step 120 ).
  • the interval (alarm period) can be set by a user and provides a time period where if no measurement is received then the staleness of the present measurement or estimate is updated. In some alternatives if no measurement is received within the fixed interval, a command can be issued that results in a measurement.
  • the step size a is chosen as a value between 0 and 1. The closer the step size is to 1 the more confidence is put in the current measurement. The closer the step size is to 0 the more confidence is put in previous measurements. A typical value of the step size is 0.3.
  • Staleness can be measured by (1/denominator) (1/v) and an estimate of the measurement can be given as (the numerator/the denominator) (u/v) (step 160 ).
  • the algorithm resumes waiting for either a new measurement or a time interval to expire (step 120 ).
  • the algorithm can report the staleness and the estimate at any time.
  • the estimate provides the best guess as to what the measurement is and the staleness provides an estimate of the accuracy of the estimate. If the staleness value exceeds the staleness threshold a measurement can be triggered.
  • the freshness value is the denominator (v).
  • FIG. 2 is a graph of an example of exponential smoothing with staleness reporting applied to noisy measurements.
  • the measurements indicated by the diamonds show the true values.
  • the actual measured values are those shown by the triangles.
  • the table of FIG. 5 shows the measurements and the working of the algorithm.
  • the staleness threshold is 1.5 and the alarm period is 1.
  • the true value is zero so the measurement value is the same as the measurement error and provides an initial estimate.
  • a measurement arrives. The measurement is processed and used to update the numerator and denominator and provide a new smoothed estimate.
  • the smoothed estimate has a lower staleness value than the previous estimate.
  • a second has passed since the previous measurement arrived and an alarm is sounded.
  • the staleness threshold is also not exceeded so no measurement is issued.
  • both the numerator and denominator of the equation updated and the staleness value increases.
  • the staleness value is not enough to exceed the staleness threshold.
  • an aperiodic measurement is received. The measurement is processed and this leads to a decrease in the staleness value.
  • the measurement interval is set to 1 so if no measurement is received within that time, the numerator and denominator of the equation are updated.
  • the smooth estimate remains the same as the previous estimate but the staleness value increases.
  • FIG. 3 shows a plot of the staleness values for the example given in FIG. 2 .
  • FIG. 3 shows that every time that the user set interval expires without an aperiodic measurement being received, the staleness value increases.
  • FIG. 3 shows that as the time between measurements increases the staleness of previous measurements increases. If the staleness exceeds a threshold value a measurement can be triggered. In intervals where a measurement is received then the staleness value decreases.
  • the alarm period is set at 1 and step size is set at 0.3.
  • the staleness threshold is set at 1.5. If the staleness threshold is exceeded without a measurement being received then a measurement is issued.
  • Aperiodic exponential smoothing with staleness reporting can be applied to measuring or forecasting any quantity that satisfies three conditions.
  • the first condition is that the quantity changes with time.
  • the second condition is that aperiodic measurements of the quantity are occasionally received.
  • the third condition is that there is the ability to initiate measurements of the quantity. The self initiated measurements may have some cost.
  • Examples of applications of the invention include network routing.
  • the network could either be a data network such as the internet or physical transport network such as a network of roads. With any network there are a number of paths for traffic from a source to a destination.
  • the task of routing traffic along the network requires knowing or producing estimates of travel times along various paths of the network
  • the goal of routing is to send traffic from the source to the destination in the shortest time possible.
  • Estimates of travel times along paths of the network arrive aperiodically, for example from packet arrival times on a data network, or a transport network from publicly available reports or radio communication from employees.
  • estimates are provided by previously made traffic routing decisions, routing is usually done without the express purpose of measurement. Thus, from the point of view of measurement, the arriving estimates are out of control of the router.
  • the present invention can be applied to estimate traffic times along paths and provide estimates of when travel time along a path has become stale.
  • the decision can be made to route the packet of data or physical vehicle along the path to measure the travel time along it.
  • the invention can be provided to military surveillance.
  • a military target may be monitored by a satellite camera but only when the weather is clear. If the satellite is unable to view the target for several days due to cloudy weather, the military may send a low flying plane over the target to compensate for the lack of satellite information.
  • the military may use the invention to estimate some scale of quantity, for example the number of personnel at the target, and decide when supplement satellite imagery with other more dangerous and expensive surveillance techniques.
  • a third application is a website that compiles reviews of a product or service whose quantity may change overtime.
  • One example is reviewing restaurants. Most of the reviews hosted by the website are provided at no cost to the visitors to the website. Some reviews are written by website employees. The website requires accurate and up to date reviews. The website could use the invention to estimate the current quality of the restaurant based on previous reviews and decide when to send a paid employee to a restaurant that hasn't been reviewed for a while.
  • FIG. 4 shows an example of one type of computer system in which the above techniques of exponential smoothing with staleness reporting is implemented.
  • the computer system is a data warehousing system 400 , such as a TERADATA data warehousing system sold by NCR Corporation, in which vast amounts of data are stored on many disk-storage facilities that are managed by many processing units.
  • the data warehouse 400 includes a relational database management system (RDBMS) built upon a massively parallel processing (MPP) platform.
  • RDBMS relational database management system
  • MPP massively parallel processing
  • Other types of database systems such as object-relational database management systems (ORDBMS) or those built on symmetric multi-processing (SMP) platforms, are also suited for use here.
  • DDBMS relational database management system
  • SMP symmetric multi-processing
  • the data warehouse 400 includes one or more processing modules 405 1 . . . y that manage the storage and retrieval of data in data-storage facilities 410 1 . . . y .
  • Each of the processing modules 405 1 . . . y manages a portion of a database that is stored in one of the corresponding data-storage facilities 410 1 . . . y .
  • Each of the data-storage facilities 410 1 . . . y includes one or more disk drives.
  • the processing modules manage measurement and prediction of I/O size and response times.
  • a parsing engine 420 organizes the storage of data and the distribution of data objects stored in the disk drives among the processing modules 405 1 . . . y .
  • the parsing engine 420 also coordinates the retrieval of data from the data storage facilities 410 1 . . . y in response to queries received from a user at a mainframe 430 or a client computer 435 through a wired or wireless network 440 .
  • a data cache 445 1 . . . y managed is stored in the memory of the processing modules 405 1 . . . y .
  • the parsing engine contains the program described above for predicting the response time of the data storage devices.
  • the parsing engine can use the program described above to smooth and predict the response times of I/Os on a per physical cluster basis.
  • the parsing engine can also use the program to issue dummy or “probe” I/Os when no data arrives in a staleness period. Alternatively the program is run in each processing module.

Abstract

A computer program for performing a method of providing a parameter estimate from noisy data with aperiodic data arrival. The parameter of the measurement is estimated as a numerator divided by the denominator. The method involves setting a fixed time interval and then waiting for the time interval to expire or for a measurement to occur. If a measurement occurs before the time interval expires the numerator is estimated as a previous numerator plus the new measurement, and the denominator is estimated as a previous denominator plus one. Regardless of whether the measurement occurs or the time interval expires the numerator is estimated as a previous numerator times a step size and the denominator is estimated as a previous denominator times a step size. The method can be applied to numerous applications including assessing data temperature and predicting I/O response times.

Description

    BACKGROUND
  • Estimates of a time varying parameters are often required from a plurality of noisy measurements of that parameter. A standard technique for providing these estimates is called exponential smoothing. Exponential smoothing is essentially a simple average that weights recent measurements more heavily than earlier measurements. An estimate of the parameter is adjusted towards each new measurement according to the equation:

  • k i =ax i+(1−a)k j-1
  • In the above equation ki is the new estimate, kj-1 is the current estimate and xi is the measurement.
  • The configurable step size a controls the size of the adjustment. Exponential smoothing is used in a wide range of applications.
  • A disadvantage with the exponential smoothing technique arises when measurements do not occur at fixed intervals. The above exponential smoothing technique does not provide any way of discounting old measurements or give any indication of the age of measurements that could be used for controlling old measurements.
  • One simple technique for discounting old measurements is discounting on the basis of how many measurements have been received after the measurement in question. The assumption with this technique is that measurements are received on a regular or semi-regular basis. For example, if there are two physical clusters, one of which receives I/Os more frequently than the other, the smoothed measurement of the response time of the frequently accessed cluster will react more quickly to changes in the measured parameter than the infrequently accessed cluster. If left uncorrected these changes cause unpredictability.
  • Another disadvantage is that the smoothing equation given above requires an initial estimate of the parameter before the algorithm is run. After this initial estimate exponential smoothing proceeds as if the estimate were as accurate as the smoothed average of many measurements. The exponential smoothing relies on the assumption that the estimate is accurate. This assumption is unrealistic in situations where system architects have little or no prior knowledge of the parameter being measured.
  • Described below is a computer program stored on tangible storage media for performing a method of providing a parameter estimate from noisy data with aperiodic data arrival. One technique described below involves setting a fixed time interval and then waiting for the time interval to expire or for a measurement to occur. If a measurement occurs before the time interval expires a numerator is estimated as a previous numerator plus the new measurement and the denominator is estimated as a previous denominator plus one. Regardless of whether the measurement occurs or the time interval expires the numerator is estimated as a previous numerator times a step size and the denominator is estimated as a previous denominator times a step size. A measurement is estimated from the denominator. A parameter of the measurement is estimated as a numerator divided by the denominator. The method can be applied to many different applications including assessing data temperature and predicting I/O response times.
  • BRIEF DESCRIPTION OF DRAWINGS
  • FIG. 1 is a flowchart of a technique of the invention.
  • FIG. 2 is a graph of an example of noisy measurements.
  • FIG. 3 is a graph showing the staleness of the measurements in FIG. 2.
  • FIG. 4 is a block diagram of an exemplary large computer system on which the techniques described below are implemented.
  • FIG. 5 is a table illustrating measurements and the working of the technique of the present invention.
  • DETAILED DESCRIPTION
  • FIG. 1 is a flow chart showing the logical flow of the computer program. Initially a numerator (u) and a denominator (v) variable are set to zero (step 110). A staleness threshold can also be set. The staleness value is the inverse of the denominator, staleness=1/v. Setting the denominator variable to zero sets the initial staleness to an infinite value. An initial infinite staleness is appropriate if no prior estimate of the parameter being measured is available. If the staleness is infinite, then any estimate of the parameter cannot be accepted as being up to date.
  • Staleness ranges from just above 0 to infinity. A staleness value just above zero is extremely fresh whereas in infinite staleness value is the stalest. A staleness value of zero can only occur if there are an infinite number of measurements. The staleness value produced by the algorithm can be compared to a configurable staleness threshold to decide whether some action should be taken. Actions include ignoring the estimate and causing a measurement to be taken. For example, when the staleness value of a physical cluster exceeds the threshold, TVSA removes that physical cluster from consideration for migration and issues probe I/Os to measure the response time of the cluster and reduce the staleness value.
  • If a prior estimate is available of the parameter being measured, the staleness value can be set in accordance of confidence in the parameter estimate. For example, if a prior estimate is available and there is confidence in the accuracy of the estimate, then the staleness value can be set to a high value. If a prior estimate is available for the parameter being measured, then after the staleness value is set, the numerator is set as the denominator multiplied by the estimate of the parameter.
  • The staleness threshold is set by a user. Alternatively the staleness threshold can be set indirectly. In setting the staleness threshold indirectly, users of the method can consider how long the parameter should remain fresh between measurements. The hypothetical situation used to set the staleness threshold according to this rationale is a parameter that had infinite staleness (v=0) until the moment a measurement arrived. The staleness period is measured from this moment in time. The staleness period is set according to the equation:

  • staleness threshold=(1−a)t
  • In this formula, t=(staleness period)/(alarm period). The staleness period is the maximum time allowed between measurements. If the staleness period is exceeded a measurement is triggered. The alarm period denotes how frequently the staleness value is updated in the absence of a measurement. This formula will always create a staleness threshold between 0 and 1. In general the staleness threshold can range between 0 and infinity. The disparity between the staleness threshold set by the formula and the general staleness threshold is due to the assumption that the staleness period is measured on a hypothetical parameter the staleness of which was 0 before the measurement that began the staleness period.
  • The staleness threshold formula is derived as follows. At the beginning of the time period in which the final measurement of the parameter occurred, v was set to 0. After the measurement occurred v was incremented to 1. In each successive time period v as multiplied by (1−a) but was not incremented because no more measurements were made. The parameter v would have been multiplied by the (1−a) factor t=(staleness period)/(alarm period) times so the staleness of the parameter after the full staleness period elapsed would be (1−a)t.
  • The program waits until a set interval expires or a measurement (x) is received (step 120). The interval (alarm period) can be set by a user and provides a time period where if no measurement is received then the staleness of the present measurement or estimate is updated. In some alternatives if no measurement is received within the fixed interval, a command can be issued that results in a measurement.
  • When a measurement is received, the numerator is set to the previous numerator+the measurement (u=u+x). The denominator is set to the previous denominator+1 (v=v+1) (step 140).
  • After the numerator and denominator have been updated, or if the interval is exceeded then the numerator is updated to the previous numerator times (1−the step size), (u=u(1−a)) and the denominator is updated to the previous denominator times (1−the step size), (v=v(1−a)) (step 150).
  • The step size a is chosen as a value between 0 and 1. The closer the step size is to 1 the more confidence is put in the current measurement. The closer the step size is to 0 the more confidence is put in previous measurements. A typical value of the step size is 0.3.
  • Staleness can be measured by (1/denominator) (1/v) and an estimate of the measurement can be given as (the numerator/the denominator) (u/v) (step 160). After the staleness and the estimate have been updated then the algorithm resumes waiting for either a new measurement or a time interval to expire (step 120). The algorithm can report the staleness and the estimate at any time. The estimate provides the best guess as to what the measurement is and the staleness provides an estimate of the accuracy of the estimate. If the staleness value exceeds the staleness threshold a measurement can be triggered.
  • An alternative measure to staleness is freshness. The freshness value is the denominator (v).
  • If measurement occur at the same fixed interval as the set interval and confidence in the initial estimate leads to an initial staleness value of v=(1−a)/a, then the method is identical to traditional exponential smoothing.
  • FIG. 2 is a graph of an example of exponential smoothing with staleness reporting applied to noisy measurements. The measurements indicated by the diamonds show the true values. The actual measured values are those shown by the triangles. As can been seen in FIG. 2 the measured values arrive aperiodically. The table of FIG. 5 shows the measurements and the working of the algorithm. In this example the staleness threshold is 1.5 and the alarm period is 1. In the first line of the table of FIG. 5 at time 0 a measurement is issued. The true value is zero so the measurement value is the same as the measurement error and provides an initial estimate. In the second line at time 0.2762 a measurement arrives. The measurement is processed and used to update the numerator and denominator and provide a new smoothed estimate. The smoothed estimate has a lower staleness value than the previous estimate. At time 1.2762 a second has passed since the previous measurement arrived and an alarm is sounded. There is no aperiodic measurement but the staleness threshold is also not exceeded so no measurement is issued. In this line both the numerator and denominator of the equation updated and the staleness value increases. The staleness value is not enough to exceed the staleness threshold. At time 1.586 an aperiodic measurement is received. The measurement is processed and this leads to a decrease in the staleness value. As can be seen from table, the measurement interval is set to 1 so if no measurement is received within that time, the numerator and denominator of the equation are updated. The smooth estimate remains the same as the previous estimate but the staleness value increases.
  • FIG. 3 shows a plot of the staleness values for the example given in FIG. 2. FIG. 3 shows that every time that the user set interval expires without an aperiodic measurement being received, the staleness value increases. FIG. 3 shows that as the time between measurements increases the staleness of previous measurements increases. If the staleness exceeds a threshold value a measurement can be triggered. In intervals where a measurement is received then the staleness value decreases. In the example shown in FIG. 2 and FIG. 3 the alarm period is set at 1 and step size is set at 0.3. The staleness threshold is set at 1.5. If the staleness threshold is exceeded without a measurement being received then a measurement is issued.
  • Aperiodic exponential smoothing with staleness reporting can be applied to measuring or forecasting any quantity that satisfies three conditions. The first condition is that the quantity changes with time. The second condition is that aperiodic measurements of the quantity are occasionally received. The third condition is that there is the ability to initiate measurements of the quantity. The self initiated measurements may have some cost.
  • Examples of applications of the invention include network routing. The network could either be a data network such as the internet or physical transport network such as a network of roads. With any network there are a number of paths for traffic from a source to a destination. The task of routing traffic along the network requires knowing or producing estimates of travel times along various paths of the network The goal of routing is to send traffic from the source to the destination in the shortest time possible. Estimates of travel times along paths of the network arrive aperiodically, for example from packet arrival times on a data network, or a transport network from publicly available reports or radio communication from employees. Although estimates are provided by previously made traffic routing decisions, routing is usually done without the express purpose of measurement. Thus, from the point of view of measurement, the arriving estimates are out of control of the router. The present invention can be applied to estimate traffic times along paths and provide estimates of when travel time along a path has become stale. When an estimated travel time along the path has become stale, the decision can be made to route the packet of data or physical vehicle along the path to measure the travel time along it.
  • As an alternative, the invention can be provided to military surveillance. For example a military target may be monitored by a satellite camera but only when the weather is clear. If the satellite is unable to view the target for several days due to cloudy weather, the military may send a low flying plane over the target to compensate for the lack of satellite information. The military may use the invention to estimate some scale of quantity, for example the number of personnel at the target, and decide when supplement satellite imagery with other more dangerous and expensive surveillance techniques.
  • A third application is a website that compiles reviews of a product or service whose quantity may change overtime. One example is reviewing restaurants. Most of the reviews hosted by the website are provided at no cost to the visitors to the website. Some reviews are written by website employees. The website requires accurate and up to date reviews. The website could use the invention to estimate the current quality of the restaurant based on previous reviews and decide when to send a paid employee to a restaurant that hasn't been reviewed for a while.
  • FIG. 4 shows an example of one type of computer system in which the above techniques of exponential smoothing with staleness reporting is implemented. The computer system is a data warehousing system 400, such as a TERADATA data warehousing system sold by NCR Corporation, in which vast amounts of data are stored on many disk-storage facilities that are managed by many processing units. In this example, the data warehouse 400 includes a relational database management system (RDBMS) built upon a massively parallel processing (MPP) platform. Other types of database systems, such as object-relational database management systems (ORDBMS) or those built on symmetric multi-processing (SMP) platforms, are also suited for use here.
  • As shown here, the data warehouse 400 includes one or more processing modules 405 1 . . . y that manage the storage and retrieval of data in data-storage facilities 410 1 . . . y. Each of the processing modules 405 1 . . . y manages a portion of a database that is stored in one of the corresponding data-storage facilities 410 1 . . . y. Each of the data-storage facilities 410 1 . . . y includes one or more disk drives. The processing modules manage measurement and prediction of I/O size and response times.
  • A parsing engine 420 organizes the storage of data and the distribution of data objects stored in the disk drives among the processing modules 405 1 . . . y. The parsing engine 420 also coordinates the retrieval of data from the data storage facilities 410 1 . . . y in response to queries received from a user at a mainframe 430 or a client computer 435 through a wired or wireless network 440. A data cache 445 1 . . . y managed is stored in the memory of the processing modules 405 1 . . . y. The parsing engine contains the program described above for predicting the response time of the data storage devices. The parsing engine can use the program described above to smooth and predict the response times of I/Os on a per physical cluster basis. The parsing engine can also use the program to issue dummy or “probe” I/Os when no data arrives in a staleness period. Alternatively the program is run in each processing module.
  • The text above describes one or more specific embodiments of a broader invention. The invention also is carried out in a variety of alternative embodiments and thus is not limited to those described here. Those other embodiments are also within the scope of the following claims.

Claims (17)

1. A computer-readable medium having a computer program stored thereon comprising executable instructions for performing a method comprising:
setting a fixed time interval;
waiting for the time interval to expire or for a measurement to occur;
if a measurement occurs, calculating a first numerator as a numerator of a previous measurement plus the measurement and calculating a first denominator as a denominator of the previous measurement plus one;
calculating a second numerator as the first numerator times a step size and calculating a second denominator as the first denominator times the step size;
estimating a staleness measurement from the second denominator; and
calculating an estimate of the measurement as the second numerator divided by the second denominator.
2. The computer-readable medium of claim 1 further comprising executable instructions for discarding the estimate if the staleness measurement exceeds a threshold.
3. The computer-readable medium of claim 1 further comprising executable instructions for causing measurements to be taken if the staleness measurement exceeds a threshold.
4. The computer-readable medium of claim 1 further comprising executable instructions for setting an initial value of the staleness measurement as infinite if no prior estimate of the measurement is available.
5. The computer-readable medium of claim 1 further comprising executable instructions for setting the numerator and denominator in accordance with a parameter of an available measurement.
6. The computer-readable medium of claim 5 further comprising executable instructions for setting the second denominator according to a confidence in the estimate and setting the second numerator as the second denominator times the estimate.
7. The computer-readable medium of claim 1 further comprising executable instructions for setting a staleness threshold according to (1−α)τ where τ is a quotient of a staleness period and an alarm period and a is the step size.
8. The computer-readable medium of claim 1 wherein the staleness measurement is estimated as the inverse of the second denominator.
9. A computer-readable medium having a computer program stored thereon comprising executable instructions for estimating a temperature comprising:
setting a time interval;
waiting for the time interval to expire or for a measurement of temperature to occur;
if a measurement of temperature occurs, calculating a first numerator as a numerator of a previous temperature measurement plus the measurement and calculating a first denominator as a denominator of the previous measurement plus one;
calculating a second numerator as the first numerator times a step size and calculating a second denominator as the first denominator times the step size;
estimating a staleness measurement from the second denominator; and
calculating an estimate the temperature as the second numerator divided by the second denominator.
10. The computer-readable medium of claim 9 further comprising executable instructions for discarding the estimate if the staleness measurement exceeds a threshold.
11. The computer-readable medium of claim 9 further comprising executable instructions for causing measurements to be taken if the staleness measurement exceeds a threshold.
12. The computer-readable medium of claim 9 further comprising executable instructions for setting an initial value of the staleness measurement as infinite if no prior estimate of the measuremeht is available.
13. The computer-readable medium of claim 9 further comprising executable instructions for setting the first numerator and the first denominator in accordance with a parameter of an available measurement.
14. The computer-readable medium of claim 13 further comprising executable instructions for setting the second denominator according to a confidence in the estimate and setting the second numerator as the denominator times the estimate.
15. The computer-readable medium of claim 9 further comprising executable instructions for setting a staleness threshold according to (1−α)τ where τ is a quotient of a staleness period and an alarm period and α is the step size.
16. The computer-readable medium of claim 9 wherein the staleness measurement is estimated as the inverse of the second denominator.
17. A computer-readable medium having a computer program stored thereon comprising executable instructions for predicting I/O response times comprising:
setting a fixed time interval;
waiting for the time interval to expire or for an I/O measurement to occur;
if an I/O measurement occurs, calculating a first numerator as a numerator of a previous measurement plus the I/O measurement and calculating a first denominator as a denominator of the previous measurement plus one;
calculating a second numerator as the first numerator times a step size and calculating a second denominator as the flrst denominator times the step size;
estimating a staleness measurement from the second denominator; and
calculating an estimate of the I/O measurement response time as the second numerator divided by the second denominator.
US11/614,478 2006-12-21 2006-12-21 Exponential smoothing of aperiodically measured values with staleness reporting Active US7395164B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/614,478 US7395164B1 (en) 2006-12-21 2006-12-21 Exponential smoothing of aperiodically measured values with staleness reporting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/614,478 US7395164B1 (en) 2006-12-21 2006-12-21 Exponential smoothing of aperiodically measured values with staleness reporting

Publications (2)

Publication Number Publication Date
US20080154525A1 true US20080154525A1 (en) 2008-06-26
US7395164B1 US7395164B1 (en) 2008-07-01

Family

ID=39544124

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/614,478 Active US7395164B1 (en) 2006-12-21 2006-12-21 Exponential smoothing of aperiodically measured values with staleness reporting

Country Status (1)

Country Link
US (1) US7395164B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423651B2 (en) * 2015-03-27 2019-09-24 Ca, Inc. Analysis of mobile application reviews based on content, reviewer credibility, and temporal and geographic clustering
US20180238939A1 (en) * 2017-02-21 2018-08-23 Hewlett Packard Enterprise Development Lp Expected sensor measurement receipt interval estimation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3952304A (en) * 1973-11-23 1976-04-20 Hughes Aircraft Company Tracking system utilizing Kalman filter concepts
US6442166B1 (en) * 1996-07-17 2002-08-27 Alcatel Canada Inc. Variation fluctuation smoothing (VFS) for ATM circuit emulation
US6441743B1 (en) * 2000-10-30 2002-08-27 The Mitre Corporation Method and apparatus for determining hazard levels of chemical/biological/nuclear agents in an environment
US20030076065A1 (en) * 2001-08-17 2003-04-24 Shafer Daniel W. Active temperature estimation for electric machines
US6904390B2 (en) * 2000-04-03 2005-06-07 Flint Hills Scientific, L.L.C. Method, computer program, and system for automated real-time signal analysis for detection, quantification, and prediction of signal changes
US7006838B2 (en) * 2002-11-27 2006-02-28 Cognio, Inc. System and method for locating sources of unknown wireless radio signals
US20060198352A1 (en) * 2004-10-21 2006-09-07 Jehoshua Bruck Data transmission system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3952304A (en) * 1973-11-23 1976-04-20 Hughes Aircraft Company Tracking system utilizing Kalman filter concepts
US6442166B1 (en) * 1996-07-17 2002-08-27 Alcatel Canada Inc. Variation fluctuation smoothing (VFS) for ATM circuit emulation
US6904390B2 (en) * 2000-04-03 2005-06-07 Flint Hills Scientific, L.L.C. Method, computer program, and system for automated real-time signal analysis for detection, quantification, and prediction of signal changes
US6441743B1 (en) * 2000-10-30 2002-08-27 The Mitre Corporation Method and apparatus for determining hazard levels of chemical/biological/nuclear agents in an environment
US20030076065A1 (en) * 2001-08-17 2003-04-24 Shafer Daniel W. Active temperature estimation for electric machines
US7006838B2 (en) * 2002-11-27 2006-02-28 Cognio, Inc. System and method for locating sources of unknown wireless radio signals
US20060198352A1 (en) * 2004-10-21 2006-09-07 Jehoshua Bruck Data transmission system and method

Also Published As

Publication number Publication date
US7395164B1 (en) 2008-07-01

Similar Documents

Publication Publication Date Title
Muckell et al. Compression of trajectory data: a comprehensive evaluation and new approach
Guo et al. Seismic performance assessment of highway bridge networks considering post-disaster traffic demand of a transportation system in emergency conditions
US9122982B2 (en) Device and method for destination prediction
Tang et al. Order picking systems: batching and storage assignment strategies
US8036822B2 (en) Travel time determination
KR102230394B1 (en) Method and apparatus for logistics risk prediction
US20030135304A1 (en) System and method for managing transportation assets
US20130117317A1 (en) Multi-state query migration in data stream management
EP3128441B1 (en) Handling data requests
US9310204B2 (en) Route modeler for improving desired environmental and economic flight characteristics
US10929397B2 (en) Forecasting query access plan obsolescence
CN106056253B (en) Multi-target ant colony algorithm for distribution interference management problem
US10956955B2 (en) Managing pre-computed search results
KR101553476B1 (en) Apparatus for measuring likelihood ratio of building and method thereof
CA2344769A1 (en) System and method for on-line adaptive prediction using dynamic management of multiple sub-models
CN111008223A (en) Regional traffic jam correlation calculation method based on space-time association rule
CN104636874A (en) Method and equipment for detecting business exception
Ardakani et al. Decremental algorithm for adaptive routing incorporating traveler information
Kim Analysis of short-term forecasting for flight arrival time
CN109064742A (en) A kind of adaptive public transport arrival time prediction technique based on SVM
US7395164B1 (en) Exponential smoothing of aperiodically measured values with staleness reporting
US20170024328A1 (en) Information processing apparatus, information processing method, and computer readable storage medium
Jaiswal et al. Minimum carbon dioxide emission based selection of traffic route with unsignalised junctions in tandem network
JP2014191492A (en) Traffic volume estimation device, traffic volume correction apparatus, and program
US9515911B2 (en) Method and a processing device for distributed network monitoring

Legal Events

Date Code Title Description
AS Assignment

Owner name: NCR CORPORATION, OHIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FRAZIER, PETER;REEL/FRAME:018971/0720

Effective date: 20070201

AS Assignment

Owner name: TERADATA US, INC., OHIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NCR CORPORATION;REEL/FRAME:020666/0438

Effective date: 20080228

Owner name: TERADATA US, INC.,OHIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NCR CORPORATION;REEL/FRAME:020666/0438

Effective date: 20080228

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12