EP3593473A1 - A time distribution scheme for wireless mesh networks - Google Patents
A time distribution scheme for wireless mesh networksInfo
- Publication number
- EP3593473A1 EP3593473A1 EP18763645.1A EP18763645A EP3593473A1 EP 3593473 A1 EP3593473 A1 EP 3593473A1 EP 18763645 A EP18763645 A EP 18763645A EP 3593473 A1 EP3593473 A1 EP 3593473A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- time
- estimate
- node
- uncertainty
- beacon
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
- H04W52/0216—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- Embodiments of the present invention relate generally to wireless network communications and, more specifically, to a time distribution scheme for wireless mesh networks.
- a conventional wireless mesh network includes a plurality of nodes configured to communicate with one another.
- both continuously-powered nodes (CPDs) and battery-powered nodes (BPDs) reside within the mesh network and communicate with one another.
- CPDs are coupled to a power grid and have continuous access to power (except during power outages). CPDs typically reside in a
- BPDs are battery-powered and therefore have only a finite supply of power. BPDs reside in a different subdomain of the overarching mesh network referred to as the "BPD mesh.” In operation, the CPDs and BPDs may implement substantially the same communication protocol. In such cases, the nodes within one subdomain of the wireless network communicate in a manner that is consistent with how nodes in the other subdomain of the wireless network communicate.
- the CPDs When CPDs are coupled to the power grid, the CPDs can be configured to remain powered on for long intervals of time. During those intervals, a given CPD may continuously perform transmit and receive operations. Conversely, because BPDs have only a limited supply of battery power, the BPDs are usually configured to remain powered off for long intervals of time. For example, a given BPD may power on during a scheduled communication window, transmit and/or receive data, and then return to a powered off state. In practice, a BPD mesh may remain powered off 97% percent of the time in order to conserve power. [0006] With respect to coordinating communications with one another, the BPDs include a clock circuit that maintains an estimate of the current time.
- BPDs oftentimes cannot maintain an accurate estimate of time due to power limitations.
- BPDs typically lack sufficient power to support clock correction hardware, such as temperature-controlled oscillators. Consequently, the clock of a conventional BPD may be subject to significant clock drift, which can prevent the BPD from accurately predicting when a communication window is to occur. If a given BPD is not active during a particular communication window, then that BPD cannot communicate with other BPDs active during the communication window. In such a situation, the BPD may become separated from the mesh network.
- One solution to the above problem is to source time updates into the BPD mesh from the CPD mesh.
- the CPD mesh may be coupled to a source of accurate time, such as a NTP server.
- the CPD mesh can provide the BPD mesh with periodic time updates.
- the CPD mesh transmits a time beacon to edge nodes in the BPD mesh, and those nodes along with the intermediate nodes in the BPD mesh then propagate the time beacon across the BPD mesh.
- One problem with this approach is that with larger BPD meshes the accuracy of the time beacon can degrade
- One embodiment of the present invention sets forth a computer-implemented method for coordinating time across a mesh network, including determining a first receive window associated with a first hop layer of the wireless mesh network, wherein a first node resides within the first hop layer, determining a second receive window associated with a second hop layer of the wireless mesh network, wherein a second node resides within the second hop layer, receiving a first set of time beacons during the first receive window, generating a first time beacon based on the first set of time beacons, and transmitting the first time beacon from the first node to the second node during the second receive window.
- At least one advantage of the technique described herein is that battery- powered devices can operate within the wireless mesh network for long periods of time with a limited energy supply while maintaining coordinated communications with one another.
- Figure 1 illustrates a network system configured to implement one or more aspects of the present invention
- Figure 2 illustrates a network interface configured to transmit and receive data within the mesh network of Figure 1 , according to various embodiments of the present invention
- Figures 3A-3D illustrates how time beacons are propagated to successive layers of battery-powered devices within the wireless mesh network of Figure 1 , according to various embodiments of the present invention
- Figures 4A-4C illustrates how time beacon transmissions are coordinated between layers of battery-powered devices within the wireless mesh network of Figure 1 , according to various embodiments of the present invention
- Figure 5 is a flow diagram of method steps for distributing time beacons to nodes within a wireless mesh network based on hop layer, according to various embodiments of the present invention
- Figure 6 is a data flow diagram illustrating how the nodes in the wireless mesh network of Figure 1 compute time estimates, according to various embodiments of the present invention
- Figure 7 is a data flow diagram illustrating how nodes in the wireless mesh network of Figure 1 compute uncertainty estimates for the time estimates of Figure 6, according to various embodiments of the present invention
- Figure 8 illustrates the clock drift of a node in the wireless mesh network of Figure 1 over a time interval, according to various embodiments of the present invention.
- Figure 9A is a flow diagram of method steps for generating time estimates, according to various embodiments of the present invention.
- Figure 9B is a flow diagram of method steps for transmitting time beacons to nodes in downlink hop layers of a wireless mesh network, according to various embodiments of the present invention.
- FIG. 1 illustrates a network system configured to implement one or more aspects of the present invention.
- the network system 100 includes a wireless mesh network 102, which may include a source node 1 10, intermediate nodes 130 and destination node 1 12.
- the source node 1 10 is able to communicate with certain intermediate nodes 130 via communication links 132.
- the intermediate nodes 130 communicate among themselves via communication links 134.
- the intermediate nodes 130 communicate with the destination node 1 12 via
- the network system 100 may also include an access point 150, a network 152, and a server 154.
- a discovery protocol may be implemented to determine node adjacency to one or more adjacent nodes.
- intermediate node 130-2 may execute the discovery protocol to determine that nodes 1 10, 130-1 , 130-3, and 130-5 are adjacent to node 130-2.
- this node adjacency indicates that communication links 132-2, 134-2, 134-4 and 134-3 may be established between the nodes 1 10, 130-1 , 130-3, and 130-5, respectively.
- Any technically feasible discovery protocol may be implemented without departing from the scope and spirit of embodiments of the present invention.
- the discovery protocol may also be implemented to determine the hopping sequences of adjacent nodes, i.e. the sequence of channels across which nodes periodically receive payload data.
- a "channel" may correspond to a particular range of frequencies.
- Each intermediate node 130 may be configured to forward the payload data based on the destination address.
- the payload data may include a header field configured to include at least one switch label to define a predetermined path from the source node 1 10 to the destination node 1 12.
- a forwarding database may be maintained by each intermediate node 130 that indicates which
- the forwarding database may represent multiple paths to the destination address, and each of the multiple paths may include one or more cost values. Any technically feasible type of cost value may characterize a link or a path within the network system 100.
- each node within the wireless mesh network 102 implements substantially identical functionality and each node may act as a source node, destination node or intermediate node.
- the access point 150 is configured to communicate with at least one node within the wireless mesh network 102, such as intermediate node 130-4. Communication may include transmission of payload data, timing data, or any other technically relevant data between the access point 150 and the at least one node within the wireless mesh network 102.
- Communication may include transmission of payload data, timing data, or any other technically relevant data between the access point 150 and the at least one node within the wireless mesh network 102.
- communications link 140 may be established between the access point 150 and intermediate node 130-4 to facilitate transmission of payload data between wireless mesh network 102 and network 152.
- the network 152 is coupled to the server 154 via communications link 142.
- the access point 150 is coupled to the network 152, which may comprise any wired, optical, wireless, or hybrid network configured to transmit payload data between the access point 150 and the server 154.
- the server 154 represents a destination for payload data originating within the wireless mesh network 102 and a source of payload data destined for one or more nodes within the wireless mesh network 102.
- the server 154 is a computing device, including a processor and memory, and executes an application for interacting with nodes within the wireless mesh network 102.
- nodes within the wireless mesh network 102 may perform measurements to generate measurement data, such as power consumption data.
- the server 154 may execute an application to collect the measurement data and report the measurement data.
- the server 154 queries nodes within the wireless mesh network 102 for certain data. Each queried node replies with requested data, such as consumption data, system status and health data, and so forth.
- each node within the wireless mesh network 102 autonomously reports certain data, which is collected by the server 154 as the data becomes available via autonomous reporting.
- each node within wireless mesh network 102 includes a network interface that enables the node to communicate wirelessly with other nodes.
- Each node 130 may implement any and all embodiments of the invention by operation of the network interface.
- An exemplary network interface is described below in conjunction with Figure 2.
- Figure 2 illustrates a network interface configured to transmit and receive data within the mesh network of Figure 1 , according to various embodiments of the present invention.
- Each node 1 10, 1 12, 130 within the wireless mesh network 102 of Figure 1 includes at least one instance of the network interface 200.
- the network interface 200 may include, without limitation, a microprocessor unit (MPU) 210, a digital signal processor (DSP) 214, digital to analog converters (DACs) 220, 221 , analog to digital converters (ADCs) 222, 223, analog mixers 224, 225, 226, 227, a phase shifter 232, an oscillator 230, a power amplifier (PA) 242, a low noise amplifier (LNA) 240, an antenna switch 244, and an antenna 246.
- Oscillator 230 may be coupled to a clock circuit (not shown) configured to maintain an estimate of the current time.
- MPU 210 may be configured to update this time estimate, and other data associated with that time estimate, by implementing the techniques described in greater detail below in conjunction with Figures 3A-9B.
- a memory 212 may be coupled to the MPU 210 for local program and data storage.
- a memory 216 may be coupled to the DSP 214 for local program and data storage.
- Memory 212 and/or memory 216 may be used to buffer incoming data as well as store data structures such as, e.g., a forwarding database, and/or routing tables that include primary and secondary path information, path cost values, and so forth.
- the MPU 210 implements procedures for processing IP packets transmitted or received as payload data by the network interface 200.
- the procedures for processing the IP packets may include, without limitation, wireless routing, encryption, authentication, protocol translation, and routing between and among different wireless and wired network ports.
- MPU 210 implements the techniques performed by the node when MPU 210 executes a firmware program stored in memory within network interface 200.
- the MPU 214 is coupled to DAC 220 and DAC 221 . Each DAC 220, 221 is configured to convert a stream of outbound digital values into a corresponding analog signal. The outbound digital values are computed by the signal processing
- the DSP 214 is also coupled to ADC 222 and ADC 223.
- Each ADC 222, 223 is configured to sample and quantize an analog signal to generate a stream of inbound digital values.
- the inbound digital values are processed by the signal processing procedures to demodulate and extract payload data from the inbound digital values.
- MPU 210 and/or DSP 214 are configured to buffer incoming data within memory 212 and/or memory 216.
- the incoming data may be buffered in any technically feasible format, including, for example, raw soft bits from individual channels, demodulated bits, raw ADC samples, and so forth.
- MPU 210 and/or DSP 214 may buffer within memory 212 and/or memory 216 any portion of data received across the set of channels from which antenna 246 receives data, including all such data.
- MPU 210 and/or DSP 214 may then perform various operations with the buffered data, including demodulation operations, decoding operations, and so forth.
- network interface 200 represents just one possible network interface that may be implemented within wireless mesh network 102 shown in Figure 1 , and that any other technically feasible device for transmitting and receiving data may be incorporated within any of the nodes within wireless mesh network 102.
- nodes 130 may transmit messages to server 154 that reflect various operating conditions associated with those nodes 130.
- the operating conditions associated with a given node 130 could include, for example, a set of environmental conditions and/or events detected by the node 130, status information associated with the portion of the wireless mesh network 202 to which the node 130 is coupled, and status information associated with a utility grid the node 130 is configured to monitor.
- nodes 130 may transmit messages to each other according to a transmission schedule. To follow the transmission schedule, each node 130 maintains a clock that can be updated based on time beacons received from neighboring nodes. The distribution of time beacons is discussed in greater detail below in conjunction with Figures 3A-9B.
- Figures 3A-3D illustrates how time beacons are propagated to successive layers of battery-powered devices within the wireless mesh network of Figure 1 , according to various embodiments of the present invention.
- wireless mesh network 102 of Figure 3A is divided into a continuously-powered device (CPD) mesh 300 and a battery-powered device (BPD) mesh 310.
- CPD mesh 300 includes CPDs 302(0) and 302(1 ) as well as a network time protocol (NTP) server 304.
- CPDs 300 may include one or more nodes 130 and/or APs 150 of Figure 1 .
- BPD mesh 310 includes BPDs 312(0) through 312(4).
- BPDs 312 may include one or more nodes 130 of Figure 1 .
- outbound data data that is transmitted from CPD mesh 300 to BPD mesh 310
- inbound data data that is transmitted from BPD mesh 310 towards CPD mesh 300
- inbound data data that is transmitted from BPD mesh 310 towards CPD mesh 300
- BPDs 312 of BPD mesh 310 are included in different "hop layers" based on hopping distance to CPD mesh 300.
- BPDs 312(0) and 312(1 ) are included in hop layer one (HL1 ) because those nodes are one hop away from CPD mesh 300.
- BPDs 312(2) through 312(4) are included in hop layer two (HL2) because those nodes are two hops away from CPD mesh 300.
- Wireless mesh network 102 is configured to propagate time beacons across CPD mesh 300 and BPD mesh 310 in a coordinated manner based on hop layer, as described in greater detail below.
- NTP server 304 is configured to transmit time beacons 320(0) and 320(1 ) to CPDs 302(0) and 302(1 ). These transmissions could occur during a receive window zero (RW0) or during any other receive window.
- NTP server 304 could be, for example, a National Institute of Standards and Technology (NIST) Internet time server (ITS).
- CPDs 302 receive these time beacons and update internal clocks. Because CPDs 302 have continuous access to power, CPDs 302 may operate in receive mode most of the time and therefore receive time beacons 320 and perform clock updates frequently.
- CPDs 302 may implement temperature compensated oscillators (TCXOs) or other time correction techniques in order to minimize clock drift.
- TCXOs temperature compensated oscillators
- CPDs 302 may maintain reasonably accurate time estimates that can then be periodically transmitted into BPD mesh 310, as described below.
- CPDs 302(0) and 302(1 ) transmit time beacons 320(2), 320(3), and 320(4) into BPD mesh 310.
- CPD 302(0) transmits time beacons 320(2) and 320(3) to BPDs 312(0) and 312(1 ), respectively
- CPD 302(1 ) transmits time beacon 320(4) to BPD 312(1 ).
- BPDs 312 receive these time beacons and perform a clock update using a procedure that is described in greater detail below in conjunction with Figures 6A-9C.
- BPDs 312 then generate and transmit time beacons 320(5), 320(6), 320(7) and 320(8) during receive window two (RW2). Specifically, BPD 312(0) transmits time beacons 320(5) and 320(6) to BPDs 312(2) and 312(3) respectively, and BPD 312(1 ) transmits time beacons 320(7) and 320(8) to BPDs 312(3) and 312(4), respectively. BPDs 312(2), 312(3) and 312(4) may then transmit additional time beacons in an outbound direction provided wireless mesh network 102 includes additional hop layers (none shown). Each BPD 312 may also broadcast time beacons to neighbors so that time beacon transmissions from a given BPD 312 to neighboring BPDs 312 occur at substantially the same time.
- CPD mesh 300 and BPD mesh 310 interoperate in the above manner in order to distribute time beacons 320 throughout wireless mesh network 102.
- wireless mesh network 102 can minimize the amount of time that each BPD 312 is active and receiving time beacons, thereby conserving battery life.
- BPDs 312 can coordinate general data communications according to a relatively strict schedule, thereby minimizing the amount of time those BPDs 312 are actively receiving data. The coordination of time beacon transmissions is described in greater detail below in conjunction with Figures 4A-4C.
- Figures 4A-4C illustrates how time beacon transmissions are coordinated between layers of battery-powered devices within the wireless mesh network of Figure 1 , according to various embodiments of the present invention.
- a plot 400 includes a time axis 402 and a hop layer axis 404.
- Time axis 402 is divided into receive windows RW0, RW1 , and RW2, as also discussed above in conjunction with Figures 3A-3D.
- Hop layer axis 404 is divided into hop layers HL0, HL1 , and HL2, also discussed above in conjunction with Figures 3A-3D.
- plot 400 illustrates times when nodes included in different hop layers receive time beacons, as described in greater detail below.
- each BPD 312 included in a given hop layer (HL1 or HL2) is configured to receive time beacons 320 during a receive window that corresponds to the given hop layer.
- RW1 corresponds to HL1
- RW2 corresponds to HL2.
- a given BPD 312 is configured to power on and actively receive time beacons 320 during the corresponding receive window and to power down during other receive windows in order to conserve power, as described.
- a BPD 312 may receive continuously during the receive window or, alternatively, only receive intermittently during the receive window. For example, a BPD 312 could enter a low power sniff mode during periodic subintervals of time within the receive window and power down during other periodic subintervals of time within the receive window. If the BPD 312 detects energy associated with an incoming transmission during the receive window, the BPD 312 could then enter a higher power receive mode and receive the incoming transmission.
- each time beacon 320 includes an estimate of the current time and an estimate of the uncertainty associated with that time.
- the BPD 312 parses the time estimates and corresponding uncertainty estimates and then computes an average of those time estimates. In doing so, the BPD 312 weights each received time estimate with the corresponding uncertainty estimate and then averages the weighted time estimates to generate an estimate of the current time.
- the BPD 312 also combines the received uncertainty values to generate an uncertainty estimate for the current time estimate.
- the BPD 312 modifies the uncertainty estimate based on clock drift associated with the BPD 312. Finally, the BPD 312 generates a time beacon that includes the current time
- a BPD 312 may expand or contract the receive window associated with the BPD 312 depending on the uncertainty of time maintained by the BPD 312. For example, if the uncertainty of time maintained by the BPD 312 increases, the BPD 312 could expand the receive window during which the BPD 312 powers on in order to mitigate that uncertainty and increase the likelihood of receiving incoming transmissions. Then, if the uncertainty of time maintained by the BPD 312 decreases, the BPD 312 could contract the receive window in order to conserve power.
- Figure 5 is a flow diagram of method steps for distributing time beacons to nodes within a wireless mesh network based on hop layer, according to various embodiments of the present invention.
- the method steps are described in conjunction with the systems of Figures 1 -4C, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the present invention.
- a method 500 begins at step 502, where a first node determines that the first node resides in a first hop layer.
- This first node may be one of the BPDs 312 shown in Figures 3A-3D.
- the first hop layer may be one of HL1 and HL2, also shown in Figures 3A-3D.
- the first node determines a first receive window associated with the first hop layer.
- the first receive window may be RW1 or RW2 of Figures 3C-3D.
- the first node determines a second receive window associated with a second hop layer that is downlink of the first hop layer. For example, if the first node resides in HL1 and receives during RW1 , then the second receive window could be RW2.
- the first node temporarily awakens during the first receive window to receive a first set of time beacons 320 from one or more nodes included in an uplink hop layer.
- the first node could reside in HL1 and awaken during RW1 to receive time beacons 320 from CPDs 302 within CPD mesh 300.
- the first node adjusts the clock associated with the first node based on the received time beacons 320.
- the first node computes a weighted average of the received time beacons 320. The first node may weight the time estimate included in a given time beacon 320 based on an uncertainty value associated with that time estimate. This approach is described in greater detail below in conjunction with Figures 6-9B.
- the first node generates a first time beacon based on the first set of time beacons. In doing so, the first node includes within the first time beacon the current time and estimated uncertainty of the current time at the time when the first time beacon is to be sent. This approach is also described in greater detail below in conjunction with Figures 6-9B.
- the first node transmits the first time beacon to one or more nodes within the second hop layer during the second receive window. In one embodiment, the first node randomly selects a transmit time within the second time window. The randomly selected time may be computed once and then reused during future receive windows, or randomly selected each time the first node transmits. This approach may reduce packet collisions for nodes receiving during the second receive window. Upon transmitting the first time beacon, the first node may then power down until the first receive window occurs again.
- the various nodes included in wireless mesh network 102 may perform the above technique in order to distribute time beacons throughout wireless mesh network 102.
- each node implements various techniques for processing received time beacons 320, updating a clock value, and generating new beacons to be transmitted downlink to other nodes. These techniques are described in greater detail below. Mitigating Uncertainty in Time Values
- FIG. 6 is a data flow diagram illustrating how the nodes in the wireless mesh network of Figure 1 compute time estimates, according to various embodiments of the present invention.
- a given BPD 312 is configured to receive time beacons 320 from uplink nodes and to then process the time estimates included in those time beacons to generate a combined estimate of the current time.
- Data flow 600 represents the process executed by the BPD 312 when combining the received time estimates.
- data flow 600 includes several instances of a weight function (WF) 600 and a combining function (CF) 604.
- WF 602 receives a different time TO through TN and corresponding uncertainty estimates U0 through UN.
- Each WF 602 then generates a different weighted time TWO through TWN.
- a given weighted time represents a time estimate that is weighted based on the corresponding uncertainty estimate.
- the BPD 312 normalizes each uncertainty estimate to fall between 0 and 1.
- CF 604 then combines the weighted times TW to generate time estimate 606.
- the BPD 312 may then update an internal clock to reflect time estimate 606.
- data flow diagram 600 is a generic depiction of a weighted averaging function meant only to illustrate one approach to combining time estimates based on corresponding uncertainty estimates. Any and all approaches to combining time estimates using associated uncertainty estimates falls within the scope of the invention.
- "uncertainty" can be measured with a wide variety of metrics. For example, uncertainty in the context of time values could be expressed as a positive or negative time delta measured in milliseconds (ms) or another standard time interval. Alternatively, uncertainty could be expressed as a frequency delta measured in parts per million (PPM).
- a given BPD 312 is also configured to combine received uncertainty estimates to generate a combined uncertainty estimate associated with time estimate 606, as described in greater detail below in conjunction with Figure 7.
- Figure 7 is a data flow diagram illustrating how nodes in the wireless mesh network of Figure 1 compute uncertainty estimates for the time estimates of Figure 6, according to various embodiments of the present invention.
- a given BPD 312 is configured to receive time beacons 320 from uplink nodes and to then process uncertainty estimates included in those time beacons to generate a combined uncertainty estimate.
- the combined uncertainty estimate reflects the uncertainty of the time estimate generated via the approach described above in conjunction with Figure 6.
- Data flow 700 depicts the process executed by the BPD 312 when generating the combined uncertainty estimate.
- data flow 700 includes various instances of normalizing function (NF) 702 and a combining function (CF) 704.
- NF 702 receives a different uncertainty estimate UO through UN and then normalizes the received estimate to fall between zero and 1 .
- each NF 702 receives all uncertainty estimates UO through UN, sums those values together, and then divides one uncertainty estimate by that sum in order to normalize the one uncertainty estimate to fall between zero and one.
- CF 704 receives the normalized uncertainty values and then combines those values to generate uncertainty estimate 706.
- Uncertainty estimate 706 represents the uncertainty associated with time estimate 606 discussed above in conjunction with Figure 6.
- a BPD 312 is configured to parse received time beacons 320 and to generate an estimate of the current time and an estimate of the uncertainty associated with that current time. Again, uncertainty may be measured as a time delta, a percentage error such as PPM, or using other metrics. In one embodiment, the BPD 312 discards received time beacons having an uncertainty estimate that falls beneath a given threshold. Based on the current time estimate, the BPD 312 updates an internal clock, as described, and then generates another time beacon via a technique described in greater detail below in conjunction with Figure 8.
- Figure 8 illustrates the clock drift of a node in the wireless mesh network of Figure 1 over a time interval, according to various embodiments of the present invention.
- a plot 800 includes a time axis 810 and an uncertainty axis 820.
- Time axis 810 includes an update time (Tu) 812 and a transmit time (Tt) 814.
- Tu 812 corresponds to time estimate 606, while Tt 814 is a subsequent time when BPD 312 is scheduled to transmit a time beacon.
- Uncertainty axis includes initial uncertainty (Ui) 822 and final uncertainty (Uf) 824.
- Ui 822 represents uncertainty estimate 706, and Uf 824 represents the predicted uncertainty of time maintained by the BPD 312 at Tt 814.
- Drift 830 represents the drift of an oscillator within a given BPD 312 over time. That oscillator could be, for example, oscillator 230 shown in Figure 2.
- clock drift or “drift” is a natural phenomenon whereby the number of oscillations of a harmonic oscillator changes within a given time interval in response to environmental conditions. Those environmental conditions could be temperature changes, pressure changes, structural breakdown of the oscillator itself, and so forth.
- plot 800 illustrates the predicted clock drift of an oscillator within the BPD 312 over a period of time between when a previous clock update was performed based on time estimate 606, and when a time beacon 320 is to be transmitted.
- drift 830 includes both positive and negative components corresponding to an oscillator with increasing or decreasing frequency, respectively, as is shown. In addition, drift 830 is biased by Ui 822 associated with uncertainty estimate 706. Generally, uncertainty estimate 706 represents the pre-existing uncertainty associated with time estimate 606 at Tu 812.
- each downlink BPD 312 may then perform a similar process as that described above in order to generate a time estimate, generate an uncertainty estimate, and then transmit a time beacon 320 to downlink nodes that includes the current time and uncertainty associated with that time.
- drift 830 may be determined using several techniques. For example, drift 830 could be computed empirically by the manufacturer of the oscillator and then pre-programmed into the BPD 312.
- drift 830 could be computed by the BPD 312 on an ongoing basis via periodic testing procedures. Further, drift 806 could be computed on a theoretical basis and therefore represent the predicted drift of a theoretical oscillator. Persons skilled in the art will recognize that other techniques for determining drift 830 may also be applied.
- Figure 9A is a flow diagram of method steps for generating time estimates, according to various embodiments of the present invention. Although the method steps are described in conjunction with the systems of Figures 1 -4C and 6-8, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the present invention.
- a method 900 begins at step 902, where a BPD 312 receives a first set of time beacons from one or more nodes in an uplink hop layer.
- the nodes in the uplink hop layer could be CPDs 302 or BPDs 312.
- the received time beacons include an estimate of the current time and an uncertainty estimate corresponding to each time estimate.
- the BPD 312 parses each time beacon in the first set of time beacons to extract the associated time estimate and uncertainty estimate.
- the BPD 312 weights the time value of each time beacon based on the corresponding uncertainty value. In doing so, BPD 312 may implement data flow 600 shown in Figure 6. At step 908, the BPD 312 combines the weighted times to generate a first time. The first time could be time estimate 606 of Figure 6. At step 910, the BPD 312 performs a clock update to update an internal clock to reflect the first time. In this manner, a given BPD 312 maintains an estimate of current time based on a set of received time beacons 320. The BPD 312 also then generates and transmits a time beacon, as described below in conjunction with Figure 9B.
- Figure 9B is a flow diagram of method steps for transmitting time beacons to nodes in downlink hop layers of a wireless mesh network, according to various embodiments of the present invention.
- the method steps are described in conjunction with the systems of Figures 1 -4C and 6-8, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the present invention.
- the method 900 of Figure 9A continues at step 912, where BPD 312 generates a time beacon.
- the BPD 312 determines a transmit time for broadcasting the time beacon to nodes in a downlink hop layer.
- the transmit time could be, for example, Tt 814 of Figure 8, and is generally derived by incrementing, based on oscillations of an oscillator, the current time estimate discussed above in conjunction with Figure 9A.
- the BPD 312 computes an uncertainty of the transmit time based on the uncertainty estimates included in each time beacon in the first set of time beacons and the first drift rate of first node. In doing so, the BPD 312 may implement data flow 700 shown in Figure 7 to generate an initial uncertainty value, and then implement the technique described in conjunction with Figure 8 to estimate the uncertainty of the transmit time at the transmit time.
- the BPD 312 includes the transmit time and the uncertainty estimate into the time beacon.
- the BPD 312 transmits the time beacon to nodes in a downlink hop layer at the transmit time.
- a wireless mesh network includes a mesh of continuously-powered devices (CPDs) and a mesh of battery-powered devices (BPDs).
- the BPDs are organized into hop layers based on hopping distance to the mesh of CPDs.
- CPDs transmit time beacons to BPDs in a first hop layer during a first receive window associated with the first hop layer.
- the BPDs in the first hop layer then transmit time beacons to BPDs in a second hop layer during a second receive window.
- the wireless mesh network propagates time values throughout the BPD mesh. Based on these time values, the BPDs power on during short time intervals to exchange data with neighboring BPDs, and then power off for longer time intervals, thereby conserving battery power.
- the techniques described herein for conserving battery power for BPDs may also be applied to conserve power consumption of CPDs. [0072]
- At least one advantage of the techniques described herein is that battery- powered devices can operate within the wireless mesh network for long periods of time with a limited energy supply.
- the battery-powered devices propagate time throughout the wireless mesh network in the manner described, the battery- powered devices can coordinate data communications to occur during specific, scheduled times. Then, the battery-powered devices can power down to conserve energy during other times. In addition, because the battery-powered devices report the uncertainty of transmitted time beacons, other battery-powered devices can scale the size of receive windows to increase the likelihood that data transmissions are received. [0073] The descriptions of the various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. [0074] Aspects of the present embodiments may be embodied as a system, method or computer program product.
- aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "module” or "system.”
- aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- processors may be, without limitation, general purpose processors, special-purpose processors, application-specific processors, or field-programmable processors.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/452,637 US10477500B2 (en) | 2017-03-07 | 2017-03-07 | Time distribution scheme for wireless mesh networks |
US15/452,630 US10506536B2 (en) | 2017-03-07 | 2017-03-07 | Time distribution scheme for wireless mesh networks |
PCT/US2018/020984 WO2018165056A1 (en) | 2017-03-07 | 2018-03-05 | A time distribution scheme for wireless mesh networks |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3593473A1 true EP3593473A1 (en) | 2020-01-15 |
EP3593473A4 EP3593473A4 (en) | 2021-01-06 |
Family
ID=63449132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP18763645.1A Withdrawn EP3593473A4 (en) | 2017-03-07 | 2018-03-05 | A time distribution scheme for wireless mesh networks |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3593473A4 (en) |
CA (1) | CA3055751A1 (en) |
WO (1) | WO2018165056A1 (en) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE426289T1 (en) * | 2004-11-25 | 2009-04-15 | Fraunhofer Ges Forschung | METHOD FOR SYNCHRONIZATION AND DATA TRANSFER |
US8233456B1 (en) * | 2006-10-16 | 2012-07-31 | Marvell International Ltd. | Power save mechanisms for dynamic ad-hoc networks |
US8170482B2 (en) * | 2008-08-01 | 2012-05-01 | Qualcomm Incorporated | Method and apparatus for receiving a transmission at a receiver |
US8971356B2 (en) * | 2011-04-29 | 2015-03-03 | Rad Data Communications Ltd. | Timing over packet demarcation entity |
US8619789B2 (en) * | 2011-07-12 | 2013-12-31 | Cisco Technology, Inc. | Timing re-synchronization with reduced communication energy in frequency hopping communication networks |
US9125152B2 (en) * | 2011-08-16 | 2015-09-01 | Utc Fire & Security Corporation | Beacon synchronization in wifi based systems |
EP2893656B1 (en) * | 2012-09-05 | 2016-11-02 | Khalifa University of Science, Technology and Research | Method and system for clock offset and skew estimation |
US9503961B2 (en) * | 2014-12-24 | 2016-11-22 | Intel Corporation | System and method for joining neighbor awareness networking hidden clusters |
WO2016123561A1 (en) * | 2015-01-30 | 2016-08-04 | Silver Spring Networks, Inc. | Techniques for managing heterogeneous nodes configured to support a homogeneous communication protocol |
US10917889B2 (en) * | 2015-01-30 | 2021-02-09 | Itron Networked Solutions, Inc. | Techniques for managing heterogenous nodes configured to support a homogeneous communication protocol |
WO2017030473A1 (en) * | 2015-08-14 | 2017-02-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus in a partially meshed network that includes multiple mesh nodes |
-
2018
- 2018-03-05 WO PCT/US2018/020984 patent/WO2018165056A1/en unknown
- 2018-03-05 EP EP18763645.1A patent/EP3593473A4/en not_active Withdrawn
- 2018-03-05 CA CA3055751A patent/CA3055751A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3593473A4 (en) | 2021-01-06 |
CA3055751A1 (en) | 2018-09-13 |
WO2018165056A1 (en) | 2018-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10477500B2 (en) | Time distribution scheme for wireless mesh networks | |
US10506536B2 (en) | Time distribution scheme for wireless mesh networks | |
US10708172B2 (en) | Energy aware routing for mesh networks | |
EP3251307B1 (en) | Techniques for managing heterogeneous nodes configured to support a homogeneous communication protocol | |
WO2018038981A1 (en) | Coalescing message transmissions across a network | |
US11178530B2 (en) | Power-efficient discovery process for nodes within a wireless mesh network | |
US10849086B2 (en) | Compensating for oscillator drift in wireless mesh networks | |
EP3593473A1 (en) | A time distribution scheme for wireless mesh networks | |
WO2016123561A1 (en) | Techniques for managing heterogeneous nodes configured to support a homogeneous communication protocol | |
US9800467B2 (en) | Technique for changing the operating state of a node within a network | |
US10397821B2 (en) | Reduced latency operating modes for wireless mesh networks | |
AU2019300862B2 (en) | Power-efficient discovery process for nodes within a wireless mesh network | |
US10420007B2 (en) | Energy aware routing for mesh networks | |
AU2018346162B2 (en) | Energy aware routing for mesh networks | |
US10433197B2 (en) | Compensating for oscillator drift in wireless mesh networks | |
CA3070164A1 (en) | Compensating for oscillator drift in wireless mesh networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20191007 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ITRON NETWORKED SOLUTIONS, INC. |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: POORREZAEI, KAMAL |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20201209 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04W 52/02 20090101ALI20201203BHEP Ipc: H04W 84/18 20090101ALI20201203BHEP Ipc: H04W 84/12 20090101ALI20201203BHEP Ipc: H04W 56/00 20090101ALI20201203BHEP Ipc: H04J 3/06 20060101AFI20201203BHEP |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20221001 |