Systems and Methods for Determining Water Pump Status Using Current Consumption
20250297753 ยท 2025-09-25
Inventors
Cpc classification
F24F2140/60
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F24F1/039
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F24F11/38
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
International classification
Abstract
Systems and methods are provided for determining water pump status using current consumption. Within an HVAC system, water pumps may pump water from an indoor portion to an outdoor coil and/or an outdoor portion to an indoor coil to improve heat transfer within the HVAC system. To monitor the status of the water pumps (assessing whether the water pumps are properly pumping), the current consumption of the water pumps is measured and compared to pre-determined current value ranges. The HVAC system may determine whether the water pump is pumping only water, a combination of water and air, or no water, depending on the current value range that the measured current falls within. When the measured current lies within a particular current value range indicating that a water pump is not properly functioning, the HVAC system may take an action, such as issuing an alert or ceasing system operation.
Claims
1. A heating, ventilation, and air conditioning (HVAC) system comprising: an indoor unit including an indoor coil; an outdoor unit including an outdoor coil; one or more water pumps configured to, at least one of, pump water from the indoor unit to the outdoor coil or pump water from the outdoor unit to the indoor coil; and a controller configured to: receive an indication of an amount of current being used by the one or more water pumps; determine, based on the amount of current being used, an amount of water being pumped by the one or more water pumps; and perform an action based on the amount of water being pumped.
2. The HVAC system of claim 1, wherein the action comprises at least one of: providing an alert or ceasing operation of the one or more water pumps.
3. The HVAC system of claim 1, wherein determining the amount of water being pumped further comprises determining that the amount of current is within a first range of current values instead of a second range of current values.
4. The HVAC system of claim 3, wherein the controller is further configured to: determine, based on the determination that the amount of current is within the first range of current values, that the one or more water pumps are blocked.
5. The HVAC system of claim 3, wherein the controller is further configured to: determine, based on the determination that the amount of current is within the second range of current values, that the one or more water pumps are pumping both water and air.
6. The HVAC system of claim 3, wherein the controller is further configured to: determine, based on the determination that the amount of current is within a third range of current values, that the one or more water pumps are pumping only air.
7. The HVAC system of claim 1, wherein the controller is further configured to: determine a rate of change of the amount of current being used by the one or more water pumps, wherein performing the action is based on the rate of change.
8. The HVAC system of claim 1, further comprising one or more sensors within the indoor unit, wherein the controller is further configured to: receive, from the one or more sensors, an indication that a water level within the indoor unit has reached a threshold water level.
9. The HVAC system of claim 8, wherein the one or more sensors comprise at least one of: a float sensor, an optical sensor, or a precipitation sensor.
10. A method comprising: receiving, by a controller of a heating, ventilation, and air conditioning (HVAC) system, an indication of an amount of current being used by one or more water pumps within the HVAC system; determining, by the controller and based on the amount of current being used, an amount of water being pumped by the one or more water pumps; and performing, by the controller, an action based on the amount of water being pumped.
11. The method of claim 10, wherein the action comprises at least one of: providing an alert or ceasing operation of the one or more water pumps.
12. The method of claim 10, wherein determining the amount of water being pumped further comprises determining that the amount of current is within a first range of current values instead of a second range of current values.
13. The method of claim 12, further comprising: determining, by the controller and based on the determination that the amount of current is within the first range of current values, that the one or more water pumps are blocked.
14. The method of claim 12, further comprising: determining, by the controller and based on the determination that the amount of current is within the second range of current values, that the one or more water pumps are pumping both water and air.
15. The method of claim 12, further comprising: determining, by the controller and based on the determination that the amount of current is within a third range of current values, that the one or more water pumps are pumping only air.
16. The method of claim 10, further comprising: determining, by the controller, a rate of change of the amount of current being used by the one or more water pumps, wherein performing the action is based on the rate of change.
17. The method of claim 10, further comprising one or more sensors within an indoor unit of the HVAC system, wherein the method further comprises: receiving, by the controller and from the one or more sensors, an indication that a water level within the indoor unit has reached a threshold water level.
18. The method of claim 17, wherein the one or more sensors comprise at least one of: a float sensor, an optical sensor, or a precipitation sensor.
19. A non-transitory computer-readable medium storing computer-executable instructions, that when executed by one or more processors, cause the one or more processors to: receive an indication of an amount of current being used by one or more water pumps within an HVAC system; determine, based on the amount of current being used, an amount of water being pumped by the one or more water pumps; and perform an action based on the amount of water being pumped.
20. The non-transitory computer-readable medium of claim 19, wherein the action comprises at least one of: providing an alert or ceasing operation of the one or more water pumps.
21. A heating, ventilation, and air conditioning (HVAC) system comprising: an indoor unit including an indoor coil; an outdoor unit including an outdoor coil; one or more water pumps; and a controller configured to, at least one of, cause the one or more water pumps to pump water from the indoor unit to the outdoor coil or cause the one or more water pumps to pump water from the outdoor unit to the indoor coil.
22. The HVAC system of claim 21, wherein the one or more water pumps comprise a first water pump configured to pump water from the indoor unit to the outdoor coil and a second water pump configured to pump water from the outdoor unit to the indoor coil.
23. The HVAC system of claim 21, further comprising one or more sensors within the indoor unit, wherein the controller is further configured to: receive, from the one or more sensors, an indication that a water level within the indoor unit has reached a threshold water level, wherein cause the one or more water pumps to pump water from the indoor unit to the outdoor coil is based on the indication that the water level has reached the threshold water level.
24. The HVAC system of claim 23, wherein the one or more sensors comprise at least one of: a float sensor, an optical sensor, or a precipitation sensor.
25. The HVAC system of claim 21, further comprising one or more sensors within the outdoor unit, wherein the controller is further configured to: receive, from the one or more sensors, an indication that a water level within the outdoor unit has reached a threshold water level, wherein cause the one or more water pumps to pump water from the outdoor unit to the indoor coil is based on the indication that the water level has reached the threshold water level.
26. The HVAC system of claim 21, wherein the water is pumped to one or more spray nozzles, and wherein the one or more spray nozzles expel the water onto the indoor coil or the outdoor coil.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022] The detailed description is set forth with reference to the accompanying drawings. The drawings are provided for purposes of illustration only and merely depict example embodiments of the disclosure. The drawings are provided to facilitate understanding of the disclosure and shall not be deemed to limit the breadth, scope, or applicability of the disclosure. The use of the same reference numerals indicates similar but not necessarily the same or identical components; different reference numerals may be used to identify similar components as well. Various embodiments may utilize elements or components other than those illustrated in the drawings, and some elements and/or components may not be present in various embodiments. The use of singular terminology to describe a component or element may, depending on the context, encompass a plural number of such components or elements and vice versa.
DETAILED DESCRIPTION
[0023] This disclosure relates to, among other things, systems and methods for determining water pump status using current consumption. In some HVAC systems, one or more water pumps may be provided to transfer water produced, or collected, within indoor and/or outdoor portions of the HVAC system. For example, condensate may be produced by an indoor coil during a cooling operation of the HVAC system, which may lead to water buildup within the indoor portion. A water pump may be provided within the HVAC system that pumps the water from the indoor portion to an outdoor coil located in the outdoor portion. Likewise, water buildup may occur within the outdoor portion as part of a defrost operation during a heating mode during which frost buildup on the outdoor coil is melted. Another water pump may be used to transfer this water buildup from the outdoor portion to the indoor coil. The water pumps may therefore serve the dual purpose of removing water buildup from a portion of the HVAC system and repurposing such water to improve heat transfer of the coils within the HVAC system. Reference is made herein to window units (an example of which is illustrated in
[0024] Within such systems, it may be desirable for the HVAC system to automatically monitor the status of the one or more water pumps to determine if the one or more water pumps are properly pumping the water from the indoor portion to the outdoor coil and/or from the outdoor portion to the indoor coil. For example, in some instances, one of the water pumps (or both of the water pumps) may be pumping a mixture of air and water or may not be pumping any water at all. If the water pump is not properly operating, water buildup may occur within the indoor portion or the outdoor portion, which has the potential to damage or otherwise impact the operation of the components of the HVAC system.
[0025] To monitor the status of the one or more water pumps, the system and methods described herein may, periodically or in real-time, measure the current consumption of the one or more water pumps. The current consumption of a water pump may provide an indication as to the amount of water that the water pump is currently pumping. In some embodiments, the system may store pre-determined ranges of current values and may compare the measured current consumption of the water pump with the pre-determined ranges to determine the amount of water that the water pump is pumping. For example, when a discharge side is not blocked, and a water pump is pumping only air, the current consumption may be within a range of 20 to 30 mA. When the water pump is pumping approximately 50% water and 50% air, the water pump may consume 40 to 60 mA. When the water pump is pumping only water, the water pump may consume 80 to 90 mA. On the discharge side, when the water pump outlet of the water pump is blocked, the current consumption may rise to over 180 mA.
[0026] These ranges of current values are not intended to be limiting but are provided merely to illustrate exemplary ranges of values and any other ranges and number of ranges may also be used. These ranges may depend on the specific type of water pump, the configuration of the HVAC system, and/or any other number of factors. Additionally, in some instances, single current value thresholds may be used rather than ranges of values. For example, the system may determine that the water pump is pumping only air if the current consumption falls below 30 mA, rather than determining if the current consumption falls within a range of 20 mA to 30 mA.
[0027] In some embodiments, data from other sensors may also be used in combination with the current consumption data. For example, one or more sensors may be provided in the indoor and/or outdoor portions of the HVAC system. The one or more sensors may capture data that is indicative of water levels within the indoor portion and/or the outdoor portion. For example, one or more float switches may be provided at the base pans of the indoor portion and/or outdoor portion. The one or more float switches may be provided at various heights within the indoor portion and/or the outdoor portion and may provide an indication of when the water level reaches these particular heights. This water level data may also provide information about the operation of the water pumps. For example, if a water pump is instructed to pump water from an indoor portion but the water level remains the same or continues to rise, then this may be an indication that the water pump is not properly functioning. The use of the sensors may also serve as a redundancy for the current consumption data. While reference is made to the use of float switches, any other types of sensors may also be used as well, such as optical sensors, etc. (additional examples of types of sensors are described below).
[0028] Based on the current consumption data, the data obtained from the sensors, and/or any other types of data, the HVAC system may automatically take various appropriate actions. For example, if it is determined that a water pump is not operating properly, the HVAC system may automatically cease operation to prevent further water buildup, which may otherwise result in damage to components of the HVAC system and/or other undesirable impacts, such as leaks into indoor spaces. As another example, the HVAC system may produce an error code or other type of alert to indicate to a user that the water pump is not properly operating. The error code (or other types of alert) may be displayed via a user interface of the HVAC system and/or may be presented to a user device (for example, a smartphone, etc.) or other type of device (as a further non-limiting example, the device may be a thermostat). The error code may provide an indication to the user to check, clean, and/or replace components of the HVAC system, such as the water filter, water pump(s), pressure relief valve, the water lines, etc. The error code (or other types of alert) may also be provided (e.g., auditory, visual, etc.) in any other form and to any other type of system or device.
[0029] These systems and methods described herein improve the efficiency of the HVAC systems by only using the water pumps when necessary to transfer water, which may minimize power consumption and may extend the operable life of the water pumps or other system components. The systems and methods also provide for the most efficient water pump operation by detecting if the pump is pumping only air, a mix of air and water, or only water using the current consumed by the pump. While some conventional systems may use sensors and timing intervals to monitor the operation the water pumps, the use of these sensors and timing intervals alone may still result in inefficient operation of the water pumps.
[0030] Turning to the figures which illustrate non-limiting examples of the disclosed systems and methods,
[0031] In some embodiments, the indoor portion 102 may include an indoor coil 108, a network transceiver 110, a user interface 114, a water purifier 116, an outdoor water filter 118, one or more water pumps (e.g., a first water pump 120 and a second water pump 122), one or more sensors (such as sensor 124 and sensor 126), and a controller 152. Other components may also be provided in the indoor portion 102.
[0032] The indoor coil 108 and the outdoor coil 128 function as heat exchangers. In a cooling mode of the HVAC system 100 (for example, when the HVAC system 100 is used to cool the environment in which the indoor portion 102 is provided), the indoor coil 108 of the HVAC system 100 may serve as an evaporator coil. The indoor coil 108 may hold refrigerant and remove both heat and humidity from the air in the indoor environment (for example, the environment in which the indoor portion 102 is located). The outdoor coil 128 may serve as a condensing coil. After the indoor coil 108 condenses humidity from the inside air, the heat is stored in the refrigerant located in the indoor coil 108. This refrigerant is transferred to the outdoor coil 128. When the outdoor coil 128 receives the refrigerant, the heat is released into the external environment (for example, the outdoor environment in which the outdoor portion 104 is provided).
[0033] The network transceiver 110 may be used to transmit and/or receive data to any systems, devices, etc. located remotely from the HVAC system 100. For example, the network transceiver 110 may perform wireless or wired communications with a user device (for example, user device 1102, etc.), another HVAC system, a remote server (for example, remote server 1114, etc.), etc. For example, if an alert may be transmitted to a user device (or other type of device) when the controller 152 determines that a water pump is not properly functioning.
[0034] The controller 152 (which may be the same as controller 1108 or any other controller described herein or otherwise) may perform any of the operations described herein with respect to the HVAC system 100 (or any other HVAC system), such as measuring the current consumption of a water pump, comparing the current consumption to one or more ranges of current values, causing an alert to be transmitting, causing operations of the HVAC system 100 to cease or be otherwise modified. Further details about the controller 152 are provided with respect to controller 1108 of
[0035] A schematic of a circuit 170 used to measure the current of a water pump (for example, first water pump 120 and second water pump 122) is shown in
[0036] The user interface 114 may present information to a user. For example, the user interface 114 may present an alert when it is determined that a water pump is not properly functioning as described herein, other status information pertaining to the HVAC system 100, as well as any other types of information. The user interface 114 may also be configured to receive inputs from a user, such as a temperature setting and/or any other control instructions that may be provided by the user. For example, the user interface 114 may be a touchscreen display, but may also be provided in any other suitable form as well (for example, the user interface 114 may include physical buttons that a user may process to provide inputs to the HVAC system 100). The user interface 114 may be in communication with the controller 152 to provide information about inputs received from a user to the controller 152, display information received from the controller 152, etc.
[0037] The one or more water pumps (for example, first water pump 120 and second water pump 122) may be used to transfer water produced within the indoor portion 102 and/or outdoor portion 104 of the HVAC system 100. For example, during a cooling mode of the HVAC system 100, condensate produced by the indoor coil 108 may accumulate in an indoor drain pan 107 of the indoor portion 102 (the indoor drain pan 107 is also shown in
[0038] This accumulated water may be transferred from one portion of the HVAC system 100 to another portion of the HVAC system 100 to provide for improved heat transfer within the HVAC system 100. The improved heat transfer may result from evaporating the water onto the outdoor coil 128 and/or indoor coil 108. Improved heat transfer may also be accomplished by pumping the water to a sump loop. In some instances, the first water pump 120 may be dedicated to pumping water from the indoor portion 102 to the outdoor coil 128 and the second water pump 122 may be dedicated to pumping water from the outdoor portion 104 to the indoor coil 108. Particularly, the water pumped from the indoor portion 102 may be the condensate produced by the indoor coil 108 within the indoor portion 102 and the water pumped from the outdoor portion 104 may be the melted defrost water from the outdoor coil 128. However, other configurations, including any other number of water pumps, are possible.
[0039] Additional data about the amount of water accumulation may also be obtained from the one or more sensors (such as sensor 124 and sensor 126). For example, the first sensor 124 and the second sensor 126 may be float switches that are provided at, or in, the base pans of the indoor portion 102 and/or outdoor portion 104. The first sensor 124 and the second sensor 126 may be provided at various heights within the indoor portion 102 and/or the outdoor portion 104 and may provide an indication of when the water level reaches these particular heights. Further details about the sensors are provided with respect to at least
[0040] The water filter 118 may be used to filter the water to be substantially free of particulates or other materials such that the water pump(s) are protected. The water purifier 118 may be used to purify the water to remove any contaminants. For example, the water purifier 118 may be an ultraviolet (UV)-C light emitting diode (LED) or any other type of purifier. In scenarios where microbial films form on stagnant water, the water purifier 118, water pumps, and water filter 116 may be used to reduce or eliminate microorganisms and prevent clogging of the water transfer elements of the HVAC system 100.
[0041] In some embodiments, the outdoor portion 104 may include an outdoor coil 128, an outdoor motor 130, and an outdoor fan 132 (which may include a slinger ring 133), a high pressure switch 140, a low pressure switch 141, a reversing valve 142, a compressor 143, and an electronic expansion valve (EEV) 146.
[0042] The outdoor motor 130 may drive the outdoor fan 132. The outdoor fan 132 is used to facilitate heat exchange between surrounding air and refrigerant flowing through the outdoor coil 128. That is, as refrigerant flows through the outdoor coil 128, the outdoor motor 130 drives the outdoor fan 132, which blows air over the outdoor coil 128 to exchange heat (e.g., heat or cool) with the external environment. The outdoor fan 132 may also include a slinger ring 133. When the outdoor motor 130 drives the outdoor fan 132 and the outdoor fan 132 begins rotating, the outdoor fan 132 may come into contact with water that is accumulated within a base pan of the outdoor portion 104 of the HVAC system 100. As the outdoor fan 132 rotates, the slinger ring 133 may cause the accumulated water to be thrown from the base pan and against the outdoor coil 128. The flow of refrigerant may be controlled by the reversing valve 142 and the EEV 146.
[0043] The high pressure switch 140 monitors pressure on a discharge side of the compressor 143. If the pressure surpasses a first threshold pressure value, the high pressure switch 140 opens to prevent the compressor 143 from being powered. The low pressure switch 141 provides the opposite functionality of the high pressure switch 140 and opens to prevent the compressor 143 from being powered if the pressure falls below a second threshold pressure value. If the pressure is too low, then there may be insufficient lubricant return to protect the components of the compressor 143.
[0044]
[0045] Beginning with
[0046] Turning to
[0047] In some embodiments, a coarse filter 256 provided at the outdoor portion 104 may be used to catch larger debris and prevent such debris from being transported through the water lines (which may cause blockage in the water lines). Additionally, a fine filter 258 may be provided at the indoor portion 102, which may be used to protect components within the indoor portion 102, such as the second water pump 122, the purifier 116, etc. The water received at the indoor portion 102 may then be pumped back to the outdoor portion 104 using the first water pump 120. Compressor heat and insulated tubing may be used to prevent water from freezing and to ensure that warm water is expelled from the fine spray nozzles 208 onto the outdoor coil 128 in this defrost operation.
[0048]
[0049]
[0050] When the second sensor 606 indicates that the water in the indoor drain pan 300 is at the height associated with the second sensor 606, the HVAC system 100 may signal the indoor condensate pump to turn on and pump water onto the top of the outdoor coil. If the float switch does not drop (e.g., open) or the current consumption of the water pump is low, an alert and/or instructions may be presented via the user interface 114 of the HVAC system 100 and/or may be transmitted to any other device.
[0051]
[0052] In some embodiments, the first sensor 604 may be provided 3/16 below the height of the spill-over notches 602 to reduce the likelihood that the water builds up to the height of the spill-over notches 602 and serves as another layer of protection against water overflow and damage to electronic components. In embodiments, the second sensor 606 may be provided at a height that is 3/16 to lower than the first sensor 604. However, these sensors may be provided at any other height. Additionally, any other number of sensors may be used. Finally, while reference is made to the use of float switches, any other types of sensors may also be used (further examples are described with respect to
[0053]
[0054] Turning to
[0055]
[0056] Water that is produced, or collected, within the indoor portion 802 and/or the outdoor portion 808 may naturally transition to a low point within the HVAC system 800 by operation of gravity (for example, into a base pan 814 of the HVAC system 800, which may be the same as, for example, indoor base pan 300). The single water pump 810 and filter 812 may be used to transfer the cool water onto the top of the hot outdoor coil 810 in the cooling mode and transfer warm water onto the top of the frosted outdoor coil 810 during the defrost operation in the heating mode.
[0057]
[0058] The flow diagram 900 begins with operation 902, which involves measuring the current consumption of a water pump. For example, the controller may be in electrical communication with the water pump. As the water pump draws current from an energy source (such as a utility energy source to which the HVAC system is connected, a battery, etc.), the current draw may be determined by the controller (for example, using the circuit 170 shown in
[0059] Once the current consumption of the water pump is determined, the determined current value may be compared to various pre-determined ranges or values of current values. That is, a particular type of water pump may normally exhibit current consumption values that fall within specific ranges of current values depending on the operation of the water pump. For example, the water pump may typically consume a first amount of current when the water pump is pumping at or close to 100% water, a second amount of current when the water pump is experiencing a blockage and is not pumping any water or is pumping less than a threshold amount of water, a third amount of current when the water pump is pumping a mixture of air and water (e.g., 50% air, 50% water), and a fourth amount of current when the water pump is pumping at or close to 100% air. These pre-determined ranges of current values may vary depending on the specific type or model of water pump.
[0060] Additionally, while the flow diagram 900 illustrates a specific number of current value ranges including specific current values, these ranges and specific values included within the ranges are not intended to be limiting and are merely presented for illustrative purposes. For example, in some instances, only two or three (or any other number) ranges of current values may be used.
[0061] At condition 904, the measured current value may be compared to a first range of current values. In the particular example shown in
[0062] However, if condition 904 is not met, then the flow diagram 900 may continue to condition 906 and the measured current value may be compared to a second range of current values. In the particular example shown in
[0063] If condition 906 is also not met, then the flow diagram 900 may continue to condition 908 and the measured current value may be compared to a third range of current values. In the particular example shown in
[0064] If condition 908 is also not met, then the flow diagram 900 may continue to condition 910 and the measured current value may be compared to a third range of current values. In the particular example shown in
[0065] While the flow diagram 900 only illustrates that the current consumption of a water pump is compared to ranges of current values to determine actions to take with respect to the HVAC system, the controller may also consider other factors, such as a rate of change of the current consumption of a water pump. For example, a water pump may currently only be consuming 60 mA of current; however, the current consumption may be increasing at such a rate that the current consumption may rise above 180 mA within a given period of time. Thus, in some instances, even if the current consumption does not currently fall within a particular range of current values, the controller may predict that the current may eventually reach the range of current values based on the rate of change of the current. In this manner, the controller may cause an action to be taken that is otherwise normally associated with the current consumption being within a particular range of current values even if the current consumption is not currently within that particular range.
[0066] Further, the operations shown in flow diagram 900 are merely intended to illustrate examples of actions that may be taken based on the comparison of a current measurement of a water pump to one or more ranges of current values. These specific actions are not intended to be limiting and any other actions may also be taken. As one example, a notification may not necessarily be provided if the current measurement falls within the second range of values.
[0067]
[0068] The flow diagram 920 begins with condition 922, which involves determining if there is a demand for operation of a water pump (for example, if the controller determines that the water pump should be used to pump water from an indoor portion of the HVAC system to the outdoor coil or from the outdoor portion of the HVAC system to the indoor coil). If condition 922 is met, then the flow diagram 920 proceeds to operation 924 and the pump is activated to begin pumping water. Operation 926 involves determining the amount of current that is being consumed by the water pump (for example, in accordance with the logic shown in
[0069] Following operation 926, condition 928 involves determining, based on the current consumption, if the pump is causing water flow (that is, the pump is causing water to be pumped). Condition 928 may also involve determining if the pump has been activated for less than a threshold period of time (the figure shows 30 seconds, however, this is merely exemplary). If condition 928 is not met, then the flow diagram proceeds to condition 934. Condition 934 involves determining if a plugged outlet is detected (that is, if it is determined that the outlet on the discharge side of the water pump is blocked). If condition 934 is not met, then the flow diagram 920 proceeds back to operation 924 and the pump is run. If condition 934 is met, then the flow diagram 920 proceeds to operation 936 and a pump impeded error is flagged (which may indicate that there is a blockage impeding operation of the pump). That is, during the pump operation, if the current sensing circuit detects that the discharge side of the pump is blocked, the controller disengages operation of the pump and an error is flagged to a user. Operation 936 is followed by operation 938, which involves waiting a period of time. Once this period of time has elapsed, operation 940 involves activating the pump.
[0070] If condition 928 is met, then the flow diagram 920 proceeds to condition 930, which involves determining if the pump has been running for more than a threshold period of time. If condition 930 is met, then operation 932 involves flagging an error that the pump has exceeded the threshold amount of time. Operation 932 is then follows by operation 938. If condition 930 is not met, the flow diagram 920 again proceeds to condition 934.
[0071] Turning to
[0072]
[0073] Flow diagram 960 begins with condition 962, which involves determining if float switch 2 has been engaged for a threshold period of time (the figure shows 10 seconds, however, this is merely exemplary). If condition 962 is met, then the flow diagram 960 proceeds to operation 964 and an error is flagged by the HVAC system. Following operation 946, operation 966 involves disabling the compressor of the HVAC system to prevent cooling operation.
[0074] If condition 962 is not met, then the flow diagram 960 proceeds to condition 968, which involves determining if an error has been flagged. If condition 968 is met, the flow diagram 960 proceeds to condition 970. If condition 968 is not met, the flow diagram 960 ends. Condition 970 involves determining if float switch 1 is engaged. If condition 970 is met, then the flow diagram 960 ends. If condition 970 is not met, then at operation 970 the error is cleared. At operation 974, the compressor is again enabled to enable a cooling operation by the HVAC system.
[0075]
[0076] The flow diagram 1300 begins with condition 1302 which involves determining that the temperature of the outdoor coil (for example, outdoor coil 128 or any other outdoor coil described herein) fails to satisfy a first temperature threshold. Failing to satisfy a temperature threshold may either refer to the temperature being less than or less than or equal to the threshold (based on the configuration of the system). For example, the first temperature threshold may be 28 degrees Fahrenheit (however, other temperature values may also be used for the first temperature threshold). If condition 1302 is met, then operation 1304 involves initiating a defrost mode. In one or more embodiments, the defrost mode may involve performing one or more actions, such as disabling the outdoor fan (for example, outdoor fan 132 or any other outdoor fan described herein), turning on a crankcase heater, turning on the reversing valve (for example, reversing valve 142 or any other reversing valve described herein), and/or turning on the indoor fan (for example, at 400 rpm, however, other fan speeds may also be used). The crank case heater may be a clamp electrical resistance heater installed around the bottom of the compressor. The crank case heater may provide heat to the compressor lubricant, before turning the compressor on when cold outside to ensure proper lubrication of the compressor internal moving parts. These operations shown as being performed as a part of the defrost mode of operation 1304 are merely exemplary and not intended to be limiting in any way. The defrost mode may also involve other actions being performed using any other components.
[0077] Once the defrost mode is initiated, at operation 1306 the system may wait a period of time (
[0078] Continuing with operation 1310, the first water pump (e.g., a pump that pumps defrost water from an outdoor section into an indoor section of a unit, such as second water pump 122 described above, for example) is activated. After the first water pump is activated, operation 1312 involves waiting for a period of time (for example,
[0079] If it is determined in condition 1314 that air is being pumped, then an alarm is produced at operation 1316 and the first water pump is turned off at operation 1318. The system waits another period of time (
[0080] If, however, at condition 1314 it is determined that water is being pumped, then operation 1322 involves waiting a period of time for the clean reservoir to fill (
[0081] If, however, at condition 1328 that water is being pumped, then operation 1334 involves starting a timing defrost cycle. Following operation 1334, condition 1336 involves determining if the low refrigerant pressure switch (for example, low pressure switch 141 or any other low pressure switch described herein) is active. If condition 1336 is met, then at operation 1338, an alarm is produced. At operation 1340, the EEV (for example, EEV 146 or any other EEV described herein) is slowly opened to increase the pressure. At condition 1342 it is again determined if the low pressure switch is active. If condition 1342 is met, then the flow diagram 1300 loops back to operation 1340. If condition 1342 is not met, then the flow diagram 1300 proceeds to condition 1344. The flow diagram 1300 also proceeds to condition 1344 if condition 1336 is not met.
[0082] At condition 1344, it is determined if the temperature of the outdoor coil satisfies a third threshold temperature. In the example shown in
[0083] If condition 1344 is not met, then condition 1350 involves determining if the total defrost time satisfies a threshold period of time. If condition 1350 is met, then the flow diagram 1300 proceeds to operation 1346 and exits the defrost mode. If condition 1350 is not met, then the flow diagram 1300 proceeds to condition 1352 which involves determining if the second water pump is still pumping water. If condition 1352 is met, then operation 1354 involves waiting for a period of time (
[0084] The defrost mode logic shown in
[0085] In this approach, the system may monitor the outdoor air temperature range and the time the unit dwells within said range and compare to the outdoor coil temperature. Based on bin hour data for different geographic regions, the dew point can be estimated from the typical dry bulb and corresponding wet bulb temperatures. The closer the wet bulb is to the dry bulb, the more humid the air will be and vice versa. Generally, dry-bulb temperature is the standard air temperature measured by a regular thermometer, while wet-bulb temperature is measured using a thermometer with a wet cloth around its bulb. At higher air temperatures, the air can hold more moisture and at colder air temperatures the air holds less moisture. For instance, at an outdoor air temperature of 47 F., the air has the potential to contain more water vapor than at 25 F., and much more water vapor than at 5 F., and so on. At 47 F., even if the coil temperature is below the dewpoint, the coil is not likely to frost because the coil is above freezing (32 F.). At 25 F., if the coil temperature is below the dewpoint, the coil may frost since the coil is below freezing (32 F.). The same would be the case at 5 F., however, because the number of grains of water per pound of air is much less, frost formation and accumulation will take substantially longer.
[0086] In one or more embodiments, logic (for example, implemented by the controller, as mentioned above) can determine at what temperature delta between the outdoor air and outdoor coil the system is likely below the dew point and below freezing to begin generating frost. The system can estimate the amount of moisture in the air based on the outdoor temperature and estimate the number of grains per pound mass of air. At commanded fan speeds, the system can estimate the cubic feet per minute that the air is moving through the outdoor coil. The volume of water can be estimated and compared to the open-air volume of the coil. Once a designated volume of the coil is likely frosted, the defrost may be activated. If no defrost occurs when the coil is below a designated outdoor coil temp for designated amount of time, a defrost may be activated to ensure the coil does not frost to the point that heating performance is substantially decreased.
[0087]
[0088] At block 1002, the method 1000 may include receiving, by a controller (for example, controller 1108, etc.) of a heating, ventilation, and air conditioning (HVAC) system (for example, HVAC system 100, HVAC system 800, HVAC system 1106, etc.), an indication of an amount of current being used by one or more water pumps (for example, water pump 120, water pump 122, water pump 1110, etc.) within the HVAC system.
[0089] At block 1004, the method 1000 may include determining, by the controller and based on the amount of current being used, an amount of water being pumped by the one or more water pumps. The current consumption of a water pump may provide an indication as to the amount of water that the water pump is currently pumping. In embodiments, the system may store pre-determined ranges of current values and may compare the measured current consumption of the water pump with the pre-determined ranges to determine the amount of water that the water pump is pumping. For example when a discharge side is not blocked, and a water pump is pumping only air, the current consumption may be within a range of 20 to 30 mA. When the water pump is pumping roughly 50% water and 50% air, the water pump may consume 40 to 60 mA. When the water pump is pumping only, the water pump may consume 80 to 90 mA. On the discharge side, when the water pump outlet of the water pump is blocked, the current consumption may rise to over 180 mA. These ranges of current values are not intended to be limiting but are provided merely to illustrate exemplary ranges of values, any other ranges may also be used.
[0090] At block 1006, the method 1000 may include performing, by the controller, an action based on the amount of water being pumped. For example, if it is determined that a water pump is not operating properly, the HVAC system may automatically cease operation to prevent damage and/or other undesirable impacts. The HVAC system may also control operation of other various types of HVAC components in any manner. As another example, the HVAC system may produce an error code or other type of alert to indicate to a user that the water pump is not properly operating. Any other types of suitable actions may also be taken.
[0091]
[0092] The HVAC system 1106 may include any number of different types of HVAC system that may be included within an environment (for example, an air conditioner, furnace, etc.). As one non-limiting example, the HVAC system 1106 may be the HVAC system 100 shown in
[0093] The HVAC system 1106 may include a controller 1108 that is configured to perform any of the operations described herein. For example, the controller 1108 may receive and process data, such as current consumption data for the water pump(s) 1110, data received from the sensors 1110. The controller 1108 may also transmit instructions to various components of the HVAC system 1106 (or other elements of the system 1100 or otherwise) to control operation of such components, such as instructing a water pump 1110 to turn on or off, etc. The controller 1108 may also automatically take one or more actions based on any of the data that is received. For example, the controller 11100 may cease operation of one or more components of the HVAC system 1106, such as the water pump(s) 1110 and/or any other components. The controller 1110 may also generate an alert to present to the user 1103. Any reference to an HVAC system providing an instruction for a component to perform an action or perform any other functionality may refer to the controller 1108 performing such actions.
[0094] The HVAC system 1106 may also include water pump(s) 1110 (which may be the same as water pump 120, water pump 122, and/or any other water pump described herein or otherwise) That is, one water pump 1110 may be used to pump water from an indoor portion of the HVAC system 1106 to an outdoor coil of the HVAC system 1106. Another water pump 1110 may be used to pump water from an outdoor portion of the HVAC system 1106 to an indoor coil of the HVAC system 1106. However, any other number of water pumps may also be used.
[0095] The sensor(s) 1112 may include any type of sensor that may be used to provide an indication of a water level within the HVAC system 1106 at any given time. For example, the sensors 1112 may include the sensor 124 and/or the sensor 126 shown in
[0096] Data received from the sensor(s) 1112 may be used in combination with the current readings received from the water pump(s) 810 to determine information about the operation of the water pump(s) 810. That is, the sensor(s) 1112 may also be used as redundancies to verify the determinations made by the controller(s) 808 based on the current readings from the water pump(s) 810. In some instances, only current consumption data or only data from the sensor(s) 1112 may be used by the HVAC system 1106 to take action (that is, the HVAC system 1106 does not necessarily require both sources of data to take a corresponding action). The water level data from the sensor(s) 1112 is beneficial because it may be desired to maintain the water in the HVAC system 1106 to below a particular threshold water level to mitigate or prevent damage to components within the HVAC system 1106 (or for other purposes).
[0097] Additionally, in some instances, multiple of such sensor(s) 1112 may be provided at various heights within the HVAC system 1106 to indicate when the water level reaches various threshold heights. For example, as shown in
[0098] The user device 1102 may be any type of device, such as a smartphone, desktop computer, laptop computer, tablet, smart television (for example, a television with Internet connectivity, the capability to install applications, etc.), thermostat, and/or any other type of device. The user device 1102 may allow a user 1103 to interact with any of the other elements of the system 1100, such as the HVAC system 1106, for example. To facilitate these interactions, the user device 1102 may include an application 1104. The application 1104 may display a user interface to the user 1103 through the user device 1102. The application 1104 may allow the user 1103 to view information about the status of the HVAC system 1106. For example, the application 1104 may indicate whether the HVAC system 1106 is currently on or off, a temperature setting of the HVAC system 1106, a status of the water pump(s) 1110 or other components of the HVAC system 1106 (including any alerts generated based on the status of the water pump(s) 1110), and/or any other types of information. The application 1104 may also allow the user 1103 control functions of the HVAC system 1106, such as turning on and/or off the HVAC system 1106, adjusting a temperature setting associated with the HVAC system 1106, and/or any other functionality.
[0099] In some embodiments, the remote server 1114 may be used to perform some of the processing described herein. For example, the remote server 1114 may be configured to analyze current readings from the water pump(s) 1110 and/or information from the sensor(s) 1112 to determine if an action needs to be taken). However, some or all of this processing may also be performed locally at the HVAC system 1106 and/or the user device 1102 as well. That is, the remoter server 1114 may be optional and may not be used in all instances.
[0100] Any of the elements of the system 1100, such as the one or more mobile device(s) 1102, the one or more HVAC system(s) 1106 (including one or more controller(s) 1108, one or more water pump(s) 1110, and/or one or more sensor(s) 1112), and/or the one or more remote server(s) 1114, may communicate via a communications network 1120. The communications network 1120 may include, but are not limited to, any one of a combination of different types of suitable communications networks such as, for example, broadcasting networks, cable networks, public networks (e.g., the Internet), private networks, wireless networks, cellular networks, or any other suitable private and/or public networks. Additional details about example communications networks may be described with respect to
[0101] Further, any of the elements of the system 1100, such as the one or more mobile device(s) 1102, the one or more HVAC system(s) 1106 (including one or more controller(s) 1108, one or more water pump(s) 1110, and/or one or more sensor(s) 1112), and/or the one or more remote server(s) 1114 may include any of the components of the computing device(s) 1200 described with respect to
[0102]
[0103] The computing device(s) 1200 may be configured to communicate via one or more networks. Such network(s) may include, but are not limited to, any one or more different types of communications networks such as, for example, cable networks, public networks (e.g., the Internet), private networks (e.g., frame-relay networks), wireless networks, cellular networks, telephone networks (e.g., a public switched telephone network), or any other suitable private or public packet-switched or circuit-switched networks. Further, such network(s) may have any suitable communication range associated therewith and may include, for example, global networks (e.g., the Internet), metropolitan area networks (MANs), wide area networks (WANs), local area networks (LANs), or personal area networks (PANs). In addition, such network(s) may include communication links and associated networking devices (e.g., link-layer switches, routers, etc.) for transmitting network traffic over any suitable type of medium including, but not limited to, coaxial cable, twisted-pair wire (e.g., twisted-pair copper wire), optical fiber, a hybrid fiber-coaxial (HFC) medium, a microwave medium, a radio frequency communication medium, a satellite communication medium, or any combination thereof.
[0104] In an illustrative configuration, the computing device(s) 1200 may include one or more processors (processor(s)) 1202, one or more memory devices 1204 (generically referred to herein as memory 1204), one or more input/output (I/O) interfaces 1206, one or more network interfaces 1208, one or more sensors or sensor interfaces 1210, one or more transceivers 1212, one or more optional speakers 1214, one or more optional microphones 1216, and data storage 1220. The computing device(s) 1200 may further include one or more buses 1218 that functionally couple various components of the computing device(s) 1200. The computing device(s) 1200 may further include one or more antenna (e) 1234 that may include, without limitation, a cellular antenna for transmitting or receiving signals to/from a cellular network infrastructure, an antenna for transmitting or receiving Wi-Fi signals to/from an access point (AP), a Global Navigation Satellite System (GNSS) antenna for receiving GNSS signals from a GNSS satellite, a Bluetooth antenna for transmitting or receiving Bluetooth signals, a Near Field Communication (NFC) antenna for transmitting or receiving NFC signals, and so forth. These various components will be described in more detail hereinafter.
[0105] The bus(es) 1218 may include at least one of a system bus, a memory bus, an address bus, or a message bus, and may permit the exchange of information (e.g., data (including computer-executable code), signaling, etc.) between various components of the computing device(s) 1200. The bus(es) 1218 may include, without limitation, a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, and so forth. The bus(es) 1218 may be associated with any suitable bus architecture including, without limitation, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnect (PCI) architecture, a PCI-Express architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, and so forth.
[0106] The memory 1204 of the computing device(s) 1200 may include volatile memory (memory that maintains its state when supplied with power) such as random access memory (RAM) and/or non-volatile memory (memory that maintains its state even when not supplied with power) such as read-only memory (ROM), flash memory, ferroelectric RAM (FRAM), and so forth. Persistent data storage, as that term is used herein, may include non-volatile memory. In certain example embodiments, volatile memory may enable faster read/write access than non-volatile memory. However, in certain other example embodiments, certain types of non-volatile memory (e.g., FRAM) may enable faster read/write access than certain types of volatile memory.
[0107] In various implementations, the memory 1204 may include multiple different types of memory such as various types of static random access memory (SRAM), various types of dynamic random access memory (DRAM), various types of unalterable ROM, and/or writeable variants of ROM such as electrically erasable programmable read-only memory (EEPROM), flash memory, and so forth. The memory 1204 may include main memory as well as various forms of cache memory such as instruction cache(s), data cache(s), translation lookaside buffer(s) (TLBs), and so forth. Further, cache memory such as a data cache may be a multi-level cache organized as a hierarchy of one or more cache levels (L1, L2, etc.).
[0108] The data storage 1220 may include removable storage and/or non-removable storage, including, but not limited to, magnetic storage, optical disk storage, and/or tape storage. The data storage 1220 may provide non-volatile storage of computer-executable instructions and other data. The memory 1204 and the data storage 1220, removable and/or non-removable, are examples of computer-readable storage media (CRSM) as that term is used herein.
[0109] The data storage 1220 may store computer-executable code, instructions, or the like that may be loadable into the memory 1204 and executable by the processor(s) 1202 to cause the processor(s) 1202 to perform or initiate various operations. The data storage 1220 may additionally store data that may be copied to the memory 1204 for use by the processor(s) 1202 during the execution of the computer-executable instructions. Moreover, output data generated as a result of execution of the computer-executable instructions by the processor(s) 1202 may be stored initially in the memory 1204, and may ultimately be copied to the data storage 1220 for non-volatile storage.
[0110] More specifically, the data storage 1220 may store one or more operating systems (O/S) 1222; one or more database management systems (DBMSs) 1224; and one or more program module(s), applications, engines, computer-executable code, scripts, or the like such as, for example, one or more module(s) 1226. Some or all of these module(s) may be sub-module(s). Any of the components depicted as being stored in the data storage 1220 may include any combination of software, firmware, and/or hardware. The software and/or firmware may include computer-executable code, instructions, or the like that may be loaded into the memory 1204 for execution by one or more of the processor(s) 1202. Any of the components depicted as being stored in the data storage 1220 may support functionality described in reference to corresponding components named earlier in this disclosure.
[0111] The data storage 1220 may further store various types of data utilized by the components of the computing device(s) 1200. Any data stored in the data storage 1220 may be loaded into the memory 1204 for use by the processor(s) 1202 in executing computer-executable code. In addition, any data depicted as being stored in the data storage 1220 may potentially be stored in one or more datastore(s) and may be accessed via the DBMS 1224 and loaded in the memory 1204 for use by the processor(s) 1202 in executing computer-executable code. The datastore(s) may include, but are not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed datastores in which data is stored on more than one node of a computer network, peer-to-peer network datastores, or the like.
[0112] The processor(s) 1202 may be configured to access the memory 1204 and execute the computer-executable instructions loaded therein. For example, the processor(s) 1202 may be configured to execute the computer-executable instructions of the various program module(s), applications, engines, or the like of the computing device(s) 1200 to cause or facilitate various operations to be performed in accordance with one or more embodiments of the disclosure. The processor(s) 1202 may include any suitable processing unit capable of accepting data as input, processing the input data in accordance with stored computer-executable instructions, and generating output data. The processor(s) 1202 may include any type of suitable processing unit including, but not limited to, a central processing unit, a microprocessor, a reduced instruction set computer (RISC) microprocessor, a complex instruction set computer (CISC) microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a system-on-a-chip (SoC), a digital signal processor (DSP), and so forth. Further, the processor(s) 1202 may have any suitable microarchitecture design that includes any number of constituent components such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read/write operations to cache memory, branch predictors, or the like. The microarchitecture design of the processor(s) 1202 may be capable of supporting any of a variety of instruction sets.
[0113] Referring now to functionality supported by the various program module(s) depicted in
[0114] Referring now to other illustrative components depicted as being stored in the data storage 1220, the O/S 1222 may be loaded from the data storage 1220 into the memory 1204 and may provide an interface between other application software executing on the computing device(s) 1200 and the hardware resources of the computing device(s) 1200. More specifically, the O/S 1222 may include a set of computer-executable instructions for managing hardware resources of the computing device(s) 1200 and for providing common services to other application programs (e.g., managing memory allocation among various application programs). The O/S 1222 may include any operating system now known or which may be developed in the future, including, but not limited to, any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.
[0115] The DBMS 1224 may be loaded into the memory 1204 and may support functionality for accessing, retrieving, storing, and/or manipulating data stored in the memory 1204 and/or data stored in the data storage 1220. The DBMS 1224 may use any of a variety of database models (e.g., relational model, object model, etc.) and may support any of a variety of query languages. The DBMS 1224 may access data represented in one or more data schemas and stored in any suitable data repository including, but not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed datastores in which data is stored on more than one node of a computer network, peer-to-peer network datastores, or the like. In those example embodiments in which the computing device(s) 1200 is a mobile device, the DBMS 1224 may be any suitable lightweight DBMS optimized for performance on a mobile device.
[0116] Referring now to other illustrative components of the computing device(s) 1200, the I/O interface(s) 1206 may facilitate the receipt of input information by the computing device(s) 1200 from one or more I/O devices as well as the output of information from the computing device(s) 1200 to one or more I/O devices. The I/O devices may include any of a variety of components such as a display or display screen having a touch surface or touchscreen; an audio output device for producing sound, such as a speaker; an audio capture device, such as a microphone; an image and/or video capture device, such as a camera; a haptic unit; and so forth. Any of these components may be integrated into the computing device(s) 1200 or may be separate. The I/O devices may further include, for example, any number of peripheral devices such as data storage devices, printing devices, and so forth.
[0117] The I/O interface(s) 1206 may also include an interface for an external peripheral device connection such as a USB, FireWire, Thunderbolt, Ethernet port or other connection protocol that may connect to one or more networks. The I/O interface(s) 1206 may also include a connection to one or more of the antenna(e) 1234 to connect to one or more networks via a wireless local area network (WLAN) (such as Wi-Fi) radio, Bluetooth, ZigBee, and/or a wireless network radio, such as a radio capable of communication with a wireless communication network such as a Long Term Evolution (LTE) network, WiMAX network, 3G network, etc. I
[0118] The computing device(s) 1200 may further include one or more network interface(s) 1208 via which the computing device(s) 1200 may communicate with any of a variety of other systems, platforms, networks, devices, and so forth. The network interface(s) 1208 may enable communication, for example, with one or more wireless routers, one or more host servers, one or more web servers, and the like via one or more networks.
[0119] The antenna(e) 1234 may include any suitable type of antenna depending, for example, on the communications protocols used to transmit or receive signals via the antenna(e) 1234. Non-limiting examples of suitable antennae may include directional antennae, non-directional antennae, dipole antennae, folded dipole antennae, patch antennae, multiple-input multiple-output (MIMO) antennae, or the like. The antenna(e) 1234 may be communicatively coupled to one or more transceivers 1212 or radio components to which or from which signals may be transmitted or received.
[0120] The sensor(s)/sensor interface(s) 1210 may include or may be capable of interfacing with any suitable type of sensing device such as, for example, pressure sensors, cameras, etc.
[0121] It should be appreciated that the program module(s), applications, computer-executable instructions, code, or the like depicted in
[0122] It should further be appreciated that the computing device(s) 1200 may include alternate and/or additional hardware, software, or firmware components beyond those described or depicted without departing from the scope of the disclosure. More particularly, it should be appreciated that software, firmware, or hardware components depicted as forming part of the computing device(s) 1200 are merely illustrative and that some components may not be present or additional components may be provided in various embodiments. While various illustrative program module(s) have been depicted and described as software module(s) stored in the data storage 1220, it should be appreciated that functionality described as being supported by the program module(s) may be enabled by any combination of hardware, software, and/or firmware. It should further be appreciated that each of the above-mentioned module(s) may, in various embodiments, represent a logical partitioning of supported functionality. This logical partitioning is depicted for ease of explanation of the functionality and may not be representative of the structure of software, hardware, and/or firmware for implementing the functionality. Accordingly, it should be appreciated that functionality described as being provided by a particular module may, in various embodiments, be provided at least in part by one or more other module(s). Further, one or more depicted module(s) may not be present in certain embodiments, while in other embodiments, additional module(s) not depicted may be present and may support at least a portion of the described functionality and/or additional functionality. Moreover, while certain module(s) may be depicted and described as sub-module(s) of another module, in certain embodiments, such module(s) may be provided as independent module(s) or as sub-module(s) of other module(s).
[0123] One or more operations of the methods, process flows, and use cases of
[0124] Although specific embodiments of the disclosure have been described, one of ordinary skill in the art will recognize that numerous other modifications and alternative embodiments are within the scope of the disclosure. For example, any of the functionality and/or processing capabilities described with respect to a particular device or component may be performed by any other device or component. Further, while various illustrative implementations and architectures have been described in accordance with embodiments of the disclosure, one of ordinary skill in the art will appreciate that numerous other modifications to the illustrative implementations and architectures described herein are also within the scope of this disclosure.
[0125] Certain aspects of the disclosure are described above with reference to block and flow diagrams of systems, methods, apparatuses, and/or computer program products according to example embodiments. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and the flow diagrams, respectively, may be implemented by execution of computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented, or may not necessarily need to be performed at all, according to some embodiments. Further, additional components and/or operations beyond those depicted in blocks of the block and/or flow diagrams may be present in certain embodiments.
[0126] Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, may be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special-purpose hardware and computer instructions.
[0127] Program module(s), applications, or the like disclosed herein may include one or more software components, including, for example, software objects, methods, data structures, or the like. Each such software component may include computer-executable instructions that, responsive to execution, cause at least a portion of the functionality described herein (e.g., one or more operations of the illustrative methods described herein) to be performed.
[0128] A software component may be coded in any of a variety of programming languages. An illustrative programming language may be a lower-level programming language such as an assembly language associated with a particular hardware architecture and/or operating system platform. A software component comprising assembly language instructions may require conversion into executable machine code by an assembler prior to execution by the hardware architecture and/or platform.
[0129] Another example programming language may be a higher-level programming language that may be portable across multiple architectures. A software component comprising higher-level programming language instructions may require conversion to an intermediate representation by an interpreter or a compiler prior to execution.
[0130] Other examples of programming languages include, but are not limited to, a macro language, a shell or command language, a job control language, a script language, a database query or search language, or a report writing language. In one or more example embodiments, a software component comprising instructions in one of the foregoing examples of programming languages may be executed directly by an operating system or other software component without having to be first transformed into another form.
[0131] A software component may be stored as a file or other data storage construct. Software components of a similar type or functionally related may be stored together such as, for example, in a particular directory, folder, or library. Software components may be static (e.g., pre-established or fixed) or dynamic (e.g., created or modified at the time of execution).
[0132] Software components may invoke or be invoked by other software components through any of a wide variety of mechanisms. Invoked or invoking software components may comprise other custom-developed application software, operating system functionality (e.g., device drivers, data storage (e.g., file management) routines, other common routines, and services, etc.), or third-party software components (e.g., middleware, encryption, or other security software, database management software, file transfer or other network communication software, mathematical or statistical software, image processing software, and format translation software).
[0133] Software components associated with a particular solution or system may reside and be executed on a single platform or may be distributed across multiple platforms. The multiple platforms may be associated with more than one hardware vendor, underlying chip technology, or operating system. Furthermore, software components associated with a particular solution or system may be initially written in one or more programming languages, but may invoke software components written in another programming language.
[0134] Computer-executable program instructions may be loaded onto a special-purpose computer or other particular machine, a processor, or other programmable data processing apparatus to produce a particular machine, such that execution of the instructions on the computer, processor, or other programmable data processing apparatus causes one or more functions or operations specified in the flow diagrams to be performed. These computer program instructions may also be stored in a CRSM that upon execution may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement one or more functions or operations specified in the flow diagrams. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process.
[0135] Additional types of CRSM that may be present in any of the devices described herein may include, but are not limited to, programmable random access memory (PRAM), SRAM, DRAM, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the information and which can be accessed. Combinations of any of the above are also included within the scope of CRSM. Alternatively, computer-readable communication media (CRCM) may include computer-readable instructions, program module(s), or other data transmitted within a data signal, such as a carrier wave, or other transmission. However, as used herein, CRSM does not include CRCM.
[0136] Although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the embodiments. Conditional language, such as, among others, can, could, might, or may, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments could include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and/or steps are included or are to be performed in any particular embodiment.