POWER MANAGEMENT SYSTEM
20210247833 · 2021-08-12
Inventors
- Caleb Tristan Scalf (Boulder, CO, US)
- David Pierre Delcourt (Boulder, CO, US)
- Maxwell Michael Lewin (Broomfield, CO, US)
- Mark Richard Shamley (Broomfield, CO, US)
- Mark Nickolas Mietus (Boulder, CO, US)
Cpc classification
H02J13/00
ELECTRICITY
H02J2310/12
ELECTRICITY
Y02B90/20
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H02J2310/64
ELECTRICITY
Y04S20/222
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G06F1/3212
PHYSICS
Y04S40/126
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02B70/30
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02B70/3225
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H02J3/14
ELECTRICITY
Y04S20/242
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H02J13/00016
ELECTRICITY
G06Q10/04
PHYSICS
Y04S50/10
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H02J13/00004
ELECTRICITY
H02J13/00026
ELECTRICITY
Y04S40/124
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
G06F1/3212
PHYSICS
G06Q10/04
PHYSICS
H02J13/00
ELECTRICITY
H02J3/14
ELECTRICITY
Abstract
Methods, systems, and devices for managing a power system are described. A power management system may include multiple interconnected power supply and control units that plug directly into a standard residential power outlet. A power management system may include multiple interconnected power supply and control units that plug directly into a standard residential power outlet. Together, the interconnected power supply and control units may provide a distributed power backup system in the form of a home energy nano-grid. The power management system may provide backup power, power sharing, and device inter-connectivity while enabling efficient scalability and the robustness of a distributed system. The power management system may also include a power usage monitoring unit, which may gather data and use it to improve the efficiency of power usage throughout the home.
Claims
1. An apparatus, comprising: an uninterrupted power supply (UPS) unit configured to: electrically detachably couple to a separate electronic device; supply backup power to the separate electronic device based on power settings; and couple to and to receive power from a standard power outlet of a building; a power usage monitoring unit configured to: identify usage patterns of consumed power within the apparatus; and machine learn a configuration from the usage patterns; and an energy optimization unit operable to determine the power settings for supplying the backup power to the separate electronic device based on the configuration.
2. The apparatus of claim 1, wherein the energy optimization unit is configured to receive data from an external source via a communication unit operable to communicate over a computer network.
3. The apparatus of claim 2, wherein the data comprises one or more of time varying pricing data, tiered pricing data, power usage history, and user behavior data.
4. The apparatus of claim 3, wherein the configuration is further based one or more of on the time varying pricing data, the tiered pricing data, the power usage history, and the user behavior data.
5. The apparatus of claim 1, further comprising: a power output unit; and a power configuration unit operable to modify a power intake from the standard power outlet of the building and a power output of the power output unit based at least in part on one or more parameters of the power settings determined by the energy optimization unit.
6. The apparatus of claim 1, further comprising: a security configuration unit configurable for a plurality of modes based on a security configuration.
7. The apparatus of claim 6, further comprising: a behavioral learning unit configured to monitor the usage patterns and update the security configuration of the security configuration unit based on the usage patterns.
8. The apparatus of claim 7, wherein the plurality of modes includes an away mode, a present mode, a night mode, a daytime mode, or a pet mode.
9. A system, comprising: a plurality of power supply and control units in electronic communication with each other, the plurality of power supply and control units configured to selectively provide backup power to a plurality of appliances; a power usage monitoring unit configured to: identify usage patterns of power consumed by the plurality of appliances; and machine learn an energy usage configuration from the usage patterns; and an energy optimization unit operable to determine an energy storage and discharge schedule for each of the plurality of power supply and control units based on the energy usage configuration.
10. The system of claim 9, wherein: the energy optimization unit is configured to receive data from an external source via a communication unit operable to communicate over a computer network; the data comprises one or more of time varying pricing data, tiered pricing data, power usage history, and user behavior data; and the energy usage configuration is further based one or more of the time varying pricing data, the tiered pricing data, the power usage history, and the user behavior data.
11. The system of claim 9, wherein: each of the plurality of power supply and control units is connected to a power outlet, and is in electronic communication with the other power supply and control units via the power outlet.
12. The system of claim 9, wherein: each of the power supply and control units comprises a communication unit that is capable of communication with other power supply and control units.
13. The system of claim 9, wherein: the energy optimization unit is configurable according to a plurality of user preference modes, the plurality of user preference modes including a cost saving mode, a user comfort mode, a maximum power availability mode, or any combination thereof.
14. The system of claim 9, wherein: the energy optimization unit is configurable according to a plurality of user preference modes, the plurality of user preference modes including a cost saving mode, a user comfort mode, a maximum power availability mode, or any combination thereof.
15. A method comprising: identifying usage patterns of consumed power within an uninterrupted power supply (UPS) apparatus; machine learning a configuration from the usage patterns; determining power settings for supplying backup power to a separate electronic device based on the configuration; and selectively supplying the backup power from an uninterrupted power supply (UPS) unit to the separate electronic device based on the power settings.
16. The method of claim 15, further comprising: receiving data from an external source via a communication unit operable to communicate over a computer network, wherein: the data comprising one or more of time varying pricing data, tiered pricing data, power usage history, and user behavior data; and the configuration is further based one or more of on the time varying pricing data, the tiered pricing data, the power usage history, and the user behavior data.
17. The method of claim 15, further comprising: receiving power from a standard power outlet of a building; and modifying a power intake from the standard power outlet of the building and a power output to the separate electronic device based at least in part on one or more parameters of the power settings.
18. The method of claim 15, further comprising: configurable a security mode of a security configuration unit based on a security configuration.
19. The method of claim 18, wherein the security configuration unit is configurable for a plurality of modes including an away mode, a present mode, a night mode, a daytime mode, or a pet mode.
20. The method of claim 15, wherein selectively supplying the backup power includes prioritizing between alternating current (AC) power and direct current (DC) power based on the configuration.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0040]
[0041]
[0042]
DETAILED DESCRIPTION
[0043] A power management system may include multiple interconnected power supply and control units that plug directly into a standard residential power outlet. Together, the interconnected power supply and control units may provide a distributed power backup system in the form of a home energy nano-grid.
[0044] The in-power management system may provide backup power, power sharing, and device inter-connectivity while enabling efficient scalability and the robustness of a distributed system. The power management system may also include a power usage monitoring unit, which may gather data and use it to improve the efficiency of power usage throughout the home. For example, the data may enable a machine learning function to adapt to the behavior of residents occupying the home. In some cases, the data may be utilized by a cloud computing platform to achieve additional comfort, energy savings, and security benefits.
[0045] The power usage monitoring system may therefore identify usage patterns involving multiple power supply and control units. In some cases, the usage patterns may be used together with time variable pricing data to reduce energy costs. Energy may be stored and then discharged when the current price from the utility exceeds the cost paid for the energy at the time of storage. Thus, the power management system may function as a smart sub-storage energy market where electrical grid demand can be offset by stored energy discharge at certain periods during the day via external cloud connected inputs, or programmable code embedded in the devices.
[0046]
[0047] In some examples, HVAC 110 may include the following components: heating 115, ventilation 120, and air conditioning 125. HVAC 110 systems may have customizable schedules for heating 115 and air conditioning 125. In some examples, security system 140 may include one or more security components 145, such as security cameras, motion sensors, door or window sensors, or the like.
[0048]
[0049] A power management system 205 may include multiple interconnected power supply and control units 210 that plug directly into a standard residential power outlet. In some cases, the power management system 205 is in communication with a smart home device 225 such as those described above with reference to
[0050] Thus, the power management system 205 may provide backup power, power sharing, and device inter-connectivity while enabling efficient scalability and the robustness of a distributed system. The power management system 205 may also include a power usage monitoring unit 215, which may gather data and use it to improve the efficiency of power usage throughout the home. For example, the data may enable a machine learning function to adapt to the behavior of residents occupying the home. In some cases, the data may be utilized by a server (e.g., a local server or a cloud computing platform) to achieve additional comfort, energy savings, and security benefits.
[0051] The power usage monitoring system may identify usage patterns involving multiple power supply and control units 210. In some cases, the usage patterns may be used together with time variable pricing data to reduce energy costs. Energy may be stored and then discharged when the current price from the utility exceeds the cost paid for the energy at the time of storage.
[0052] Thus, the power management system 205 may function as a smart sub-storage energy market where electrical grid demand can be offset by stored energy discharge at certain periods during the day via external connected inputs, or programmable code embedded in the devices.
[0053] Power supply and control unit 210 may be an example of a plurality of components in electronic communication with each other. In some cases, each of the plurality of power supply and control units 210 is connected to a power outlet, and is in electronic communication with the other power supply and control units 210 via the power outlet. In some cases, the power outlet is a National Electrical Manufacturers Association (NEMA) 5-15 power outlet. In some cases, each of the power supply and control units 210 comprises a communication unit and is capable of wireless or wired communication with other power supply and control units 210. In some cases, the communication unit operates according to a Wi-fi protocol, a Zigbee protocol, a Bluetooth protocol, a Z-Wave protocol, an Insteon protocol, a thread protocol, an Apple Homekit protocol, or any combination thereof.
[0054] Power usage monitoring unit 215 may be an example of a component of uninterrupted power supply (UPS) system; be an example of a component of power management system 205; and monitor power usage data of a building using a plurality of UPS systems within the building. In some cases, the power usage monitoring unit 215 is collocated with a power supply and control unit 210.
[0055] Energy optimization unit 220 may be an example of a component of UPS system; be an example of a component of power management system 205; and identify a user preference mode from a plurality of user preference modes, the plurality of user preference modes including a cost saving mode, a user comfort mode, a maximum power availability mode, or any combination thereof, wherein the configuring is based on the user preference mode.
[0056] In some cases, the energy optimization unit 220 is collocated with a power supply and control unit 210. In some cases, the energy optimization unit 220 is configurable according to a plurality of user preference modes, the plurality of user preference modes including a cost saving mode, a user comfort mode, a maximum power availability mode, or any combination thereof.
[0057] In some cases, the smart home device 225 comprises an Amazon Alexa unit, an Amazon Echo unit, a Google Home unit, an Apple Homekit device, a Wink Hub device, a Logitech Harmony device, a Netgear Arlo device, a Nest device, an Ecobee device, a Philips lighting device, a refrigeration device, a home security device, or any combination thereof.
[0058]
[0059] In some examples, UPS system 305 may include the following components: housing 310, faceplate 315, indicator 320, multi-function button 325, motion sensing unit 330, lighting unit 335, communication unit 340, battery 345, battery management unit 350, analog circuit board 355, digital control board 360, microprocessor unit (MCU) 365, DC power output (not shown), AC power output 375, power plug 380, power supply 385, inverter 390, transformer 395, capacitors 397, and universal serial bus (USB) port 399.
[0060] Housing 310 may be an example of a component of UPS system 305. Faceplate 315 may be an example of a component of UPS system 305. Indicator 320 may be an example of the corresponding components of the same name described with reference to
[0061] Motion sensing unit 330 may be an example of a component of UPS system 305. Motion sensing unit 330 may be an example of the corresponding components of the same name described with reference to
[0062] Communication unit 340 may be an example of a component of UPS system 305; transmit the power usage data to a server or data storage unit; and receive an energy usage configuration based at least in part on transmitting the power usage data. Communication unit 340 may be an example of the corresponding components of the same name described with reference to
[0063] In some cases, the communication unit 340 comprises a wireless local area network (WLAN) radio. In some cases, the communication unit 340 is operable to communicate over a wireless network, a local area network, or both. In some cases, the communication unit 340 comprises a cloud communication unit.
[0064] Battery 345 may be an example of a component of UPS system 305. Battery 345 may be a device that stores and discharges energy through the controlled conversion of chemical energy to electric energy. Energy is stored by preventing the flow of electrons between chemical reactants with different electric potential. Energy is released when electrons are allowed to flow between a positive terminal (cathode) and a negative terminal (anode). When the terminals are connected, the compounds undergo chemical reactions that are known as oxidation and reduction. The chemical reactions may cause a flow of electrolytes and drive current through a circuit to power UPS system 305. Batteries may be classified by the type of electrochemical cells that contain the chemical reactants. Cell types include galvanic cells, electrolytic cells, fuel cells, flow cells, saltwater cells, molten salt cells, and voltaic piles. These cells may use a liquid electrolyte (wet cell) or a low-moisture paste (dry cell). Battery 345 may be either single-use (primary) and rechargeable (secondary).
[0065] Battery 345 may be an example of the corresponding components of the same name described with reference to
[0066] MCU 365 may be an example of a component of UPS system 305. MCU 365 may be an example of the corresponding components of the same name described with reference to
[0067] A DC power output may be an example of a component of UPS system 305. The DC power output may be an example of the corresponding components of the same name described with reference to
[0068] Power plug 380 may be an example of a component of UPS system 305. Power plug 380 may be an example of the corresponding components of the same name described with reference to
[0069] Power supply 385 may be an example of a component of UPS system 305. Power supply 385 may be an example of the corresponding components of the same name described with reference to
[0070]
[0071] Power supply 410 may be an example of a component of UPS system 405. Power supply 410 may be an example of the corresponding components of the same name described with reference to
[0072] AC power output 420 may be an example of a component of UPS system 405. AC power output 420 may be an example of the corresponding components of the same name described with reference to
[0073] MCU 430 may be an example of a component of UPS system 405. MCU 430 may be an example of the corresponding components of the same name described with reference to
[0074] Battery management unit 435 may be an example of a component of UPS system 405. Battery management unit 435 may be an example of the corresponding components of the same name described with reference to
[0075] Communication unit 445 may be an example of a component of UPS system 405; transmit the power usage data to a server or data storage unit; and receive an energy usage configuration based at least in part on transmitting the power usage data. Communication unit 445 may be an example of the corresponding components of the same name described with reference to
[0076] In some examples, communication unit 445 may include a transceiver. A transceiver may communicate bi-directionally, via antennas, wired, or wireless links as described above. For example, the transceiver may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver may also include or be connected to a modem to modulate the packets and provide the modulated packets to for transmission, and to demodulate received packets. In some examples, transceiver may be tuned to operate at specified frequencies. For example, a modem can configure the transceiver to operate at a specified frequency and power level based on the communication protocol used by modem.
[0077] Lighting unit 450 may be an example of a component of UPS system 405. Lighting unit 450 may be an example of the corresponding components of the same name described with reference to
[0078] Multi-function button 460 may be an example of the corresponding components of the same name described with reference to
[0079]
[0080] MCU 530 may be an example of a component of UPS system 505. MCU 530 may be an example of the corresponding components of the same name described with reference to
[0081] Battery management unit 535 may be an example of a component of UPS system 505. Battery management unit 535 may be an example of the corresponding components of the same name described with reference to
[0082] Communication unit 545 may be an example of a component of UPS system 505; transmit the power usage data to a server or data storage unit; and receive an energy usage configuration based at least in part on transmitting the power usage data. Communication unit 545 may be an example of the corresponding components of the same name described with reference to
[0083] Motion sensing unit 555 may be an example of a component of UPS system 505. Motion sensing unit 555 may be an example of the corresponding components of the same name described with reference to
[0084] Multi-function button 560 may be an example of the corresponding components of the same name described with reference to
[0085] Power receptacle 568 may be an example of a component of UPS system 505. In some cases, the power receptacle 568 comprises a NEMA 5-15 power receptacle 568. In some cases, the power receptacle 568 comprises a NEMA 5-15 power receptacle 568. Receptacle connector 569 may be an example of a component of UPS system 505. In some cases, the receptacle connector 569 comprises a NEMA certified connector. Electrical box 570 may be an example of a component of UPS system 505. In some cases, the electrical box 570 comprises an NEC article 314 compliant box. Electrical box 570 may enable UPS system 505 to be installed in a wall in place of a standard wall outlet.
[0086]
[0087] Power supply 610 may be an example of a component of UPS system 605. Power supply 610 may be an example of the corresponding components of the same name described with reference to
[0088] MCU 630 may be an example of a component of UPS system 605. MCU 630 may be an example of the corresponding components of the same name described with reference to
[0089] Battery management unit 635 may be an example of a component of UPS system 605. Battery management unit 635 may be an example of the corresponding components of the same name described with reference to
[0090] Communication unit 645 may be an example of a component of UPS system 605; transmit the power usage data to a server or data storage unit; and receive an energy usage configuration based at least in part on transmitting the power usage data. Communication unit 645 may be an example of the corresponding components of the same name described with reference to
[0091] Motion sensing unit 655 may be an example of a component of UPS system 605. Motion sensing unit 655 may be an example of the corresponding components of the same name described with reference to
[0092] Multi-function button 660 may be an example of the corresponding components of the same name described with reference to
[0093] Security configuration unit 660 may be an example of a component of UPS system 605. In some cases, the security configuration unit 660 is configurable for a plurality of modes including an away mode, a present mode, a night mode, a daytime mode, a pet mode or any combination thereof. In some cases, the away mode comprises a motion sensing alert function. In some cases, the night mode comprises an audible alarm function.
[0094] External motion sensing unit 666 may be an example of a component of UPS system 605 connected to security configuration unit 660. External security camera 670 may be an example of a component of UPS system 605 connected to security configuration unit 660. Security communications unit 690 may be an example of a component operable to communicate with an external security service connected to security configuration unit 660.
[0095] Surge protection unit 685 may be an example of a component of UPS system 605. In addition to surge protection unit 685, UPS system 605 may include a power loss protection unit, a brownout protection unit, or other power management units (not shown).
[0096]
[0097] At block 705 the system or apparatus may monitor power usage data of a building using a plurality of UPS systems within the building. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by a power usage monitoring unit as described with reference to
[0098] At block 710 the system or apparatus may transmit the power usage data to a server or data storage unit. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by a communication unit as described with reference to
[0099] At block 715 the system or apparatus may receive an energy usage configuration based at least in part on transmitting the power usage data. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by a communication unit as described with reference to
[0100] At block 720 the system or apparatus may configure at least one of the plurality of UPS systems based on the energy usage configuration. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by an energy optimization unit.
[0101]
[0102] At block 805 the system or apparatus may monitor power usage data of a building using a plurality of UPS systems within the building. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by a power usage monitoring unit as described with reference to
[0103] At block 810 the system or apparatus may transmit the power usage data to a server or data storage unit. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by a communication unit as described with reference to
[0104] At block 815 the system or apparatus may receive an energy usage configuration based at least in part on transmitting the power usage data. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by a communication unit as described with reference to
[0105] At block 820 the system or apparatus may identify a user preference mode from a plurality of user preference modes. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by an energy optimization unit as described with reference to
[0106] At block 825 the system or apparatus may configure at least one of the plurality of UPS systems based on the energy usage configuration and the user preference mode. The operations of this block may be performed according to the methods and processes described in the present disclosure. For example, the operations of this block may be composed of various substeps, or may be performed in conjunction with other operations described herein. In certain examples, aspects of the described operations may be performed by an energy optimization unit.
[0107]
[0108] At block 905 a manufacturing system may provide a UPS unit comprising a battery management system and battery.
[0109] At block 910 the manufacturing system may provide a microprocessor unit.
[0110] At block 915 the manufacturing system may provide a communication unit operable to communicate over a wireless network, a local area network, or both.
[0111] At block 920 the manufacturing system may provide a power usage monitoring unit.
[0112] At block 925 the manufacturing system may provide an energy optimization unit operable to determine power settings based on data received from an external source.
[0113] The description and drawings described herein represent example configurations and do not represent all the implementations within the scope of the claims. For example, the operations and steps may be rearranged, combined or otherwise modified. Also, structures and devices may be represented in the form of block diagrams to represent the relationship between components and avoid obscuring the described concepts. Similar components or features may have the same name but may have different reference numbers corresponding to different figures.
[0114] Some modifications to the disclosure may be readily apparent to those skilled in the art, and the principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not limited to the examples and designs described herein, but is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.
[0115] The described methods may be implemented or performed by devices that include a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof. A general-purpose processor may be a microprocessor, a conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a digital signal processor (DSP) and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration). Thus, the functions described herein may be implemented in hardware or software and may be executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored in the form of instructions or code on a computer-readable medium.
[0116] Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of code or data. A non-transitory storage medium may be any available medium that can be accessed by a computer. For example, non-transitory computer-readable media can comprise Random Access Memory (RAM), Read-only Memory (ROM), electrically erasable programmable read only memory (EEPROM), compact disk (CD) ROM or other optical disk storage, magnetic disk storage, or any other non-transitory medium for carrying or storing data or code.
[0117] Also, connecting components may be properly termed computer-readable media. For example, if code or data is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, or microwave signals, then the coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology are included in the definition of medium. Combinations of media are also included within the scope of computer-readable media.
[0118] In this disclosure and the following claims, the word “or” indicates an inclusive list such that, for example, the list of X, Y, or Z means X or Y or Z or XY or XZ or YZ or XYZ. Also the phrase “based on” is not used to represent a closed set of conditions. For example, a step that is described as “based on condition A” may be based on both condition A and condition B. In other words, the phrase “based on” shall be construed to mean “based at least in part on.”