This invention relates in general to device communication, and more particularly to systems, apparatuses and methods for binding two or more communication devices through their common association with one or more other devices.
Systems employing numerous devices often require or otherwise benefit from the ability for these devices to communicate with one another. While each device may have its own purpose and responsibilities, they may need to transmit information to, and/or receive information from, other devices of the system. Device-to-device communication may be accomplished by wiring the devices together, and communicating via the wires. In more recent times more and more systems are employing wireless communication, which generally makes installation more convenient, and among other things provides greater flexibility and scalability.
A drawback to wireless communication is that information transfer is not confined to a wire, as in a direct wired system. Rather the information is sent over the air, which makes the transmitted information potentially perceivable by neighboring devices within the wireless transmission range. In order to address this issue, wireless network systems employ addressing schemes to ensure that transmitting devices can properly address targeted devices, and the targeted devices can reject information from neighboring devices that are not within their system but are within their reception range.
For a transmitting device to properly address target devices, the transmitting device must gain knowledge of the addresses of those target devices. This may be performed at the time of installation of the system devices. For example, system devices may each be temporarily set to a binding mode, such as by activating user interface mechanisms on each device. While in this active binding mode, address identifiers of the communication devices in binding mode can be exchanged so that the devices become aware of each other's addresses. This exchange of addresses and possibly other information is referred to herein as “binding” the devices to one another. After the appropriate address information has been exchanged, the devices exit the binding mode. By knowing each other's unique addresses, messages send during normal operation can be properly directed to intended recipients, and the intended recipients can determine if an incoming message originated from a sending device in its own system.
In order to perform such a binding procedure, an installer typically manipulates designated user interface (UI) mechanisms to enter the binding mode. However some devices may not be equipped with such UI mechanisms, or it is not economically desirable or feasible to equip them with these UI mechanisms. There may also be situations where a new device, or a device not originally designed to operate in the system, may need or want to communicate within the system. Such devices may not be configured to undergo the normal binding process, and therefore could not communicate with other devices of the system.
Additionally, there may be design reasons to have a certain device communicate with another device, yet binding such devices would not be intuitive to an installer due to the inconspicuous purpose. Even if instructions indicate to do so, installers may be confused as to why two devices should be bound where the function of those devices does not intuitively suggest a connection pair.
Accordingly, there is a need in the communications industry for a manner of binding two or more devices for at least the purpose of communicating information between the devices, without having to perform an initial binding procedure. The present invention fulfills these and other needs, and offers other advantages over the prior art.
To overcome limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses systems, apparatuses and methods for binding two or more communication devices through their common association with one or more other devices.
In accordance with one embodiment of the invention, a method is provided that includes storing information associated with a common device at a first device. The same information associated with that common device is stored at a second device. A message(s) is transmitted from the first device using the stored information as at least part of a broadcast address identifier (ID). The message can then be accepted at the second device as a result of the information being known to the second device. Thus, a “binding by association” is effected by virtue of each of the first and second devices having been privy to that same information affiliated with the common device.
In one embodiment the method further involves receiving the transmitted message at the second device, and comparing the broadcast address ID of the message to the stored information at the second device. In this manner, accepting the message at the second device involves accepting the message at the second device if the received broadcast address ID matches the stored information at the second device.
Another embodiment of such a method involves transmitting the message from the first device by transmitting a broadcast message that utilizes the information associated with the common device as at least part of the broadcast address ID of the broadcast message. A more particular embodiment further involves transmitting a second address ID that will cause the common device to reject the broadcast message.
Yet another embodiment of the method further includes transmitting a second message from the second device using the stored information as at least part of a broadcast address ID, and accepting the second message at the first device as a result of the information being known to the first device. Thus, in some embodiments, a device can operate as both a sending device and a receiving device.
In still another embodiment, the method further involves binding the first device to the common device to enable communication between the first device and the common device, and storing at the first device an address ID of the common device as the information associated with the common device. The second device is similarly bound to the common device to enable communication between the second device and the common device, and second device stores the address ID of the common device as the same information associated with the common device. In a more particular embodiment, transmitting the message from the first device involves using the address ID of the common device as the broadcast address ID.
In accordance with another embodiment of the invention, an apparatus is provided that includes storage configured to store an address identifier(s) of a first device(s) to which the apparatus has been configured for communication. A processor is configured to frame a broadcast message including using one of the stored address identifiers as a broadcast address. A transmitter receive the framed message, and wirelessly broadcasts the message using the broadcast address to a second device(s).
One embodiment of such an apparatus involves further configuring the processor to configure the apparatus for communication with the first devices via a binding process. In still another embodiment, the apparatus includes an environmental host device, and at least one of the first devices includes a sensor.
In still another embodiment, the apparatus further includes a receiver configured to receive an incoming broadcast message from one of the second devices, and a compare module configured to compare an incoming broadcast identifier in the incoming broadcast message to the stored address identifiers. The processor is further configured to accept the incoming broadcast message if the compare module identifies a match of the incoming broadcast address and any of the stored address identifiers.
In accordance with another embodiment of the invention, an apparatus is provided that includes storage configured to store one or more address identifiers of first devices to which the apparatus has been configured for communication. A receiver is configured to receive a wireless broadcast message that includes a broadcast address identifier. A compare module is configured to compare the received broadcast address identifier to the one or more stored address identifiers, and a processor accepts the received broadcast message if the compare module identifies a match of the broadcast address identifier and any of the stored address identifiers.
In one embodiment of such an apparatus, the processor is further configured to reject the received broadcast message if the compare module does not identify a match of the broadcast address identifier and any of the stored address identifiers.
Another embodiment of such an apparatus include configuring the processor to configure the apparatus for communication with the first devices via a binding process. In yet another embodiment, the processor is further configured to parse the received wireless broadcast messages to identify the broadcast address identifier. In still other embodiments, the apparatus is an environmental host device, and at least one of the first devices is a sensor.
A system is provided in accordance with another embodiment of the invention. The system includes a shared device having an address identifier. A first communication device includes storage to store the shared device's address identifier discovered by the first communication device during a binding process with the shared device. A second communication device also includes storage to store the shared device's address identifier discovered by the second communication device during a binding process with the shared device. The first communication device includes a transmitter configured to wirelessly broadcast one or more messages using the shared device's address identifier. The second communication device includes a receiver configured to wirelessly receive the one or more messages, and further includes a compare module configured to compare the received address identifier of the shared device to the stored address identifier of the shared device to accept the one or more messages in response to identifying a match.
The above summary of the invention is not intended to describe every embodiment or implementation of the present invention. Rather, attention is directed to the following figures and description which sets forth representative embodiments of the invention.
The invention is described in connection with the embodiments illustrated in the following diagrams.
In the following description of various exemplary embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration various embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized, as structural and operational changes may be made without departing from the scope of the present invention.
Generally, the present invention provides systems, apparatuses and methods for identifying intended communicants in a system(s) of communicating devices, without the need for the communicants to initially undergo a binding process to authorize communications therebetween. Aspects of the invention involve authorizing communications between a plurality of devices by way of their common association with another device(s).
While the invention can be implemented in wireless or wired environments, the description herein is directed to wireless embodiments. Devices may need to gain knowledge of the address(es) of other wireless devices that they can communicate with. This address information allows sending devices to address intended recipient devices correctly, and allows receiving devices to reject information from neighboring devices that are within the wireless communication range but not part of the particular system. Devices can be made aware of each other, and consequently each other's address, through a process of “binding” where address identifiers (IDs) are exchanged. A bound set of communication devices know the addresses of the other devices, and know which addresses from which it should accept messages. In prior systems, binding has been performed manually by way of an installer who places the devices in an active binding mode that causes the devices to exchange their address IDs before exiting the binding mode. Among other things the invention facilitates device authorization and/or message acceptance to be effected between two or more devices, as if the devices had been bound together, without the need to perform such a binding process.
In one embodiment, devices can bypass such binding processes. Instead two or more devices can effectively become bound to one another, at least for purposes of communicating messages or other data, by a common association with one or more other devices. For example, if (at least) two communicating devices are privy to certain data or information associated with a third device, then that certain information of the third device can be used to authorize communications between the two communicating devices. This is due to the respective trust between the communicating devices resulting from those devices being similarly privy to that information of the third device. This “binding by association” provides numerous advantages described herein and/or which will become apparent to those skilled in the art from an understanding of the description provided herein.
The embodiment of
This INFOCD 106A is obtained by each of the devices 100, 102 that will ultimately use that INFOCD 106A to authorize communications therebetween. The information INFOCD 106B, 106C may be received from the common device 104 at the respective device 100, 102. Alternatively one of the devices 100, 102 can generate the INFOCD 106B, 106C and provide it to the common device for later retrieval by the other device 100, 102.
For example, the INFOCD 106A may represent the address of the common device 104, which is exchanged with the first device 100 when the first device 100 binds itself to the common device 104. Similarly the INFOCD 106A may be exchanged with the second device 102 when the second device 102 binds itself to the common device 104.
Regardless of the type of information 106A or how it came to be stored at the first 100 and second 102 devices, the information 106A is used to effectively bind the devices 100 and 102 for purposes of communicating therebetween. By way of their common association with the common device 104, they each obtain the information 106A, which is shown as INFOCD 106B and INFOCD 106C at devices 100, 102 respectively.
Assume that the first device 100 wants to send a message(s) to any one or more other devices 102. In one embodiment the first device 100 sends a message 108, such as broadcasting the message 108, such that it can be received by other devices 102 that prove to be bound to the first device 100 by way of its association with the common device 104. A processor (P) 109 or other circuitry may be employed to properly frame the message. A transmitter (Tx) 110 of the first device transmits the message 108 that includes the information INFOCD 106D that is associated with the common device 104 and was obtained by the first device INFOCD 106B. The common information INFOCD 106A may be unique to the common device 104, such as the device address of the common device 104.
A receiver Rx 112 at the second device 102 receives the message(s) 108, including the INFOCD which is shown as INFOCD 106E when received at the second device 102. It is then determined whether the second device 102 is also associated with the common device 104 by comparing the received information INFOCD 106E to stored information. In the illustrated embodiment, it is assumed that the second device 102 had indeed previously stored the information INFOCD 106C through binding with the common device 104 or as a result of any other association with the common device 104. Therefore, a match 114 of the INFOCD 106E and INFOCD 106C occurs, thereby indicating that the message will be accepted 116. If a device 102 did not previously store the information INFOCD 106C, no match would occur, and the device 102 would reject or otherwise disregard the message 118. In this manner, a common association of the first and second devices 100, 102 can use information INFOCD 106A affiliated with the common device 104 to effectively bind the devices 100, 102 at least for purposes of communicating messages therebetween.
As will be described in the ensuing description, one embodiment involves using the stored information INFOCD 106B at the first device 100 as a broadcast address ID. The second device 102 (i.e. the receiving device in this example) can then search its storage to determine whether it stored information INFOCD 106C from a common device 104 that will be used by the second device 102 as its own address for received broadcast messages. If the second device 102 had stored the INFOCD 106C through a binding process with the common device 104, it then effectively becomes bound to the first device 100 because it knows from the broadcast address ID that the first device 100 had also bound itself to the common device 104. The second device 102 is therefore willing to receive messages from other devices 100 that also bound themselves to the same common device 104.
For example, the first device 300 can be bound to the common device 306 by placing both the first device 300 and the common device 306 into an active binding mode. One example in which this can be accomplished is by having an installer manually activate user interface mechanisms on both the first device 300 and the common device 306 to cause these respective devices to enter the binding mode. When in binding mode, the first device 300 and common device 306 will communicate enough information to allow the first device 300 and the common device 306 to transmit and receive information from each other, or at least to allow the first device 300 to receive information from the common device 306. In one embodiment the binding information that is communicated to the first device 300 includes the address ID 308 of the common device 306. The binding process is then terminated, and the first device 300 stores the common devices address ID 308 as shown by ADDR ID 308. In this way, if the first device 300 receives messages from a device having the address ID 308, the first device 300 knows that these messages are coming from a device to which it has been bound to, and it will accept the messages. Second device 302 and any other devices 304 can similarly bind to the common device 306, thereby storing the ADDR ID 308 of the common device 306.
It is noteworthy that none of the first device 300, the second device 302, or other devices 304 are bound to one another. They are, however, each bound to the common device 306. In accordance with the invention, any of the first 300, second 302 or other devices 304 can communicate with one another without having to undergo a device-to-device binding process such as they did in order to communicate with the common device 306. Rather, any of the devices 300, 302, 304 can communicate with one another due to their common association with the common device 306.
Particularly, it is first assumed that the first device 300 wants to broadcast a message to any other device 302, 304 that may be in the system. The transmitter 320 of the first device 300 broadcasts a message 322 using the stored ADDR ID 308, which corresponds to the ADDR ID 308 of the common device 306. The ADDR ID 308 in the message 322 is used as a broadcast address ID. If any of the second 302 or other 304 devices had previously been bound to the common device 306, and therefore are storing the ADDR ID 308, these devices 302, 304 can receive the message 322. For example, the receiver 324 of the second device 302 compares 326 the ADDR ID 308 from the message 322 to a table (or other structure) 328 of bound devices. If the ADDR ID 308 is present in the table 328, the comparison reveals a match and the message 322 is accepted 330. Otherwise it is assumed that the message 322 was not intended for the second device 302, and it is rejected and/or discarded 332.
The second device 302 can also serve as the broadcaster of a message(s). Due to the common affiliation with the common device 306, any devices 300, 304 that have also been bound to the common device 306 can receive broadcast messages from the second device. The transmitter 340 of the second device 302 broadcasts a message 342 using the stored ADDR ID 308, which corresponds to the ADDR ID 308 of the common device 306. The ADDR ID 308 in the message 342 is used as a broadcast address ID. If any of the first 300 or other 304 devices had previously been bound to the common device 306, and therefore are storing the ADDR ID 308, these devices 300, 304 can receive the message 342. For example, the receiver 344 of the first device 300 compares 346 the ADDR ID 308 from the message 342 to a table (or other structure) 348 of bound devices. If the ADDR ID 308 is present in the table 348, the comparison reveals a match and the message 342 is accepted 350. Otherwise it is assumed that the message 342 was not intended for the first device 300, and it is rejected and/or discarded 352.
Thus, in the embodiment of
If the first device 300, for example, broadcast a message using the address of the common device 306, the common device 306 could actually receive the message even though it was intended for one of the other communicating devices 302, 304. To prevent this, one embodiment involves the use of two different identifiers.
When broadcasting a message(s) in accordance with the invention, one embodiment involves using the common device's 306 device ID as the domain ID 400A, as depicted by the common device ID 400B of
The functions described in connection with the invention may be used in any device in which data is to be communicated. In one embodiment, the systems, apparatuses and methods of the invention are implemented in environmental monitoring and control systems, such as HVAC systems. Representative examples of such systems are generally described below. However, it should be recognized that the aforementioned systems, apparatuses and methods may be used in any communication device and associated system.
Environmental control systems can monitor and control numerous environmental and safety devices. These devices include, for example, thermostats, HVAC modules, equipment interfaces, sensors, remote controls, zoning panels, dampers, humidifiers and dehumidifiers, etc. It may be beneficial for some or all of these devices to communicate with each other wirelessly, which significantly eases installation and wiring complications. Wireless units also provide users with flexibility of use, and more options in positioning the devices. These and other advantages of implementing air interfaces have led to the use of the wireless transmission of some data in HVAC systems.
When these devices communicate wirelessly with one another via radio frequency (RF) or other wireless means, there is a reasonable chance that a wirelessly communicating device may experience interference from neighboring systems or other devices of the same system. Binding through common association as set forth herein can be used in such systems to avoid such interference and ensure proper delivery of messages between devices.
Some devices in the system may be powered by power sources and communicate via wire and/or over the air, while other devices may be battery-powered and communicate information wirelessly. Any device may be powered in any desired manner. In one embodiment, a host or other device may be powered by an AC voltage such as 24 volts AC (VAC), and may remain powered on while operating in the system. In some embodiments, devices referred to as hosts in the prior figures and description can correspond to such powered devices, or alternatively such hosts may be powered in other manners such as by battery or other DC voltage, energy harvesting, etc. In other embodiments, prior references to hosts can refer to any device in the system. Other devices that are powered by battery (e.g., clients) may enter a sleep mode to preserve battery life. In one embodiment, a collection of devices including a host(s) and its clients may be referred to as a “group,” and a collection of physical groups that communicate through their host(s) may be referred to as a “system.” However, a “system” as otherwise used herein does not require any such groupings, and may involve as few as two communicating devices.
It should be noted that the exemplary environments described in FIGS. 5 and 6A-6C are provided merely for purposes of facilitating an understanding of representative systems in which the principles of the present invention may be employed. From the description provided herein, one skilled in the art can readily appreciate that the invention may be employed in any system of two or more communicating devices where messages or other data is communicated therebetween.
The present invention may be used in, for example, environmental control systems such as those described in connection with FIGS. 5 and 6A-6C.
The embodiment of
For purposes of example, it is assumed that communication between EIM-A 700 and EIM-B 702 will occur in order to synchronize time information in the thermostats 704, 708. Particularly, the example assumes there is a clock in each thermostat 704, 708. Among other things, a clock allows a user to program environmental control settings at certain times. It may be beneficial to ensure that the clocks in multiple thermostats 704, 708 are set to the same time. In one embodiment, when one thermostat-A 704 is manually set, it becomes the master clock that can be used as the reference time for synchronizing other clocks in the system.
The EIMs 700, 702 are bound to their respective thermostats 704, 708, but the EIMs 700, 702 are not bound to one another. There are any number of reasons that two devices may not be bound to one another. For example, there may be little reason to bind the EIMs 700, 702 together if they seldom need to communicate. Further, the EIMs 700, 702 may have limited user interfaces where engaging in a manual binding process may be difficult or impossible. Thus, if EIM-A 700 is to send data (such as time synchronization data for the thermostat-B 708) to another EIM-B 702, there should be some binding so that data sent from EIM-A 700 properly reaches EIM-B 702 without affecting neighboring systems within a wireless communication range of the EIMs 700, 702. The present invention enables such communication between devices that are not bound together in advance.
Returning to the example, assume that a clock (not shown) in the thermostat-A 704 has been manually set. At some time, it may be desirable to synchronize the clock in other thermostats, such as thermostat-B 708. For example this may occur once per day. The thermostat-A 704 sends a message 714 to the address (EIM-ID 716) of its EIM-A 700 which includes time synchronization data 718. The EIM-A 700 had previously performed a binding operation with an OAS 712, and thus includes in its table the address OAS-ID 720. Using the OAS-ID 720, EIM-A's transmitter Tx 722 wirelessly broadcasts a message 724 including the time data 718 using the OAS-ID 720 as the broadcast address. The receiver Rx 726 at EIM-B 702 receives the message 724, and recognizes that it is a broadcast message, and searches its local table 728 for the OAS-ID 720. Since this example assumes EIM-B 702 has previously obtained the OAS-ID of the OAS 712 (e.g. through binding), the compare module 730 recognizes a match when comparing the received OAS-ID 720 in the message 724 and the OAS-ID 720 in its table 728. In this case, the EIM-B 702 accepts 732 the message 724 and processes the message. Otherwise, the message 724 would be rejected 734.
The EIM-B 702 can then send a message 736 to the thermostat-B 708 by directing the message 736 to the address (THERM-ID 738) of the thermostat-B 708. The message 738 can include the time data 718 from which the thermostat-B 708 can adjust its clock. It should be recognized that this time synchronization example is merely representative of types of data transfers that may involve previously non-bound devices (e.g. EIMs 700, 702) that are bound by association to another device (e.g. OAS 712) in accordance with the principles of the present invention.
The functions associated with the present invention may be performed by discrete circuitry and/or computing system hardware. In one embodiment, the devices that will communicate with one another using the address ID of a common device utilize a processor(s), CPU(s), computer(s), or other processing system to perform the stated functions. It should be understood that reference to a “processor” does not require a single processor or controller chip, but rather refers to the processing circuitry that executes programs to perform the various functions. Alternatively, part or all of the functions may be implemented using discrete circuitry. Accordingly, hardware, firmware, software or any combination thereof may be used to perform the various functions and operations described herein.
An example of a computing arrangement capable of executing programs to perform the various functions described above is shown in
Referring to
The computing system 800 may include some storage, such as any one or both of random access memory (RAM) 804, read-only memory (ROM) 806, etc. For example, the address IDs of other devices to which the device has been bound may be stored. The computing arrangement 800 may instead or additionally include one or more data drives 808, such as disk drives, optical drives and/or other drives capable of receiving programs and/or data on transportable media 810. In one embodiment, software for carrying out the operations in accordance with the present invention may be stored and distributed on such media or other form of media capable of portably storing information. The software may also be transmitted to the computing arrangement 800 via data signals, such as being downloaded electronically via a network.
The processor 802 may communicate with other internal and external components, including removable storage (e.g. FLASH) through input/output (I/O) circuitry 812. I/O circuitry may also communicate control signals, communication signals, and the like. A user input interface 813 may be provided such as a mouse, keyboard/keypad, microphone, touch pad, trackball, joystick, touch screen, voice-recognition system, etc. Similarly, a user output device, such as a display 815 or speaker, may also be provided.
Where comparisons of received and stored data are performed, this can be facilitated by one or more comparators. Comparators may be implemented using hardware, software operable in connection with the processor 802, or some combination of hardware and software. A comparator 814 may be integrally programmed as part of the processor 802 operation, or alternatively may be a separate comparator 814.
The representative computing arrangement 800 includes a transmitter(s) TX 816 and/or a receiver(s) RX 818. Such TX 816 and RX 818 components may be implemented as discrete components, or aggregated such as in the case of a transceiver. In one embodiment, the TX 816 and/or RX 818 are RF components capable of wirelessly communicating information via radio frequency waves.
Using the description provided herein, the invention may be implemented as a machine, process, or article of manufacture by using standard programming and/or engineering techniques to produce programming software, firmware, hardware or any combination thereof.
Any resulting program(s), having computer-readable program code, may be embodied on one or more computer-usable media such as resident memory devices, smart cards or other removable memory devices, or transmitting devices, thereby making a computer program product or article of manufacture according to the invention. As such, terms such as “modules” and the like as used herein are intended to include a processor-executable program that exists permanently or temporarily on any computer-usable medium or in any transmitting medium which transmits such a program. Such “modules” may also be implemented using discrete circuits.
As indicated above, memory/storage devices include, but are not limited to, disks, optical disks, removable memory devices such as smart cards, SIMs, WIMs, semiconductor memories such as RAM, ROM, PROMS, etc. Transmitting mediums in which programs can be provided include, but are not limited to, transmissions via wireless/radio wave communication networks, the Internet, intranets, telephone/modem-based network communication, hard-wired/cabled communication network, satellite communication, and other stationary or mobile network systems/communication links.
The foregoing description of exemplary embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not with this detailed description, but rather determined in view of what would be apparent to those skilled in the art from the description provided herein and the claims appended hereto.
This is a continuation of co-pending U.S. patent application Ser. No. 12/253,696, filed Oct. 17, 2008 and entitled “SYSTEM, METHOD AND APPARATUS FOR BINDING COMMUNICATION DEVICES THROUGH COMMON ASSOCIATION”, now U.S. Pat. No. 9,210,125, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 12253696 | Oct 2008 | US |
Child | 14961688 | US |