Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ACTIVE WATER LEAKAGE DETECTION METHODS AND SYSTEMS
Document Type and Number:
WIPO Patent Application WO/2022/168050
Kind Code:
A1
Abstract:
The present disclosure provides a computer-implemented method of detecting leakage in a water heating system (100), the water heating system comprising a control module (110) configured to control operation of the water heating system and one or more water heating modules (140, 150, 160) configured to heat water from a cold water source and output heated water to be distributed around a building at one or more water outlets, the method being performed by the control module and comprising: receiving sensor data from a pressure sensor (170-1) indicating a water pressure of heated water being output by the water heating system; upon determining that the water pressure is below a reference water pressure, closing a valve (180-1) to stop heated water from being output by the water heating system; monitoring the sensor data from the pressure sensor to determine whether the water pressure continues to fall; and upon determining that the water pressure continues to fall, determining that there is a leakage in the water heating system.

Inventors:
KONOWALCZYK PETER (GB)
Application Number:
PCT/IB2022/051082
Publication Date:
August 11, 2022
Filing Date:
February 07, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
OCTOPUS ENERGY GROUP LTD (GB)
International Classes:
F28D20/02; E03B7/00; E03B7/07; F24D19/10; F24H9/17; F24H15/12
Domestic Patent References:
WO2018111881A12018-06-21
WO2017027565A12017-02-16
Foreign References:
DE102017100416A12018-07-12
EP3654009A22020-05-20
GB2405702A2005-03-09
Attorney, Agent or Firm:
KAZI, Ilya (GB)
Download PDF:
Claims:
CLAIMS

1. A computer-implemented method of detecting leakage in a water heating system (100), the water heating system comprising a control module (110) configured to control operation of the water heating system and one or more water heating modules (140, 150, 160) configured to heat water from a cold water source and output heated water to be distributed around a building at one or more water outlets, the method being performed by the control module and comprising: receiving sensor data from a pressure sensor (170-1) indicating a water pressure of heated water being output by the water heating system; upon determining that the water pressure is below a reference water pressure, closing a valve (180-1) to stop heated water from being output by the water heating system; monitoring the sensor data from the pressure sensor to determine whether the water pressure continues to fall; and upon determining that the water pressure continues to fall, determining that there is a leakage in the water heating system.

2. The method of claim 1, further comprising generating a warning signal upon determining that there is a leakage in the water heating system.

3. The method of claim 1 or 2, wherein monitoring the sensor data to determine whether the water pressure continues to fall comprises comparing first sensor data received at a first time, Tl, with second sensor data received at a second time, T2, after a predetermined time interval, and determining whether the second sensor data indicates a lower water pressure than the first sensor data.

4. The method of claim 3, further comprising generating a warning signal when a difference between a water pressure indicated by the second sensor data and a water pressure indicated by the first sensor data exceeds a pressure drop threshold.

5. The method of claim 3 or 4, wherein monitoring the sensor data to determine whether the water pressure continues to fall further comprises determining a rate at which the water pressure decreases based on the first and second sensor data.

6. The method of claim 5, further comprising determining an extent of the leakage by comparing the rate with one or more rate thresholds.

7. The method of claim 6, wherein the warning signal is selected based on the determined extent.

8. The method of any of claims 2 to 7, wherein the warning signal comprises a light signal, an audio signal, a verbal or multimedia warning, or a combination thereof.

9. The method of any preceding claim, further comprising, upon determining that there is a leakage in the water heating system, providing on a display an option for a human operator to switch off the water heating system.

10. The method of any preceding claim, further comprising automatically switching off the water heating system upon determining that there is a leakage in the water heating system.

11. The method of any preceding claim, wherein the reference water pressure corresponds to a deviation from an optimal operating water pressure for the water heating system, wherein the optimal operating water pressure is set by a human operator during initial installation or subsequent maintenance of the water heating system.

12. The method of any preceding claim, further comprising adjusting the reference water pressure based on operating conditions of the water heating system, the operating conditions comprise water temperature of the cold water source, ambient air temperature, outside air temperature.

13. A computer-readable medium comprising machine-readable code, which, when executed by a processor, causes the processor to perform the method of any preceding claim.

14. A water heating system (100) for supplying heated waterto one or more water outlets in a building, comprising: one or more water heating modules (140, 150, 160) configured to heat water received from a cold water source and output heated waterto be distributed to the one or more water outlets; a valve (180-1) configured to control a flow of heated water output from the water heating system, which when closed stops heated water from being output to the one or more water outlets; a pressure sensor (170-1) configured to measure a water pressure of the flow of heated water output from the water heating system; and a control module configured to control operation of the water heating system, the control module comprising: at least one processor; and a non-transitory computer-readable medium having stored thereon software instructions that, when executed by the at least one processor, cause the control module to: receive sensor data from the pressure sensor (170-1) indicating a water pressure of heated water being output by the water heating system; upon determining that the water pressure is below a reference water pressure, close the valve (180-1) to stop heated water from being output by the water heating system; monitor the sensor data from the pressure sensor to determine whether the water pressure continues to fall; and upon determining that the water pressure continues to fall, determine that there is a leakage in the water heating system.

15. The water heating system of claim 14, wherein the one or more water heating modules comprise a heat pump (140) configured to transfer heat from the surroundings to a thermal energy storage (150), the thermal energy storage comprises at least one heat exchanger (152) for transferring stored thermal energy to water from the cold water source.

18

Description:
ACTIVE WATER LEAKAGE DETECTION METHODS AND SYSTEMS

The present disclosure relates generally to water heating systems. In particular, the present disclosure relates to methods and systems for detecting a leakage in water heating systems.

BACKGROUND

While water leakage detection systems for water pipeline are known, water leakages in domestic settings are conventionally detected only when occupants observe the effects of leakage, such as damp patches on walls or ceilings, or the sound or sight of dripping water. In a domestic setting, cold and heated water may be provided to various water outlets (e.g. taps, toilet, shower) and central heating around a building. As such, prolong leakage can cause serious damages to the interior of the building and even the structure of the building if left unattended. However, if domestic water leakage is only detected when occupants observe the effects of the leakage, then damages have already been done to the building. Moreover, there can be occasions when the effects of a water leakage cannot be observed, such as when the leakage occurs in under-floor pipes.

It is therefore desirable to provide methods and systems for detecting a leakage in a water heating system.

SUMMARY

An aspect of the present technology provides a computer-implemented method of detecting leakage in a water heating system, the water heating system comprising a control module configured to control operation of the water heating system and one or more water heating modules configured to heat water from a cold water source and output heated water to be distributed around a building at one or more water outlets, the method being performed by the control module and comprising: receiving sensor data from a pressure sensor indicating a water pressure of heated water being output by the water heating system; upon determining that the water pressure is below a reference water pressure, closing a valve to stop heated water from being output by the water heating system; monitoring the sensor data from the pressure sensor to determine whether the water pressure continues to fall; and upon determining that the water pressure continues to fall, determining that there is a leakage in the water heating system.

According to embodiments of the present technology, water pressure output by a water heating system providing heated water for a building is continually monitored by a control module or unit, and upon determining that the water pressure falls below a reference pressure (e.g. a pre-set operation pressure or a deviation from the pre-set operation pressure), the water heating system is fluidly isolated from the water distribution network of the building by means of a valve. The control module continues to monitor the water pressure at the water heating system, and upon determining that the water pressure continues to fall, the control module determines that there is a leak in the water heating system. Since possible leakage in the water heating system is determined on the basis of a continuous drop, it is possible to determine a leakage before physical effects of the leakage are observed such that early remedial or corrective measures can be taken before the leakage causes more serious damages, e.g. causes flooding and/or damages to the building. In some embodiments, if the water pressure remains constant following the closing of the valve, the control module may determine that the water pressure dropped below the reference pressure for a different reason (e.g. a drop in the ambient air temperature and/or water temperature, the leakage is elsewhere such as in the water distribution network, etc.) than a leakage in the water heating system and operates the valve to allow water to be output by the water heating system again. Thereafter, the control module continues to monitor the water pressure of the water heating system.

In some embodiments, the method may further comprise generating a warning signal upon determining that there is a leakage in the water heating system. Generating a warning signal to notify a human operator of the leakage in the water heating system allows the human operator to take remedial actions against the leakage any damages or serious damages are done.

In some embodiments, monitoring the sensor data to determine whether the water pressure continues to fall may comprise comparing first sensor data received at a first time, Tl, with second sensor data received at a second time, T2, after a predetermined time interval, and determining whether the second sensor data indicates a lower water pressure than the first sensor data.

In some embodiments, the method may further comprise generating a warning signal when a difference between a water pressure indicated by the second sensor data and a water pressure indicated by the first sensor data exceeds a pressure drop threshold. There may be factors other than a leakage in the water heating system that causes the water pressure to fall slightly, such as when the air or water temperature falls for example as a result of changes in the weather. By waiting until the drop of water pressure to reach a pressure drop threshold before generating a warning signal, it is possible to avoid raising false alarm.

In some embodiments, monitoring the sensor data to determine whether the water pressure continues to fall may further comprise determining a rate at which the water pressure decreases based on the first and second sensor data.

In some embodiments, the method may further comprise determining an extent of the leakage by comparing the rate with one or more rate thresholds.

In some embodiments, the warning signal may be selected based on the determined extent. For example, if the determined rate is low, a less urgent warning signal may be selected to notify a human operator of the leakage, but if the determined rate is high, a more urgent warning signal may be selected to indicate to the human operator that urgent action is needed.

In some embodiments, the warning signal may comprise a light signal, an audio signal, a verbal or multimedia warning, or a combination thereof.

In some embodiments, the method may further comprise, upon determining that there is a leakage in the water heating system, providing on a display an option for a human operator to switch off the water heating system.

In some embodiments, the method may further comprise automatically switching off the heating system upon determining that there is a leakage in the water heating system.

In some embodiments, the reference water pressure may correspond to a deviation from an optimal operating water pressure for the water heating system, wherein the optimal operating water pressure is set by a human operator during initial installation or subsequent maintenance of the water heating system.

In some embodiments, the method may further comprise adjusting the reference water pressure based on operating conditions of the water heating system, the operating conditions comprise water temperature of the cold water source, ambient air temperature, outside air temperature.

A further aspect of the present technology provides a computer-readable medium comprising machine-readable code which, when executed by a processor, causes the processor to perform the methods described above.

A yet further aspect of the present technology provides a water heating system for supplying heated water to one or more water outlets in a building, comprising: one or more water heating modules configured to heat water received from a cold water source and output heated water to be distributed to the one or more water outlets; a valve configured to control a flow of heated water output from the water heating system, which when closed stops heated water from being output to the one or more water outlets; a pressure sensor configured to measure a water pressure of the flow of heated water output from the water heating system; and a control module configured to control operation of the water heating system, the control module comprising: at least one processor; and a non-transitory computer-readable medium having stored thereon software instructions that, when executed by the at least one processor, cause the control module to: receive sensor data from the pressure sensor indicating a water pressure of heated water being output by the water heating system; upon determining that the water pressure is below a reference water pressure, close the valve to stop heated water from being output by the water heating system; monitor the sensor data from the pressure sensor to determine whether the water pressure continues to fall; and upon determining that the water pressure continues to fall, determine that there is a leakage in the water heating system.

In some embodiments, the one or more water heating modules may comprise a heat pump configured to transfer heat from the surroundings to a thermal energy storage, the thermal energy storage comprises at least one heat exchanger for transferring stored thermal energy to water from the cold water source. Implementations of the present technology each have at least one of the above- mentioned objects and/or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and/or may satisfy other objects not specifically recited herein.

Additional and/or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present disclosure will now be described with reference to the accompanying drawings, in which:

Fig. 1 is a schematic system overview of an exemplary water provision system showing a heated water supply branch; and

Fig. 2 is a flow diagram illustrating an exemplary method of detecting a leakage in a water heating system according to an embodiment.

DETAILED DESCRIPTION

In view of the foregoing, the present disclosure provides various approaches for detecting a water leakage in a water heating system.

Water Heating System

In embodiments of the present techniques, a centralized water provision/heating system provides cold and heated water to a plurality of water outlets, including taps, showers, etc. and heated water to be circulated around a sealed heating circuit to provide central heating in a building in a domestic or industrial/commercial setting. An exemplary water provision system according to an embodiment is shown in Fig. 1.

In the present embodiment, the water heating system 100 comprises a control module 110. The control module 110 is communicatively coupled to, and configured to control, various elements of the water heating system, including a flow control 130 for example in the form of one or more valves arranged to control the flow of water into, out of and around the system, a (ground source or air source) heat pump 140 configured to extract heat from the surroundings and deposit the extracted heat in a thermal energy storage 150 to be used to heat water, and one or more electric heating elements 160 configured to directly heat cold water to a desired temperature by controlling (by the control module 110) the amount of energy supplied to the electric heating elements 160. Heated water, whether heated by the thermal energy storage 150 or heated by the electric heating elements 160, is then directed to one or more water outlets as and when needed. In the embodiments, the heat pump 140 extracts heat from the surroundings into a thermal energy storage medium within the thermal energy storage 150. The thermal energy storage medium may optionally also be heated by other sources such as the electric heating elements 160 if desired. The heat pump 140 continues to deposit extracted heat to the thermal energy storage medium until it reaches a desired operation temperature, then cold water e.g. from the mains can be heated by the thermal energy storage medium in a heat exchanger 152 to the desired temperature. The heated water may then be output for distribution around a water distribution network that comprises e.g. various hot/cold water taps, shower(s), etc.

In the present embodiment, the control module 110 comprises one or more processors 120 configured to execute instructions for controlling operations of the water heating system. In particular, the control module 110 is configured to receive sensor data from a plurality of sensors 170-1, 170-2, 170-3, ..., 170-n. The plurality of sensors 170-1, 170-2, 170-3, ..., 170-n may for example include one or more air temperature sensors disposed indoor and/or outdoor, one or more water temperature sensors, one or more water pressure sensors, one or more timers, and may include other sensors not directly linked to the water provision system 100 such as one or more motion sensors, a GPS signal receiver, calendar, weather forecasting app on e.g. a smartphone carried by an occupant and in communication with the control module via a communication channel. The one or more processors 120 of the control module 110 is configured, in the present embodiment, to use the received input to perform a variety of control functions, for example controlling the flow of water through the flow control 130 to the thermal energy storage 150 or to the electric heating elements 160 to be heated. In the present embodiment, a pressure sensor 170-1 is disposed at a position in the water heating system 100 to measure the water pressure of heated water output by the water heating system 100, and sensor data indicating the measured water pressure is received by the control module 110 which processes the sensor data and controls operation of the water heating system based on the results. A flow control e.g. valve 180-1 is disposed at a position in the water heating system 100 to control the flow of heated water output by the water heating system 100 to the water distribution network. The control module 110 is configured to control the operation of the valve 180-1 based on the received sensor data from the pressure sensor 170-1.

Embodiments of the present technology make use of a heat pump and a thermal energy storage (or heat reservoir) as a source of heat for heating cold water. While a heat pump is generally more energy efficient for heating water compared to an electrical resistance heater, a heat pump requires time to start up as it performs various checks and cycles before reaching a normal operation state, and time to transfer sufficient amount of thermal energy into a thermal energy storage medium before reaching the desired operation temperature. On the other hand, an electrical resistance heater is generally able to provide heat more immediately. Thus, a heat pump can take longer to heat the same amount of water to the same temperature compared to an electrical resistance heater. Moreover, in some embodiments, the heat pump 140 may for example use a phase change material (PCM), which changes from a solid to a liquid upon heating, as a thermal energy storage medium. Additional time may therefore be required to for the heat pump to first transferred a sufficient amount of heat to turn the PCM from solid to liquid, if it has been allowed to solidify, before it can further raise the temperature of the liquified thermal storage medium. Although this approach of heating water is slower, it consumes less energy to heat water compared to electric heating elements, so overall, energy is conserved and the cost for providing heated water is reduced.

Phase Change Materials

In the present embodiments, a phase change material may be used as a thermal storage medium for the heat pump. One suitable class of phase change materials are paraffin waxes which have a solid-liquid phase change at temperatures of interest for domestic hot water supplies and for use in combination with heat pumps. Of particular interest are paraffin waxes that melt at temperatures in the range 40 to 60 degrees Celsius (°C), and within this range waxes can be found that melt at different temperatures to suit specific applications. Typical latent heat capacity is between about 180kJ/kg and 230kJ/kg and a specific heat capacity of perhaps 2.27Jg _1 K 1 in the liquid phase, and 2.1Jg -1 K 1 in the solid phase. It can be seen that very considerable amounts of energy can be stored taking using the latent heat of fusion. More energy can also be stored by heating the phase change liquid above its melting point. For example, when electricity costs are relatively low during off-peak periods, the heat pump may be operated to "charge" the thermal energy storage to a higher-than-normal temperature to "overheat" the thermal energy storage.

A suitable choice of wax may be one with a melting point at around 48°C, such as n- tricosane C23, or paraffin C20-C33, which requires the heat pump to operate at a temperature of around 51°C, and is capable of heating water to a satisfactory temperature of around 45°C for general domestic hot water, sufficient for e.g. kitchen taps, shower/bathroom taps. Cold water may be added to a flow to reduce water temperature if desired. Consideration is given to the temperature performance of the heat pump. Generally, the maximum difference between the input and output temperature of the fluid heated by the heat pump is preferably kept in the range of 5°C to 7°C, although it can be as high as 10°C.

While paraffin waxes are a preferred material for use as the thermal energy storage medium, other suitable materials may also be used. For example, salt hydrates are also suitable for latent heat energy storage systems such as the present ones. Salt hydrates in this context are mixtures of inorganic salts and water, with the phase change involving the loss of all or much of their water. At the phase transition, the hydrate crystals are divided into anhydrous (or less aqueous) salt and water. Advantages of salt hydrates are that they have much higher thermal conductivities than paraffin waxes (between 2 to 5 times higher), and a much smaller volume change with phase transition. A suitable salt hydrate for the current application is Na2S2O3-5H2O, which has a melting point around 48°C to 49°C, and latent heat of 200-220 kJ/kg.

Active leakage detection Fig. 2 shows a method of detecting water leakages in a water heating system such as the water heating system 100, according to an embodiment. The method is performed by a control unit or control module, such as the control module 110, that is configured to control operations of various elements of the water heating system. In particular, the method may be a computer-implemented method that comprises software instructions which, when executed by one or more processors, such as the one or more processors 120, performs the various steps of the method.

The method begins at S301 when the control module receives sensor data from a pressure sensor, such as the pressure sensor 170-1, indicating an output water pressure of the water heating system.

The control module compares the received sensor data with a predetermined reference water pressure at S302, and upon determining that the output water pressure is below the reference water pressure (YES branch), the control module outputs control signals at S303 to operate a valve (e.g. valve 180-1) to a close position in order to stop heated water from being output by the water heating system. If at S302 the control module determines from the received sensor data that the output water pressure of the water heating system is at or above the reference water pressure (NO branch), the method returns to S301 and the control module continues to receive sensor data from the pressure sensor and monitors the output water pressure of the water heating system.

Herein, the predetermined reference water pressure may be any suitable water pressure that represents a lower threshold or minimum water pressure at which the water heating system operates. For example, the optimal operating water pressure may be set by a human operator during the initial installation or subsequent maintenance of the water heating system. In some embodiments, an optimal operating water pressure may be set as the reference water pressure. It may be desirable to take into account of a range of normal operating conditions such as outside air temperature, indoor air temperature, source (mains) water temperature, atmospheric pressure, etc. when setting the reference water pressure. Thus, in some embodiments, the reference water pressure may be set by subtracting an expected deviation from an optimal operating water pressure for the water heating system. In some embodiments, it may be desirable for the control module to adjust the reference water pressure based on operating conditions of the water heating system, or to provide recommendation or suggestion to a human operator to adjust the reference water pressure based on operating conditions of the water heating system.

After operating the valve (e.g. valve 180-1) to the close position, the control module at S304 continues to receive the sensor data from the pressure sensor to monitor the output water pressure of the water heating system to determine, at S305, whether the water pressure continues to fall - a continuous fall in the output/operating water pressure of the water heating system is an indication that the water heating system continues to lose water even after it has been isolated from all water outlets. Thus, upon determining at S305 that the water pressure continues to fall (YES branch), the control module determines at S307 that there is a leakage in the water heating system.

In some embodiments, the control module may compare first sensor data received at a first time, Tl, with second sensor data subsequently received at a second time, T2, after a predetermined time interval from Tl, and determine whether the second sensor data indicates a lower water pressure than the first sensor data. Tl and T2 may be any suitable and desirable time, for example Tl may be the time at which the water pressure is detected to fall below the reference water pressure, and T2 may be a time after a predetermined interval from Tl, e.g. after 10 minutes, 30 minutes, 1 hour, etc. Present embodiments are not limited to taking only two measurements of water pressure, three, four or more measurements may be taken, and the control module may be configured to only determine that there is a leakage in the water heating system after two, three, four or more consecutive water pressure measurements indicating a continuous fall in water pressure.

In some embodiments, the control module may be configured to only determine that there is a leakage in the water heating system when the water pressure falls below a lower water pressure threshold, or when the difference between two water pressure measurements (sensor data) is above a difference threshold.

In some embodiments, the control module may be configured to determine a rate at which the water pressure falls or decreases based on the first and second sensor data (or any other subsequently received sensor data). For example, the water pressure decrease rate may be determined by dividing the difference in water pressure between the first and second sensor data by the predetermined time interval. In an embodiment, the thus determined water pressure decrease rate can be used to determine an extent or severity of the water leakage by comparing the determined rate with one or more rate thresholds. For example, a lower rate indicates a less severe water leakage while a higher rate indicates a more severe water leakage.

In some embodiments, upon determining at S307 that there is a leakage in the water heating system, the control module may generate a warning signal at S308 to notify a human operator of the water leakage. For example, the warning signal may comprise different form and colour light signal, an audio signal such as a discrete or continuous alarm, a verbal or multimedia warning, or a combination thereof.

In an embodiment, the control module may be configured to only generate a warning signal when a difference between the water pressure as indicated by the second sensor data and the water pressure as indicated by the first sensor data exceeds a pressure drop threshold. In doing so, a human operator is only notified if and when the water leakage is deemed problematic.

In an embodiment, the control module may be configured to generate a different warning signal, such as a traffic light system, different speed of flashing light signal, different verbal warning, etc., based on the severity of the water leakage. For example, the control module may select a warning signal based on the extent of the water leakage determined by the rate at which the water pressure of the water heating system is falling. In doing so, a human operator can quickly and easily judge the severity of the leakage and take appropriate action.

In some embodiments, upon determining at S307 that there is a leakage in the water heating system, the control module may, at S309, provide on a display an option for a human operator to switch off the water heating system. The display may be an integrated display on the control module or an external display (e.g. a smartphone, a tablet, a computer, etc.) in communication, wirelessly orwith a wired connection, with the control module. Alternatively or in addition, the control module may be configured to automatically switch off the water heating system, S310, upon determining at S307 that there is a leakage in the water heating system. For example, the control module may be configured to automatically switch off the water heating system if it is determined that the water leakage is severe, and/or if a human operator has not responded to a recommendation to switch off within a predetermined time, wherein the predetermined time may be dependent on the severity or extent of the leakage.

At S305, if the control module determines that the water pressure remains constant after operating the valve to the close position (NO branch), the method returns to S301 and the control module continues to receive sensor data from the pressure sensor and monitors the water pressure of the water heating system. When it is determined that the water pressure remains constant after operating the valve to the close position, it may be assumed either that a water leakage occurs outside of the water heating system or that the initial fall in water pressure is a result of a change in operating conditions that is not related to a water leakage. As such, the control module can be configured to release the valve to an open position S306 before returning to S301 and continues to monitor the pressure sensor.

In alternative embodiments, the pressure sensor 170-1 may be disposed at other positions within the water heating system to measure water pressure into or out of various elements of the water heating system, or the pressure sensor 170-1 may be disposed at a position in the water distribution network to measure water pressure at various junctions or outlets of the water distribution network, or more than one pressure sensors may be provided to measure water pressure at multiple locations throughout the water heating system and/or the water distribution network, as desired.

As will be appreciated by one skilled in the art, the present techniques may be embodied as a system, method or computer program product. Accordingly, the present techniques may take the form of an entirely hardware embodiment, an entirely software embodiment including the use of artificial intelligence and machine learning, or an embodiment combining software and hardware.

Furthermore, the present techniques may take the form of a computer program product embodied in a computer readable medium having computer readable program code embodied thereon. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable medium may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Computer program code for carrying out operations of the present techniques may be written in any combination of one or more programming languages, including object-oriented programming languages and conventional procedural programming languages.

For example, program code for carrying out operations of the present techniques may comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code, code for setting up or controlling an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or code for a hardware description language such as VerilogTM or VHDL (Very high-speed integrated circuit Hardware Description Language).

The program code may execute entirely on the user's computer, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network. Code components may be embodied as procedures, methods or the like, and may comprise sub-components which may take the form of instructions or sequences of instructions at any of the levels of abstraction, from the direct machine instructions of a native instruction set to high-level compiled or interpreted language constructs.

It will also be clear to one of skill in the art that all or part of a logical method according to the preferred embodiments of the present techniques may suitably be embodied in a logic apparatus comprising logic elements to perform the steps of the method, and that such logic elements may comprise components such as logic gates in, for example a programmable logic array or application-specific integrated circuit. Such a logic arrangement may further be embodied in enabling elements for temporarily or permanently establishing logic structures in such an array or circuit using, for example, a virtual hardware descriptor language, which may be stored and transmitted using fixed or transmittable carrier media.

The examples and conditional language recited herein are intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its scope as defined by the appended claims.

Furthermore, as an aid to understanding, the above description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.

In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and, again, not to limit the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and/or that what is described is the sole manner of implementing that element of the present technology.

Moreover, all statements herein reciting principles, aspects, and implementations of the technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

The functions of the various elements shown in the figures, including any functional block labeled as a "processor", may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and/or textual description. Such modules may be executed by hardware that is expressly or implicitly shown.

It will be clear to one skilled in the art that many improvements and modifications can be made to the foregoing exemplary embodiments without departing from the scope of the present techniques.