ENERGY HISTORY BUFFER

Abstract: A method for time-synchronous data collection allowing for the performance of time-critical calculations. More specifically, successive measurements of the amount of a resource used per unit of time are taken and stored in a series of memories. The first memory is a current value of the cumulative total use of the resource. The second memory is the immediately proceeding cumulative total usage of the resource. The third memory is a ring buffer that holds measured totals of resource usage that are time-stamped to correspond to the unit of time during which they were measured. These values are then used to determine total resource usage, the time of use, the peak times of usage and demand/load profiles on the resource's delivery system over different time periods. Such periods, for example, may be as short as one minute or as long as one hour.

Description: ENERGY HISTORY BUFFER BACKGROUND OF THE INVENTION The present invention generally relates to methods for collecting data for the purpose of calculating time dependent quantities, and more particularly concerns methods of measuring demand for a resource, such as electricity, water, natural gas, or oil. Most specifically, the present invention relates to methods of collecting time-synchronous measurements of the amount of a resource used, which enables the calculation of such time dependent quantities as demand, time of use and demand/load profiles on delivery systems for the determination of cost on an alternative rate billing scale. In general, previous resource meters directly measured the amount of a resource used and maintained a real time clock. The clock in such devices was used to schedule demand and time of use calculations, as well as, interval recording of load profile tasks. Demand, time of use and demand/load profiles must be synchronous in time. Processing all of this information at the end of a set time period required fast and costly processors to avoid the loss of data which would occur at the next scheduled measurement of data, for example, the rollover to the next minute. Each of these calculations was a serial process; therefore it was impossible to absolutely synchronize the resource measurements. Synchronizing was possible by making periodic measurements that were valid for a period of time. In order to provide real time measurements, such intervals had to be kept as short as possible. As a result, costly processing power was still required to complete all the calculations before even such short time intervals expired. The busiest processing times occurred at the end of some predetermined time period, such as at the end of an hour, the end of a day, at the change of a time of use schedule or at a scheduled self reading. When some or all of such tasks occurred simultaneously, a very high demand was placed on the processor to complete its calculations before the rollover of the next time period. If the processor failed to complete its calculations in time, the synchronization of the data was lost. Prior methods and devices have been practiced for collecting data on various states of a resource meter's condition, performance characteristics, or measurements. One example of a prior art device capable of retrieving data from a resource meter is shown in commonly owned U.S. Patent No. 5,473,322, entitled "Method and Apparatus for Indicating Meter Tampering." The exemplary method of the referenced '322 Patent utilizes a non- olatile memory to store an indicator of a detected "tampering event." While effective for its purpose, such approach does not detect the actual demand for a resource or the amount used. The complete disclosure of such U.S. Patent No. 5,473,322 (including all figures and discussion thereof) is fully incorporated herein by reference. SUMMARY OF THE INVENTION The present invention recognizes and addresses various of the foregoing limitations and drawbacks, and others, concerning time- synchronous data collection. Thus broadly speaking, a principal object of the subject invention is improved methodologies for measuring resource usage. More particularly, an object is improved methodologies for making time-synchronous measurements of the resource used or metered. Another more particular object of the subject invention is to maintain the measurements for a set period of time in a non- volatile memory. Another general object of the subject invention is to allow for access to the stored data for use in computations of resource demand, time of use, and demand/load profiles on the resource delivery system. Still another present object of the present invention is to provide an improved methodology wherein the calculations of resource demand, time of use, and demand/load profiling can be performed using less powerful, lower cost microprocessors. Yet another present object of the present invention is to perform the above referenced calculations between measurement intervals so as to avoid losing the data's time-synchronization. Additional objects and advantages of the invention are set forth in, or will be apparent to those of ordinary skill in the art from, the detailed description herein. Also, it should be further appreciated that modifications and variations to the specifically illustrated, referenced, and discussed steps, features, materials, or devices hereof may be practiced in various uses and embodiments of this invention without departing from the spirit and scope thereof, by virtue of present reference thereto. Such variations may include, but are not limited to, substitution of equivalent steps, materials, means, or features of those shown, referenced, or discussed, and the functional, operational, or positional reversal of various features, steps, parts, or the like. Still further, it is to be understood that different embodiments, as well as different presently preferred embodiments, of this invention may include various combinations or configurations of presently disclosed steps, features, or elements, or their equivalents (including combinations of steps or features or configurations thereof not expressly shown in the figures or stated in the detailed description). The present invention is directed to a method for providing time- synchronous measurements of resource usage and to maintain that data for an established period of time to allow for the use of cheaper, lower power processors to calculate time-critical values such as demand, time of use, and demand/load profiles across the resource delivery system. A series of resource usage snapshots, synchronized with time, are stored in memory. Each stored value is time stamped to correspond to the moment in time during which it was measured. As only the real time and resource usage measurements are required to be time synchronized, the demand on the processor for performing all the resource use, time of use, demand/load profiles, self-readings, and other tasks can be left to occur when the processor is not involved in taking the measurements (i.e., the processor "down time"). The time between snapshots and thus the "down time" time available for calculations of time-critical information is determined by the smallest interval of time used in the measurement of the amount of resource used or metered. In the instant case, that time is one minute. A history of sixty snapshots, taken one minute apart, is stored in a ring buffer. This would provide at least one minute during which an entire hour of time-synchronized resource usage data was available for performing all the necessary calculations to determine total resource use, peak time of use, and the demand/load profiles on the resource delivery system during that hour. The above calculations could even be run for periods as small as five, ten, or fifteen minutes. One of ordinary skill in the art would recognize that smaller demand intervals, for example fifteen minutes, will allow a greater amount of time to perform calculations on the collected data prior to its being written over by new data. In the case of a fifteen minute demand interval, the data would be available for a period of forty-six minutes before being written over. This data could then be used to more accurately establish time variable billing rates for the resource. The invention includes a single, centralized method for calculating resource usage that utilizes the historical measurements taken by the measurement systems processor. In order to calculate the total resource usage, time of resource use, and the demand/load profiles, the processor only needs a start and stop time interval. The use of the history insures complete time-synchronization of the data in all the calculations performed and eliminates the duplication of some calculations in different tasks. As a result, the calculations are performed in a shorter time with a cheaper, lower power processor and yet provide more reliable results. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram showing the method of collecting a measurement of resource use as the time period has just completed. Figure 2 is a block diagram showing the method after a measurement has been taken and the ring buffer, temporary memory, and the accumulator have been updated. Figure 3 is a flow chart showing the method awaiting a new resource use indication and when such use is detected the updating of the value stored in the accumulator. Figure 4 is a flow chart showing the method determining if a new measurement should be taken due to the beginning of a new time period and when a new period is detected updating the ring buffer and temporary memory values. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Accuracy is of great importance in resource metering. Synchronization of that measured data to time is equally important. Because consumption of a resource is continuous little time is available during the measurement of the resource usage to calculate further information which will allow resource providers to fairly determine time-dependent billing rates for the resources they provide. To properly obtain that information, high powered, expensive computer processors have been required that were capable of performing the calculations necessary during the very limited time available between data collection. The present invention provides a method of time-synchronous data collection on the use of a resource. It is, therefore, capable of providing ample time to perform the calculations necessary to accurately assess the amount of resource used, the time of use, and the demand/load profiles generated by such use across the resource delivery system. This allows the use of lower cost, less powerful processors. The information required includes requests for the resource, the time of use of the resource, and demand/load profiles across the delivery system of the resource. The demand is the amount of a resource consumed during a programmed interval of time and scaled to one hour. For example, if the resource were energy, the time interval were 15 minutes and the energy consumed during that interval were 400 watt-hours, the demand would be multiplied by 4 (60 minutes divided by 15 minutes) to scale it to one hour. The total demand for the hour would be 1600 watts. Time of use divides the day into different periods. Each period of time will have its own demand and energy consumed. Based on the above factors, different rates for the resource are charged for the different periods. Weekdays, Saturdays, Sundays and holidays can all have different time periods and thus billing rates scheduled. It is therefore very important to keep track of resource usage over these periods to properly bill the resource user and to more accurately determine fair billing rates. The present invention assures the required accuracy by maintaining a time-synchronous collection of data measured at set intervals over a predefined period of time. In the instant case, the set interval of measurement is every minute at the rollover of the minute and the predefined period is sixty minutes. The method involves using three different memory locations for storing the measured data to keep track of the total resource consumed (or metered), the resource consumed during the immediately proceeding interval and the proceeding sixty minutes worth of resource usage measurements. Figures 1 and 2 are representative illustrations of the method, at the initiation of and after the completion of taking a measurement, respectively, showing the three memory locations and the change in values as the method cycles through from detecting a new resource request (step 1) to updating all the memory values (steps 3a-6) and finally updating the accumulator value (step 7). More particularly, Figure 2, represents the method awaiting the end of "History Minute No. 8." As always, the accumulator 10 represents the total resource energy (i.e., 1268) since the initiation of the metering device. The temporary memory 12 value (i.e., 1267) represents the accumulator value as measured at the end of History Minute No. 7. And finally, the value (i.e., 952) that is currently shown in the array 14, and more precisely in "History Minute No. 8," represents the measurement taken 61 intervals ago. One of ordinary skill in the art will recognize that while the time intervals in this example are referred to as "History Minutes," any interval between measurements can be established as required by the resource provider. With more specific reference to the subject features, Figures 3 and 4 represent logical flow charts by which one of ordinary skill in the art may understand the steps, which may be implemented in either dedicated hardware or programmable hardware with computer software implementation (or a combination thereof), for practice of various embodiments of the subject invention. It should be further understood by those of ordinary skill in the art that the subject methodology may involve processes or functions that are operating simultaneously in some instances, consecutively in some instances, and repetitively in some instances. In other words, various aspects of the subject invention may operate independently from one another, as well as in reaction to changing characteristics associated with the meter (or device) with which the method is practiced. Those of ordinary skill in the art will appreciate that the "steps" recited for the present methodology do not necessarily mean or intend a specific and singular chronological order thereof, as will be otherwise completely understood from the full disclosure of the present application. As best seen in exemplary Figs. 3 and 4, the method begins with the alternate process block of step 1, which is looking for any new resource request. When such a resource request is detected, in accord with steps 2 and 3, the method determines if an interval of time has just ended, indicating a need to take a measurement of current total resource usage. If the current interval has not rolled-over, as determined in the decisional block of step 3, the method adds the amount of resource used to the amount already stored in the accumulator as indicated in step 7. The method then returns to step 1 to determine if any other requests for the resource have occurred. When first initiated or when reinitialized all the values may be set as zero. The accumulator therefore maintains a running total of the resource used from either the initial start of the system or the point in time where it was reinitialized. Assuming the meter to have been reinitialized (i.e., all values are zero), if the method determines that an interval has just ended and with a request for the resource having been detected, according to step 1 , the current accumulator value will be placed in a temporary memory as dictated in step 5. This temporary memory maintains what is the most recent measurement, the accumulator value at the rollover of the interval. With this information alone, the processor is capable of determining the total resource usage, the usage over the proceeding interval, and the time of use of the resource. According to step 4, the value stored in the temporary memory (i.e., zero) at that time is moved into the first location in the storage memory array and will be time stamped as minute zero or the value in the accumulator at the initiation of the method. The value in that location is written over (i.e., discarded) as shown in step 3 a. If utilized properly, the storage memory array locations can correspond to the time interval during which they were measured. One of ordinary skill in the art, however, will recognize that any system of identification of the data in relation to when it was measured for the purpose of retrieving the stored measurements is within the spirit and scope of the present invention. When the processor detects the end of the second interval (see step 3), the value located in the temporary memory is moved into a storage memory as described in step 4 and is associated with a time stamp to indicate that it was measured at the end of the first interval of the method. In this way, the storage memory can best be thought of as a historical array of measured values. The method, according to step 5, then replaces the value that was in the temporary memory with the immediately proceeding value of the accumulator and finally updates the accumulator, as shown in step 7, in order to maintain its running total of the amount of resource used. For example, assume three measurements have been taken over four intervals - 1-1 , 1-2, 1-3, and 1-4, the method can be followed numerically as shown in Table 1. At the initiation of the method all the readings will be zero (note however that the readings can be set at any numerical value). With the first request for the resource, as detected in step 1 of Fig. 3, the value in the accumulator will rise accordingly via steps 2, 3, 6, and 7. Assuming the request is for twenty units of the resource, the value in the accumulator will be twenty. Provided there is no further resource usage during I-l and there is a rollover from I-l to 1-2, as detected in step 3, the value in the temporary memory will be adjusted to read twenty in accord with step 5. The storage memory values will still be zero as dictated by step 4. If during 1-2, there is a request for seven units of the resource, the value in the accumulator will rise to twenty-seven per steps 1-3, 6 and 7. Absent the rollover of an interval, no other values will change. If just prior to the end of 1-2, there is a further demand for six units of the resource, the accumulator value will rise again to read thirty-three and no other values will change. When 1-2 rolls-over into 1-3, the processor will move the value in the temporary memory into the storage memory (as shown in step 4) and time stamp it to indicated that it was actually measured (i.e., transferred from the accumulator) at the end of I- 1. The value in the accumulator will then be placed in the temporary memory as dictated in step 5. At the rollover from I- 3 to 1-4, steps 4-7 will be followed as above. Instead of replacing the value in the storage memory, however, the storage memory contains an array to maintain all of the measurements taken during a predefined time period along with their associated time stamps. In the instant case, the array will hold sixty measurements with the sixty-first measurement being located in the temporary memory. When the rollover to minute sixty-three occurs, the method will need to place the value in temporary memory (the measurement taken at the end of minute sixty-two) into the storage memory array. The storage memory array having run out of locations to store data, will overwrite the value stored in the first space (the measurement taken at the end of minute one) with the value measured at the end of minute sixty-one just as the zero value was written over in the above example. In this way, should values for resource usage, time of use, and demand/load profiles across the resource delivery system be desired for periods of five, ten, or fifteen minutes, the measurement from any particular minute is easily found by the processor and no large memory storage capacity is required. This method therefore provides for the storage of the proceeding sixty-one minutes worth of measurements to be maintained in memory. By doing so, during the one-minute interval between measurements when the processor is seeking only a new request for the resource (i.e., the processor's "down time"), the processor is free to run calculations on usage, time of use, and demand/load profiles utilizing identical time-synchronous data. This provides two significant advantages over previous measurement and calculation methods. First, all the calculations can be made during the "down time" of the processor allowing the use of lower power, cheaper processors. Second, the data used throughout all the calculations performed during the "down time" of any interval is identical. Despite using slower processors, all the calculations can easily be completed during the processor's "down time." There are times when the values in the storage memory array, temporary memory, and accumulator cannot be updated. This would occur when testing or maintenance is being performed on the resource meter. In such instances, the method is still valid. Should the interruption in the supply of the resource last less than one minute, the method would retain all of the previous measurements in memory and treat the interruption as if no new energy for the resource existed during that time interval (i.e., method step 1 would get only a "NO" response). At the rollover of the next minute a measurement would be taken and the method would be followed as described above. As no resource was delivered, no improper addition to the user's bill for the resource would appear. If the interruption in the supply of the resource lasts longer than one minute the temporary memory value still gets moved into its appropriately time stamped location in the storage memory array per step 4 and the accumulator value gets moved into the temporary memory in accord with step 5. Thereafter, however, the accumulator value will not change. As a result, all of the following measurements (i.e., storage memory array values) will be identical to that shown in the accumulator at the rollover of the minute immediately following the interruption in the supply of the resource. Thus at the rollover of the second interval after a longer than one minute interruption, all the steps will be followed as described above but all the newly entered values will be the accumulator value at the interruption of service. For purposes of the calculations to determine resource usage, time of use, and demand/load profiles, this will result in the acknowledgment that no resource was supplied during the period of the interruption and will not result in improper charges to the user. Although a preferred embodiment of the invention has been described using specific terms and devices, such description is for illustrative purposes only. The words used are words of description rather than of limitation. It is to be understood that changes and variations may be made by those of ordinary skill in the art without departing from the spirit or the scope of the present invention, which is set forth in the following claims. In addition, it should be understood that aspects of various other embodiments may be interchanged both in whole or in part. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred version contained herein.

Claims: CLAIMS What is claimed is: 1. A method for time-critical, time-synchronous data collection, comprising the steps of: (a) measuring successive values of a resource used per unit of time; (b) maintaining a cumulative total value of said resource used over an elapsed time; (c) placing each of said measured successive amounts of said resource used per unit of time into a storage memory; and (d) individually replacing each of said successive values of said resource used per unit of time in said storage memory with newly measured values of said resource used per unit time at the end of a maximum time period. 2. The method of claim 1, wherein said resource whose usage is measured is one of the group comprising: energy, water, natural gas, or oil. 3. The method of claim 1, wherein said unit of time is one minute. 4. The method of claim 1, wherein said storage memory's maximum time period for storing an individually measured value of said resource used is sixty minutes. 5. The method of claim 4, wherein said storage memory is a ring buffer. 6. The method of claim 1 , wherein each measured value of said resource used per unit of time and stored in said storage memory is time- stamped to correspond to * the unit of time during which it was measured. 7. The method of claim 1, further comprising the step of: (e) maintaining the most recently measured value of resource used in a temporary memory. 8. A method for time-synchronous resource usage data collection which reduces the requirement of higher power, faster processors required for time critical calculations, comprising the steps of: (a) measuring successive values of a resource used per unit of time; (b) maintaining a cumulative total of said resource used in an accumulator; (c) placing each of said successive value of said resource used per unit of time into a storage memory; (d) individually replacing said successive values in said storage memory with newly measured values of said resource used per unit time at the end of a maximum time period; and (e) utilizing said successive values to calculate total resource usage, time of use and demand/load profiles on the resource's delivery system. 9. The method of claim 8, wherein said resource whose usage is measured is one of the group comprising: energy, water, natural gas, or oil. 10. The method of claim 8, wherein said unit of time is one minute. 11. The method of claim 8, wherein said storage memory's maximum time period for storing an individually measured value of said resource used is sixty minutes. 12. The method of claim 11, wherein said storage memory is a ring buffer. 13. The method of claim 8, wherein each measured value of said resource used and stored in said storage memory is time-stamped to correspond to the unit of time during which it was measured. 14. The method of claim 8, further comprising the step of: (f) maintaining the most recent total of said resource used in a temporary memory. 15. A method for time-synchronous energy usage data collection which reduces the requirement of higher power, faster processors required for time critical calculations, comprising the steps of: (a) measuring a first value of a resource used per unit of time; (b) placing said first value in a temporary memory; (c) measuring a second value of said resource used per unit of time; (d) adding said first and said second values of said resource used in an accumulator to maintain an accumulated value of said resource used; (e) measuring a third value of said resource used per unit time; (f) moving said first value into a storage memory wherein it is time- stamped to correspond to the unit of time during which it was measured; (g) moving said accumulated value of said resource used to said temporary memory; (h) adding said third value to said accumulated value; (i) successively replacing each measured values more than sixty minutes old in said storage memory with the most recently measured values of said resource used; and (j) utilizing said successive values to calculate total resource usage, time of use and demand/load profiles on the resource's delivery system over a specified time period. 16. The method of claim 15, wherein said resource whose usage is measured is one of the group comprising: energy, water, natural gas, or oil. 17. The method of claim 15, wherein said unit of time is one minute. 18. The method of claim 15, wherein said storage memory's maximum time period for storing said measured values of said resource used is sixty minutes. 19. The method of claim 18, wherein said storage memory is a ring buffer.

Inventors: MORAND GARY W, MORAND, GARY, W.
Applicants: SCHLUMBERGER RESOURCE MAN SERV, SCHLUMBERGER RESOURCE MANAGEMENT SERVICES, INC.
Application year: 2001
Main classification: H01L
IPC codes: G01D1, G01D4, G01R21