This invention relates to distributed communication.
Distributed communication networks having multiple nodes in communication with each other have been under investigation for some time. Various physical communication channels have been employed in such systems, e.g., wireless radio-frequency (RF) and free space optical channels. In some cases, distributed networks make use of more than one communication channel (e.g., both optical and RF wireless channels are employed).
Having multiple communication channels in a network has been exploited to provide several improvements in network performance. For example, hybrid RF/optical links can provide improved bandwidth and/or availability due to the use of two parallel communication channels. Such links are considered in U.S. Pat. No. 7,394,988, U.S. Pat. No. 6,763,195, and US 2002/0122230. In connection with a network, the use of both RF and optical communication allows for improved load balancing and resource sharing. Optical and RF communication channels can also play separate roles in setting up a network (e.g., optical signals can be employed to allocate nodes to an RF wireless network). Hybrid optical/RF networks are considered in U.S. Pat. No. 6,842,439, U.S. Pat. No. 7,274,877, U.S. Pat. No. 7,453,835, and US 2006/0270344.
In the present work, distinct physical channels in a network are exploited to provide capabilities that go significantly beyond the conventional systems described above. In a first aspect, distinct physical channels are employed to determine physical relationships of the nodes with respect to each other. For example, whether or not the nodes of an RF wireless system are in a shared enclosed space (e.g., the same room of a building) can be determined by using optical messages passed between the nodes. In a second aspect, a first physical channel is employed for synchronized broadcasting, and a second physical channel is employed to enhance the capabilities of the synchronized broadcast network. For example, the nodes of an RF wireless broadcast network can be selectively sensitized (i.e., commissioned) with optical signals to commands that are broadcast on the RF network.
Determination of physical relationships of the nodes with respect to each other relies on physical differences between the communication channels being employed. For example, optical signals cannot pass through walls of a building, while RF signals can. Therefore, a hybrid RF/optical network inside a building can use optical signals to determine whether or not nodes are in the same room. Nodes that are not in optical communication are assumed to be in different rooms, while nodes in optical communication are assumed to be in the same room. Such probing of the environment can be done automatically. Systematic application of this principle can lead to a partitioning of the nodes into disjoint sets corresponding to multiple rooms of a building.
Another application of environmental probing relates to situations where a network includes both stationary nodes having a fixed location and mobile nodes having a variable location. Such a network can employ RF wireless transmission for data traffic, and message passing of optical signals to provide location information of the mobile node relative to the stationary nodes. Optical signals are more suitable for this location sensing than RF signals because optical line of sight and/or signal strength can be a more sensitive environmental probe than RF signal strength.
The use of a second physical channel in connection with a synchronized broadcast network can provide several advantages. For example, consider a network that has hybrid optical-RF nodes that form a broadcast-only RF wireless network. The optical channel of the nodes can be used to sensitize (i.e., commission) nodes so that the sensitized nodes act in response to an RF broadcast differently from non-activated nodes. For example, a node could emit an optical signal that sensitizes any other nodes in its line of sight (e.g., nodes in the same room of a building). These sensitized nodes could then respond in a different way to a broadcast RF message than non-sensitized nodes. Continuing the example, suppose the broadcast RF signal is a signal for the sensitized nodes to turn off (or turn on) room lights associated with the nodes, while the non-sensitized nodes ignore this broadcast RF message. This system provides a way to selectively control building lighting, on a room by room basis, without having to manually maintain a list of which lights are in which room. Instead, the environmental probing capability provided by the use of distinct physical communication channels is exploited to efficiently provide building lighting control.
A synchronized broadcast network can be organized such that each node has active periods (when it broadcasts and/or receives) and inactive periods (during which no broadcast or reception take place). Here it is understood that “active” and “inactive” only refer to the physical channel being employed for the broadcast network, for networks having more than one physical channel. For example, in a RF-optical system where the RF channel is employed to provide the broadcast network, “active” and “inactive” refer to RF activity and RF inactivity, respectively. Optical signals can be transmitted and/or received during the RF-active periods or during the RF-inactive periods. The flexibility provided by a second physical channel can usefully complement the capability of a broadcast network set up on a first physical channel. For example, node identification information can be broadcast on the second channel, and synchronism (or lack of synchronism) of first channel broadcasts relative to the second channel broadcasts can be used to determine the nodes from which first channel broadcasts are broadcast.
Section A below provides an exemplary description of a broadcast-only wireless network. It is convenient to refer to the approach of section A as a gossip media access control (GMAC) approach. Section B below provides a description of the use of two or more physically distinct channels, in connection with a network. Hybrid networks as described above and in section B can be applied in connection with the broadcast-only network of section A, or in connection with other networks. Thus, section A provides a specific example of a system in which the present hybrid network approach can be implemented, although the present approach is not limited in application to such GMAC systems.
A communication system between a plurality of nodes in an ad-hoc network can be difficult to implement, particularly with mobile nodes, commonly found in ad-hoc wireless sensor networks. The present approach is directed to communication between nodes in a distributed network using a media access control (MAC) layer optimized for gossip protocols. The scalability of the communication system of the present approach is apparent by the communication system's decentralized and distributed nature.
At least some of the nodes are communicatively connected and communicate with the use of repeated communication frames.
Slot usage information can also be a part of the MAC header of the broadcasted message. The slot usage information includes information that a listen slot has received a message, that no message has been received from a neighboring node, and/or if a collision has been detected. The slot usage information can be used to prevent the hidden terminal problem. In an embodiment, each node does not broadcast any messages during one frame and evaluates the slot usage information of its neighbors in the next frame. By repeating this process over a randomized interval of frames, preferably from about 15 to 20 frames, the hidden terminal problem can be avoided.
It is important to note that this distributed network does not require a central or beacon node coordinating the other nodes. Particularly, in a preferred embodiment, none of the nodes in the network coordinates the TDMA schedule and the TDMA slots of another node of the network. The distributed functions for the nodes include network synchronization, TDMA schedule length and position, TDMA slot allocation, collision avoidance, and hidden-terminal avoidance. The broadcast function allows a node to transmit a message by a broadcast-only mechanism, which does not require an address of another node. The neighboring nodes have control over what to do with the broadcasted message. In other words, a neighboring node can decide to receive and process the message, to receive and discard the message, or use a provided ignore function to not listen for any broadcasted messages.
In a preferred embodiment, some of the nodes, a majority of the nodes, or all of the nodes in the network are approximately synchronized. Synchronized nodes have communication frames with time overlapping TDMA schedules to allow communication between nodes. In other words, overlapping TDMA schedules enable a message broadcasted from a TDMA slot of one node to be received by a TDMA slot of another node.
With a broadcast-only distributed communication system, the nodes can be extremely energy efficient. Moreover, by constraining the slot allocation of a TDMA schedule, the energy consumption is deterministic and therefore battery life and/or energy scavenging mechanisms become predictable. In addition, the distributed network of the present approach is also scalable, unlike existing centralized networks. Furthermore, in contrast to standard address-oriented message systems, the broadcast-only communication system of the present approach does not require CTS, RTS, or ACK messages or functions.
In an embodiment, the communication frame of each of the nodes has a fixed length. The fixed length of the communication frame ranges between about 0.5 seconds and about 5 seconds, and is preferably about 1 second. In an alternative embodiment, the communication frame of each of the nodes has a variable length. A node may vary its communication frame length based on energy consumption and data throughput requirements. Shorter communication frames generally increase energy consumption, while allowing for greater data throughput.
As mentioned above, each communication frame includes a TDMA schedule for active communication and an idle period, where little or no activity occurs. In an energy-efficient embodiment, the idle period is longer than the TDMA schedule. Preferably, the length of the TDMA schedule, defined by the number of TDMA slots, of a node can be changed. The change in length of the TDMA schedule can be based on the number of neighbors of the node.
In a preferred embodiment, each of the TDMA slots of the TDMA schedule is allocated to be a listen slot, a transmit slot, or an idle slot. Each of the nodes controls the allocation of its TDMA slots. When a TDMA slot is allocated for a specific function, the entire duration of the slot is dedicated for that same function. For example, in
It is important to note that the width of each of the TDMA slots is greater than a time-on-air TOA of each of the broadcasted messages. Having the TDMA slot width greater than the time-on-air allows the nodes to compensate for clock drifts between nodes and remain in communicative contact with other nodes. For each message received, an arrival time AT can also be measured upon reception of the message. The arrival time is the difference in time between the actual position of the received message and the beginning of the TDMA slot receiving the message.
In an embodiment, the time-on-air period is based on the data rate and the payload length. For example, data rates can range between about 250 kbps and about 2 Mbps, and payload lengths can range between about 32 bytes to 128 bytes. With these data rates and payload lengths, the time-on-air period ranges from about 300 μs to about 10 ms. In a preferred embodiment, the time-on-air period is about 300 μs and the TDMA slot width is about 800 μs.
In an embodiment, the TDMA schedule of each of the nodes can also be dynamic in position.
Embodiments can include dynamic allocation of the TDMA slots.
In another embodiment, communication between nodes in a crowded environment can rely on a constant length TDMA schedule with transmit slot skipping. The TDMA schedule length can be determined based on available energy and required data throughput with the neighboring nodes. The transmit TDMA slot allocation can be based on slot usage information of the node itself and/or the slot usage information of the neighboring nodes. Transmit slot skipping is activated when there are more neighbors than available TDMA slots in the TDMA schedule. In such a circumstance, a node will decide to skip a transmission in one or more frames. The transmit TDMA slot is temporarily allocated to be a listen slot to receive messages from the neighbors using the same slot during the one or more frames. With transmit slot skipping, the node is capable of communicating with other nodes in a crowded environment without having to add TDMA slots, thereby maintaining low energy consumption.
Communication between nodes in the distributed network requires the communication frames of the nodes to be approximately synchronized. More generally, communication is possible when the TDMA schedules of communicating nodes at least partially overlap. Node synchronization exists when the communication frames of communicating nodes start at approximately the same time. Synchronization is difficult to maintain due to clock drift. In an embodiment, each node can occasionally or periodically update its communication frame start time to stay approximately synchronized with the rest of the network. It is important to note that this update does not require communications with a central time-keeping node.
The time shift calculation can involve any calculus that mitigates the effects of clock drift. Example time shift calculations include taking the average or median of the slot identifiers and/or arrival times. In an embodiment, the time shift uses the following calculation: ΔT=G*median[δT(Rx1), δT(Rx2), . . . , δT(Rxn)], where G is a gain factor and δT(Rxi) is the difference between the expected arrival time and the actual arrival time of the ith received message. The gain factor G preferably ranges between 0.5 and 1, and is typically 0.75.
Though
In
In another embodiment, a node operating the search function performs the following steps: (1) Increase the communication frame length from T(idle)+T(TDMA) to T(idle)+2*T(TDMA), where T(idle) is the length of the idle period and T(TDMA) is the length of the TDMA schedule. (2) Search with the communication frame length of step (1) for [T(idle)+T(TDMA)]/T(TDMA)+1 cycles. (3) Decrease the communication frame length to T(idle) for the same number of cycles as in step (2). The node will repeat steps (1)-(3) until it receives a message from a neighboring node. After the message is received, the searching node approximately synchronizes with the node that broadcasted the received message. The communication frame length is reset back to T(idle)+T(TDMA) after the search is successful.
In a preferred embodiment, a join function is provided to the nodes of the distributed network for synchronization of nodes.
In a preferred embodiment, each node transmits a join message during every communication frame. Since the join message is transmitted from the idle period, when nodes are in synchronization, the join messages have no effect. Preferably, nodes with activated search functions do not transmit join messages.
The join function, as described above, allows for an energy efficient and scalable process for node synchronization. The join function can be used in circumstances in which the search function is not applicable. For example, when a plurality of nodes is subdivided into two or more groups with intra-group synchronized members, the search function will not be activated because there is no reason to begin searching when the members are already intra-group synchronized. Without operating the join function, inter-group communication is not possible and the groups will remain isolated from one another. When the join function is utilized, the multiple groups will eventually merge into one or a small number of groups. This merging of groups is accomplished in an undirected manner. In practice, a smaller group will likely synchronize to a larger group simply because the larger group has more join messages to broadcast than the smaller group.
Another aspect of the present work is the use of two (or more) communication channels with different physical behavior in a network. One of the communication channels can be for direct node-to-node communication, such as through messages sent via the TDMA time slots of the GMAC layer in a broadcast-only network as described in section A. In preferred embodiments, this first communication channel is a radio channel. The second channel has a different physical nature than the first, e.g. the second channel can be an optical channel.
One of the general capabilities provided by this approach can be referred to as “pairing” (or, more generally, as “grouping”). For example we assume a room has several lamps which are each individually controlled with a smart switch (referred to as an E-node switch). One or more remote controls are also present in this exemplary system. The E-node switches and the remote controls both have dual communication capability (e.g., RF and optical). Remote controls can be automatically associated to E-node switches by taking advantage of this dual communication capability. For example, we assume the optical range is shorter than the RF range (and is preferably considerably shorter than the RF range, so that neighborhoods of the nodes are effectively defined by the optical range), and that automatic pairing is programmed to occur between any remote and E-node switch that are in both optical and RF communication. In this situation, by bringing a remote and an E-node switch close enough to have both RF and optical links, these two devices become automatically paired. From this moment on, the remote controls its paired E-node switch. Two or more E-node switches can be paired to the same remote. Automatic grouping of E-node switches can be accomplished in the same way (i.e., switches that are sufficiently close to each other automatically group). Pairing a member switch of such a group with a remote can cause the entire group to be controlled by that remote.
Re-assignment of switches to remotes can be easily accomplished. The system can be programmed such that bringing a remote closer to a switch than any other remote (as sensed using the optical links) causes the switch to automatically assign (or re-assign) to this new remote. In this manner, flexible and automatic control of the room lighting can be provided. In this example, the remotes can be regarded as publishers of shared state signals, and the switches can be regarded as subscribers to these signals. Bringing a switch close to a remote can be regarded as triggering the update of the subscription assignment of the switch.
In an embodiment, this second channel can be used to transmit/receive an identification of the node. This transmission will occur in parallel to the radio transmission. In an example, a sending node transmits its identifier via the second channel during the send-timeslot of the GMAC. It is noted that in an embodiment, the GMAC layer follows a broadcast-only protocol where no addresses are needed, therefore no identifiers are sent in the primary radio transmission. A receiving node will listen to the second channel for identifiers of neighbors during all receiving timeslots. This allows matched filtering since the nodes know when to expect this second signal. The logical combination of the two channels gives information about the surroundings of the nodes.
In an embodiment, the second channel is an optical channel. By using light communication in addition to radio communication, each node can determine whether or not it is in a shared optical space (e.g. the same room of a building, the same car of a train, the same compartment of a ship, the same vehicle, etc.) as its neighbors. This optical information can be sensed and the nodes can self-organize into regions. Communication channels of different physical behavior other than optical or radio (e.g. ultrasound) can also be employed.
In an embodiment, nodes can be made temporarily sensitive to commissioning. The primary and secondary channel need not be synchronized. The node broadcasting the secondary signal need not be the same as the node sending the primary signal. A signal over the secondary communication channel makes the receiving nodes sensitive (it can be regarded as subscribing to a symbol), for some time period, to a command (which can be regarded as a symbol in shared memory terms) which is to be received through the primary communication channel. Returning to the drawing of
In an embodiment, node localization is possible due to the second communication channel. For example, the network of
As another example of localization, consider a building lighting system having one or more lamps per room and one or more markers (which may be mobile or fixed). The lamps can each be controlled with a corresponding smart switch. The smart switches and markers are each nodes of a network having dual communication capability (e.g., optical and RF). It is possible to automatically determine the location of a marker, e.g., by using grouping/pairing as described above. For example, a marker B1 may respond to a location inquiry by indicating that it “sees” (i.e., is in optical communication with) the nodes for lamps L1 and L2. If the physical location of lamps 1 and 2 is known (e.g., from building plans), the physical location of B1 is thereby known.
In an embodiment having a combination of radio and optical communications, the following is an example truth table that can be used by nodes to identify other nodes in the same optical region (e.g. the same room):
In this table, “0” is an indication that no signal is received, while “1” is a indication that a signal is received. With this kind of logic, nodes are capable of determining their relationship with surrounding nodes to a substantially greater degree than if only one kind of physical communication channel is employed.
The preceding examples can be regarded as examples of self-configuration and externally forced configuration approaches. For self-configuration, the physical channels can be synchronized to each other, one of the channels can be employed to transmit node ID, and nodes can make use of the synchronicity of received messages to make local conclusions (e.g., grouping/pairing). For externally forced configuration, there is no need for broadcasts on the two physical channels to be synchronized to each other. Instead, one of the channels can serve as a command channel used mainly to change the mode of the nodes (e.g., from a normal operating mode to a network configuration mode). Once nodes have been put into a configuration mode, configuration information such as group assignments or codes can be transmitted using either or both physical channels. The command channel can also be employed to switch nodes out of the configuration mode.
This application claims the benefit of U.S. provisional patent application 61/209,447, filed on Mar. 5, 2009, entitled “Ad hoc wireless network with a shared state”, and hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61209447 | Mar 2009 | US |