In a multi-hop network, a particular message may be passed through multiple nodes until it reaches its destination, rather than being transmitted directly from the source node to the destination node without any intermediate hops. Multi-hop networks may frequently use battery-powered nodes. One example is a sensor network in which small battery-powered sensor devices (e.g., sensor devices sometimes called ‘motes’) may establish a wireless network to report their sensor data through each other until the data eventually reaches a device that can communicate with devices outside the network. Such sensor devices may have a very low duty cycle for data gathering, which can save on battery usage by powering up only infrequently to sense the environment. But these nodes may have to maintain radio contact with neighboring nodes so that any sensor's data may be relayed through the network. Constantly keeping the communications circuits powered up may drain the battery quickly. The high power drain caused by keeping the communications circuits operational may be one obstacle to wide deployment of such networks.
Some embodiments of the invention may be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:
In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
References to “one embodiment”, “an embodiment”, “example embodiment”, “various embodiments”, etc., indicate that the embodiment(s) of the invention so described may include particular features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics. Further, some embodiments may have some, all, or none of the features described for other embodiments.
In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements co-operate or interact with each other, but they may or may not be in direct physical or electrical contact.
The term “processor” may refer to any device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory. A “computing platform” may comprise one or more processors.
The term “wireless” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not.
As used herein, unless otherwise specified the use of the ordinal adjectives “first”, “second”, “third”, etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
Various embodiments of the invention may be implemented in one or a combination of hardware, firmware, and software. The invention may also be implemented as instructions contained on a machine-readable medium, which may be read and executed by a computing platform to perform the operations described herein. A machine-readable medium may include any mechanism for storing, transmitting, or receiving information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium may include, but is not limited to, read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc. A machine-readable medium may also include a tangible medium through which electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.) may pass, such as but not limited to the antennas and/or interfaces that transmit and/or receive those signals, fiber-optic cables, etc.
Some embodiments of the invention may use a coordinated network sleep/wake technique in a hierarchical network. During the network wake mode, the various nodes may communicate up (to a parent node) and down (to a child node) in a hierarchical network structure using a normal communications operation. In the network sleep mode, each node may be in a non-operational low power mode much of the time, but may periodically exit the low power mode for a brief communication with its parent node and/or child node(s) before going back into the low power mode. Although it may be possible to communicate data up or down the network structure while the network is in a sleep mode, the network bandwidth may be greatly reduced during the sleep mode since most of the nodes may be in a non-operational state much of the time. Within the context of this document, a low power mode may comprise a state in which the node's radio, the node's processor, or both are in an essentially non-operational low power state. The low power state may make use of any feasible low power techniques, such as but not limited to: 1) disconnecting the power source from all or part of the associated circuitry, 2) reducing a voltage to all or part of the associated circuitry, 3) stopping a clock to all or part of the associated circuitry, 4) reducing the frequency of a clock to all or part of the associated circuitry, 5) etc. Although the embodiments described herein may use the root node to initiate a sleep mode or a wake mode for the entire network, some embodiments may use a branch node to initiate a sleep mode or a wake mode only for the nodes beneath it in the hierarchy.
For convenience and clarity of explanation, the illustrated communication links of
Network 100 of
In some embodiments, the network structure shown may be for certain types of operations, but a different network structure may be established by the same nodes for other types of operations. For example, the structure shown may be used to coordinate low power modes for the various network nodes, but an emergency communications protocol might allow any node to communicate with any other node for a different purpose, using link configurations other than those shown. In some embodiments the structure used for the same operations may be dynamically changed. For example, in the event that branch node 2 becomes inoperable, node 6 might establish a direct link to either node 0, node 1, or node 3.
In a network structure such as that shown in
In general, the low power modes may be coordinated in the following manner: 1) The root node may send a sleep command to the branch nodes below it in the tree structure. 2) After receiving the sleep command, each of the branch nodes may send a sleep command to each of the nodes below it in the tree structure. This may continue for as many levels of nodes as there are in the structure, until every leaf node has received a sleep command. 3) Each leaf node may send an acknowledgement back up to the branch node that sent it the sleep command. The leaf node may ascertain the time period during which the leaf node will be in the low power mode, and then the leaf node may enter the low power mode for that time period. In some embodiments, every leaf node that reports to the same branch node will enter and/or exit the low power mode at approximately the same time. 4) Once the branch node has determined that every leaf node reporting to it has entered (or is about to enter) the low power mode, the branch node may send an acknowledgment to the root node, ascertain a time period during which the branch node will cease communications with the root node, and then cease communications with the root node during that time period. In some embodiments, every branch node that reports to the root node will enter and/or exit the period of non-communication at approximately the same time. 5) When the leaf nodes exit the low power mode at the end of the applicable time period, those leaf nodes may communicate with their branch node under whatever communications protocol is then in effect. The leaf nodes may then re-enter the low power mode using whatever protocol is in effect, including ascertaining what time to spend in the low power mode and then entering the low power mode for that period of time. 6) In a similar manner, once the branch nodes exit the period of non-communication, they may communicate with the root node using whatever protocol is in effect, and may then re-enter another period of non-communication using whatever protocol is in effect, including ascertaining what time to spend in the period of non-communication and then entering that period of non-communications.
In the sequence just described, the branch nodes were described as being in a period of non-communication rather than a low power mode. This is because, at least in some embodiments, the period of the leaf nodes' low power mode and the period of non-communication with the root node may only partially overlap. If the branch node is using the same antenna and/or radio and/or processor for communicating with both the root node and the leaf nodes, it may be feasible to place those elements into a non-operational low power mode only when the two time periods overlap. Also, even though only three levels of nodes are described, the same basic procedures may be applied to four or more levels, by applying the operations of the branch node (communicating with a node above it and also with nodes below it in the tree structure) to any feasible number of levels between the root node and the leaf nodes.
In the illustrated sequence of
After receiving the sleep command, the leaf node may send an acknowledgement back to the branch node to indicate to the branch node that the leaf node has received the sleep command. In some embodiments, the leaf node and/or branch node may then ascertain more specific details of the period of time that the leaf node is to be in the low power mode. Such details may include one or more of, but are not limited to: 1) the start time of the low power mode, 2) the duration of the low power mode, 3) what type of low power mode, 4) etc. Each of the details may be ascertained in any of various ways, including but not limited to: 1) the branch node may dictate the details, 2) the details may be pre-determined, 3) the details may be negotiated between the branch node and the leaf node, 4) the leaf node may look up the details in a table, 5) etc. The period of time for the leaf node to be in the low power mode is indicated in
Once the branch node knows that the leaf node has entered the low power mode, or is to enter it at a known time, the branch node may use a timer of some type to measure the duration of the T-hold1 time period, so that the branch node will know when the leaf node is to exit the low power mode. The timers used by the various nodes may be of any feasible type, such as but not limited to: 1) a digital counter, 2) an analog timer, 3) etc., and the expiration of that time period may be indicated in any feasible manner, such as but not limited to: 1) an interrupt, 2) monitoring a counter, 3) a change of state of one or more bits in a register, 4) etc.
Once the branch node knows that every leaf node that reports to it has entered a low power mode, the branch node may send an acknowledgement to the root node. The branch node and the root node may then ascertain a time period during which the branch node and the root node will not communicate with each other. This time period is indicated in
Once the time period T-hold1 expires and the leaf node exits the low power mode, the branch node may communicate with that leaf node as indicated in
In a similar manner, once the time period T-hold2 expires, the root node and the branch node may communicate with each other, after which they may ascertain the details of another T-Hold2 period, and the branch node may then enter another period of non-communication with the root node. The root node may also communicate with other branch nodes after their periods of non-communication expire, after which they may also re-enter another period of non-communication in a manner similar to that just described. The communications between the root node and the various branch nodes may have any feasible timing relationships with respect to each other.
After the branch node receives an acknowledgment from each of its leaf nodes, it may send an acknowledgement to its root node (or to a higher-level branch node if there are multiple levels of branch nodes). Normal communications may subsequently resume between the branch node and the root node (or the higher-level branch node.
In the manner previously described, a network with a hierarchical link configuration (or a subset of that network) may be placed into a sleep mode, one level at a time. The network (or subset thereof) may subsequently be caused to exit the sleep mode, also one level at a time. While in the sleep mode, the nodes at each level may spend much of the time in a non-operational low power mode, while exiting the low power mode briefly to communicate one level up (or down) before re-entering the low power mode. In some embodiments the commands to enter or exit the sleep mode may propagate down through the network hierarchy, while the operations of entering or exiting the sleep mode may proceed up through the network hierarchy.
The foregoing description is intended to be illustrative and not limiting. Variations will occur to those of skill in the art. Those variations are intended to be included in the variations embodiments of the invention, which are limited only by the spirit and scope of the appended claims.