Water metering system

文档序号:1902882 发布日期:2021-11-30 浏览:23次 中文

阅读说明:本技术 水计量系统 (Water metering system ) 是由 W·J·拉杜切尔 B·沃恩 于 2017-07-18 设计创作,主要内容包括:本发明涉及水计量系统。公开了用于计量水的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。一方面,方法包括从连接到第一管道的第一仪表接收在一时间段期间收集的第一音频数据和在该时间段期间收集的第一温度数据的动作。所述动作还包括从连接到第二管道的第二仪表接收在该时间段期间收集的第二音频数据和在该时间段期间收集的第二温度数据。所述动作还包括基于第一音频数据、第一温度数据、第二音频数据和第二温度数据,确定在该时间段期间相对于已流动通过第二管道的材料的第二量的已流动通过第一管道的材料的第一量。(The invention relates to a water metering system. Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for metering water are disclosed. In one aspect, a method includes the acts of receiving, from a first meter connected to a first conduit, first audio data collected during a time period and first temperature data collected during the time period. The actions also include receiving, from a second meter connected to the second conduit, second audio data collected during the time period and second temperature data collected during the time period. The actions further include determining, based on the first audio data, the first temperature data, the second audio data, and the second temperature data, a first amount of material that has flowed through the first conduit relative to a second amount of material that has flowed through the second conduit during the time period.)

1. A computer-implemented method, comprising:

receiving first audio data collected during a time period from a remote sensing device connected to a first pipe through a wireless connection, wherein the first audio data is collected using a sensor of the sensing device;

accessing flow data indicative of an amount of material that has flowed through a pipe during a first time period;

based on the first audio data and the flow data, sending configuration instructions to the sensing device over the wireless connection to calibrate the sensing device or sensor to account for at least one of an ambient energy level corresponding to the conduit and a relationship between the detected energy level in the audio data and the amount of material flowing through the conduit;

after calibration, receiving second audio data collected during a second time period from the sensing device over the wireless connection, wherein the second audio data is collected using the sensor of the sensing device;

detecting a change in energy level from the second audio data;

determining that at least one of the changes in energy level satisfies a threshold energy level; and

in response to the threshold energy level being met, a notification is generated.

2. The method of claim 1, comprising:

based on the threshold energy level being met, determining that an amount of material that has flowed through the conduit during the second time period meets a threshold amount of material; and

determining to generate a notification based on satisfying a threshold amount of material,

wherein generating the notification includes generating the notification indicating that an abnormal amount of the material has flowed through the pipe during the second time period.

3. The method of claim 2, comprising: providing the notification for output to a computing device.

4. The method of claim 1, comprising:

based on the threshold energy level being met, determining that the amount of material that has flowed through the conduit during the second time period does not meet the threshold amount of material; and

determining not to generate a notification indicating that an abnormal amount of material has flowed through the conduit during the second time period,

wherein generating the notification includes generating the notification not to indicate that an abnormal amount of the material has flowed through the first conduit during the second time period.

5. The method of claim 1, comprising: a threshold energy level is determined based on the second time period.

6. The method of claim 1, wherein the notification is an audio alert.

7. The method of claim 1, wherein the notification indicates a leak in the pipe.

8. The method of claim 1, wherein the sensing device comprises a microphone, wherein the sensor is the microphone.

9. The method of claim 1, wherein the sensing device is external to the pipeline.

10. The method of claim 1, comprising: the threshold energy level is determined based on the time of day or day of the week.

11. The method of claim 8, wherein the microphone generates the first audio data and the second audio data.

12. The method of claim 1, comprising: in response to the threshold energy level being met, configuration instructions are sent over the wireless connection to the sensing device to change the frequency of data collection using the sensor.

13. The method of claim 1, comprising:

identifying a state corresponding to the pipeline using the detected change in energy level; and

a threshold energy level is selected based on the identified state.

14. A system, comprising:

one or more computers; and

one or more storage devices storing instructions operable, when executed by the one or more computers, to cause the one or more computers to:

receiving first audio data collected during a time period from a remote sensing device connected to a first pipe through a wireless connection, wherein the first audio data is collected using a sensor of the sensing device;

accessing flow data indicative of an amount of material that has flowed through a pipe during a first time period;

based on the first audio data and the flow data, sending configuration instructions to the sensing device over the wireless connection to calibrate the sensing device or sensor to account for at least one of an ambient energy level corresponding to the conduit and a relationship between the detected energy level in the audio data and the amount of material flowing through the conduit;

after calibration, receiving second audio data collected during a second time period from the sensing device over the wireless connection, wherein the second audio data is collected using the sensor of the sensing device;

detecting a change in energy level from the second audio data;

determining that at least one of the changes in energy level satisfies a threshold energy level; and

in response to the threshold energy level being met, a notification is generated.

15. The system of claim 14, wherein the operations comprise:

based on the threshold energy level being met, determining that an amount of material that has flowed through the conduit during the second time period meets a threshold amount of material; and

determining to generate a notification based on satisfying a threshold amount of material,

wherein generating the notification includes generating the notification indicating that an abnormal amount of the material has flowed through the pipe during the second time period.

16. The system of claim 14, wherein the operations comprise:

based on the threshold energy level being met, determining that the amount of material that has flowed through the conduit during the second time period does not meet the threshold amount of material; and

determining not to generate a notification indicating that an abnormal amount of material has flowed through the conduit during the second time period,

wherein generating the notification includes generating the notification not to indicate that an abnormal amount of the material has flowed through the first conduit during the second time period.

17. The system of claim 14, wherein the operations comprise: a threshold energy level is determined based on the second time period.

18. The system of claim 14, wherein the notification is an audio alert.

19. The system of claim 14, wherein the notification indicates a leak in the pipe.

20. The system of claim 14, wherein the sensing device comprises a microphone, wherein the sensor is the microphone.

21. The system of claim 14, wherein the sensing device is external to the pipeline.

22. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers, the instructions when executed causing the one or more computers to:

receiving first audio data collected during a time period from a remote sensing device connected to a first pipe through a wireless connection, wherein the first audio data is collected using a sensor of the sensing device;

accessing flow data indicative of an amount of material that has flowed through a pipe during a first time period;

based on the first audio data and the flow data, sending configuration instructions to the sensing device over the wireless connection to calibrate the sensing device or sensor to account for at least one of an ambient energy level corresponding to the conduit and a relationship between the detected energy level in the audio data and the amount of material flowing through the conduit;

after calibration, receiving second audio data collected during a second time period from the sensing device over the wireless connection, wherein the second audio data is collected using the sensor of the sensing device;

detecting a change in energy level from the second audio data;

determining that at least one of the changes in energy level satisfies a threshold energy level; and

in response to the threshold energy level being met, a notification is generated.

Technical Field

This description relates generally to measuring water flow.

Background

Water metering is the process of measuring water usage. Water meters can be used to measure the volume of water used by residential and commercial buildings supplied by public water supplies. Water meters may also be used in water sources, wells, or entire water systems to determine the flow rate through a particular part of the system.

Disclosure of Invention

According to an innovative aspect of the subject matter described in the present application, a method for metering water includes receiving, from a first meter connected to a first pipe, first audio data collected during a time period and first temperature data collected during the time period; receiving, from a second meter connected to the second conduit, second audio data collected during the time period and second temperature data collected during the time period; and determining a first amount of material that has flowed through the first conduit relative to a second amount of material that has flowed through the second conduit during the time period based on the first audio data, the first temperature data, the second audio data, and the second temperature data.

These and other implementations each optionally include one or more of the following features. The act of determining a first amount of material that has flowed through the first conduit relative to a second amount of material that has flowed through the second conduit during the period of time includes an act of determining that a first temperature of the first conduit has changed by at least a threshold temperature change amount during a specified amount of time; determining that a second temperature of the second conduit has changed by at least a threshold temperature change amount during a specified amount of time; determining a first elapsed time for the first temperature of the first conduit to change after determining that the first temperature of the first conduit has changed by at least the threshold temperature change amount during the particular amount of time; determining a second elapsed time for the second temperature of the second conduit to change after determining that the second temperature of the second conduit has changed by at least the threshold temperature change amount during the particular amount of time; and determining, based on the first elapsed time and the second elapsed time, a first amount of material that has flowed through the first conduit during the specified amount of time relative to a second amount of material that has flowed through the second conduit during the specified amount of time.

The act of determining a first amount of material that has flowed through the first conduit relative to a second amount of material that has flowed through the second conduit during the time period includes an act of determining a first level of first audio energy corresponding to the first audio data based on the first audio data; determining, based on the second audio data, a second level of second audio energy corresponding to the second audio data; determining that a first level of the first audio energy has changed by at least a threshold energy variation amount during a particular amount of time; determining that a second level of audio energy has changed by at least a threshold energy variation amount during a particular amount of time; after determining that the first level of the first audio energy has changed by at least the threshold energy change amount during the particular amount of time, determining a first elapsed time at which the first level of the first audio energy has changed by at least the threshold energy change amount; after determining that the second level of the second audio energy has changed by at least the threshold energy change amount during the particular amount of time, determining a second elapsed time at which the second level of the second audio energy has changed by at least the threshold energy change amount; and determining, based on the first elapsed time and the second elapsed time, a first amount of material that has flowed through the first conduit during the specified amount of time relative to a second amount of material that has flowed through the second conduit during the specified amount of time.

The first and second conduits are water tubes and the material is water. The first and second conduits are gas conduits and the material is natural gas or propane. The actions also include transmitting a request for meter data. First and second audio data and first and second temperature data are received in response to a request for meter data. The actions further include receiving data from the first meter indicating that the first meter moved during the time period; and in response to receiving data indicating that the first meter moved during the time period, providing for display data indicating the movement of the first meter. The actions further include receiving flow data collected during the time period from a third meter connected to a third conduit feeding the first conduit and the second conduit; and determining a first absolute amount of material that has flowed through the first conduit during the time period and a second absolute amount of material that has flowed through the second conduit during the time period based on the first amount of material that has flowed through the first conduit relative to the second amount of material that has flowed through the second conduit during the time period and based on flow data from the third meter.

Other embodiments of this aspect include corresponding systems, apparatus, and computer programs recorded on computer storage devices, each configured to perform the operations of the methods.

Particular embodiments of the subject matter described in this specification can be implemented to realize one or more of the following advantages. The user may be able to calculate the water consumption of individual units of a multi-unit building without installing an individual flow meter for each unit.

The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.

Drawings

FIG. 1 illustrates an example system for collecting meter data from multiple meters connected to different pipes;

FIG. 2 illustrates an example system for processing meter data and an example apparatus for collecting meter data from a pipeline;

FIG. 3 illustrates an example method for processing meter data to determine relative usage;

FIG. 4 illustrates an example method of measuring a flow rate through a pipe using a thermometer;

FIG. 5 illustrates an example method of measuring flow velocity through a pipe using a microphone;

fig. 6 illustrates an example of a computing device and a mobile computing device.

Detailed Description

FIG. 1 illustrates an example system 100 for collecting meter data from multiple meters connected to different pipes. Briefly, as described in more detail below, the system 100 includes a computing device 105 that collects data from surface meters 110, 115, and 120. The surface meters 110, 115, and 120 collect audio and temperature data from different pipes located in the multi-unit building 125. The computing device 105 also collects flow data from the flow meter 130. The computing device 105 processes the audio data, temperature data, and flow data to calculate usage corresponding to each of the surface meters 110, 115, and 120.

As illustrated in fig. 1, the multi-unit building 125 includes two apartment units, apartment a and apartment B. Apartment a has bedroom a, bathroom a, kitchen a, and living room a. Apartment B has bedroom B, bathroom B, kitchen B and living room B. Both apartment a and apartment B do not have dedicated water meters. Water pipe 140 supplies water to apartment a and drop pipe 135 serves apartment B. The flow meter 130 measures water consumption of both apartment a and apartment B without distinguishing the usage of apartment a from the usage of apartment B.

Although multi-unit building 125 in this example includes only two apartment units, multi-unit building 125 may include multiple units and may be a residential, commercial, or industrial space. The multi-unit building 125 may have one flow meter 130 or may have multiple flow meters. For example, the multi-unit building 125 may have one flow meter per floor or row (tier). Furthermore, the conduit may convey any type of material. For example, the conduit may provide natural gas for apartment a and apartment B.

To measure individual water consumption of apartments a and B, a plumber may install a flow meter in conduit 140. In different situations, the plumbing of the multi-unit building 125 may have to be reconfigured to account for the location where the plumber can install a flow meter for each apartment. To avoid the complexity of reconfiguring the pipe or cutting the pipe and installing the flow meter, apartment manger 155 can attach surface meters 110, 115, and 120 to the exposed pipe in each apartment.

The surface gauge 110, 115, or 120 may be configured to attach to a conduit using tape, clips, or similar fasteners. It may not be necessary to cut the pipe to install the surface gauge 110, 115 or 120. The surface meter 110, 115, or 120 may include a microphone, a thermometer, a memory, and a transceiver. The microphone may detect and record audio data in the surrounding environment. When the surface meter 110, 115, or 120 is connected to a pipe, the audio data may include the sound of water flowing through the pipe. The thermometer can detect and record the surface temperature of the pipe.

As illustrated in fig. 1, in order to estimate the water usage of the apartment B, the apartment manager 155 can install the surface meter 120 on the duct 140. Since pipe 140 is the only pipe that provides water for apartment B and only apartment B, apartment manager 155 can install one surface meter 120 for apartment B. To estimate the water usage of apartment a, apartment manager 155 may install surface meters 110 and 115. Apartment manager 155 can install surface meter 110 on duct 145 in kitchen B and surface meter 115 on duct 150 in bathroom B. In some cases, apartment manager 155 may install multiple surface meters in a bathroom. For example, the apartment manager 155 may install a surface gauge at each of the sink, lavatory water supply, and shower head without contacting plumbing that provides water for all of the bathroom sink, lavatory, and shower.

Each surface meter 110, 115, or 120 records the audio and temperature of the corresponding conduit at periodic intervals (e.g., every second). Each surface meter 110, 115, or 120 may be battery powered and capable of long periods of operation without a new battery. For example, the surface meter 110, 115, or 120 may be capable of operating with a battery pack for one year.

The surface meter 110, 115, or 120 may be configured to receive a request for data from the computing device 105. To conserve battery power, surface meters 110, 115, or 120 may activate the respective transceivers for a particular period of time. For example, the surface meter 110, 115, or 120 may activate the transceiver for two days per month. During these two days, the surface meter 110, 115, or 120 can receive a request for data. In response to the request, the surface meter 110, 115, or 120 may transmit the stored temperature data and the stored audio data. After transmission to computing device 105, surface meter 110, 115, or 120 may delete the stored temperature data and the stored audio data. Limiting the window during which surface meter 110, 115, or 120 can receive and transmit data may conserve battery power.

In using the bathroom A and the kitchen A, the resident takes water through the pipe 140. The surface gauge 120 may continuously record audio data and temperature of the pipe 140. The temperature of the conduit 140 may change as water flows through the conduit 140, and the water may generate sound waves as the water moves through the conduit 140. In use of the bathroom B, the resident takes water through the pipe 150. Similar to the surface gauge 120, the surface gauge 115 records audio data and temperature of the pipe 150 to which it is attached. In using the kitchen B, the resident takes water through the pipe 145. The water changes the temperature of the pipe 145 and generates sound waves as the water moves through the pipe 145.

In some implementations, apartment a and apartment B may have separate inlet conduits for both hot and cold water. In this case, the apartment manager 155 may add a surface meter to each hot water pipe to measure hot water used by the residents of each apartment. For example, if the surface meter 120 is attached to a cold water pipe, the apartment manager 155 can add the surface meter to the corresponding hot water pipe. In some implementations, an apartment may have individual water heaters. In this case, the apartment manager 155 can add a surface meter to the inlet or outlet of hot water, collecting data related to the hot water usage.

Apartment manager 155 can move with computing device 105 around multi-unit building 125 during a window in which the transceivers of surface meters 110, 115, and 120 are active. Computing device 105 may include an application that communicates with surface meters 110, 115, and 120. The application may activate a short-range radio or other similar wireless communication module of the computing device 105. The application may request data from each of the surface meters 110, 115, and 120. The application may request data using the unique identifier for each of the surface meters 110, 115, and 120. During installation of each of the surface meters 110, 115, and 120, an apartment manager may store the location of each surface meter with an application. While moving around the multi-unit building 125, the computing device 105 may determine its location using a location sensor (such as GPS) and ping (ping) surface meters in the vicinity.

By transmitting a request for data from surface meter 120, computing device 105 collects data from surface meter 110. In response, the surface gauge 120 transmits audio data 160 and temperature data 165. Computing device 105 receives data 160 and 165, stores data 160 and 165, and tags data 160 and 165 with data identifying surface meter 120 and the current time period. In some implementations, computing device 105 may display on a user interface that computing device 105 received audio data 160 and temperature data 165. In some implementations, the computing device 105 may transmit a signal to the surface meter 120 indicating that it successfully received the data. The surface meter 120 may then delete the audio data 160 and the temperature data 165. Surface meter 120 may also deactivate its transceiver before the next specified time period, even if there is some time during the current time period.

By transmitting a request for data from surface meter 110, computing device 105 collects data from surface meter 110. In response, surface meter 110 transmits audio data 170 and temperature data 175. Computing device 105 receives data 170 and 175, stores the data, and updates the user interface.

By transmitting a request for data from surface meter 110, computing device 105 collects data from surface meter 115. The surface gauge 115 may transmit temperature data 180. Computing device 105 receives data 180, stores the data, and updates the user interface. The surface gauge 115 may not be able to transmit any audio data. The transceiver of the surface meter 115 or the transceiver of the computing device 105 may experience errors. In this case, the computing device 105 may indicate that the audio data of the surface meter 115 is not yet complete. The computing device 105 may send additional requests for audio data to the surface meter 115.

In some implementations, the computing device 105 may be wirelessly connected with the flow meter 130. In this case, the flow meter may transmit flow data 185 to computing device 105 indicating that 7CCF has flowed through flow meter 130.

Computing device 105 or the server may process the received audio and temperature data to determine the relative water usage of apartments a and B. In some implementations, computing device 105 may calculate a ratio of water usage for apartment a to water usage for apartment B. The computing device may use the ratio and flow data 185 to calculate the absolute usage of each apartment a and B. Further, details related to calculating water usage are also discussed with respect to fig. 4 and 5. In some implementations, the usage readings may not be accurate because the surface meters 110, 115, and 120 may not be as precise as the flow meters.

FIG. 2 illustrates an example system 200 for processing meter data and an example apparatus 250 for collecting meter data from a pipeline. Briefly, as described in more detail below, the system 200 may be configured to request temperature data and audio data from the device 250. The system 200 may be similar to the computing device 105 of fig. 1. The apparatus 250 may be similar to the surface meters 110, 115, and 120 of fig. 1.

System 200 includes a transceiver 205. Transceiver 205 may be a short-range radio module capable of transmitting and receiving data wirelessly. The transceiver 205 may receive data from the device 250 and transmit and receive data from a server located in the cloud.

System 200 includes an audio analyzer 210 and a temperature analyzer 215. Audio analyzer 210 and temperature analyzer 215 may analyze audio data and temperature data received from device 250 and other similar devices. System 200 may generate relative water usage data or water usage ratios using audio analyzer 210 and temperature analyzer 215. Audio analyzer 210 and temperature analyzer 215 may use the processes discussed with respect to fig. 4 and 5. In some implementations, the audio analyzer 210 and the temperature analyzer 215 may use flow data from the in-pipe meter to determine absolute water usage data.

The system 200 includes an audio and temperature data store 220. The audio and temperature data store 220 may be configured to store audio and temperature data received from the device 250 and other similar devices. The audio and temperature data store 220 may include fields for the particular device providing the data and fields for the time period for the device 250 to collect the data.

The system 200 includes a user interface generator 225. The user interface generator 225 may be configured to provide for display on a screen of the system 200 a visual indication of the device 250 and other similar devices that have provided audio and temperature data to the system 200, as well as the flow meter that has provided flow data to the system 200. User interface generator 225 may be configured to display the results of the water usage calculations performed by audio analyzer 210 and temperature analyzer 215.

The device 250 includes a transceiver 255. Transceiver 255 may be a short-range radio module capable of transmitting and receiving data wirelessly. The transceiver 255 may be active for a specified period of time. For example, the transceiver 255 may only be active during the first two days of a month. During other times, the transceiver 255 may be inactive to conserve battery power.

The device 250 includes a thermometer 260 and a microphone 265. The device 250 may be configured to attach to a conduit. The portion of the device 250 facing the conduit may include a thermometer 260 and a microphone 265. The device 250 may sample audio data received by the microphone 265 at periodic intervals, such as every 500 milliseconds. The device 250 may sample the temperature detected by the thermometer 260 at periodic intervals, such as every 3 seconds.

Device 250 may store the sampled temperature and audio data in audio and temperature data storage 270. The device 250 may record timing data in the audio and temperature data store 270 to indicate the time at which the respective samples were collected. Device 250 may store the temperature and audio data in audio and temperature data storage 270 until the data is successfully transmitted to system 200.

For security purposes, it may be useful for the device 250 to detect when it has been moved. The device 250 may include an accelerometer 275. An accelerometer 275 or other similar motion sensor may provide motion data to the movement detector 280. The movement detector 280 may store data indicating when the device 250 has moved. Additionally or alternatively, the device 250 may include a speaker and activate an alarm when moved. Any stored movement data may be transmitted to system 200 when transceiver 255 is active and receives a request from device 250.

As a safety example, a resident may move the device 250 from one bathroom to another bathroom that the resident rarely uses. The resident may wish to have the device 250 measure temperature and audio data at a pipe that does not flow through the water as frequently as other pipes in the resident's unit. The movement detector 280 may receive motion data from the accelerometer 275 and determine that the device 250 has moved more than expected if the device 250 remained on the original pipe. Device 250 may transmit the time of the movement to system 200.

FIG. 3 illustrates an example method 300 for processing meter data to determine relative usage. In general, the method 300 uses audio data and temperature data recorded at a conduit to determine the relative flow between the two conduits. Method 300 will be described as being performed by a computer system (e.g., computing device 105 as shown in fig. 1 or computing system 200 as shown in fig. 2) comprising one or more computers.

The system receives first audio data collected during a time period and first temperature data collected during the time period from a first meter connected to a first conduit (310). In some implementations, the first conduit is a water pipe. In some implementations, the first conduit is a gas conduit. In some implementations, the system transmits a request for audio and temperature data to the first meter. The first meter transmits audio and temperature data in response to the request.

The system receives second audio data collected during the time period and second temperature data collected during the time period from a second meter connected to a second conduit (320). In some implementations, the second conduit is a water pipe. In some implementations, the second conduit is a gas conduit. In some implementations, the system transmits a request for audio and temperature data to the second meter. The second meter transmits audio and temperature data in response to the request.

In some implementations, the system receives data indicating that the first meter or the second meter has moved. The system may display data to the user indicating that one of the meters may have moved. In the event that the system receives position data from a moving meter, the system may indicate the position of the moving meter. In some implementations, the system may only receive relative movement data. The system may combine the relative movement data with data relating to the original position of the meter to determine a new position. For example, the system may receive data that the system has moved 10 meters. The system may know that the meter was in bathroom a in the past, kitchen a was about 10 meters away from bathroom a in the same unit. The system may estimate that a moving meter is likely in kitchen a.

Based on the first audio data, the first temperature data, the second audio data, and the second temperature data, the system determines a first amount of material that has flowed through the first conduit relative to a second amount of material that has flowed through the second conduit during the period of time (330).

In some implementations, the system determines that the first temperature of the first conduit has changed by at least a threshold temperature change amount during a particular amount of time. The system determines that a second temperature of the second conduit has changed by at least a threshold temperature change amount during a specified amount of time. After determining that the first temperature of the first conduit has changed by at least the threshold temperature change amount during the particular amount of time, the system determines a first elapsed time that the first temperature of the first conduit has changed. After determining that the second temperature of the second conduit has changed by at least the threshold temperature change amount during the particular amount of time, the system determines a second elapsed time that the second temperature of the second conduit has changed. Based on the first elapsed time and the second elapsed time, the system determines a first amount of material that has flowed through the first conduit during the specified amount of time relative to a second amount of material that has flowed through the second conduit during the specified amount of time.

In some implementations, based on the first audio data, the system determines a first level of first audio energy corresponding to the first audio data. Based on the second audio data, the system determines a second level of second audio energy corresponding to the second audio data. The system determines that a first level of the first audio energy has changed by at least a threshold energy change amount during a particular amount of time. The system determines that the second level of audio energy has changed by at least the threshold energy delta during a particular amount of time. After determining that the first level of the first audio energy has changed by at least the threshold energy change amount during the particular amount of time, the system determines a first elapsed time at which the first level of the first audio energy has changed by at least the threshold energy change amount. After determining that the second level of the second audio energy has changed by at least the threshold energy change amount during the particular amount of time, the system determines a second elapsed time at which the second level of the second audio energy has changed by at least the threshold energy change amount. Based on the first elapsed time and the second elapsed time, the system determines a first amount of material that has flowed through the first conduit during the specified amount of time relative to a second amount of material that has flowed through the second conduit during the specified amount of time.

In some implementations, the system receives flow data collected during the time period from a third meter connected to a third conduit feeding into the first conduit and the second conduit. Based on the first amount of material that has flowed through the first conduit relative to the second amount of material that has flowed through the second conduit during the period of time, and based on flow data from the third meter, the system determines a first absolute amount of material that has flowed through the first conduit during the period of time and a second absolute amount of material that has flowed through the second conduit during the period of time.

The subject matter described below relates to a method of measuring flow velocity in a conduit. The method includes measuring a temperature of an exterior of the pipe using a thermometer. The computing device collects temperature data and determines a flow rate through the conduit based on changes in temperature. Another method includes collecting audio data external to the duct using a microphone. The computing device collects audio data and determines a flow rate through the conduit based on changes in the audio data. In some implementations, the computing device may use both the audio data and the temperature to determine the flow rate through the conduit. In some implementations, the computing device may use temperature to detect when flow begins through the conduit and audio data to detect when flow stops, or vice versa.

FIG. 4 illustrates an example method 100 for measuring a flow rate through a pipe using a thermometer. The method 100 may be performed by a computing device located near the pipeline (such as a computing device directly connected to a thermometer). Alternatively, the method 100 may be performed by a computing device that receives data from a thermometer over a wireless connection.

The computing device receives a temperature of the tubing from the thermometer (405). In some implementations, the conduit is a water pipe or a conduit that provides another liquid. In some implementations, the pipeline is a gas pipeline that provides any type of gas (such as methane). The thermometer is attached to the exterior of the pipe and is configured to measure the temperature of the pipe itself. The thermometer may be covered in insulation to reduce the effect of ambient air on the temperature reading. In some implementations, multiple thermometers are placed on a portion of the pipe. For example, a first thermometer may detect the temperature of a pipe one foot from a wall. The second thermometer may also detect the temperature of the pipe at a different location one foot from the wall but on the outer circumference of the pipe. The third thermometer may detect the temperature of the pipe at two feet from the wall or one foot from the next branch of the pipe.

The computing device determines that the temperature of the pipe has changed by at least a threshold temperature change amount during a particular amount of time (410). When the computing device monitors the temperature, the computing device determines the difference between the temperature readings at predetermined intervals (e.g., one minute). The computing device determines a threshold temperature change amount based on a calibration process. In some implementations, the calibration process may be based on the material of the pipe, the outer diameter of the pipe, the inner diameter of the pipe, and the material flowing through the pipe. For example, if the pipe is copper, has an outer diameter of 1 inch, an inner diameter of 0.8 inch, and water is flowing through the pipe, the computing device may monitor a threshold temperature change of 2 degrees. In some implementations, the calibration process is based on training data, including temperature readings of the conduit and flow data through the conduit. For example, during a setup process of a thermometer, the computing device receives temperature data from the thermometer and flow data from another meter that measures a flow rate through the conduit. Using the temperature and flow rate data, the computing device determines an appropriate threshold temperature change amount to detect. In some implementations, the threshold temperature change amount may be different depending on whether the temperature is increasing or decreasing. For example, if the temperature is increasing, the threshold temperature change amount may be 2 degrees; if the temperature is decreasing, it may be 3 degrees.

After determining that the temperature of the conduit has changed by at least the threshold temperature change amount during the particular amount of time, the computing device determines an elapsed time that the temperature of the conduit has changed (415). At this stage, the computing device may monitor the temperature of the pipe at shorter intervals (e.g., 3 seconds). If the temperature does not change at least by the threshold value within the shorter interval or another interval, the computing device may determine that the temperature of the conduit is no longer changing. For example, if the computing device measures a temperature of 50.1 degrees at a particular time and 50.2 degrees at a particular time plus two minutes, the computing device may determine that the temperature has stopped changing. If the temperature changes from 50.1 degrees at a particular time to 50.2 degrees at a particular time plus one minute, the computing device determines that the temperature is still changing.

Based on the elapsed time that the temperature of the pipe is changing, the computing device determines an amount of material that has flowed through the pipe during the elapsed time (420). To calculate the flow rate of material that has flowed through the pipe during the elapsed time, the computing device uses the material of the pipe, the outer diameter of the pipe, the inner diameter of the pipe, and the material flowing through the pipe. For example, if the pipe is copper, the outer diameter is 1 inch, the inner diameter is 0.8 inch, water is flowing through the pipe, and the temperature changes from 50.0 degrees to 45.0 degrees in 10 minutes, the computing device determines that 30 gallons are flowing through the pipe. In some implementations, the computing device determines an amount of material that has flowed through the pipe during the elapsed time based on training data collected during the calibration process.

In some implementations, a computing device stores data related to flow rates through a conduit and provides the data to other computing devices in response to requests. For example, the billing device may be generating a bill for the water customer. The billing device sends a request to the computing device with the flow rate data. The computing device with the flow rate data verifies the request and, if verified, provides the flow rate data to the billing device. The billing device may then generate a bill for delivery to the client.

In some implementations, the computing device may use multiple thermometer configurations to determine the flow rate by determining when all or most of the measurements from the multiple thermometers meet the threshold amount of change. For example, if two of the three temperatures change by a threshold temperature change amount, the computing device may begin monitoring the temperatures at more frequent intervals, or only monitor temperatures from thermometers that meet the threshold. In some implementations, each thermometer has a different threshold amount of temperature change based on the characteristics of the tubing at the thermometer, or based on training data, or both.

Once the liquid or gas has flowed through the pipe for a period of time, the temperature of the pipe reaches a steady state. During this time, the computing device monitors the temperature of the pipe and determines the elapsed time that the pipe is at a constant temperature. Once the liquid or gas stops flowing, the temperature of the pipe will return to the initial temperature. Thus, if the computing device measures the elapsed time between the conduit reaching a constant temperature and the conduit returning to the initial temperature, the computing device may determine the flow rate through the conduit during the elapsed time.

In some implementations, the amount of threshold temperature change detected by the computing device once the temperature of the conduit reaches a steady state is the same as the amount of threshold temperature change detected when the gas or liquid initially begins to flow. In some implementations, the threshold temperature change is different depending on the material of the conduit, the outer diameter of the conduit, the inner diameter of the conduit, and the material flowing through the conduit, or on training data, or both, either of which is greater.

In some implementations, the amount of time that the computing device monitors the threshold temperature change once the temperature of the conduit reaches a steady state is the same as the amount of time that the computing device monitors the threshold temperature change when the gas or liquid begins to flow. In some implementations, the two time periods are different and are based on the material of the pipe, the outer diameter of the pipe, the inner diameter of the pipe, and the material flowing through the pipe, or based on training data, or both.

FIG. 5 illustrates an example method 500 for measuring a flow rate through a pipe using a microphone. The method 500 may be performed by a computing device located near the pipe (such as a computing device directly connected to a microphone). Alternatively, the method 500 may be performed by a computing device receiving data from a microphone over a wireless connection.

The computing device receives audio data associated with the pipe from the microphone (505). In some implementations, the conduit is a water pipe or a conduit that provides another liquid. In some implementations, the pipeline is a gas pipeline that provides any type of gas (such as methane). The microphone is attached to the outside of the pipe and is configured to measure sound waves emanating from the pipe itself. The microphone may be covered by insulation to reduce the effect of ambient noise on the microphone. In some implementations, multiple microphones are placed on portions of the duct. For example, the first microphone may detect sound waves emanating from the pipe at a distance of one foot from the wall. The second microphone may also detect sound waves emanating from the pipe at a distance of one foot from the wall but at a different location on the outer circumference of the pipe. The third microphone may detect sound waves emanating from the pipe at two feet from the wall or one foot from the next branch of the pipe. The computing device may use audio data from multiple microphones to cancel noise.

Based on the audio data, the computing device determines a level of audio energy associated with the audio data (510). When the computing device receives the audio data, the computing device converts the audio data to a level of audio energy. In some implementations, the computing device calculates a root mean square or average amplitude of the audio data to determine the level of audio energy. In some implementations, the computing device determines frequency components of the audio data and determines a flow velocity of the conduit using the frequency components.

The computing device determines that the level of audio energy has changed by at least a threshold energy delta amount during a particular amount of time (515). When the computing device calculates the levels of audio energy, the computing device determines the difference between the levels of audio energy at predetermined intervals (e.g., 1 minute). The computing device determines a threshold amount of energy change based on a calibration process. In some implementations, the calibration process may be based on the material of the pipe, the outer diameter of the pipe, the inner diameter of the pipe, and the material flowing through the pipe. For example, if the pipe is copper, has an outer diameter of 1 inch, an inner diameter of 0.8 inch, and water is flowing through the pipe, the computing device may monitor a threshold amount of energy change of 2 decibels. In some implementations, the calibration process is based on training data, including audio energy levels of the conduit and flow data through the conduit. For example, during a setup process of a microphone, the computing device receives audio data from the microphone and flow data from another meter that is measuring a flow rate through the pipe. Using the audio data and the flow rate data, the computing device determines an appropriate threshold amount of energy change to detect. In some implementations, the threshold energy change amount may be different depending on whether the audio energy level is increasing or decreasing. For example, if the audio energy level is increasing, the threshold energy change amount may be 2 decibels; if the audio energy level is decreasing, the threshold energy change amount may be 3 decibels.

Upon determining that the level of audio energy has changed by at least the threshold amount of energy change during the particular amount of time, the computing device determines an elapsed time that the level of audio energy associated with the conduit has changed by at least the threshold amount of energy change (520). At this stage, the computing device may calculate the audio energy level of the pipe at short intervals (e.g., 3 seconds). If the audio energy level fails to meet the threshold for a shorter interval or another interval, the computing device may determine that the level of audio energy of the conduit is no longer outside of the threshold energy variation amount. For example, if the computing device measures a 1.7 decibel change in energy at a particular time and a 1.8 decibel change in energy at a particular time plus 2 minutes, the computing device may determine that the audio energy level no longer exceeds the 3 decibel threshold. If the energy level change at a particular time is 1.7 decibels and the energy level change at a particular time plus 1 minute is 2.2 decibels, the computing device determines that the audio energy level is still outside the threshold energy range.

Based on an elapsed time during which the level of audio energy associated with the conduit has changed by at least the threshold amount of energy variation, the computing device determines an amount of material that has flowed through the conduit during the elapsed time (525).

To calculate the flow rate of material that has flowed through the pipe during the elapsed time, the computing device uses the material of the pipe, the outer diameter of the pipe, the inner diameter of the pipe, and the material flowing through the pipe. For example, if the pipe is copper, the outer diameter is 1 inch, the inner diameter is 0.8 inch, and water is flowing through the pipe, and the audio energy level is outside of the threshold energy range over a 10 minute period, the computing device determines that 30 gallons are flowing through the pipe. In some implementations, the computing device determines an amount of material that has flowed through the pipe during the elapsed time based on training data collected during a calibration process.

In some implementations, the computing device factors in the level of audio energy change to determine the flow rate. The computing device may consider the level of audio energy variation rather than just whether the audio energy level meets the threshold energy level. For example, a 1 decibel change in audio energy may correspond to eighty percent of the water flowing through the pipe, as a2 decibel change in audio energy. The computing device may consider the material of the conduit, the outer diameter of the conduit, the inner diameter of the conduit, and the material flowing through the conduit, or training data, or both, to determine what flow rate corresponds to what audio energy change.

In some implementations, the computing device may receive audio energy level data and temperature data to determine a flow rate through the conduit. For example, the computing device may average the flow rate determined based on the temperature data and based on the audio energy level data to determine the flow rate through the conduit.

In some implementations, a computing device stores data related to flow rates through a conduit and provides the data to other computing devices in response to requests. For example, the billing device may be generating a bill for the water customer. The billing device sends a request to the computing device with the flow rate data. The computing device with the flow rate data verifies the request and, if verified, provides the flow rate data to the billing device. The billing device may then generate a bill for delivery to the client.

In some implementations, the computing device may determine the flow rate using multiple microphone configurations by determining when all or a majority of the energy levels calculated from data from multiple microphones satisfy a threshold amount of change. For example, if two of the three energy levels change by a threshold amount of energy variation, the computing device may start monitoring microphones at more frequent intervals, or only monitor microphones associated with energy levels that meet the threshold. In some implementations, each microphone has a different threshold amount of energy variation based on the characteristics of the pipe at the microphone or based on training data, or both.

When gas or liquid is flowing through the conduit, the energy level determined by the computing device will be relatively constant. Once the gas or liquid stops flowing, the energy level returns to the original energy level. When the energy level is constant, the computing device monitors the energy level and stores the elapsed time for which the energy level is above a threshold amount of energy change. When the gas or liquid stops flowing, the computing device monitors the energy level, and will likely determine that the energy level has changed by a second threshold amount of energy change within a second specified amount of time. In some implementations, the second threshold amount of energy change is the same as the threshold amount of energy change at the beginning of flow, while in other implementations it is different. In some implementations, the second particular amount of time is the same as the particular amount of time at the beginning of the flow, while in other implementations it is different. The computing device determines all four values based on the material of the pipe, the outer diameter of the pipe, the inner diameter of the pipe, and the material flowing through the pipe, or based on training data, or both.

In some implementations, the computing device uses a combination of temperature and sound to determine the flow through the conduit. For example, the computing device may use the temperature to determine when flow begins through the pipe, and the audio energy level to determine when flow stops. As another example, the computing device may use the audio energy level to determine when the flow begins and the temperature to determine when the flow ends.

The water meter described in this application can be used in a variety of situations where a user desires to measure water flow but does not desire to install the water meter by removing, cutting or adding a pipe. For example, in a multi-family dwelling, a management company may wish to measure water consumption of individual units that do not have individual water meters. The management company may install the meters by attaching the meters to the pipes that supply each unit using glue, tape, cable tie, or any other type of tie or adhesive. Units fed by more than one pipe may have a meter attached to each pipe. The meter may be linked to a billing system to generate a separate bill for units that previously did not have a meter. In some implementations, each meter may include a tamper-resistant band that shows evidence of attempted removal. Each meter also generates an alert when someone attempts to remove the meter.

In some implementations, the meter may be configured with a vibration sensor. The vibration sensor may detect vibrations occurring in the pipe as water or other material is flowing through the pipe. The meter may include a plurality of vibration sensors around the circumference of the pipe. A computing device receiving data from the vibration sensor may determine that the water flow rate increases as the water flow increases. In some implementations, vibration of the pipe may occur as the material changes its flow rate. In this case, the computing device may determine the water flow rate based on the rate of change of the vibration.

In some implementations, the computing device determines the flow through the conduit based on a combination of sound, temperature, and vibration. Any combination of the three may be used to detect the start of flow and the end of flow. For example, the computing device may use data from temperature and vibration sensors to determine when flow is starting and only microphone data to determine when flow is stopping. As another example, the computing device may use sound, temperature, and vibration data to determine when flow begins and sound and vibration data to determine when flow stops. In some implementations, ambient temperature, temperature of material flow, season, time of day, month, day of week, etc. may be used to determine what data may be used.

In some implementations, instrumentation attached to the conduit may be operated using batteries. To conserve battery power, the device may be configured to communicate only at certain intervals. For example, the device may be configured to communicate only between monday noon and 2 pm. During this time, the receiving computing device may request data from each of the meter devices. The meter device can only collect data from the pipe for the remainder of the week.

In some implementations, the meter may be configured to generate an alert that is audible or delivered to the computing device when the flow exceeds a threshold. For example, the meter may generate an alarm when the meter detects a flow rate above 3 gallons/minute. As another example, the meter may generate alerts at different times of the day, days of the week, months, and so forth. When there may be no one using water, such as during midday, the meter may generate an alarm when the flow rate is above 0.3 gallons/minute. This function may help identify leaks.

In some implementations, the meters may be logically interconnected. For meters that measure pipes feeding the same dwelling unit, the meters may be configured to share data and then supply a set of data to a computing device. Meters may also share data to generate alerts. The meter may combine its data to determine whether the flow exceeds a threshold. For example, if the threshold is 0.3 gallons/minute, a meter measuring 0.2 gallons/minute may issue an alarm if logically connected to another meter measuring 0.2 gallons/minute.

Fig. 6 illustrates an example of a computing device 600 and a mobile computing device 650 that can be used to implement the techniques described herein. Computing device 600 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The mobile computing device 650 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not intended to be limiting.

Computing device 600 includes a processor 602, memory 604, a storage device 606, a high-speed interface 608 connecting to memory 604 and a plurality of high-speed expansion ports 610, and a low-speed interface 612 connecting to low-speed expansion ports 614 and storage device 606. Each of the processor 602, memory 604, storage 606, high-speed interface 608, high-speed expansion ports 610, and low-speed interface 612, are interconnected using various buses, and may be mounted on a common motherboard or in other manners as appropriate. The processor 602 can process instructions for execution within the computing device 600, including instructions stored in the memory 604 or on the storage device 606 to display graphical information for a GUI on an external input/output device, such as display 616 coupled to high speed interface 608. In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. In addition, multiple computing devices may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, group of blade servers, or multi-processor system).

The memory 604 stores information in the computing device 600. In some implementations, the memory 604 is a volatile memory unit(s). In some implementations, the memory 604 is a non-volatile memory unit(s). The memory 604 may also be another form of computer-readable medium, such as a magnetic or optical disk.

The storage device 606 can provide mass storage for the computing device 600. In some implementations, the storage device 606 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state storage device, or an array of devices, including devices in a storage area network or other configurations. The instructions may be stored in an information carrier. When executed by one or more processing devices (e.g., processor 602), the instructions perform one or more methods, such as those described above. The instructions may also be stored by one or more storage devices, such as a computer-readable medium or a machine-readable medium (e.g., memory 604, storage device 606, or memory on processor 602).

The high-speed interface 608 manages bandwidth-intensive operations for the computing device 600, while the low-speed interface 612 manages lower bandwidth-intensive operations. Such allocation of functions is merely an example. In some implementations, the high speed interface 608 is coupled to memory 604, display 616 (e.g., through a graphics processor or accelerator), and high speed expansion ports 610, which high speed expansion ports 610 may accept various expansion cards. In an implementation, low-speed interface 612 is coupled to storage 606 and low-speed expansion port 614. The low-speed expansion port 614, which may include various communication ports (e.g., USB, bluetooth, ethernet, wireless ethernet), may be coupled (e.g., through a network adapter) to one or more input/output devices (such as a keyboard, pointing device, scanner) or network devices (such as a switch or router).

Computing device 600 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 620, or multiple times as a group of such servers. Further, it may be implemented in a personal computer (such as laptop 622). It may also be implemented as part of a rack server system 624. Alternatively, components from computing device 600 may be combined with other components in a mobile device, such as mobile computing device 650. Each of such devices may contain one or more of computing device 600 and mobile computing device 650, and an entire system may be made up of multiple computing devices in communication with each other.

The mobile computing device 650 includes components such as a processor 652, memory 664, input/output devices (such as a display 654), a communication interface 666, and a transceiver 668. The mobile computing device 650 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Each of the processor 652, memory 664, display 654, communication interface 666, and transceiver 668, are interconnected using a different bus, and several of the components may be mounted on a common motherboard or in other manners as appropriate.

The processor 652 may execute instructions within the mobile computing device 650, including instructions stored in the memory 664. The processor 652 may be implemented as a chipset of chips, including separate and multiple analog and digital processors. For example, the processor 652 may provide for coordination of the other components of the mobile computing device 650, such as control of user interfaces, applications run by the mobile computing device 650, and wireless communication through the mobile computing device 650.

Processor 652 may communicate with a user through control interface 658 and display interface 656 coupled to a display 654. The display 654 may be, for example, a TFT (thin film transistor liquid crystal display) display or an OLED (organic light emitting diode) display, or other suitable display technology. The display interface 656 may comprise appropriate circuitry for driving the display 654 to present graphical and other information to a user. The control interface 658 may receive commands from a user and convert them for submission to the processor 652. In addition, external interface 662 may provide communication with processor 652 to enable near area communication of the mobile computing device 650 with other devices. For example, external interface 662 may provide for wired communication in some implementations, or wireless communication in other implementations, and multiple interfaces may also be used.

The memory 664 stores information within the mobile computing device 650. The memory 664 may be implemented as one or more of computer-readable medium(s), volatile memory unit(s), or non-volatile memory unit(s). Expansion memory 674 may also be provided and coupled to mobile computing device 650 through expansion interface 672, which 672 may include, for example, a SIMM (Single in line memory Module) card interface. Expansion memory 674 may provide additional storage space for mobile computing device 650, or may also store applications or other information for mobile computing device 650. Specifically, expansion memory 674 may include instructions to carry out or supplement the processes described above, and may include secure information. Thus, for example, expansion memory 674 may be provided as a security module for mobile computing device 650, and may be programmed with instructions that permit secure use of mobile computing device 650. In addition, secure applications may be provided by the SIMM card, along with additional information, such as placing identification information on the SIMM card in a non-intrusive manner.

As discussed below, the memory may include, for example, flash memory and/or NVRAM memory (non-volatile random access memory). In some implementations, the instructions are stored in an information carrier. When executed by one or more processing devices (e.g., processor 652), the instructions perform one or more methods, such as those discussed above. The instructions may also be stored by one or more storage devices, such as one or more computer-readable media or machine-readable media (e.g., memory 664, expansion memory 674, or memory on processor 652). In some implementations, the instructions may be received in a propagated signal, for example, over transceiver 668 or external interface 662.

Mobile computing device 650 may communicate wirelessly through communication interface 666 and may include digital signal processing circuitry as necessary. Communication interface 666 may provide for communications under various modes or protocols, such as GSM voice calls (Global System for Mobile communications), SMS (short message service), EMS (enhanced message service), or MMS messages (multimedia message service), CDMA (code division multiple Access), TDMA (time division multiple Access), PDC (personal digital cellular), WCDMA (wideband code division multiple Access), CDMA2000, or GPRS (general packet radio service), among others. Such communication may occur, for example, through transceiver 668 using radio frequency. Further, short range communication may occur, such as using a bluetooth, WiFi, or other such transceiver. Further, the GPS (global positioning system) receiver module 670 may provide additional navigation-related wireless data and location-related wireless data to the mobile computing device 650, as applicable, for use by applications running on the mobile computing device 650.

The mobile computing device 650 may also communicate audibly using the audio codec 660, which the audio codec 660 may receive verbal information from the user and convert it to usable digital information. Audio codec 660 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of mobile computing device 650. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.), and may also include sound generated by applications operating on the mobile computing device 650.

The mobile computing device 650 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 680. It may also be implemented as part of a smartphone 582, personal digital assistant, or other similar mobile device.

Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

These computer programs (also known as programs, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms machine-readable medium and computer-readable medium refer to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term machine-readable signal refers to any signal used to provide machine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other types of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a Local Area Network (LAN), a Wide Area Network (WAN), and the internet.

The computing system may include clients and servers. A client and server are generally remote from each other, typically interacting through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

Although some implementations have been described in detail above, other modifications are possible. For example, while the client application is described as accessing the agent(s), in other implementations, the agent(s) may be employed by other applications implemented by one or more processors, such as applications executing on one or more servers. Moreover, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. Further, other actions may be provided, or actions may be eliminated, and other components may be added to, or removed from, the described systems, in accordance with the described flows. Accordingly, other implementations are within the scope of the following claims.

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种定位测量的超声波水表

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类