WO2020006397A1 - Using estimated time drift to determine keep alive periodicity in synchronized networks - Google Patents
Using estimated time drift to determine keep alive periodicity in synchronized networks Download PDFInfo
- Publication number
- WO2020006397A1 WO2020006397A1 PCT/US2019/039803 US2019039803W WO2020006397A1 WO 2020006397 A1 WO2020006397 A1 WO 2020006397A1 US 2019039803 W US2019039803 W US 2019039803W WO 2020006397 A1 WO2020006397 A1 WO 2020006397A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- communication device
- wireless communication
- time drift
- keep alive
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/005—Routing actions in the presence of nodes in sleep or doze mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/026—Details of "hello" or keep-alive messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/244—Connectivity information management, e.g. connectivity discovery or connectivity update using a network of reference devices, e.g. beaconing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
Definitions
- low-power wireless networks increasingly using time synchronized medium access control (MAC) protocols.
- MAC medium access control
- the nodes in such networks use time slots for communication and thus maintain clock synchronicity.
- Factors such as manufacturing differences, temperature, and supply voltage can cause the clocks in the network nodes to drift with respect to one another. Therefore, the nodes may need to resynchronize periodically.
- Examples herein relate to methods and apparatus for using estimated time drift to determine keep alive periodicity in synchronized networks.
- a method for operating a node in a wireless network includes computing an estimated time drift between the node and a parent node of the node, and using the estimated time drift and a number of hops between the node and a root node of the wireless network to determine a keep alive period for the node.
- a wireless communication device in a wireless network includes a memory storing software instructions and a processor coupled to the memory to execute the software instructions, and execution of the software instructions causes the wireless communication device to compute an estimated time drift between the wireless communication device and a first parent wireless communication device of the wireless communication device, and use the estimated time drift and a number of hops between the wireless communication device and a root wireless communication device of the wireless network to determine a keep alive period for the wireless communication device.
- Fig. 1 depicts an example multi-hop wireless network.
- Fig. 2 is a flow diagram of a method for estimating drift between a pair of nodes in the network of Fig. 1.
- Fig. 3 is a flow diagram of a method for determining a keep alive period in the network of Fig. 1.
- Fig. 4 is a flow diagram of a method for determining and using a keep alive compensation factor in the network of Fig. 1.
- Fig. 5 is an example of a parent synchronization information element.
- FIG. 6 is a simplified block diagram of an example wireless communication device.
- Fig. 7 is a simplified block diagram of an example wireless communication device. DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
- Examples are described herein in reference to“IEEE Standard for Low-Rate Wireless Personal Area Networks (WPANs),” The Institute of Electrical and Electronics Engineers, Inc., New York, NY, April 22, 2016, which is incorporated by reference and referred to as“IEEE 802.15.4-2015” herein. Further, examples are based on timeslotted channel hopping (TSCH) as described in IEEE 802.15.4-2015. However, the concepts described herein are applicable to other time synchronized protocols such as, for example, WirelessHART, a wireless networking technology standard developed by the HART Communication Foundation, ISA 100.1 la, a wireless networking technology standard developed by the International Society of Automation, and IEEE 802. l5.4e-20l2.
- Fig. 1 depicts an example multi-hop wireless network 100.
- the example network 100 includes a root node 104, four intermediate nodes 106, 108, 110, 112 and five leaf nodes 114, 116, 118, 120, 122.
- a node may be, for example, a control device such as a light bulb or a door lock or a sensing device such as a smoke alarm or door sensor in an alarm system or may be both a control device and a sensing device such as a thermostat or a base station in an alarm system.
- An external device 122 such as a laptop, smart phone, or tablet communicates with nodes in the network 100 via the root node 104.
- Each of the nodes 104-122 includes a TSCH medium access (MAC) layer as defined in IEEE 802.15.4-2015.
- TSCH medium access
- time is divided into slots for communication, and all intermediate and leaf nodes are time-synchronized to the root node.
- the time slots are grouped in slot frames and a TSCH schedule managed by another network layer instructs each node as to what the node should do in a given time slot: transmit, receive, or sleep.
- the schedule is a logical two-dimensional matrix with one dimension determining the slot offset in the slot frame and the other dimension designating the channel offset in the available frequency band.
- the width of the schedule is equal to the slot frame width and the depth is equal to the number of available frequencies (or channels) in the allotted band.
- a TSCH network uses channel hopping in which a particular MAC layer channel offset at the same time slot over successive slot frames in the schedule translates into a different frequency (or physical channel) at each iteration of the slot frame. The result is that successive packets exchanged between neighbor nodes are communicated at different frequencies. Because all nodes share common time and channel information, nodes can hop over the entire channel space to minimize the negative effects of multipath fading and interference and can do so in a slotted way to avoid collisions, minimizing the need for retransmissions.
- a coordinator such as the root node 104 and/or an intermediate node 106, 108, 110, 112 transmits periodic beacons that contain information that facilitates nodes joining and communicating in the network.
- Information contained in the beacon packets can be, for example, the channels to be used at a specific time, timing information regarding when a beacon was transmitted, link information, etc.
- the nodes in a TSCH network each have an internal clock, such as a crystal oscillator.
- the frequency of a crystal can be affected by, for example, manufacturing differences, temperature, and/or supply voltage.
- Data traffic between nodes in a TSCH network is used to implicitly resynchronize a node with its parent node.
- a node may communicate a keep alive frame with its parent node at least once per a keep alive period to maintain synchronicity with the root node and/or the parent node.
- the use of keep alive frames by a node for synchronization operates as follows. The node sets a wakeup timer for the keep alive period. When the timer expires, the node sends a keep alive frame, e.g. , a null frame, to its parent node asking for a time correction. The parent node replies with an acknowledgement frame that contains the timing correction, e.g ., the difference in time between the expected frame arrival time and the actual arrival time. The node uses this difference to re-synchronize the internal clock with the parent node as needed.
- a keep alive frame e.g. , a null frame
- the duration of the keep alive period is not defined in IEEE 802.15.4-2015.
- a keep alive period can be defined, for example, as a guard time divided by the clock accuracy, where the guard time is a period of time added between time slots to allow for some de- synchronization. For example, assume the guard time for the network 100 is 1 ms and the crystal clock accuracy of the leaf node 120 is 40 parts per million (ppm). Thus, the leaf node 120 sends a keep alive frame to the intermediate node 112 every 25 seconds if there is no other network activity within the 25 second period.
- the TSCH network is a single hop network, e.g. , all nodes in the network are directly connected to the root node.
- the drift between node pairs in a multi-hop path accumulates over hops.
- the periodicity of keep alive frames needs to be such that the accumulated drift incurred at any particular node is less than the guard time. For example, assume the guard time is 1 ms and the drift between the root node 104 and the intermediate node 110 is 1 ms and the drift between the intermediate node 110 and the leaf node 114 is also 1 ms.
- the intermediate node 110 learns that the drift from the root node 104 is 1 ms and resynchronizes with the root node 104.
- the drift between the leaf node 114 and the root node 104 and the drift between the intermediate node 110 and the leaf node 114 are both now 2 ms.
- the 2 ms drift is larger than the guard time and thus the leaf node 114 is desynchronized and must reconnect with the network 100.
- Examples provide for determining the keep alive period for nodes in a multi-hop network such as the network 100.
- drift between a node pair is estimated when a node joins the network 100 and the estimated drift and the number of hops from the root node are used to determine the keep alive period for the joining node.
- the estimated drift is also used after the node joins the network to determine a keep alive time compensation factor when synchronization fails, e.g. , due to network interference.
- the keep alive time compensation factor is used in conjunction with the keep alive period to set the wakeup timer for the node.
- Fig. 2 is a flow diagram of a method for estimating drift between a pair of nodes in the network 100 The method is performed when a node is connecting to the network 100 for the first time, e.g ., when the nodes in the network 100 are powered up. Initially, the node joins 200 the network 100 and starts TSCH. The node then receives 202-206 multiple beacons from the parent node, computing 204 an estimate of the time drift from the parent node for each beacon. The node computes 204 the beacon-based time drift estimate based on an estimated time the beacon was expected to arrive. For example, using information in the previously received beacon that indicates when the network 100 started, the beacon interval, etc., the node estimates when the next beacon will arrive.
- the difference between the estimated time of arrival of the beacon and the actual time of arrival of the beacon is the beacon- based time drift estimate.
- the number of beacons received for this purpose can be empirically determined. In some examples, the number of beacons is ten.
- the node then computes 208 an estimated time drift based on the multiple beacon- based time drift estimates.
- the estimated time drift d u is computed as an average of the multiple beacon-based time drift estimates as per
- n is the number of beacon-based time drift estimates
- di is a beacon-based time drift estimate
- f is the corresponding time interval between beacons.
- the maximum beacon-based time drift estimate is used rather than the average. The amount of variation in the beacon-based time drift estimates that triggers use of the maximum beacon-based time drift estimate is determined, for example, by the system designer or as an empirically determined variation percentage.
- Fig. 3 is a flow diagram of a method for determining a keep alive period for a node in the network 100 Initially, a node joining the network 100 estimates 300 the drift from its parent node. Any suitable technique for estimating the drift can be used. In some examples, the node estimates the drift using the method of Fig. 2.
- the node determines 302 a keep alive period based on the estimated drift and the number of hops from the root node 104 to the node.
- the maximum time interval T s for which a node can stay synchronized without sending a keep alive frame is estimated as per T s T g /d u
- T g is the guard time and d u is the estimated time drift.
- TKA is then computed as per
- the joining node can select the time interval for its keep alive period to be any reasonable value less than or equal to the maximum time interval TKA ⁇
- the joining node sets 304 a wakeup timer based on the determined keep alive period and begins operating in the network 100. While the frequency of sending keep alive frames/packets helps in maintaining synchronization, issues can arise when transmission of a keep alive frame or other frames is not successful due to, e.g ., network interference or higher priority transmissions. To further ensure that synchronicity is maintained, a node applies a keep alive time compensation factor to the current keep alive period as needed.
- Fig. 4 is a method for determining and using a keep alive time compensation factor in a node of the network 100.
- the keep alive time compensation factor is assumed to be zero as synchronization is established when the node joins the network 100.
- the node waits in each time slot to either receive 400 a packet or for the wakeup timer to expire 404. If a packet is received 400 before the wakeup timer expires, the node processes the packet (not shown) and sets 402 the keep alive time compensation factor to zero as reception of the packet indicates the node is synchronized with the parent node.
- the node sets 414 the wakeup timer based on the keep alive time compensation factor and the keep alive period and resumes waiting for either packet reception or expiration of the wakeup timer.
- the keep alive time compensation factor is zero, so the wakeup timer is set to the current keep alive period.
- the node transmits 406 a keep alive packet to the parent node and waits for an acknowledgement (ACK) packet. If the ACK is not received 408 due to, e.g. , network interference or no transmission of the keep alive packet due to higher priority transmissions, the node computes 412 a new keep alive time compensation factor t comp as per
- the node sets 414 the wakeup timer based on the keep alive time compensation factor t com p and the current keep alive period TKA ⁇ Accordingly, the node sets the wakeup timer to be TKA - tcomp ⁇ The node then resumes waiting for either packet reception or expiration of the wakeup timer.
- the node updates 410 the estimated drift d u and the keep alive period T K A if needed. More specifically, the ACK packet includes a time correction information element that informs the node of the current time drift between the parent node and the node. The node uses this information and the time elapsed since the last successful synchronization with the parent node to determine if the time drift d u has changed. If the time drift d u has changed, the node sets the time drift d u for the node to the new time drift and recomputes the keep alive period T K A and the keep alive time compensation factor t com p as previously described herein.
- the node 414 sets the wakeup timer based on the current keep alive time compensation factor t com p and the current keep alive period. For example, the node sets the wakeup timer to be TKA - tcomp ⁇ The node then resumes waiting for either packet reception or expiration of the wakeup timer.
- the parent node keeps the child node informed as to the last time the parent node synchronized with its parent. The child node can then use this information to ensure that the child node synchronizes with its parent node before the parent node again synchronizes with its parent node. More specifically, when a child node is synchronized with its parent node, the parent node begins including a parent synchronization information element (IE) in the beacons and data frames that conveys when the parent node last synchronized with its parent node.
- IE parent synchronization information element
- Fig. 5 is an example of a parent synchronization IE.
- the parent synchronization IE 502 is implemented as a nested IE as defined in IEEE 802.15.4-2015, e.g ., the parent synchronization IE 502 is nested in the content field of a payload IE 500.
- the content field of the parent synchronization IE 502 is an octet in which the eight bits are set as follows. If the parent node has completed synchronization with its parent node, the most significant bit of the content field of is set to one. The remaining seven bits indicate the approximate number of beacon periods since the synchronization was last performed, where the number of beacon periods nrBcnPeriods is given by:
- nrBcnPeriods min ⁇ (GuardTime/(d u *BcnInterval), (2 L 7-1) ⁇
- Bcnlnterval is the time interval between beacon transmissions and (2 L 7-1) is the largest number that can be represented in the number of bits allocated for nrBcnPeriods. If the time elapsed since the last synchronization is greater than (2 A 7-l)*BcnInterval, the most significant bit is set to 0.
- the child node uses the information in the parent synchronization IE to decide when to synchronize with the parent node, e.g. , when to send a keep alive packet. For example, if the parent node has not synchronized with its parent node for five beacon periods and needs another ten beacon periods to perform the synchronization, the child node can decide to synchronize with its parent before the ten beacon interval elapses.
- Fig. 6 is a simplified block diagram of an example wireless communication device 600 suitable for use as a node in the network 100.
- the wireless communication device 600 includes an antenna 601, a transceiver component 602, a processor component 604, a memory component 606, and an application component 608.
- the antenna 601 is configured to receive and transmit radio frequency (RF) signals.
- the transceiver component 602 is configured to modulate received RF signals and to modulate RF signals to be transmitted.
- the memory component 606 may include any suitable memory such as random access memory (RAM), read-only memory (ROM), flash memory, or the like, or a combination of such memory.
- the application component 608 is configured to perform the function of the wireless communication device 600, e.g., controlling an alarm, controlling a light, temperature sensing, etc.
- the processor component 604 may include one or more suitable processors such as programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), programmable controllers, programmable logic devices (PLDs), or the like, or a combination of such devices.
- DSPs digital signal processors
- ASICs application specific integrated circuits
- PLDs programmable logic devices
- the processor component 604 is further configured to execute software instructions stored in the memory component 606 that cause the wireless communication device 600 to perform methods as described herein.
- Fig. 7 is a simplified block diagram of an example wireless sensor device 700, e.g, a wireless communication device, that may be deployed as a node in a wireless network such as the example network 100 of Fig. 1 and may be configured to perform methods as described herein.
- the example wireless sensor device 700 may be embodied as a CC26xx SimpleLinkTM Multistandard wireless microcontroller (MCU) integrated circuit (IC) available from Texas Instruments.
- MCU Multistandard wireless microcontroller
- IC integrated circuit
- the CC26xx family of ultralow-power microcontrollers includes multiple devices featuring an ultralow power CPU and different peripherals targeted for various applications.
- the particular MCU depicted is the CC2650.
- a brief description of the CC2650 is provided herein.
- a detailed description of the CC2650 is provided in Texas Instruments publication SWRS158B, "CC2650 SimpleLinkTM Multistandard Wireless MCU," February 2015, which is incorporated by reference herein.
- the MCU 700 incorporates a 32-bit ARM® Cortex®-M3 as the main processor and a peripheral feature set that includes an ultra-low power sensor controller for interfacing external sensors and/or collecting analog and digital data autonomously while the rest of the system is in sleep mode.
- the MCU 700 also incorporates an RF core based on an ARM® Cortex®-M0 processor.
- the RF core is designed to autonomously handle time critical aspects of various radio protocols.
- the RF core includes a dedicated 40KB static random access memory (SRAM) and a dedicated read-only memory (ROM).
- the MCU 700 also incorporates 128KB of flash memory that provides nonvolatile storage for code and data, 20KB of SRAM that can be used for both storage of data and execution of code, and a ROM storing a real-time operating system kernel.
- General peripherals/modules on the MCU 700 may include a l2-bit A/D converter, a l6-channel comparator with voltage reference generation and hysteresis capabilities, interfaces for SPI, Microwire, and UART protocols, internal direct memory access (DMA), a real-time clock, multiple 16/32-bit timers, and more.
- Software instructions implementing methods as described herein can be stored in a computer readable medium on the MCU 700 such as the flash memory, the static random access memory (SRAM), or the read-only memory (ROM) on the MCU 700 and executed by the main processor.
- a computer readable medium such as the flash memory, the static random access memory (SRAM), or the read-only memory (ROM) on the MCU 700 and executed by the main processor.
- time drift is estimated when a node joins a network.
- recalculation of the time drift is triggered under circumstances such as detection of temperature variations and changes in the environment.
- a joining node has a single time source neighbor.
- a joining node can have more than one time source neighbor.
- the joining node computes estimated drift for each time source neighbor and the final estimated drift as either an average of the estimated drifts or as the maximum of the estimated drifts.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method for operating a node in a wireless network is provided that includes computing an estimated time drift between the node and a parent node of the node (300), and using the estimated time drift and a number of hops between the node and a root node of the wireless network to determine a keep alive period for the node (302).
Description
USING ESTIMATED TIME DRIFT TO DETERMINE KEEP ALIVE
PERIODICITY IN SYNCHRONIZED NETWORKS
BACKGROUND
[0001] For increased reliability and decreased power consumption, low-power wireless networks increasingly using time synchronized medium access control (MAC) protocols. The nodes in such networks use time slots for communication and thus maintain clock synchronicity. Factors such as manufacturing differences, temperature, and supply voltage can cause the clocks in the network nodes to drift with respect to one another. Therefore, the nodes may need to resynchronize periodically.
SUMMARY
[0002] Examples herein relate to methods and apparatus for using estimated time drift to determine keep alive periodicity in synchronized networks. In one aspect, a method for operating a node in a wireless network is provided that includes computing an estimated time drift between the node and a parent node of the node, and using the estimated time drift and a number of hops between the node and a root node of the wireless network to determine a keep alive period for the node.
[0003] In one aspect, a wireless communication device in a wireless network is provided that includes a memory storing software instructions and a processor coupled to the memory to execute the software instructions, and execution of the software instructions causes the wireless communication device to compute an estimated time drift between the wireless communication device and a first parent wireless communication device of the wireless communication device, and use the estimated time drift and a number of hops between the wireless communication device and a root wireless communication device of the wireless network to determine a keep alive period for the wireless communication device.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Fig. 1 depicts an example multi-hop wireless network.
[0005] Fig. 2 is a flow diagram of a method for estimating drift between a pair of nodes in the
network of Fig. 1.
[0006] Fig. 3 is a flow diagram of a method for determining a keep alive period in the network of Fig. 1.
[0007] Fig. 4 is a flow diagram of a method for determining and using a keep alive compensation factor in the network of Fig. 1.
[0008] Fig. 5 is an example of a parent synchronization information element.
[0009] Fig. 6 is a simplified block diagram of an example wireless communication device.
[0010] Fig. 7 is a simplified block diagram of an example wireless communication device. DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0011] Specific examples will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency.
[0012] Examples are described herein in reference to“IEEE Standard for Low-Rate Wireless Personal Area Networks (WPANs),” The Institute of Electrical and Electronics Engineers, Inc., New York, NY, April 22, 2016, which is incorporated by reference and referred to as“IEEE 802.15.4-2015” herein. Further, examples are based on timeslotted channel hopping (TSCH) as described in IEEE 802.15.4-2015. However, the concepts described herein are applicable to other time synchronized protocols such as, for example, WirelessHART, a wireless networking technology standard developed by the HART Communication Foundation, ISA 100.1 la, a wireless networking technology standard developed by the International Society of Automation, and IEEE 802. l5.4e-20l2.
[0013] Fig. 1 depicts an example multi-hop wireless network 100. The example network 100 includes a root node 104, four intermediate nodes 106, 108, 110, 112 and five leaf nodes 114, 116, 118, 120, 122. A node may be, for example, a control device such as a light bulb or a door lock or a sensing device such as a smoke alarm or door sensor in an alarm system or may be both a control device and a sensing device such as a thermostat or a base station in an alarm system. An external device 122 such as a laptop, smart phone, or tablet communicates with nodes in the network 100 via the root node 104.
[0014] Each of the nodes 104-122 includes a TSCH medium access (MAC) layer as defined in IEEE 802.15.4-2015. In a TSCH network, time is divided into slots for communication, and all intermediate and leaf nodes are time-synchronized to the root node. The time slots are grouped
in slot frames and a TSCH schedule managed by another network layer instructs each node as to what the node should do in a given time slot: transmit, receive, or sleep. The schedule is a logical two-dimensional matrix with one dimension determining the slot offset in the slot frame and the other dimension designating the channel offset in the available frequency band. The width of the schedule is equal to the slot frame width and the depth is equal to the number of available frequencies (or channels) in the allotted band.
[0015] Further, a TSCH network uses channel hopping in which a particular MAC layer channel offset at the same time slot over successive slot frames in the schedule translates into a different frequency (or physical channel) at each iteration of the slot frame. The result is that successive packets exchanged between neighbor nodes are communicated at different frequencies. Because all nodes share common time and channel information, nodes can hop over the entire channel space to minimize the negative effects of multipath fading and interference and can do so in a slotted way to avoid collisions, minimizing the need for retransmissions.
[0016] In a TSCH network, a coordinator such as the root node 104 and/or an intermediate node 106, 108, 110, 112 transmits periodic beacons that contain information that facilitates nodes joining and communicating in the network. Information contained in the beacon packets can be, for example, the channels to be used at a specific time, timing information regarding when a beacon was transmitted, link information, etc.
[0017] The nodes in a TSCH network each have an internal clock, such as a crystal oscillator. The frequency of a crystal can be affected by, for example, manufacturing differences, temperature, and/or supply voltage. Thus, there can be some time drift between node pairs and the drift can differ between node pairs as each crystal may drift differently. For example, over time there may be some drift between the root node 104 and the intermediate node 108, between the intermediate node 108 and the intermediate node 112, and between the intermediate node 112 and each of the leaf nodes 118, 120, 122.
[0018] Data traffic between nodes in a TSCH network is used to implicitly resynchronize a node with its parent node. However, in the absence of data traffic, a node may communicate a keep alive frame with its parent node at least once per a keep alive period to maintain synchronicity with the root node and/or the parent node. The use of keep alive frames by a node for synchronization operates as follows. The node sets a wakeup timer for the keep alive period. When the timer expires, the node sends a keep alive frame, e.g. , a null frame, to its parent node
asking for a time correction. The parent node replies with an acknowledgement frame that contains the timing correction, e.g ., the difference in time between the expected frame arrival time and the actual arrival time. The node uses this difference to re-synchronize the internal clock with the parent node as needed.
[0019] The duration of the keep alive period is not defined in IEEE 802.15.4-2015. A keep alive period can be defined, for example, as a guard time divided by the clock accuracy, where the guard time is a period of time added between time slots to allow for some de- synchronization. For example, assume the guard time for the network 100 is 1 ms and the crystal clock accuracy of the leaf node 120 is 40 parts per million (ppm). Thus, the leaf node 120 sends a keep alive frame to the intermediate node 112 every 25 seconds if there is no other network activity within the 25 second period.
[0020] Relying on periodicity of keep alive frames to maintain synchronicity with the root node can be sufficient if the TSCH network is a single hop network, e.g. , all nodes in the network are directly connected to the root node. However, in a multi-hop network such as the network 100, the drift between node pairs in a multi-hop path accumulates over hops. To maintain synchronicity, the periodicity of keep alive frames needs to be such that the accumulated drift incurred at any particular node is less than the guard time. For example, assume the guard time is 1 ms and the drift between the root node 104 and the intermediate node 110 is 1 ms and the drift between the intermediate node 110 and the leaf node 114 is also 1 ms. The intermediate node 110 learns that the drift from the root node 104 is 1 ms and resynchronizes with the root node 104. The drift between the leaf node 114 and the root node 104 and the drift between the intermediate node 110 and the leaf node 114 are both now 2 ms. The 2 ms drift is larger than the guard time and thus the leaf node 114 is desynchronized and must reconnect with the network 100.
[0021] Examples provide for determining the keep alive period for nodes in a multi-hop network such as the network 100. In some examples, drift between a node pair is estimated when a node joins the network 100 and the estimated drift and the number of hops from the root node are used to determine the keep alive period for the joining node. In some such examples, the estimated drift is also used after the node joins the network to determine a keep alive time compensation factor when synchronization fails, e.g. , due to network interference. The keep alive time compensation factor is used in conjunction with the keep alive period to set the
wakeup timer for the node.
[0022] Fig. 2 is a flow diagram of a method for estimating drift between a pair of nodes in the network 100 The method is performed when a node is connecting to the network 100 for the first time, e.g ., when the nodes in the network 100 are powered up. Initially, the node joins 200 the network 100 and starts TSCH. The node then receives 202-206 multiple beacons from the parent node, computing 204 an estimate of the time drift from the parent node for each beacon. The node computes 204 the beacon-based time drift estimate based on an estimated time the beacon was expected to arrive. For example, using information in the previously received beacon that indicates when the network 100 started, the beacon interval, etc., the node estimates when the next beacon will arrive. When the next beacon arrives, the difference between the estimated time of arrival of the beacon and the actual time of arrival of the beacon is the beacon- based time drift estimate. The number of beacons received for this purpose can be empirically determined. In some examples, the number of beacons is ten.
[0023] The node then computes 208 an estimated time drift based on the multiple beacon- based time drift estimates. In some examples, the estimated time drift du is computed as an average of the multiple beacon-based time drift estimates as per
where n is the number of beacon-based time drift estimates, di is a beacon-based time drift estimate, and f is the corresponding time interval between beacons. In some examples, if there is a large variation in the beacon-based time drift estimates, the maximum beacon-based time drift estimate is used rather than the average. The amount of variation in the beacon-based time drift estimates that triggers use of the maximum beacon-based time drift estimate is determined, for example, by the system designer or as an empirically determined variation percentage.
[0024] Fig. 3 is a flow diagram of a method for determining a keep alive period for a node in the network 100 Initially, a node joining the network 100 estimates 300 the drift from its parent node. Any suitable technique for estimating the drift can be used. In some examples, the node estimates the drift using the method of Fig. 2.
[0025] The node then determines 302 a keep alive period based on the estimated drift and the number of hops from the root node 104 to the node. The maximum time interval Ts for which a node can stay synchronized without sending a keep alive frame is estimated as per
Ts Tg/du
where Tg is the guard time and du is the estimated time drift. The maximum keep alive period TKA for the node is then computed as per
TKA = Ts/n
where n is the number of hops from the root node 104 to the joining node. For example, if the joining node is the node 106, n = 1 and TKA = Ts. In another example, if the joining node is the node 122, n = 3 and TKA = Ts/3. The joining node can select the time interval for its keep alive period to be any reasonable value less than or equal to the maximum time interval TKA·
[0026] The joining node then sets 304 a wakeup timer based on the determined keep alive period and begins operating in the network 100. While the frequency of sending keep alive frames/packets helps in maintaining synchronization, issues can arise when transmission of a keep alive frame or other frames is not successful due to, e.g ., network interference or higher priority transmissions. To further ensure that synchronicity is maintained, a node applies a keep alive time compensation factor to the current keep alive period as needed.
[0027] Fig. 4 is a method for determining and using a keep alive time compensation factor in a node of the network 100. When the node joins the network 100, the keep alive time compensation factor is assumed to be zero as synchronization is established when the node joins the network 100. To maintain synchronicity, the node waits in each time slot to either receive 400 a packet or for the wakeup timer to expire 404. If a packet is received 400 before the wakeup timer expires, the node processes the packet (not shown) and sets 402 the keep alive time compensation factor to zero as reception of the packet indicates the node is synchronized with the parent node. The node then sets 414 the wakeup timer based on the keep alive time compensation factor and the keep alive period and resumes waiting for either packet reception or expiration of the wakeup timer. In this instance, the keep alive time compensation factor is zero, so the wakeup timer is set to the current keep alive period.
[0028] If the wakeup timer expires 404, the node transmits 406 a keep alive packet to the parent node and waits for an acknowledgement (ACK) packet. If the ACK is not received 408 due to, e.g. , network interference or no transmission of the keep alive packet due to higher priority transmissions, the node computes 412 a new keep alive time compensation factor tcomp as per
tcomp— tiastsynch * du
where du is the current estimated drift for the node and tiastsynch is the time elapsed since the last time the node successfully synchronized with the parent node. The node then sets 414 the wakeup timer based on the keep alive time compensation factor tcomp and the current keep alive period TKA· Accordingly, the node sets the wakeup timer to be TKA - tcomp· The node then resumes waiting for either packet reception or expiration of the wakeup timer.
[0029] If the ACK is received 408, the node updates 410 the estimated drift du and the keep alive period TKA if needed. More specifically, the ACK packet includes a time correction information element that informs the node of the current time drift between the parent node and the node. The node uses this information and the time elapsed since the last successful synchronization with the parent node to determine if the time drift du has changed. If the time drift du has changed, the node sets the time drift du for the node to the new time drift and recomputes the keep alive period TKA and the keep alive time compensation factor tcomp as previously described herein. Otherwise, the time drift du for the node, the keep alive period TKA, and the keep alive time compensation factor tcomp are not changed. The node 414 then sets the wakeup timer based on the current keep alive time compensation factor tcomp and the current keep alive period. For example, the node sets the wakeup timer to be TKA - tcomp· The node then resumes waiting for either packet reception or expiration of the wakeup timer.
[0030] In some examples, to further insure that a child node does not lose synchronization with its parent node, the parent node keeps the child node informed as to the last time the parent node synchronized with its parent. The child node can then use this information to ensure that the child node synchronizes with its parent node before the parent node again synchronizes with its parent node. More specifically, when a child node is synchronized with its parent node, the parent node begins including a parent synchronization information element (IE) in the beacons and data frames that conveys when the parent node last synchronized with its parent node.
[0031] Fig. 5 is an example of a parent synchronization IE. The parent synchronization IE 502 is implemented as a nested IE as defined in IEEE 802.15.4-2015, e.g ., the parent synchronization IE 502 is nested in the content field of a payload IE 500. The content field of the parent synchronization IE 502 is an octet in which the eight bits are set as follows. If the parent node has completed synchronization with its parent node, the most significant bit of the content field of is set to one. The remaining seven bits indicate the approximate number of beacon periods since the synchronization was last performed, where the number of beacon periods nrBcnPeriods
is given by:
nrBcnPeriods = min{(GuardTime/(du*BcnInterval), (2L7-1)}
where Bcnlnterval is the time interval between beacon transmissions and (2L7-1) is the largest number that can be represented in the number of bits allocated for nrBcnPeriods. If the time elapsed since the last synchronization is greater than (2A7-l)*BcnInterval, the most significant bit is set to 0.
[0032] The child node uses the information in the parent synchronization IE to decide when to synchronize with the parent node, e.g. , when to send a keep alive packet. For example, if the parent node has not synchronized with its parent node for five beacon periods and needs another ten beacon periods to perform the synchronization, the child node can decide to synchronize with its parent before the ten beacon interval elapses.
[0033] Fig. 6 is a simplified block diagram of an example wireless communication device 600 suitable for use as a node in the network 100. The wireless communication device 600 includes an antenna 601, a transceiver component 602, a processor component 604, a memory component 606, and an application component 608. The antenna 601 is configured to receive and transmit radio frequency (RF) signals. The transceiver component 602 is configured to modulate received RF signals and to modulate RF signals to be transmitted. The memory component 606 may include any suitable memory such as random access memory (RAM), read-only memory (ROM), flash memory, or the like, or a combination of such memory. The application component 608 is configured to perform the function of the wireless communication device 600, e.g., controlling an alarm, controlling a light, temperature sensing, etc.
[0034] The processor component 604 may include one or more suitable processors such as programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), programmable controllers, programmable logic devices (PLDs), or the like, or a combination of such devices. The processor component 604 is further configured to execute software instructions stored in the memory component 606 that cause the wireless communication device 600 to perform methods as described herein.
[0035] Fig. 7 is a simplified block diagram of an example wireless sensor device 700, e.g, a wireless communication device, that may be deployed as a node in a wireless network such as the example network 100 of Fig. 1 and may be configured to perform methods as described
herein. More specifically, the example wireless sensor device 700 may be embodied as a CC26xx SimpleLink™ Multistandard wireless microcontroller (MCU) integrated circuit (IC) available from Texas Instruments. The CC26xx family of ultralow-power microcontrollers includes multiple devices featuring an ultralow power CPU and different peripherals targeted for various applications. The particular MCU depicted is the CC2650. A brief description of the CC2650 is provided herein. A detailed description of the CC2650 is provided in Texas Instruments publication SWRS158B, "CC2650 SimpleLink™ Multistandard Wireless MCU," February 2015, which is incorporated by reference herein.
[0036] The MCU 700 incorporates a 32-bit ARM® Cortex®-M3 as the main processor and a peripheral feature set that includes an ultra-low power sensor controller for interfacing external sensors and/or collecting analog and digital data autonomously while the rest of the system is in sleep mode. The MCU 700 also incorporates an RF core based on an ARM® Cortex®-M0 processor. The RF core is designed to autonomously handle time critical aspects of various radio protocols. The RF core includes a dedicated 40KB static random access memory (SRAM) and a dedicated read-only memory (ROM).
[0037] The MCU 700 also incorporates 128KB of flash memory that provides nonvolatile storage for code and data, 20KB of SRAM that can be used for both storage of data and execution of code, and a ROM storing a real-time operating system kernel. General peripherals/modules on the MCU 700 may include a l2-bit A/D converter, a l6-channel comparator with voltage reference generation and hysteresis capabilities, interfaces for SPI, Microwire, and UART protocols, internal direct memory access (DMA), a real-time clock, multiple 16/32-bit timers, and more.
[0038] Software instructions implementing methods as described herein can be stored in a computer readable medium on the MCU 700 such as the flash memory, the static random access memory (SRAM), or the read-only memory (ROM) on the MCU 700 and executed by the main processor.
Other Examples
[0039] While the description has been described with respect to a limited number of examples, those having benefit of this description will appreciate that other examples can be devised which do not depart from the scope of the description as described herein.
[0040] Examples have been described herein in which time drift is estimated when a node
joins a network. In other examples, recalculation of the time drift is triggered under circumstances such as detection of temperature variations and changes in the environment.
[0041] Examples have been described herein in which a joining node has a single time source neighbor. In other examples, a joining node can have more than one time source neighbor. In such examples, the joining node computes estimated drift for each time source neighbor and the final estimated drift as either an average of the estimated drifts or as the maximum of the estimated drifts.
[0042] It is therefore contemplated that the appended claims will cover any such modifications of the examples as fall within the true scope of the description.
Claims
1. A method for operating a node in a wireless network, the method comprising:
computing an estimated time drift between the node and a parent node of the node; and using the estimated time drift and a number of hops between the node and a root node of the wireless network to determine a keep alive period for the node.
2. The method of claim 1, wherein using the estimated time drift further comprises:
computing a maximum time interval in which the node can stay synchronized with the parent node as a guard time divided by the estimated time drift;
computing a maximum keep alive period for the node as the maximum time interval divided by the number of hops; and
determining the keep alive period based on the maximum keep alive period.
3. The method of claim 1, wherein computing an estimated time drift further comprises:
receiving a plurality of beacons from the parent node in the node;
computing a plurality of beacon-based time drift estimates for the node, wherein a beacon-based time drift estimate is computed when a beacon of the plurality of beacons is received; and
computing the estimated time drift for the node based on the plurality of beacon-based time drift estimates.
4. The method of claim 3, wherein computing the estimated time drift further comprises computing the estimated time drift as per
wherein du is the estimated time drift, n is a number of beacon-based time drift estimates in the plurality of beacon-based time drift estimates, di is a beacon-based time drift estimate of the plurality of beacon-based time drift estimates, and f is a time interval between beacons corresponding to di.
5. The method of claim 3, wherein computing the estimated time drift further comprises selecting a maximum beacon-based time drift estimate of the plurality of beacon-based time drifts estimates as the estimated time drift.
6. The method of claim 1, further comprising:
setting a wakeup timer based on the keep alive period and a keep alive time compensation factor for the node.
7. The method of claim 6, further comprising:
transmitting a keep alive packet when the wakeup timer expires; and
computing the keep alive time compensation factor for the node when the keep alive packet is not acknowledged, wherein the keep alive time compensation factor is based on the estimated time drift and a time interval since a last time the node synchronized with the parent node.
8. The method of claim 6, further comprising setting the keep alive time compensation factor to zero when a packet is received by the node before the wakeup timer expires.
9. The method of claim 7, further comprising updating the estimated time drift and the keep alive period when the keep alive packet is acknowledged.
10. The method of claim 1, wherein the parent node is a first parent node, the method further comprising:
receiving a parent synchronization information element in the node, the parent synchronization information element comprising information regarding a last time the first parent node synchronized with a parent node of the first parent node; and using the information to decide when to synchronize the node with the first parent node.
11. The method of claim 1, wherein the node and the parent node comprise a timeslotted channel hopping medium access layer.
12. A wireless communication device in a wireless network, the wireless communication device comprising:
a memory storing software instructions, wherein execution of the software instructions causes the wireless communication device to:
compute an estimated time drift between the wireless communication device and a first parent wireless communication device of the wireless communication device; and
use the estimated time drift and a number of hops between the wireless communication device and a root wireless communication device of the wireless network to determine a keep alive period for the wireless communication device; and
a processor coupled to the memory to execute the software instructions.
13. The wireless communication device of claim 12, wherein software instructions to use the estimated time drift further comprise software instructions to
compute a maximum time interval in which the wireless communication device can stay synchronized with the first parent wireless communication device as a guard time divided by the estimated time drift;
compute a maximum keep alive period for the node as the maximum time interval divided by the number of hops; and
determine the keep alive period based on the maximum keep alive period
14. The wireless communication device of claim 12, wherein software instructions to compute the estimated time drift further comprise software instructions to
receive a plurality of beacons from the first parent wireless communication device in the wireless communication device;
compute a plurality of beacon-based time drift estimates for the wireless communication device, wherein each beacon-based time drift estimate is computed when a beacon of the plurality of beacons is received; and
compute the estimated time drift for the wireless communication device based on the plurality of beacon -based time drift estimates.
15. The wireless communication device of claim 14, wherein software instructions to compute the estimated time drift further comprise software instructions to compute the estimated time drift as per
wherein du is the estimated time drift, n is a number of beacon-based time drift estimates in the plurality of beacon-based time drift estimates, di is a beacon-based time drift estimate of the plurality of beacon-based time drift estimates, and f is a time interval between beacons corresponding to di.
16. The wireless communication device of claim 14, wherein software instructions to compute the estimated time drift further comprise software instructions to select a maximum beacon- base time drift estimate of the plurality of beacon-based time drift estimates as the estimated time drift.
17. The wireless communication device of claim 12, further comprising software instructions to set a wakeup timer based on the keep alive period and a keep alive time compensation factor for the node.
18. The wireless communication device of claim 17, further comprising software instructions to transmit a keep alive packet when the wakeup timer expires; and
compute the keep alive time compensation factor for the wireless communication device when the keep alive packet is not acknowledged, wherein the keep alive time compensation factor is based on the estimated time drift and a time interval since a last time the wireless communication device synchronized with the first parent wireless communication device.
19. The wireless communication device of claim 17, further comprising software instructions to set the keep alive time compensation factor to zero when a packet is received by the wireless communication device before the wakeup timer expires.
20. The wireless communication device of claim 18, further comprising software instructions to update the estimated time drift and the keep alive period as needed when the keep alive packet is acknowledged.
21. The wireless communication device of claim 12, further comprising software instructions to receive a parent synchronization information element in the wireless communication device, the parent synchronization information element comprising information regarding a last time the first parent wireless communication device synchronized with a parent wireless communication device of the first parent wireless communication device; and
use the information to decide when to synchronize the wireless communication device with the first parent wireless communication device of the wireless communication device.
22. The wireless communication device of claim 12, wherein the wireless communication device and the first parent wireless communication device comprise a timeslotted channel hopping medium access layer.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410408821.2A CN118215115A (en) | 2018-06-29 | 2019-06-28 | Using estimated time drift to determine keep-alive periodicity in a synchronized network |
| CN201980030220.XA CN112075106B (en) | 2018-06-29 | 2019-06-28 | Determining keep-alive periodicity in a synchronous network using estimated time drift |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/024,336 | 2018-06-29 | ||
| US16/024,336 US10536891B1 (en) | 2018-06-29 | 2018-06-29 | Using estimated time drift to determine keep alive periodicity in synchronized networks |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020006397A1 true WO2020006397A1 (en) | 2020-01-02 |
Family
ID=68987208
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2019/039803 Ceased WO2020006397A1 (en) | 2018-06-29 | 2019-06-28 | Using estimated time drift to determine keep alive periodicity in synchronized networks |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US10536891B1 (en) |
| CN (2) | CN118215115A (en) |
| WO (1) | WO2020006397A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10536891B1 (en) * | 2018-06-29 | 2020-01-14 | Texas Instruments Incorporated | Using estimated time drift to determine keep alive periodicity in synchronized networks |
| US11106496B2 (en) * | 2019-05-28 | 2021-08-31 | Microsoft Technology Licensing, Llc. | Memory-efficient dynamic deferral of scheduled tasks |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009099809A2 (en) * | 2008-02-01 | 2009-08-13 | Qualcomm Incorporated | Wireless network synchronization |
| US7961760B2 (en) * | 2008-11-19 | 2011-06-14 | Institute For Information Industry | Method and system for network synchronization |
| US20120237033A1 (en) * | 2011-03-16 | 2012-09-20 | Yasuyuki Tanaka | Node, a root node, and a computer readable medium |
| WO2015126577A1 (en) * | 2014-02-21 | 2015-08-27 | Landis+Gyr Innovations, Inc. | Clock drift compensation in a time synchronous channel hopping network |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8023441B2 (en) * | 2004-12-20 | 2011-09-20 | Sensicast Systems | Method for reporting and accumulating data in a wireless communication network |
| US8953581B1 (en) * | 2009-05-13 | 2015-02-10 | Dust Networks, Inc. | Timing synchronization for wireless networks |
| US9125152B2 (en) * | 2011-08-16 | 2015-09-01 | Utc Fire & Security Corporation | Beacon synchronization in wifi based systems |
| CN110602669B (en) * | 2012-05-09 | 2023-08-18 | 交互数字专利控股公司 | Handle MTC long DRX cycle/sleep length |
| US9357492B2 (en) * | 2013-08-05 | 2016-05-31 | Qualcomm Incorporated | WLAN-capable remote control device |
| WO2015130869A1 (en) * | 2014-02-26 | 2015-09-03 | Landis+Gyr Innovations, Inc. | System and method for maintaining synchronization with low power endpoints in a time synchronized channel hopping network |
| US9854516B2 (en) * | 2014-07-31 | 2017-12-26 | Texas Instruments Incorporated | Slot skipping techniques for reduced power consumption in time slotted channel hopping MAC protocol |
| CN104158647A (en) * | 2014-08-26 | 2014-11-19 | 太原理工大学 | Clock synchronizing method for wireless sensing network |
| US11076370B2 (en) * | 2016-06-07 | 2021-07-27 | Texas Instruments Incorporated | Node synchronization for networks |
| US10490059B2 (en) * | 2017-12-15 | 2019-11-26 | Comcast Cable Communications, Llc | Priority-based wireless collision avoidance and interfering device response |
| US10536891B1 (en) * | 2018-06-29 | 2020-01-14 | Texas Instruments Incorporated | Using estimated time drift to determine keep alive periodicity in synchronized networks |
-
2018
- 2018-06-29 US US16/024,336 patent/US10536891B1/en active Active
-
2019
- 2019-06-28 WO PCT/US2019/039803 patent/WO2020006397A1/en not_active Ceased
- 2019-06-28 CN CN202410408821.2A patent/CN118215115A/en active Pending
- 2019-06-28 CN CN201980030220.XA patent/CN112075106B/en active Active
-
2020
- 2020-01-06 US US16/734,556 patent/US11089532B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009099809A2 (en) * | 2008-02-01 | 2009-08-13 | Qualcomm Incorporated | Wireless network synchronization |
| US7961760B2 (en) * | 2008-11-19 | 2011-06-14 | Institute For Information Industry | Method and system for network synchronization |
| US20120237033A1 (en) * | 2011-03-16 | 2012-09-20 | Yasuyuki Tanaka | Node, a root node, and a computer readable medium |
| WO2015126577A1 (en) * | 2014-02-21 | 2015-08-27 | Landis+Gyr Innovations, Inc. | Clock drift compensation in a time synchronous channel hopping network |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200145893A1 (en) | 2020-05-07 |
| US10536891B1 (en) | 2020-01-14 |
| CN118215115A (en) | 2024-06-18 |
| CN112075106A (en) | 2020-12-11 |
| CN112075106B (en) | 2024-04-12 |
| US11089532B2 (en) | 2021-08-10 |
| US20200008123A1 (en) | 2020-01-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101855868B (en) | Method for sending information packets in an asynchronous wireless communication network and network node implementing the method | |
| US9854516B2 (en) | Slot skipping techniques for reduced power consumption in time slotted channel hopping MAC protocol | |
| US8547982B2 (en) | Wireless sensor network with energy efficient protocols | |
| KR102520135B1 (en) | Sleepy device operation in asynchronous channel hopping networks | |
| US9980207B2 (en) | Delayed response to requesting device | |
| CN111132291B (en) | LPWAN synchronous awakening method based on LoRa | |
| US8385256B2 (en) | Method and system for efficient synchronization in a wireless communication system | |
| Bagci | Energy-efficient communication protocol for wireless sensor networks. | |
| US11089532B2 (en) | Using estimated time drift to determine keep alive periodicity in synchronized networks | |
| JP4919204B2 (en) | Sensor network system and media access control method | |
| Dargie | A medium access control protocol that supports a seamless handover in wireless sensor networks | |
| Berger et al. | Synchronized industrial wireless sensor network with IEEE 802.11 ad hoc data transmission | |
| US10313991B2 (en) | Implicit exchange of channel information for un-slotted channel hopping networks | |
| Sanyal et al. | Lessons learnt from the implementation of the IEEE 802.15. 4e-TSCH MAC | |
| Berger et al. | TDMA approach for efficient data collection in wireless sensor networks | |
| Kim et al. | An independent sleep scheduling protocol for increasing energy-efficiency in wireless body area networks | |
| US20220272633A1 (en) | Autonomous wake on radio scheduler that schedules deterministic radio events to reduce involvement of primary processor | |
| Holtkamp | Decentralized Synchronization for Wireless Sensor Networks | |
| Shi | Ultra low power MAC layer wake-up frame scheme for low cost and low traffic wireless sensor networks | |
| WO2008010700A1 (en) | Low power data transceiver chip and method of operating such a chip | |
| HK1220570B (en) | Direct control signaling in a wireless communication system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19826788 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19826788 Country of ref document: EP Kind code of ref document: A1 |


