HOME HEATING SERVER

Abstract
A server computer may be located at a home or business and may be used for heating the home or business. The server computer may operate a distributed cloud based application and may generate heat in response to application load. The server computer may have an air or water based heat exchanger that may integrate into various heating, ventilation, and air conditioning systems to use the heat generated by the server. In some embodiments, a thermostat may regulate the application load on the server computer as controlled by a cloud based controller.
Description
BACKGROUND

Energy consumption in datacenters is an ever growing issue. Datacenters often house many thousands of computers and generate a very large amount of heat, most of which may be managed through large cooling systems. Thus, a datacenter often uses electricity to generate heat, and then uses even more electricity to dissipate the same heat.


SUMMARY

A server computer may be located at a home or business and may be used for heating the home or business. The server computer may operate a distributed cloud based application and may generate heat in response to application load. The server computer may have an air or water based heat exchanger that may integrate into various heating, ventilation, and air conditioning systems to use the heat generated by the server. In some embodiments, a thermostat may regulate the application load on the server computer as controlled by a cloud based controller.


This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.





BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings,



FIG. 1 is a diagram illustration of an embodiment showing a system for operating a distributed cloud application.



FIG. 2 is a diagram illustration of an example embodiment showing a domestic heating system with a computer heat source.



FIG. 3 is a flowchart illustration of an embodiment showing a method for deploying and operating a distributed cloud application.





DETAILED DESCRIPTION

A home or business may have a server computer with a heat exchanger configured to provide heat to a structure. The server computer may execute a distributed cloud application and may be controlled in part to generate heat through demand on the distributed cloud application. In one embodiment, a thermostat in the home or residence may be used by a cloud application controller to increase or decrease computational demand on the server computer to produce more or less heat.


The server computer may execute a distributed application and may be controlled by a cloud based controller. The distributed application may be any type of large scale application that may or may not be regulated to control demand on the application.


The server computer may have a heat exchange mechanism and associated connections into a building's heating, ventilation, and air conditioning (HVAC) system. In some embodiments, the heat exchange may use air or liquid as a heat transfer medium. An embodiment with air heat exchange may use ducting and various valves to control heat exchange and to route the heat into the building.


Throughout this specification, like reference numbers signify the same elements throughout the description of the figures.


When elements are referred to as being “connected” or “coupled,” the elements can be directly connected or coupled together or one or more intervening elements may also be present. In contrast, when elements are referred to as being “directly connected” or “directly coupled,” there are no intervening elements present.


The subject matter may be embodied as devices, systems, methods, and/or computer program products. Accordingly, some or all of the subject matter may be embodied in hardware and/or in software (including firmware, resident software, micro-code, state machines, gate arrays, etc.) Furthermore, the subject matter may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodiedin the medium for use by or in connection with an instruction execution system. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.


The computer-usable or computer-readable medium may be for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media.


Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (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 desired information and maybe accessed by an instruction execution system. Note that the computer-usable or computer-readable medium can be paper or other suitable medium upon which the program is printed, as the program can be electronically captured via, for instance, optical scanning of the paper or other suitable medium, then compiled, interpreted, of otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.


Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” can be defined as a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above-mentioned should also be included within the scope of computer-readable media.


When the subject matter is embodied in the general context of computer-executable instructions, the embodiment may comprise program modules, executed by one or more systems, computers, or other devices. Generally, program modules include routines, programs, objects, components, data structures, and the like, that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.



FIG. 1 is a diagram of an embodiment 100, showing an environment for operating a distributed cloud application and providing heating into homes or residences. Embodiment 100 is a simplified example of a computer environment that may have server computers integrated into a heating, ventilation, and air conditioning system for a building.


The diagram of FIG. 1 illustrates functional components of a system. In some cases, the component may be a hardware component, a software component, or a combination of hardware and software. Some of the components may be application level software, while other components may be operating system level components. In some cases, the connection of one component to another may be a close connection where two or more components are operating on a single hardware platform. In other cases, the connections may be made over network connections spanning long distances. Each embodiment may use different hardware, software, and interconnection architectures to achieve the described functions.


Embodiment 100 illustrates an example of a heating system that may incorporate a computer, where the computer may act as a furnace to generate heat for use in a building. The computer may execute a distributed cloud application and may be controlled from a cloud application controller to increase or decrease the heat generated. The cloud application controller may increase or decrease the computing payload of the computer in response to a thermostat or other temperature measurement system within the building.


The distributed cloud application may be an application that may be distributed to many different computers, each of which may perform a small portion of the overall workload. In one example, a distributed cloud application may be a search engine, where each computer may be capable of searching a small portion of a database that may be locally or remotely accessible. In another example, a distributed cloud application may be a massively parallel processing application, such as a finite element analysis or computational fluid dynamics application, where each computer may perform a small portion of the analysis. Some distributed cloud applications may use message passing interfaces or other schemes for communicating with other nodes within the application.


Embodiment 100 illustrates a computing device 102 that may be located within a premise 140. The device 102 is illustrated having hardware components 104 and software components 106. The device 102 as illustrated represents a conventional computing device, although other embodiments may have different configurations, architectures, or components.


In many embodiments, the device 102 may be a server computer that may be designed with a heat transfer mechanism 118 that may transfer heat generated by the device 102 to a heating ventilation and air conditioning system for the premise.


The hardware components 104 may include a processor 108, random access memory 110, and nonvolatile storage 112. The hardware components 104 may also include a user interface 114 and network interface 116. The processor 108 may be made up of several processors or processor cores in some embodiments. The random access memory 110 may be memory that may be readily accessible to and addressable by the processor 108. The nonvolatile storage 112 may be storage that persists after the device 102 is shut down. The nonvolatile storage 112 may be any type of storage device, including hard disk, solid state memory devices, magnetic tape, optical storage, or other type of storage. The nonvolatile storage 112 may be read only or read/write capable.


The user interface 114 may be any type of hardware capable of displaying output and receiving input from a user. In many cases, the output display may be a graphical display monitor, although output devices may include lights and other visual output, audio output, kinetic actuator output, as well as other output devices. Conventional input devices may include keyboards and pointing devices such as a mouse, stylus, trackball, or other pointing device. Other input devices may include various sensors, including biometric input devices, audio and video input devices, and other sensors. In some embodiments, a device 102 may not have hardware user interface, but may be accessible from another device over a network.


The network interface 116 may be any type of connection to another computer. In many embodiments, the network interface 116 may be a wired Ethernet connection. Other embodiments may include wired or wireless connections over various communication protocols.


The heat transfer mechanism 118 may be a device to transfer heat from the hardware platform 104 to a heating ventilation and air conditioning system. The heat transfer mechanism 118 may use various types of thermal media, such as air or liquid coolant, and may incorporate one or more heat exchangers.


In some embodiments, the heat transfer mechanism 118 may integrate into the ductwork of a forced air ventilation system. In other embodiments, the heat transfer mechanism 118 may integrate into a radiant floor heating system, baseboard heating system, or any other type of heating system. In some embodiments, the heat transfer mechanism 118 may integrate into a domestic hot water system and may preheat or heat domestic hot water.


In some embodiments, a single premise may have many computing devices each with a heat transfer mechanism to generate enough heat for a building. In some cases, two, three, four, or even ten or one hundred or more devices may be used to heat a single facility.


The software components 106 may include an operating system 120 on which various applications and services may operate. An operating system may provide an abstraction layer between executing routines and the hardware components 104, and may include various routines and functions that communicate directly with various hardware components.


The software components 106 may include one or more virtual machines 122 on which a guest operating system 124, application host 126, and distributed cloud application 128 may execute. A virtual machine 122 may be a software simulation of hardware components and may isolate the guest operating system 124 and associated applications from other virtual machines and other processes that may be executing on the hardware platform 104.


The virtual machines 122 may allow a cloud application administrator to manage a cloud application by downloading the entire virtual machine 122 to the device 102 from a network location, or by copying or moving the virtual machine 122 to another device within the same premise or another premise.


Some embodiments may not use a virtual machine 122 and may have the distributed cloud application 128 operating on a host operating system.


The application host 126 may be an administrative application, service, or process through which the virtual machine 122 and the distributed cloud application 128 may be managed. The application host 126 may allow a remote administrator to configure and control the virtual machine 122 and the distributed cloud application 128, among other functions.


The distributed cloud application 128 may be an application that may be designed for operating in the environment of embodiment 100. In a conventional residence or business, the power reliability may not be high, and the computer hardware may or may not be as reliable as servers found in a datacenter, for example. As such, the computational reliability of the device 102 may not be very high and the distributed cloud application 128 may be distributed onto duplicate or redundant premises.


In some embodiments, the distributed cloud application 128 may be a portion of a much larger application. The distributed cloud application 128 may have a subset of the entire executable code for the application and may not be able to perform all of the functions of the application. In some embodiments, the distributed cloud application 128 may have the full executable code, but may only process a subset of the data for the overall application.


The virtual machine 122 may have some storage 125 which may contain data accessed by the distributed cloud application 128. In one example, the distributed cloud application 128 may be a distributed database application and may process queries against a portion of a larger database, where the portion may be stored in the storage 125.


The device 102 may include a building system controller 130 that may have various inputs, including thermostat or thermometer sensors 132. The building system controller 130 may also be able to control various heating ventilation and air conditioning components 134. In some embodiments, the building system controller 130 may be a whole building controller that may control lighting, refrigeration, audio/video, and other systems within a building.


In some embodiments, the computing device 102 may provide computing services for access within a premise or local area network. In such embodiments, a set of local applications 136 and local storage 138 may be accessed by users within the premise 140.


The computing device 102 may be connected to a network 142, which may be the Internet, a wide area network, or some other network. In a typical embodiment, many different premises 144 may have a computing device 146 that may be integrated into the home heating system 148.


A controller 150 may be a remote device that may manage, monitor, and control the distributed cloud applications in the various premises. In some embodiments, a single distributed cloud application may be executed on many thousands or even hundreds of thousands of computing devices.


The controller 150 may have a hardware platform 152 on which a controller application 154 may execute. The controller application 154 may transmit some or all of a distributed cloud application 156 to the various premises and cause the distributed cloud application 156 to execute.



FIG. 2 is a diagram illustration of an embodiment 200 showing a schematic illustration of a domestic heating system that may use a computing device as a heat source.


Embodiment 200 is a simplified example of a forced air heating system for a building. Other embodiments may have different configurations, different components, and different characteristics. Embodiment 200 is presented merely as one example of a heating system that may incorporate a computing device as a heating element.


An outdoor air supply 202 may supply air to the building. The outdoor air may pass through a filter 204 and into a mixing valve 206. The mixing valve 206 may be a variable valve that may mix the outdoor air supply 202 with air from a cold air return 218.


After the mixing valve 206, air may pass through another filter 208 and a preheater 210, then pass through a computing device heater 212. In a simple embodiment, the computing device heater 212 may have ductwork that may pass cold air over the computing devices. In such an embodiment, a preheater 210 may be used to preheat air so that the computing devices are not shock-cooled and areoperated within their normal operating temperatures.


In another example, the computing devices may have a liquid cooling system that may extract heat from one or more components in the computing device and the heated liquid may be passed through a heat exchanger, which may be represented by the computing device heater 212. In such an embodiment, the computing devices may be located outside the building's heating airflow path.


After passing through the computing device heater 212, the air may pass through another mixing valve 214 which may be configurable to direct the heated air to a vent to atmosphere 216 or to the hot air supply 224 for the building.


Some embodiments may have a secondary heater 220 and a valve 222 which may be used to feed the preheater 210 or to operate as a secondary or auxiliary heat source for the premise. The secondary heater 220 may be a solar heat, propane, natural gas, fuel oil, electric, or some other type of heating source.



FIG. 3 is a flowchart illustration of an embodiment 300 showing a method for operating a distributed cloud application. The process of embodiment 300 may be performed by a distributed application controller and may manage and operate distributed cloud applications at various premises.


Other embodiments may use different sequencing, additional or fewer steps, and different nomenclature or terminology to accomplish similar functions. In some embodiments, various operations or set of operations may be performed in parallel with other operations, either in a synchronous or asynchronous manner. The steps selected here were chosen to illustrate some principles of operations in a simplified form.


Embodiment 300 illustrates a simplified example of a method for managing a distributed cloud application.


In block 302, a distributed cloud application may be received. The computing devices that may execute the distributed cloud application may be identified in block 304.


For each computing device in block 306, the application host may be loaded in block 308 onto the computing device and may be configured in block 310. In block 312, the distributed cloud application may be loaded onto the computing device and may begin operation in block 314.


In some embodiments, the application host may cause the distributed cloud application to be downloaded to the computing device and begin operation in blocks 312 and 314.


After configuring all of the computing devices in block 306, the application may begin operation.


In block 316, workloads for the computing devices may be received. In block 318, heating calls may be received from the premises. The heating calls may indicate a heat demand on the computing device. When more heat is demanded at the premises, a higher number of workloads may be passed to the computing devices on the premises. The higher the workload, the more heat may be generated by the computing device and thereby the heat of the premise may be regulated.


The distribution of the workloads may be determined in block 320 and the workloads may be transmitted to the computing devices on the premises in block 324. The process may return to block 316 to process additional workloads.


The operations of embodiment 300 from blocks 316 through 324 may operate as a load balancing system for transferring incoming workloads to the various computing devices. As part of the load balancing criteria, the heat demands of a building may be considered. Computing devices within buildings with high heat demand may be assigned more workload than computing devices within other buildings with little or no heat demand.


In some cases, computing devices in buildings with little or no heat demands may still be assigned workloads, but the building's heating system may be configured to vent any excess heat to atmosphere.


In many embodiments, a cloud application controller may manage the various computers executing the distributed cloud application by detecting failures of an instance of the application. In one example, the controller may assign two or more separate computers the same workload. The results from the different computers may be compared to determine if the results are the same. If the results are not the same, the controller may determine which result is correct and may identify one or more faulty computers. If the results are the same, the results may be assumed to be correct, and the results may be passed to a requestor.


The cloud application controller may detect failures and cause some corrective action to be taken. In some cases, the controller may dispatch a maintenance technician to make a visit to the premises where a faulty computer may be. In some cases, the controller may determine which parts of the computer may be replaced and send those parts to the premises for a user to replace. In some cases, the controller may contact the local user and request that the local user perform some diagnosis or maintenance. For example, the controller may transmit an email to a local user instructing the user to perform a hard power cycle of the computer.


In many embodiments, the distributed cloud application may be specifically designed for distributed applications. Some such applications may be delay tolerant, where the response time of the computers may be much longer than conventional datacenter computers. In many cases, multiple copies of the application and workloads may be distributed across multiple computers on multiple premises.


Examples of various distributed cloud applications may be scientific computing applications, offline data analysis and data mining applications, business intelligence gathering applications, index building for search systems, backup applications, graphics and video rendering, verification and synthesis for complex designs such as circuit analysis, or for many other applications.


The foregoing description of the subject matter has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the subject matter to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. The embodiment was chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments except insofar as limited by the prior art.

Claims
  • 1. A system comprising: a computing device having a heat transfer mechanism that transfers heat from said computing device to a building heating system on a premise;said computing device executing a distributed cloud application that is controlled by a controller located off said premise;said controller that further controls said distributed cloud application by adjusting a workload of said distributed cloud application in response to a heat request from a heat demand from said building heating system.
  • 2. The system of claim 1, said heat transfer mechanism using air as a heat transfer medium.
  • 3. The system of claim 2, said building heating system having at least one regulating valve.
  • 4. The system of claim 3, said building heating system having a heat vent configuration that removes heat from said computing device and exhausts at least a portion of said heat to atmosphere.
  • 5. The system of claim 1, said heat demand being determined by a thermostat located within said premises.
  • 6. The system of claim 5, said controller receiving output from said thermostat.
  • 7. The system of claim 1, said heat transfer mechanism using a liquid as a heat transfer medium.
  • 8. The system of claim 1, said building heating system having a secondary heat source.
  • 9. The system of claim 1, said computing device having at least one application controllable by a user within said premise.
  • 10. The system of claim 1 further comprising: a plurality of said computing devices having said heat transfer mechanism and executing said distributed cloud application.
  • 11. A method comprising: identifying a plurality of computing devices, said plurality of computing devices being located in a plurality of premises;loading each of said plurality of computing devices with a distributed cloud application;causing said distributed cloud application to be executed on said plurality of computing devices;receiving an input from each of said premises; andbased on said input, assigning workloads to said distributed cloud applications.
  • 12. The method of claim 11, said input being a heat request for a heating system for a building on said premises.
  • 13. The method of claim 11 further comprising: detecting a fault with a first computing device at a first premise; andnotifying a user at said first premise.
  • 14. The method of claim 11, said distributed cloud application being a delay tolerant application.
  • 15. The method of claim 11, a first distributed cloud application at a first premise executing an identical workload as a second distributed cloud application on a second premise.
  • 16. The method of claim 15 further comprising: receiving a first response from said first distributed cloud application and receiving a second response from said second distributed cloud application; andcomparing said first response to said second response to determine that said first response is equivalent to said second response and accepting said first response as a valid response.
  • 17. A system comprising: a computing device having a heat transfer mechanism incorporated into a building's forced air heating system that transfers heat from said computing device to said building heating system on a premise;said computing device executing a distributed cloud application that is controlled by a controller located off said premise, said controller further controlling a plurality of computing devices located at a plurality of premises; andsaid controller that further controls said distributed cloud application by adjusting a workload of said distributed cloud application in response to a heat request from a heat demand from said building heating system.
  • 18. The system of claim 17 further comprising: a ventilation system that is configurable to vent said heat to atmosphere.
  • 19. The system of claim 18 further comprising: said ventilation system that is configurable to preheat air prior to said air passing over said heat transfer mechanism.
  • 20. The system of claim 19 further comprising: a building system controller that receives a temperature measurement and transmits said heat request to said controller.