DISTRIBUTED DEVICE NETWORK-BASED CONTROL SYSTEM WITH DECOUPLED INTELLIGENCE FOR SMART WINDOWS
A distributed device control system is provided. The system includes a plurality of windows, each window of the plurality of windows having at least one electrochromic window, a voltage or current driver for the at least one electrochromic window, and a first control system local to the window. The system includes a plurality of window controllers, each window controller configured to couple to one or more of the plurality of windows and having a second control system, for the one or more of the plurality of windows, local to the window controller. The system includes a command and communication device configured to couple to each of the plurality of window controllers, configured to couple to a network, and having a third control system, for the plurality of windows, wherein control of the plurality of windows is distributed across the plurality of windows, the plurality of window controllers, the command and communication device, and a portion of the network.
Electrochromic devices, in which optical transmissivity is electrically controlled, are in current usage in building windows and in dimmable automotive rearview mirrors. Generally, electrochromic windows for a building are controlled with a driver and a user input, e.g., a dimmer control. Electrochromic rearview mirrors in automotive usage often have a light sensor aimed to detect light from headlights of automobiles, and are user-settable to engage an auto-dim function that adjusts the tint of the mirror based on input from the light sensor. There is a need in the art for a control system for electrochromic devices which goes beyond such basic settings and functions.SUMMARY
In some embodiments, a distributed device control system is provided. The system includes a plurality of windows, each window of the plurality of windows having at least one electrochromic window, a voltage or current driver for the at least one electrochromic window, and a first control system local to the window. The system includes a plurality of window controllers, each window controller configured to couple to one or more of the plurality of windows and having a second control system, for the one or more of the plurality of windows, local to the window controller. The system includes a command and communication device configured to couple to each of the plurality of window controllers, configured to couple to a network, and having a third control system, for the plurality of windows, wherein control of the plurality of windows is distributed across the plurality of windows, the plurality of window controllers, the command and communication device, and a portion of the network.
Other aspects and advantages of the embodiments will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described embodiments.
The described embodiments and the advantages thereof may best be understood by reference to the following description taken in conjunction with the accompanying drawings. These drawings in no way limit any changes in form and detail that may be made to the described embodiments by one skilled in the art without departing from the spirit and scope of the described embodiments.
A smart window system, disclosed herein, has a distributed device network control system architecture that can distribute control of optical transmissivity of smart windows across the smart windows, intelligent window controllers, a command and communication device, and one or more resources on a network. A smart window within such a system can be defined as a window with some local and/or external or remote computer processing capabilities and which is connectable to the internet. In some embodiments the window is an electrochromic window but this is not meant to be limiting as non-electrochromic windows may be smart windows as described herein. Electrochromic and non-electrochromic windows may be integrated into the same system in some embodiments. The smart window may function as a glass partition in some embodiments and be within an interior of a structure rather than have one surface facing an exterior in some embodiments. The smart window system combines input from sensors integrated with the smart windows, user input, and information and direction from the network to control the smart windows in an interactive, adaptive manner. Control can shift from one component to another, be shared across multiple components, or be overridden by one component of the system, in various embodiments. The distributed nature of the architecture and the control support various system behaviors and capabilities.
Control is distributed across one or more first control systems 114, with one in each smart window 102, one or more second control systems 116, with one in each intelligent window controller 104 and/or in one or more user devices 136 in some embodiments, a third control system 118 in a command and communication device 106, and a fourth control system 120 in a server 108 coupled to a network 110. Each smart window 102 has an antenna 124 and is thereby wirelessly connected to a nearby intelligent window controller 104, also with an antenna 124. In further embodiments, a wired connection could be used. Each intelligent window controller 104 is wirelessly connected to the command and communication device 106, which has an antenna 124. In further embodiments, a wired connection could be used. The command and communication device 106 is coupled to a network 110, such as the global communication network known as the Internet. This coupling could be made via a wireless router (e.g., in a home, office, business or building), or a wired network connection. User devices 136 (e.g., smart phones, computers, various computing and/or communication devices) can couple to the command and communication device 106, for example by a direct wireless connection or via the network 110, or can couple to the server 108 via the network 110, as can other systems 138 and big data 112. In some embodiments, the server 108 hosts an application programming interface 140. The server 108 could be implemented in or include, e.g., one or more physical servers, or one or more virtual servers implemented with physical computing resources, or combinations thereof.
Modularity of the system supports numerous variations, layouts and installations. For example, each windowed room in a building could have one or more smart windows 102 and a single intelligent window controller 104 for that room. An intelligent window controller 104 could control smart windows 102 in part of a room, an entire room, or multiple rooms. The intelligent window controller(s) 104 for that floor of the building, or for a portion of or the entire building in some embodiments, could tie into a single command and communication device 106, which is coupled to the network 110 and thereby coupled to the server 108. In a relatively small installation, one or more smart windows 102 could couple to a single intelligent window controller 104 for local distributed control, or a single command and communication device 106 for both local and network distributed control. In another embodiment, an intelligent window controller 104 could be combined with the command and communication device 106, in a further embodiment for small systems that use both local control and network information. Larger systems, e.g., for multiple occupant buildings, could have multiple command and communication devices 106, e.g., one for each occupant or set of occupants, or each floor or level in the building, etc. Upgrades or expansions are readily accommodated by the addition of further components according to the situation. Some embodiments have a driver integrated in each smart window 102, for instance in combination with the first control system 114. Or, a driver for one or more smart windows 102 could be integrated with the intelligent window controller 104, for a lower cost or “thin” smart window 102. Such an embodiment of the intelligent window controller 104 could still be termed that, or could be termed an intelligent window controller/driver. One or more intelligent window controllers 104 could be wall-mounted, as could the command and communication device 106. Or, the system could use one or more user devices 136, each with a second control system 116, in place of one or more intelligent window controllers 104. Some embodiments use one or more intelligent window controllers 104, each with a second control system 116, and one or more user devices 136, each with a second control system 116. In a further embodiment, a user device 136 could have the third control system 118, and a wireless coupling to the network 110. It should be appreciated that in each of these variations and embodiments, communication among the various devices and subsystems can occur through wireless or wired connections and along paths that are implementation specific. Versions with one or more user devices 136 can be implemented with one or more apps (applications) executing in each user device 136.
In one embodiment as shown in
As shown by the dashed lines, communication can proceed amongst various members of the smart window system over various paths, in various embodiments. In some embodiments, a message or other communication is passed along a chain, such as from a smart window 102, to an intelligent window controller 104, or via the intelligent window controller 104 to the command and communication device 106, and vice versa. In some embodiments, a device can be bypassed, either by direct communication between two devices or by a device acting as a relay. For example, a smart window 102 could communicate directly with a command and communication device 124 wirelessly via the wireless interface 128 or via the wired interface 130. Alternatively, an intelligent window controller 104 could relay a message or other communication, as could the command and communication device 106. In some embodiments, messages or communications can be addressed to any component or device in the system, or broadcast to multiple devices, etc. This could be accomplished using packets for communication, and in some embodiments any of the control systems 114, 116, 118, 120 can communicate with the cloud, e.g., the network 110. In some embodiments, smart windows 102 can act as peer devices and communicate with each other, for example to carry out a user command, communicate an event or status, or execute in accordance to one or more rules.
The authentication engine 402 can be applied to authenticate any component that is coupled to or desires to couple to the command and communication device 106. For example, each smart window 102 could be authenticated, each intelligent window controller 104 could be authenticated, and the server 108 could be authenticated, as could any user device 136 or other system 138 attempting to access the smart window system. The command and communication device 106 can authenticate itself, for example to the server 108. To do so, the command and communication device 106 uses a certificate from the certificate repository 406 for an authentication process (e.g., a “handshake”) applied by the authentication engine 402. In some embodiments, certificates are created and issued by a trusted third-party certificate authority to a manufacturer of the smart windows 102, and stored in memory in each smart window 102. A certificate could be revoked or updated by actors higher in the distributed control system, for example from a management application in the network 110 (e.g., in the fourth control system 120 or elsewhere in the cloud).
The malware protection engine 408 can look for malware in any of the communications received by the commanded communication device 106, and block, delete, isolate or otherwise handle suspected malware in a manner similar to how this is done on personal computers, smart phones and the like. Updates, e.g., malware signatures, improved malware detection algorithms, etc., are transferred to the malware protection engine 408 via the network 110, e.g., from the server 108 or one of the other systems 138 such as a malware protection service.
In some embodiments, the smart window system operates the smart windows 102 in a continuous manner, even if there is a network 110 outage (e.g., there is a network outage outside of the building, a server is down, or a wireless router for the building is turned off or fails, etc.). The first control system 114, the second control system 116 and/or the third control system 118 can direct the smart windows 102 without information from the network, under such circumstances. In various combinations, each of the control systems 114, 116, 118, 120 can create, store, share and/or distribute time-bound or event-bound instructions (e.g., instructions with goals to perform a particular action at or by a particular time or for a specified event or specified number of events), and these time-bound instructions provide continuity of operation even when one or more devices, or a network, has a failure. When the network 110 is available, the third control system 118 obtains weather information from the network, either directly at the third control system 118 or with assistance from the server 108.
For example, the third control system 118 could include and apply cloud-based adaptive algorithms. With these, the third control system 118 can then direct operation of the smart windows 102 based on the weather information. One or a combination of the control systems 114, 116, 118, 120 can direct operation of the smart windows 102 based on sensor information, such as from light, image, sound or temperature sensors of the smart windows 102. For example, if the weather information indicates cloud cover, or sensors 212 are picking up lowered light levels, the system could direct an increase in transmissivity of the smart windows 102, to let more natural light in to the building. If the weather information indicates bright sun, or sensors 212 are picking up increased or high light levels, the system could direct a decrease in transmissivity of the smart windows 102, to decrease the amount of natural light let in to the building. The system can modify such direction according to orientation of each window, so that windows pointing away from the incidence of sunlight are directed differently than windows pointing towards incidence of sunlight. If weather information indicates sunlight, and temperature sensors indicate low temperatures, the system could direct increased transmissivity of the smart windows 102, in order to let in more natural light and increase heating of a building interior naturally. In some embodiments, if the temperatures sensors indicate relatively high temperatures, the system could direct decreased transmissivity of the smart windows 102, to block natural light and thereby hold down the heating of the interior of the building by sunlight.
In an action 604, the transmissivity of the windows is directed from the second control systems of the intelligent window controllers. The direction of the transmissivity is in cooperation with the smart windows in some embodiments. In an action 606, the transmissivity of the smart windows is directed from the third control system of the command and communication device. The direction of the transmissivity is in cooperation with the intelligent window controllers and the smart windows in some embodiments. This directing is based on the sensor information from the sensors of the smart windows, or information obtained from a network to which the command and communication device is coupled. In an action 608, the transmissivity of the smart windows is directed from a fourth control system of a network-corrected server, which is coupled to the command and communication device via the network.
It should be appreciated that the methods described herein may be performed with a digital processing system, such as a conventional, general-purpose computer system. Special purpose computers, which are designed or programmed to perform only one function may be used in the alternative.
Display 711 is in communication with CPU 701, memory 703, and mass storage device 707, through bus 705. Display 711 is configured to display any visualization tools or reports associated with the system described herein. Input/output device 709 is coupled to bus 705 in order to communicate information in command selections to CPU 701. It should be appreciated that data to and from external devices may be communicated through the input/output device 709. CPU 701 can be defined to execute the functionality described herein to enable the functionality described with reference to
Detailed illustrative embodiments are disclosed herein. However, specific functional details disclosed herein are merely representative for purposes of describing embodiments. Embodiments may, however, be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.
It should be understood that although the terms first, second, etc. may be used herein to describe various steps or calculations, these steps or calculations should not be limited by these terms. These terms are only used to distinguish one step or calculation from another. For example, a first calculation could be termed a second calculation, and, similarly, a second step could be termed a first step, without departing from the scope of this disclosure. As used herein, the term “and/or” and the “/” symbol includes any and all combinations of one or more of the associated listed items.
As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising”, “includes”, and/or “including”, when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Therefore, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting.
It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
With the above embodiments in mind, it should be understood that the embodiments might employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Further, the manipulations performed are often referred to in terms, such as producing, identifying, determining, or comparing. Any of the operations described herein that form part of the embodiments are useful machine operations. The embodiments also relate to a device or an apparatus for performing these operations. The apparatus can be specially constructed for the required purpose, or the apparatus can be a general-purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general-purpose machines can be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.
A module, an application, a layer, an agent or other method-operable entity could be implemented as hardware, firmware, or a processor executing software, or combinations thereof. It should be appreciated that, where a software-based embodiment is disclosed herein, the software can be embodied in a physical machine such as a controller. For example, a controller could include a first module and a second module. A controller could be configured to perform various actions, e.g., of a method, an application, a layer or an agent.
The embodiments can also be embodied as computer readable code on a tangible non-transitory computer readable medium. The computer readable medium is any data storage device that can store data, which can be thereafter read by a computer system. Examples of the computer readable medium include hard drives, network attached storage (NAS), read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes, and other optical and non-optical data storage devices. The computer readable medium can also be distributed over a network coupled computer system so that the computer readable code is stored and executed in a distributed fashion. Embodiments described herein may be practiced with various computer system configurations including hand-held devices, tablets, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers and the like. The embodiments can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network.
Although the method operations were described in a specific order, it should be understood that other operations may be performed in between described operations, described operations may be adjusted so that they occur at slightly different times or the described operations may be distributed in a system which allows the occurrence of the processing operations at various intervals associated with the processing.
In various embodiments, one or more portions of the methods and mechanisms described herein may form part of a cloud-computing environment. In such embodiments, resources may be provided over the Internet as services according to one or more various models. Such models may include Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). In IaaS, computer infrastructure is delivered as a service. In such a case, the computing equipment is generally owned and operated by the service provider. In the PaaS model, software tools and underlying equipment used by developers to develop software solutions may be provided as a service and hosted by the service provider. SaaS typically includes a service provider licensing software as a service on demand. The service provider may host the software, or may deploy the software to a customer for a given period of time. Numerous combinations of the above models are possible and are contemplated.
Various units, circuits, or other components may be described or claimed as “configured to” perform a task or tasks. In such contexts, the phrase “configured to” is used to connote structure by indicating that the units/circuits/components include structure (e.g., circuitry) that performs the task or tasks during operation. As such, the unit/circuit/component can be said to be configured to perform the task even when the specified unit/circuit/component is not currently operational (e.g., is not on). The units/circuits/components used with the “configured to” language include hardware—for example, circuits, memory storing program instructions executable to implement the operation, etc. Reciting that a unit/circuit/component is “configured to” perform one or more tasks is expressly intended not to invoke 35 U.S.C. 112, sixth paragraph, for that unit/circuit/component. Additionally, “configured to” can include generic structure (e.g., generic circuitry) that is manipulated by software and/or firmware (e.g., an FPGA or a general-purpose processor executing software) to operate in manner that is capable of performing the task(s) at issue. “Configured to” may also include adapting a manufacturing process (e.g., a semiconductor fabrication facility) to fabricate devices (e.g., integrated circuits) that are adapted to implement or perform one or more tasks.
The foregoing description, for the purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the embodiments and its practical applications, to thereby enable others skilled in the art to best utilize the embodiments and various modifications as may be suited to the particular use contemplated. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
1. A distributed device control system, comprising:
- a plurality of electrochromic windows including a voltage driver for each of the electrochromic windows, and a first control system local to respective electrochromic window;
- a plurality of window controllers, each window controller configured to couple to one or more of the plurality of electrochromic windows and having a second control system, for the one or more of the plurality of electrochromic windows, local to respective window controller; and
- a command and communication device configured to couple to each of the plurality of window controllers, having a third control system, for the plurality of electrochromic windows, wherein a server gathers information from windows in a plurality of buildings and develops profiles, and wherein the distributed control of the plurality of electrochromic windows is based in part on the profiles developed in the server.