Patent Description:
A number of devices can be utilized to control and/or manage an interior environment of a building (e.g., house, office building, etc.). In some examples, a thermostat can be utilized to monitor temperature within the building and control other devices such as a heating, ventilation, and air conditioning (HVAC) system. Thermostats can be utilized to monitor and store data relating to the environment within the building. In some examples, the thermostat can be connected to a network of devices (e.g., internet, etc.).

The thermostat within a building can generate a relatively large quantity of data that can require storage space and/or bandwidth to upload to a remote storage device. Increased storage space and/or increased bandwidth can be required when increasing the quantity of data to be monitored and/or a quantity of data to be generated. This data can be very valuable to monitor and store, but can also be relatively expensive with the increased storage capacity required to store the data.

<CIT> discloses an intelligent-thermostat-controlled environmental-conditioning system in which computational tasks and subcomponents with associated intelligent-thermostat functionalities are distributed to one or more of concealed and visible portions of one or more intelligent thermostats and, in certain implementations, to one or more intermediate boxes. The intelligent thermostats are interconnected to intermediate boxes by wired and/or wireless interfaces and intelligent thermostats intercommunicate with one another by wireless communications. Wireless communications include communications through a local router and an ISP, <NUM> and <NUM> wireless communications through a mobile service provider. Components of the intelligent-thermostat-controlled environmental-conditioning system may also be connected by wireless communications to remote computing facilities.

The present invention in its various aspects is as set out in the appended claims. Devices, methods, systems, and computer-readable media for model centric data storage are described herein. According to the invention a system for model centric storage is defined in claim <NUM>. The dependent claims define further advantageous embodiments.

The model centric data storage can be utilized to lower storage and/or bandwidth requirements of a system while providing thermal models of the building. The thermal models can be utilized to identify model parameters. The model parameters and/or thermal models can be stored instead of sensor data to lower storage and/or bandwidth requirements. For example, a plurality of sensors can be utilized to monitor an environment within a building.

The plurality of sensors can be utilized to monitor temperatures within the building and/or device activation within the building. In this example, the plurality of sensors can generate a relatively large quantity of data and a portion of the data can be extracted for generating a thermal model of the building. The model parameters from the thermal model can be extracted and stored in memory while the sensor data is discarded or deleted. The model parameters can be utilized to generate predicted sensor data and/or predicted environment data for the building.

In some examples, the model parameters can be utilized to regenerate the sensor data from the plurality of sensors, which can allow the system to discard or delete the sensor data. The model parameters can be stored with less memory space and/or be sent to a database with less bandwidth compared to the sensor data. The model parameters can utilize streaming data to generate predicted environment data within the building. For example, real time data can be utilized as inputs with the model parameters to predict environmental conditions within the building for a plurality of different time periods. In another example, the real time data can be utilized to predict when devices within the building will be activated and/or when devices within the building will be deactivated. For example, the real time data can be utilized to determine when an HVAC system will be activated or deactivated during a plurality of different time periods.

These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice one or more embodiments of this disclosure.

The proportion and the relative scale of the elements provided in the figures are intended to illustrate the embodiments of the present disclosure, and should not be taken in a limiting sense.

The figures herein follow a numbering convention in which the first digit corresponds to the drawing figure number and the remaining digits identify an element or component in the drawing. Similar elements or components between different figures may be identified by the use of similar remaining digits.

As used herein, "a" or "a number of" something can refer to one or more such things. For example, "a number of devices" can refer to one or more devices. Additionally, the designator "N", as used herein, particularly with respect to reference numerals in the drawings, indicates that a number of the particular feature so designated can be included with a number of embodiments of the present disclosure.

<FIG> is an example of a system <NUM> for model centric data storage consistent with the present disclosure. The system <NUM> can be utilized to generate models such as thermal response models for a building. For example, the system <NUM> can be utilized to generate a thermal response model for a house or office building. The thermal response models can be utilized to identify model parameters that can be utilized to predict environment conditions within the building and/or device activation or deactivation within the building. The system <NUM> can utilize the predictions to identify unsafe temperatures within the building, predict HVAC activation, predict HVAC deactivation, compare energy efficiency of similar buildings, recreate environmental conditions for a historical reference, and/or identify demand response devices to deactivate.

The system <NUM> can include building data <NUM>. The building data <NUM> can include sensor data corresponding to the building. The sensor data can include, but is not limited to: temperature sensor data from a thermostat, temperature sensor data from a sensor coupled to the thermostat, HVAC sensor data, moisture sensor data, and/or other state sensors corresponding to the environment within the building.

The building data <NUM> can be high frequency high resolution (HFHR) data. As used herein, HFHR data refers to time series data that updates at a relatively rapid frequency (e.g., updates each second, updates every fraction of a second, etc.). For example, the building data <NUM> can be collected by the plurality of sensors every second or every fraction of a second. In this example, the building data <NUM> can include temperature data within the building, state data of a thermostat, settings of a thermostat, settings of an HVAC system, activation of the HVAC system, and/or deactivation of the HVAC system. In some examples, the building data <NUM> can be relatively precise building data. For example, the building data can include precise temperature data that includes at least three significant figures (e.g., <NUM>°F) compared to less precise temperature data that includes two significant figures (e.g., <NUM>°F).

The building data <NUM> can include time stamps to identify the building data <NUM> with a particular time period. For example, the temperature data can include a time stamp to identify a time period when the temperature data was collected. In another example, the settings of the HVAC system can include a time stamp to identify a time period when the settings of the HVAC system were determined.

The time stamps can be utilized to organize the building data <NUM> for a particular time period. For example, the building data <NUM> can be collected for the time period of <NUM> days. In this example, the building data <NUM> that includes time stamps within the <NUM> day time period can be stored in data storage <NUM>. The time stamps can be utilized to correlate the building data <NUM> within the data storage <NUM> such that the building data <NUM> with different time stamps can be compared based on the time period of the building data <NUM>.

The system <NUM> can include weather data <NUM> and/or exterior environment data for the building. For example, the weather data <NUM> can include environment data outside the building. The environment outside the building can affect the environment within the building. For example, relatively colder temperatures outside the building can cause the environment inside the building to cool at a relatively faster pace.

The weather data <NUM> can include corresponding time stamps to identify a time when the weather data <NUM> was collected or determined. The time stamps can be utilized similarly to the time stamps corresponding to the building data <NUM>. For example, the weather data <NUM> can be organized based on the time stamps. In some examples, the weather data <NUM> can be stored in data storage <NUM>.

The data stored in data storage <NUM> and the data stored in data storage <NUM> can be utilized to generate a model at <NUM>. The model generated at <NUM> can be a thermal response model for the building that corresponds to the stored data within data storage <NUM> and stored data within data storage <NUM>. For example, data corresponding the inside of the building can be extracted from the data storage <NUM> for a particular time period (e.g., <NUM> month period, etc.). In this example, data corresponding to the outside of the building can be extracted from the data storage <NUM>.

The generated model at <NUM> can be a thermal response model of the building. In some examples, the thermal response model of the building can be a function of the weather data <NUM> for the building. That is, the thermal response model can represent temperature within the building over a time period with corresponding temperatures outside the building over the same time period. As described herein, the environment outside the building can affect the environment inside the building. Thus, the thermal response model can be a function of the environment outside the building affecting the environment inside the building over time.

The generated model at <NUM> can be a polynomial model such as auto-regressive exogenous (ARX) models. In some examples, the model at <NUM> can be generated based on a function of the weather data and an initial interior temperature of the building. In some examples, the model at <NUM> can utilize an outdoor temperature of the building to determine a predicted indoor temperature of the building. The model at <NUM> can include a steps ahead prediction (e.g., five steps ahead prediction model) that can utilize an actual indoor temperature within the building to predict "five future steps" instead of utilizing previously predicted indoor temperatures.

The generated model at <NUM> can be utilized to extract model parameters at <NUM>. The model parameters can be a function of the environment outside the building affecting the environment inside the building. The model parameters can be utilized to provide inputs that can be utilized to predict the environment inside the building and/or predict a state of devices inside the building for a time period based on weather data corresponding to the time period. For example, weather data can be input into the model parameters to generate a predictive model of the environment inside the building and/or generate a predictive model of the state of devices inside the building.

Predicting the environment inside the building can include predicting a temperature within the building based on providing inputs into the model parameters. Predicting the state of the devices inside the building can include predicting when a device is activated and/or predicting when a device is deactivated for a time period. In some examples, predicting the state of the devices inside the building can be utilized to determine demand response devices to deactivate and/or activate.

As described further herein, when the model parameters are extracted, the generated model at <NUM> can be discarded or deleted from the system <NUM>. In addition, the building data <NUM> and the weather data <NUM> can be utilized to generate the model at <NUM> and can be discarded or deleted from the system <NUM>. Thus, storage and/or bandwidth can be reduced by only storing the model parameters extracted at <NUM> compared to storing or transmitting the building data <NUM> and/or the weather data <NUM>. In some examples, the weather data <NUM> may not be stored in a database and may be obtained from a different source than the building data <NUM>. As described further herein, the model parameters can utilize streaming data to predict the environment inside the building. As used herein, streaming data can include data that is not stored and retrieved from memory.

<FIG> is an example of a system <NUM> for model centric data storage consistent with the present disclosure. The system <NUM> can represent a system that utilizes the model parameters <NUM> that are generated by a system <NUM> as referenced in <FIG>. The system <NUM> can utilize the model parameters <NUM> with streaming data to determine a predicted environment of a building without saving the streaming data or by only saving the model parameters <NUM>. This can reduce storage and/or bandwidth as described herein.

The system <NUM> can include building data <NUM>. As described herein, the building data <NUM> can include data relating to an environment within or inside a particular building. In some examples, the building data <NUM> can include real time data of temperature inside the building, real time data of activation or deactivation of devices inside the building, and/or other data relating to the building.

The system <NUM> can include storage data <NUM>. The storage data can include historical data relating to the building. In some examples, the storage data <NUM> can be historical building data that is the same or similar as the building data <NUM>. For example, the storage data <NUM> can be historical data relating to temperatures inside the building, activation or deactivation of devices inside the building, and/or other historical data relating to the building.

The system <NUM> can include weather data <NUM>. As described herein, the weather data can include environment data outside the building. The environment outside the building can affect the environment inside the building. The weather data <NUM> can include temperature data outside the building.

The system <NUM> can include generated model parameters <NUM>. The model parameters <NUM> can be generated as described herein in reference to <FIG>. As described herein, the model parameters <NUM> can be stored instead of storing data (e.g., building data <NUM>, weather data <NUM>, high frequency high resolution (HFHR data, etc.). The model parameters can be utilized by a predictor <NUM> to determine a predicted state of the environment <NUM> for the building (e.g., a predicted model, predicted air temperature, etc.).

The system <NUM> can include a predictor <NUM> that utilizes the model parameters <NUM> to determine a predicted state of the environment <NUM> utilizing streaming data. The streaming data can include weather data <NUM>, building data <NUM>, and/or storage data <NUM> that is utilized to determine a predicted state of the environment <NUM> and discarded upon determination of the predicted state of the environment <NUM>.

In some examples, the streaming data can be delta data. As used herein, delta data includes data representing a change from a previous data point. For example, delta data can include a data point where the previous data point was different. In another example, the delta data can include weather data <NUM> where a temperature outside the building changes from <NUM>° Fahrenheit (F) to <NUM>° F. In this example, the delta data from the weather data <NUM> can be utilized by the predictor <NUM>. In some examples, non-delta data may not be utilized by the predictor <NUM>. As used herein, non-delta data includes a data point where the previous data point is the same.

By utilizing only delta data the system <NUM> can reduce processing, storage, and/or bandwidth requirements of the predictor <NUM>. For example, relatively less data may be stored for utilization by the predictor <NUM> and relatively less bandwidth may be utilized when sending the delta data to the predictor <NUM>. In some examples, the predictor <NUM> can utilize delta weather data <NUM> and delta state data of devices inside the building.

The predictor <NUM> can predict a temperature inside the building (T_in(t)) at a particular time period based on the model parameters <NUM>. In some examples, the predictor <NUM> can utilize the weather data <NUM> to determine a temperature outside the building (T_oa) at a particular time to predict the temperature inside the building at the particular time. In some examples, the predictor <NUM> can utilize an initial temperature inside the building (T_initial) at a particular time to predict the temperature inside the building at the particular time. The predictor <NUM> can also utilize state data for devices inside the building at a particular time period to predict the temperature inside the building at the particular time period.

The predictor <NUM> can utilize the model parameters <NUM> to determine a predicted state of the environment <NUM> based on a combination of weather data <NUM> and building data <NUM>. For example, the predictor <NUM> can determine a predicted state of the environment <NUM> for a building based on a temperature outside the building and an activation state of an HVAC system of the building. In some examples, the predictor <NUM> can receive and/or utilize delta data. As described herein, delta data includes a data point that is altered from a previous data point.

In some examples, the predictor <NUM> can receive and/or utilize streaming data from the building data <NUM>, storage data <NUM>, and/or weather data <NUM>. As used herein, steaming data can include data that is received by the predictor <NUM> and discarded instead of stored. Utilizing streaming data instead of stored data can lower bandwidth of communication with the predictor <NUM> and/or lower storage requirements of the predictor <NUM>. In some examples, the streaming data can be utilized by the predictor <NUM> to determine delta data. For example, the predictor <NUM> can receive streaming data from the weather data <NUM> and/or the building data <NUM> to determine when there is a change in data points to identify the delta data. In these examples, the delta data can be utilized to determine a predicted state of the environment.

In some examples, the predictor <NUM> can utilize low-resolution data from the building data <NUM> and/or weather data <NUM>. As used herein, the low-resolution data can be estimated data or relatively less accurate data from a plurality of sensors. For example, high-resolution data can include a temperature data point of <NUM>° F. In this example, corresponding low-resolution data can be <NUM>° F.

The predicted state of the environment <NUM> generated by the predictor <NUM> can be a visual representation of predicted temperature data for the inside of a building over a time period. The predicted state of the environment <NUM> can also include a visual representation of a predicted state of devices inside the building. In some examples, the predicted state of devices can include a predicted activated state of the devices and/or a predicted deactivated state of the devices over a time period. The predicted state of the environment <NUM> can include a visual representation of energy efficiency of the building over a period of time.

The energy efficiency of the building can represent a change in temperature inside the building over time under a plurality of different conditions (e.g., temperature outside the building, activation duration of devices inside the building, etc.). The energy efficiency of the building can be utilized to identify areas of energy loss from inside the building. For example, the areas of energy loss can include, but are not limited to: windows, insulation defects, and/or extreme temperatures outside the building.

<FIG> is an example of a method <NUM> for model centric data storage consistent with the present disclosure. The method <NUM> can be executed by a computing device as described herein and/or implemented within a system as described herein. The method <NUM> can be utilized to determine a predicted state of an environment inside a building, an efficiency of the building, and/or device activation and deactivation over a time period.

At <NUM> the method <NUM> can include identifying model parameters for a building based on thermal data associated with the building. As described herein, a thermal model of a building can be generated utilizing stored data corresponding to the building. In some examples, the model parameters can be identified from the thermal model of the building. The model parameters can be utilized by a predictor to determine a predicted state of the environment as described herein.

At <NUM> the method <NUM> can include discarding the thermal data associated with the building. As described herein, the thermal data of the building, weather data corresponding to the building, and/or other data relating to the building can be utilized by the predictor and/or model parameters to determine a predicted state of the environment. In some examples, the thermal data associated with the building can be discarded or deleted when the thermal data is utilized by the predictor. The thermal data can be streaming data that is analyzed to determine delta data as described herein. The thermal data can be regenerated by the predictor and/or the model parameters in case the thermal data for a particular time period is to be utilized later.

As described herein, utilizing streaming thermal data can lower the cost of storing relatively large quantities of data and streaming thermal data can also lower bandwidth requirements. In some examples, the streaming thermal data can be discarded and identified delta thermal data can be utilized by the predictor.

At <NUM> the method <NUM> can include storing the model parameters for the building. As described herein, only the model parameters may be stored to reduce storage requirements of the system. The model parameters can be utilized to regenerate specific temperature data for a particular time period. This can allow the system to discard the thermal HFHR data until it is needed and then regenerate the thermal data.

At <NUM> the method <NUM> can include determining a predicted state of an environment of the building for a time period based on the model parameters. As described herein, a predictor can utilize the model parameters to determine a predicted state of an environment of the building (e.g., temperature within the building, etc.) and/or a predicted thermal model of the building for a plurality of different time periods. In some examples, the predictor can generate simulated thermal models for a building based on simulated data instead of real time data.

At <NUM> the method <NUM> can include generating an energy report for the building based on the predicted state of the environment, wherein the energy report includes a predicted temperature within the building and a predicted activation/deactivation state of devices within the building. The energy report can include an energy efficiency of the building over time.

In some examples, the method <NUM> can include regenerating the thermal data associated with the building for a time period utilizing the model parameters for the building. As described herein, the thermal data doesn't need to be stored by a system. For example, the thermal data can be regenerated utilizing the model parameters for the building.

In some examples, the method <NUM> can include predicting device activation and device deactivation for the devices within the building utilizing the model parameters for the building. As described herein, predicting device activation and/or device deactivation can include predicting when a device will be in an on state or when a device will be in an off state. For example, predicting device activation and device deactivation can include predicting when an HVAC unit for a building will be activated and predicting when the HVAC unit for the building will be deactivated. In this example, the HVAC unit can be a demand response device for a utility company and the predictions can be utilized to determine if or when the HVAC unit should be deactivated or provided lower resources.

In some examples, the method <NUM> can include predicting future indoor temperature of the building utilizing the model parameters for the building. As described herein, predicting future indoor temperature of the building can be utilized to determine when to activate or deactivate devices relating to the building. In some examples, the future indoor temperature can be utilized to determine a time to activate and/or a time to deactivate an HVAC unit.

The energy report can analyze efficiency degradation of the building over time and/or degradation of devices inside the building over time. For example, the energy report can be utilized to compare energy efficiency of a building for a first time period and a second time period. In this example, a HVAC system may start running for longer periods of time compared to previous predicted states of the environment, which can indicate that the HVAC system may be degrading or failing.

The energy report can also analyze efficiency degradation of insulation within the building. For example, the energy report can identify that the thermal model of the building indicates that there is relatively more heat loss compared to previous thermal models for the building. The energy report can be a visual representation of changes occurring in the thermal response of a building over time.

<FIG> is an example of a diagram of a computing device <NUM> for a dynamic temperature sensor consistent with one or more embodiments of the present disclosure. Computing device <NUM> can be, for example, an embedded system as described herein, among other types of computing devices. For example, the computing device <NUM> can be utilized to perform a method <NUM> as referenced in <FIG>.

In some examples, the computing device <NUM> can generate a thermal model for a building based on state data for an environment with the building and state data for heating and cooling devices within the building. The computing device <NUM> can determine a number of parameters for the thermal model based on a determined number of inputs for the thermal model.

The computing device <NUM> can discard the state data for the environment of the building and state data for the heating and cooling devices within the building. In certain embodiments, the computing device <NUM> can store the number of parameters.

The computing device <NUM> can also generate an energy report for the building that includes predicted state data for the environment and predicted state data for the heating and cooling devices within the building over a selected time period.

As shown in <FIG>, computing device <NUM> includes a memory <NUM> and a processor <NUM> coupled to user interface <NUM>. Memory <NUM> can be any type of storage medium that can be accessed by processor <NUM>, which performs various examples of the present disclosure. For example, memory <NUM> can be a non-transitory computer readable medium having computer readable instructions (e.g., computer program instructions) stored thereon.

Processor <NUM> executes instructions to provide a variable voltage to a sensor based on signals from the sensor in accordance with one or more embodiments of the present disclosure. Processor <NUM> can also determine when a signal from the sensor is below a first threshold. Processor <NUM> can also increase or decrease a voltage to the sensor.

Further, although memory <NUM>, processor <NUM> and user interface <NUM> are illustrated as being located in computing device <NUM>, embodiments of the present disclosure are not so limited. For example, memory <NUM> can also be located internal to another computing resource (e.g., enabling computer readable instructions to be downloaded over the Internet or another wired or wireless connection). Part of the memory can be storage in a cloud storage. Processor <NUM> can be a cloud computer.

As shown in <FIG>, computing device <NUM> can also include a user interface <NUM>. User interface <NUM> can include, for example, a display (e.g., a screen, an LED light, etc.). The display can be, for instance, a touch-screen (e.g., the display can include touch-screen capabilities). User interface <NUM> (e.g., the display of user interface <NUM>) can provide (e.g., display and/or present) information to a user of computing device <NUM>.

Additionally, computing device <NUM> can receive information from the user of computing device <NUM> through an interaction with the user via user interface <NUM>. For example, computing device <NUM> (e.g., the display of user interface <NUM>) can receive input from the user via user interface <NUM>. The user can enter the input into computing device <NUM> using, for instance, a mouse and/or keyboard associated with computing device <NUM>, or by touching the display of user interface <NUM> in embodiments in which the display includes touch-screen capabilities (e.g., embodiments in which the display is a touch screen).

As used herein, "logic" is an alternative or additional processing resource to execute the actions and/or functions, etc., described herein, which includes hardware (e.g., various forms of transistor logic, application specific integrated circuits (ASICs), etc.), field programmable gate arrays (FPGAs), as opposed to computer executable instructions (e.g., software, firmware, etc.) stored in memory and executable by a processor.

Therefore, the scope of various embodiments of the disclosure should be determined with reference to the appended claims.

In the foregoing Detailed Description, various features are grouped together in example embodiments illustrated in the figures for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the embodiments of the disclosure require more features than are expressly recited in each claim.

Claim 1:
A system for model centric data storage, comprising:
a computing device configured to:
extract environmental data (<NUM>) and weather data (<NUM>) within a first time period from a number of sensors utilized to determine state data for an environment within a building and state data for devices within the building;
generate a thermal response model (<NUM>) of the building based on the extracted data;
use the generated thermal response model (<NUM>) to extract one or more model parameters (<NUM>, <NUM>) that are adapted to predict the environment inside the building and/or predict a state of devices inside the building based on environmental and weather data from the number of sensors during a second time period subsequent to the first time period;
store the model parameters (<NUM>, <NUM>);
discard the generated thermal response model (<NUM>) data; and
determine a predicted state of the environment (<NUM>) within the building and a predicted state of the devices within the building for the second time using the extracted model parameters (<NUM>, <NUM>) and weather data (<NUM>), building data (<NUM>) and/or storage data (<NUM>) corresponding to the second time period.