Member, IEEE Atis Elsts
email: atis.elsts@bristol.ac.uk

Member, IEEE Xenofon Fafoutis
email: xenofon.fafoutis@bristol.ac.uk

Simon Duquennoy
email: simon.duquennoy@ri.se

George Oikonomou
email: g.oikonomou@bristol.ac.uk

Robert Piechocki
email: r.j.piechocki@bristol.ac.uk

Fellow, IEEE Ian Craddock
email: ian.craddock@bristol.ac.uk

Temperature-Resilient Time Synchronization for the Internet of Things

published or not. The documents may come

I. INTRODUCTION

There is a growing need to make low-power wireless networks more reliable and more predictable in order to open them up to a wider range of Internet of Things (IoT) applications, such as industrial [START_REF] Xu | Internet of things in industries: A survey[END_REF], automotive, and e-health applications. Time-Slotted Channel Hopping, as specified in the IEEE 802.15.4-2015 standard [START_REF]IEEE Standard for Local and metropolitan area networks-Part 15.4[END_REF], is a Medium Access Control (MAC) protocol that offers high reliability and predictability through channel hopping and time-synchronized operation. Because of these properties, TSCH has attracted attention both from the industry and the academia.

TSCH networks deployed in real-world conditions [START_REF] Brun-Laguna | Not so) intuitive results from a smart agriculture low-power wireless mesh deployment[END_REF] in particular, in industrial conditions [START_REF] Low | Wireless sensor networks for industrial environments[END_REF] -have to cope with dynamic and unpredictable temperature changes, which affect hardware clock rates. To maintain connectivity in spite of changing clock rates, nodes either have to relax their synchronization requirements (i.e., increase the TSCH guard time), or increase re-synchronization traffic -both of which increase their energy usage requirements [START_REF] Mavromatis | Impact of guard time length on IEEE 802.15.4e TSCH energy consumption[END_REF]. This problem is particularly relevant in low data rate, low energy budget applications, e.g. where packets are transmitted every few minutes. Under these conditions, the energy requirements for keeping the network synchronized tend to exceed the energy requirements for data transmission.

This paper proposes adaptive, temperature-resilient time synchronization: a method to counteract temperaturedependent clock frequency changes. The method consists of three main elements: (1) one-time calibration of the effect of temperature on hardware clocks, (2) continuous temperature measurements, and (3) continuous temperaturedependent drift compensation relative to the network coordinator. Unlike existing work on temperature-resilient TSCH synchronization [START_REF] Stanislowski | Adaptive synchronization in IEEE802.15.4e networks[END_REF] [START_REF] Chang | Adaptive synchronization in multi-hop TSCH networks[END_REF], the proposed method does not require sending more packets when temperature is changinginstead, nodes compensate the effects of temperature locally and maintain stable clocks. Our method is therefore well suited for networks where the number of packets must be minimized, or high a priori predictability (e.g., of energy consumption) is required, and the nodes are equipped with temperature sensors.

We present a thorough characterization of the effects of temperature of clocks, with analytic results and simulations, to motivate our design. Empirical temperature and clock drift measurements inside a temperature chamber are used as the input for these simulations and the analytic model. The simulation results are validated with a controlled experiment in the temperature chamber, as well as by a 15 h experiment indoors and a 15 h experiment outdoors where nodes are exposed to direct sunlight. The results show that the algorithm almost always keeps the TSCH network synchronized using the default settings and 10 min resynchronization interval, and that it more than ten times reduces the required number of synchronization packets.

The algorithm is implemented for SPES-2 [START_REF] Fafoutis | Demo: SPES-2 A Sensing Platform for Maintenance-Free Residential Monitoring[END_REF], a lowpower IoT node based on the Texas Instruments CC2650 System-on-Chip (SoC) and equipped with a common off-theshelf HDC1000 temperature sensor [START_REF]HDC1000: Low Power, High Accuracy Digital Humidity Sensor with Temperature Sensor[END_REF]. The implementation builds on the Contiki TSCH code [START_REF] Duquennoy | TSCH and 6TiSCH for Contiki: Challenges, Design and Evaluation[END_REF], and on the highaccuracy energy-efficient adaptive synchronization for TSCH for CC2650 described by Elsts et al. in [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF].

Section II clarifies the qualitative and quantitative differ-ences compared to related work; Section III includes a mathematical model of time synchronization in TSCH networks and analyzes the causes of synchronization errors. Section IV describes the empirical investigation of temperature-dependent clock drift in a controlled environment, and Section V presents the adaptive temperature-resilient time synchronization algorithm. Section VI describes the design and evaluation of a simulator for estimating expected synchronization errors from the empirical data, while Section VII describes the experimental setup and evaluation results.

II. RELATED WORK Time synchronization in low-power and lossy network is often done using a dedicated protocol, for example, FTSP [START_REF] Maróti | The flooding time synchronization protocol[END_REF] or Glossy [START_REF] Ferrari | Efficient network flooding and time synchronization with Glossy[END_REF]. However, unlike TSCH, these protocols are not standardized and interoperable, require additional implementation effort, add to the complexity of the system, and often are not optimized for low radio duty cycles.

Adaptive synchronization for TSCH is first described by Stanislowski et al. [START_REF] Stanislowski | Adaptive synchronization in IEEE802.15.4e networks[END_REF] and was initially implemented in the OpenWSN networking stack. The authors show robustness and high accuracy of their method in indoor, outdoor, and temperature oven experiments: 91 µs using 10 messages per 10 minutes during stable temperature. However, when changes in temperature are detected, the authors disable adaptive time synchronization and send a keepalive message immediately.

Chang et al. [START_REF] Chang | Adaptive compensation for time-slotted synchronization in wireless sensor network[END_REF] similarly perform indoor, outdoor, and "sudden change" experiments and achieve less than 100 µs error, but have a high number of messages (600 per 10 minutes) for the sudden change experiment. In a further work, Chang et al. [START_REF] Chang | Adaptive synchronization in multi-hop TSCH networks[END_REF] investigate how TSCH synchronization is improved by adapting message exchange frequency depending on synchronization quality; they report less than 300 µs error by sending 3.5 messages per 10 minutes on average (when T o is stable).

As opposed to the present work, both Stanislowski and Chang require that keepalive messages are sent from the downstream node to the upstream. Furthermore, the frequency of these messages is environment-dependent, therefore the medium may be excessively polluted by traffic during rapid environmental condition changes, and the performance of the system (e.g., the required energy budget) cannot be reliably predicted before deployment.

Elsts et al. [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF] substantially reduce synchronization errors in TSCH networks without compromising energy efficiency. The system achieves that by using high-resolution clocks for scheduling of TSCH operations and estimating synchronization errors, while continuing to use low-resolution timing during low-power mode, made possible by hardware-supported synchronization between the node's low-frequency and highfrequency clock subsystems. The authors report less than 2 µs worst-case error on point-to-point links by synchronizing 150 times per 10 minutes on the average. Masood et al. [START_REF] Masood | DISTY: Dynamic Stochastic Time Synchronization for Wireless Sensor Networks[END_REF] present DISTY, a dynamic stochastic time synchronization mechanism. Their algorithm is based on Kalman filter, and achieves remarkably low drift prediction error, which in theory could be used to implement a highaccuracy time synchronization protocol: for 80 lost packets, corresponding to 320 seconds without synchronization, DISTY has < 30 clock tick synchronization error (with 4 MHz clocks as in our setup that would equal to < 8 µs). It is extensively tested in temperature-varying conditions with good results. However, DISTY lacks a real implementation on low-power sensor nodes, and that might be challenging, as the calibration stage of the algorithm requires solving multiple linear regressions with O(nm 2 ) time complexity (where n = 100 and m = 22 in the setup presented by the authors) and the continuous operation requires "many computations and higherenergy requirements" according to the authors.

DiStiNCT [START_REF] Boyle | DiStiNCT: Synchronizing Nodes With Imprecise Timers in Distributed Wireless Sensor Networks[END_REF] is a time synchronization scheme for distributed wireless sensor networks that are based on imprecise timers (i.e. errors of up to 15 000 ppm). The authors present a power-efficient and computationally simple solution that achieves ms-level time synchronization (one transmission per 3 seconds). Qiu et al. [START_REF] Qiu | A Robust Time Synchronization Scheme for Industrial Internet of Things[END_REF] present R-Sync, a robust time synchronization scheme for the Industrial IoT that focuses on identifying isolated nodes that have lost their synchronization and pull them back in the network. Dong et al. [START_REF] Dong | Robust and Secure Time-Synchronization Against Sybil Attacks for Sensor Networks[END_REF] present a secure time synchronization scheme that is resilient to sybil attacks (i.e. nodes illegitimately claim multiple identities). None of the above works take into account the temperaturedependent clock drifts.

III. ANALYTIC MODEL

A. Background on TSCH

Due to its time-slotted nature, TSCH requires that all nodes in the network are tightly synchronized. The nodes synchronize their clocks with the coordinator node's clock when joining the network, and keep them synchronized while remaining operational. To avoid partitioning of the network, synchronization is always done from upstream to downstream; in particular, each downstream node marks one or more nodes as its time sources. Note that using multiple upstream nodes when they are available (e.g., in dense networks) could help to increase the synchronization quality by averaging out the errors; however, in practice, the existing TSCH open-source implementations (OpenWSN [START_REF] Stanislowski | Adaptive synchronization in IEEE802.15.4e networks[END_REF] and Contiki [START_REF] Duquennoy | TSCH and 6TiSCH for Contiki: Challenges, Design and Evaluation[END_REF]) allow to have just a single upstream node as the time source.

Two synchronization methods are defined in the standard [START_REF]IEEE Standard for Local and metropolitan area networks-Part 15.4[END_REF]: (1) message-based, where the downstream node synchronizes its clock upon the reception of a message from a time source, and (2) ACK-based, where the downstream node corrects its clock using a field in the ACK frame received from a time source.

Both TSCH control messages and data messages are used for synchronization. For example, a downstream node is resynchronized upon each data packet sent to and successfully acknowledged by its time source node. However, for low data rate applications, data packets are not sufficiently frequent to maintain the synchronization; thus, explicit synchronization packets need to be transmitted. This leads to link-layer protocol overhead, i.e. nodes transmit more synchronization packets than data packets, and motivates the need to increase the maximum resynchronization period.

Max. Resynchronization Period, min

B. Maximum resynchronization period

According to the IEEE 802.15.4 standard, a node must start transmitting each MAC-layer frame exactly τ o (transmission offset) microseconds after the start of a timeslot. This transmission is preceded by the transmission of the PHYlayer preamble and the Start-of-Frame Delimiter (SFD), which cumulatively takes τ p microseconds.

TSCH incorporates a guard time to deal with the loss of synchronization. To account for both positive and negative clock drift, the receiver wakes up before the expected start of frame transmission offset and keeps the radio on for at least τ g microseconds, waiting for reception of an SFD. In the standard, the guard time is equally spaced around the transmission offset τ o , i.e., the node starts listening at τ o -τg 2

and ends listening at τ o + τg 2 . It follows that the effective guard time in an implementation that follows the standard to the letter is the asymmetric, since it does not account for the reception of a frame preamble (τ p ).

Given guard time τ g , the maximal desynchronization for clocks slower than the reference clocks is equal to e max-= τg 2 -τ p , while for clocks faster: to e max+ = τg 2 . The IEEE 802.15.4 standard values (τ g = 2.2 ms, τ p = 160 µs) result in e max-= 0.94 ms and e max+ = 1.1 ms.

Due to timing errors, TSCH node clocks drift at a rate δ. The synchronization error e after time interval ∆t is:

e = |δ|∆t. (1)
For TSCH to operate without packet loss due to synchronization errors the following inequality needs to hold: e ≤ e max-, therefore from Eq. 1 one can calculate the maximum resynchronization period for a given guard time (τ g ):

∆t ≤ τ g -2τ p 2|δ| . (2)
Fig. 1 plots the maximum transmission period for various drift amplitudes. As the drift amplitude increases, more frequent packet transmissions are required to maintain the nodes synchronized.

C. Clock drift due to production spread

Deviation of oscillator crystals from their nominal frequency due to production spread is one of the main reasons for clock drift. The bounds of this deviation (± f ppm) are typically specified by the manufacturer.

Let us assume that the timings of a sender, u, and a receiver, v, are scheduled using crystals with frequency errors u ∈ [f , f ] and v ∈ [f , f ] respectively. The worst case scenario is when one of the crystals operates with +e f error, whilst the other operates with -e f error. As a result, the relative drift due to production spread is:

δ f = 1 1 + u - 1 1 + v ≈ u -v , where |δ f | ≤ 2 f . (3)
For example, a TSCH link between nodes that use the a crystal oscillator with f = ±20 ppm must be able to tolerate a drift of up to δ f = 40 ppm in the worst case scenario.

D. Clock drift due to differences in operating temperature

Crystal oscillators are also characterized by a temperaturedependent error that depends on the shape of the crystal. Crystal oscillators are typically manufactured in such a way that their frequency dependence on temperature is quadratic. Indeed, a crystal resonates close to its nominal frequency at T 0 = 25 o C, but slows down at temperature T at a rate of B(T -T 0 ) 2 , where B is the parabolic coefficient. The worst case scenario for a TSCH link is when one of the crystals operates at a temperature T 0 , whilst the other operates at a temperature T . The temperature-specific drift δ T in this worst case scenario is:

δ T = 1 1 -B(T -T 0 ) 2 -1 ≈ B(T -T 0 ) 2 . (4)
For the 32.768 kHz crystal oscillator FC-135 (T 0 = 25 o C, B = -0.04 ppm [START_REF]FC-135 kHz range crystal unit[END_REF]), the temperature-dependent clock drift is ≤ 1 ppm in room temperatures (20 to 30 o C), whereas at -5 o C the drift for this crystal rises up to δ T = 36 ppm.

E. Other sources of clock drift

The synchronization error cannot be detected with perfect accuracy due to inaccuracies in packet timestamps, packet transmissions, scheduling of the TSCH state machine, and granularity of the units of the timestamps. These problems are source for additional clock drifts, denoted by δ o . As shown in [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF], δ o is very important for maintaining microsecondlevel accuracy synchronization. Yet, it is inversely proportional to the period of synchronization (∆t) [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF]; hence, it is less significant in applications that generate data infrequently.

Another possible origin of clock drift is the switching of clock sources. In particular, during the active mode, TSCH timing is often based on a high-frequency oscillator, while during low-power modes, the only available active clock source is a low-frequency one, such as the FC-135 oscillator. However, this paper avoids that problem by resynchronizing these two local time sources on each wakeup [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF].

F. Avoiding the transmission of synchronization messages

In a practical scenario, the various sources of clock drift are combined. In fact, they can be aggregated or cancel out, depending on the direction of the drift.

δ = δ f + δ T + δ o .
(5) Eq. 1 indicates an inversely proportional relationship between the clock drift (δ) and the period of synchronization (∆t). In other words, assuming a fixed guard time, a TSCH network has two ways of maintaining the synchronization: either the period of synchronization needs to match δ; or, the drift needs to be compensated in software. Clearly, the second alternative is more desirable because of efficiency reasons, in particular for TSCH in applications that exchange data messages infrequently and consequently need dedicated control messages for synchronization. For example, assuming ∆t = 600 sec and the default TSCH guard time (τ g = 2.2 ms, e ≤ 0.94 ms), the clock drift needs to be compensated in software so that the effective drift is |δ| ≤ 1.57 ppm. Related works have proposed algorithms for measuring and compensating the clock drift due to production spread (δ f ) [START_REF] Stanislowski | Adaptive synchronization in IEEE802.15.4e networks[END_REF] and measurement inaccuracies (δ o ) [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF]. This article complements the related work with a mechanism to measure and compensate the temperature-dependent clock drift (δ T ).

IV. EXPERIMENTAL STUDY AND CALIBRATION

A. Setup

Temperature chamber TAS LT 600 (Fig. 3) is used to investigate the drift dynamics under T o changes. Three sensor nodes are placed inside the chamber, while the network coordinator node is placed outside, where the temperature stays stable. All nodes synchronize directly to the coordinator, which transmits synchronization messages once per second. Nodes in the chamber have USB connections with a laptop, which is used to log synchronization errors. The errors are logged upon each packet reception, while resynchronization is done only once every 10 min in order to simulate a less frequent exchange of packets.

B. Calibration

A calibration step is first performed to learn drift values under various temperature settings. The nodes are cooled down to -5 o C, then heated up to +60 o C during a calibration period of 2 h 40 min. Upon reception of each synchronization message each node calculates, saves, and logs over the serial interface the average drift values during the last 12 sec, as well as the corresponding T o . The HDC1000 temperature sensor, which has an accuracy of ±0.2 o C, is read once per second by a background process. The measurement of the empirical drift is based on the FC-135 crystal oscillator. Thus, he timing measurements have a quantization error of up to 30.5 µs [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF].

Calibration data (Fig. 4) validate the parabolic shape of the temperature-dependent error curve; however, the parabolic coefficient B of the datasheet corresponds to a worst case scenario, and thus cannot be used in place of empirical measurements if good results are desired (i.e., < 1.57 ppm drift, see Section III-F). Indeed, Fig. 4 shows that the dependence is smaller than specified by the datasheet (B = -0.04 vs B ≈ -0.02 empirically) and the shape of curve does not exactly match that of a quadratic parabola. Fig. 5 shows the result of equating the drift amplitude, δ, with the empirical drift of Fig. 4 on Eq. 2, and demonstrates the maximum resynchronization period required for maintaining time synchronization. The peaks identify the circumstances when the drift due to production spread and the temperature-dependent drift cancel out. The horizontal dashed line corresponds to a resynchronization threshold of 10 minutes. Node 1 performs particularly well in temperatures between 10 o C and 40 o C. Node 2 and Node 3, on the other hand, require more frequent synchronization even in room temperatures. The results highlight the fact that every individual node is unique. Therefore, temperature compensation based on datasheet estimates is insufficient for effective timesynchronization. Instead, using the proposed temperatureresilient time synchronization algorithm, each node measures and compensates for its individual drift behavior.

V. ADAPTIVE TEMPERATURE-RESILIENT TIME SYNCHRONIZATION

A. The algorithm Algorithm 1 describes the essential operation of the adaptive temperature-resilient time synchronization method. (For simplicity, the synchronization on ACK is not shown.) The combined empirical data from drift estimates and temperature readings (Fig. 4) are used to construct a node-specific lookup table with average drift values per each point in the o C scale. In the code, isCalibrationStage is an external parameter that determines whether the calibration is finished; STOREDRIFT and LOOKUPDRIFT handle the operations related to the lookup table that is a mapping between temperature and drift.

Upon each resynchronization event, the node learns the timing error of the local clock, therefore is able to estimate the local clock drift by dividing the error in clock ticks with the number of ticks passed since the last time synchronization. To remove errors caused by imprecise measurements, a moving average filter is applied on several recently learned drift values, resulting in a more accurate cumulative estimate [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF].

In the calibration stage, the estimated drift is stored in the lookup table. Once this stage is completed, the lookup table is used to obtain c temperature -the compensation for the temperature drift. c temperature is used continuously, even during the slots when no packet is received from a time source. However, when a packet is received, it is used to dynamically adjust for the second-order error, i.e., the difference between the actual drift and the drift in the table, and to calculate a new value of c history , the history-based compensation. The sum of these two compensations (c temperature + c history ) is used to adjust ts i+1 , the time of the next timeslot (Fig. 6).

The implementation uses error-accumulation free fixedpoint arithmetic, and stores drift and time with high granularity (in units of 1 1024 ppm and 1 1024 µs respectively) to achieve high accuracy [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF]. Lastly, since the TSCH timeslot operation is done in an interrupt context, lengthy function calls must be avoided; therefore the temperature sensor is read by a background process and MEASURETEMPERATURE rapidly returns the most recently read value instead of physically accessing the sensor.

B. Online calibration

The requirement to use a temperature chamber might make the system impractical to use in certain conditions. However, a simple extension of the algorithm allows to replace the separate calibration step by online calibration, performed on demand. A sketch of that extension follows.

Here, the last calibration time is stored in an array, with separate for each temperature value (e.g., for each o C). Each time a node encounters a specific temperature value it is not yet calibrated for, it enters a calibration mode. During this mode, time synchronization is performed more frequently or the guard time is increased. After learning the drift for this specific temperature value, the node records the drift, and the current time as the last calibration time for the current temperature. Then it reverts back to a more energy-efficient mode of operation. In this way, the node only ever needs to calibrate for temperature values it encounters in the real environment. This online calibration may be periodically repeated, e.g., because the aging of the oscillator crystal changes its drift.

VI. SIMULATOR

A simulator is designed to validate the analytic results and show the behavior of Algorithm 1. The simulator takes a series of temperature values and a lookup table with calibration data (per-temperature drifts) as its two inputs and models the behavior of a receiver node exposed to these environmental conditions.

The input temperature values are assumed to be the ground truth of the air temperature around the node, and the lookup table of drifts -the ground truth of the temperature-dependent clock frequency changes. In order to generate synchronization errors, four principal classes of errors are introduced in the simulator:

• Errors in temperature measurements. The HDC1000 temperature sensor has ±0.2 o C accuracy [START_REF]HDC1000: Low Power, High Accuracy Digital Humidity Sensor with Temperature Sensor[END_REF], therefore a random uniform error in this range is added to its readings. • Delay in drift estimation and inertia in temperature. The calibration reports the average drift during the last 12 sec (Section IV-B). Furthermore, the crystal oscillator can be assumed to be heating up more slowly than the air around the node as measured by the sensor, and lagging a short time behind it. Therefore, for drift reported at time t, the simulations use T o at t -10 seconds as the operating T o of the oscillator. • Sub-degree differences in temperature that are not captured by the compensation table as the implementation uses a table with granularity of 1 o C. The compensation algorithm rounds down the measured temperature T to the nearest integer T , which is then used to obtain the drift estimate d(T ). However, the simulations use linearly weighted combination of d(T ) and d(T + 1) as the effective drift at temperature T . • Errors in time measurements. According to analytic models [START_REF] Elsts | Microsecond-accuracy time synchronization using the IEEE 802.15.4 TSCH protocol[END_REF], time is measured with accuracy of one timer tick (0.25 µs in our setup), therefore a random uniform error in this range is added to the synchronization error calculated upon packet reception.

The results (using input data from Section IV) are shown in Fig. 7. Each simulation is re-run three times in order to show the small effects from randomness. Figures 7c and7d show an order-of-magnitude improvement in synchronization quality after applying Algorithm 1. The maximum synchronization error (|err max |) is 12.7 ms in the baseline TSCH (Fig. 7a), but only 0.7 ms when temperaturebased compensation is enabled (Fig. 7d): an difference of more than 10 times. Counterintuitively, disabling history-based compensation in Algorithm 1 gives the smallest average error (Fig. 7d). This happens because otherwise second-order errors arise from the interaction of the two drift compensation mechanisms. However, there are some practical reasons for enabling history-based compensation. In particular, aging processes of oscillator crystals change their drift, therefore the lookup tables will eventually become outdated unless the calibration is periodically repeated (e.g., once per year).

Figure 8 shows that the algorithm is relatively robust to temperature dynamics as long as the rate of temperature change stays realistically small.

VII. EXPERIMENTAL EVALUATION

A. Synchronization accuracy: controlled experiment

An experiment in the temperature chamber is performed in order to validate the simulation results. The setup in Fig. 2 is replicated. After cooling down the nodes to -5 o C the system is started up; then the chamber's temperature setting is incremented in three steps of +20 o C, stopping for 30 min between subsequent increments (at +15, +35 and +55 o C). The results (Fig. 9) closely repeat the simulations (Fig. 7c). Firstly, they both show a similar pattern of synchronization errors. Secondly, the disagreement in the average error observed in simulations and experiments is only 5 %. The system remains within the guard-time boundaries of the standard TSCH settings when synchronizing once every 10 minutes. Furthermore, it can be seen that once the temperature is stable at +55 o C, the synchronization accuracy iteratively improves because of the history-based drift compensation.

B. Synchronization accuracy: indoor and outdoor experiments

To evaluate longer-term operation of the system in realistic conditions, one 15 h indoor experiment and one 15 h outdoor experiment are performed with a similar setup.

The indoor experiment (Fig. 10) shows relatively stable temperature and low synchronization errors (|err| max = 0.26 ms). Here, the resynchronization interval could be increased by 3.5 times to more than 30 min. It also shows that the maximum synchronization error in room temperature is heavily dependent on the node.

The outdoor experiment was undertaken on the 19th June 2017 in the UK. According to meteorological data, it was one of the warmest days of the year. The experiment included one period when the nodes, except the coordinator node, were exposed to direct sunlight. During the experiment the nodes were protected only by light off-the-shelf plastic casing (see [START_REF] Fafoutis | Demo: SPES-2 A Sensing Platform for Maintenance-Free Residential Monitoring[END_REF]). The temperature curve shows stable increase during the morning heat-up phase, after which a plateau of > 45 o C is reached. However, during this plateau, significant rapid variations in temperature are present, caused by minor clouds and wind, and the synchronization errors are much larger than during the stable heat-up phase. Then, after being shadowed by a larger cloud, the temperature on the nodes drops sharply (more than 8 o C change per 5 minutes) below < 40 o C. Only during this rapid change the guard time limit is breached; a synchronization frequency of 6 minutes would be sufficient to stay within it. Afterwards the nodes are shadowed by a building and the system remains stable until the end of the experiment.

The results stress the importance of real-world experiments, as the node outdoor temperature dynamics show unexpectedly high randomness, and confirm direct sunlight as a particularly difficult environment for time-synchronized networks.

C. Energy efficiency

Figure 12 shows the charge required for synchronization in a 600-second period on the SPES-2 platform depending on the synchronization method. "Sensor" refers to the charge requirements of the HDC1000 temperature sensor, sampled once per second; "CPU" to the cost of running the adaptive and temperature compensation algorithms, also once per second; "Radio" to the energy costs for receiving TSCH EB synchronization packets (36 bytes each).

The number of packets per 600 seconds is dependent on the desynchronization period, which in turn is dependent on the method. Note that assuming a realistic 80 % link-layer packet reception rate, the application needs to try to receive more than one packet per each desynchronization period in order to receive at least one successfully with high probability. These experiments assume that > 99.9 % probability of remaining synchronized in a single desynchronization period is required, therefore five packet reception attempts must be scheduled. Consequently, within the 10-min period, method (a) requires receiving 59 packets, while (d): just 3.3 packets on the average.

The results show that even though reading the temperature sensor adds a constant overhead to the system, the temperature compensation helps to increase the overall system efficiency in this scenario. The relative efficiency would be further increased in a multihop network formed by energy-constrained nodes, as in this case not only the costs for reception of synchronization packets, but also the costs for retransmission would have to be taken into account. Furthermore, the relative efficiency would be further increased if the overlaying application makes use of the temperature sensor. In that case, the proposed algorithm could leverage these temperature measurements, not requiring any additional sensing.

VIII. CONCLUSION

This paper proposes adaptive temperature-resilient time synchronization, a method for improving time synchronization accuracy in TSCH networks exposed to large dynamic changes in temperature. The results show that this method reduces synchronization message frequency by up to 10 times compared to baseline TSCH. With one synchronization message per ten minutes, the system shows a 0.26 ms maximal synchronization error indoors and a 0.88 ms error in a temperature chamber where the network undergoes a 60 o C change in temperature. In both experimental settings, all nodes stay within the standard TSCH guard time that bounds the maximum error to 0.94 ms. In outdoor settings and direct sunlight where the rate of change exceeds 8 o C per five minutes, a 6-minute synchronization period is sufficient to achieve the same result. Finally, both the calibration stage and the continuous operation stage of the method has low computational and sensing requirements, therefore can be easily implemented on lowpower Internet of Things nodes equipped with common-offthe-shelf temperature sensors.

Fig. 1 :

 1 Fig. 1: Maximum resynchronization period depending on the drift amplitude |δ|.

Fig. 2 :

 2 Fig. 2: Experimental setup. GW denotes the network's coordinator.

Fig. 3 :Fig. 4 :

 34 Fig. 3: The temperature chamber.

Fig. 5 :

 5 Fig. 5: Maximum resynchronization period based on the empirical drift amplitude. The peaks correspond to circumstances when the drift due to production spread and the temperature-dependent drift cancel out. The dashed line corresponds to the 10-minute threshold targeted in this work.

Fig. 6 :

 6 Fig. 6: Compensating for clock drift. Compensation amount c is equal to the time until the next active slot times the estimated drift.

2 1 Fig. 7 :

 217 Fig. 7: Simulation performance; each simulation repeated 100 times, the average error plotted with thick black line, the distribution of errors shown as a colored area. Here and in further figures: synchronization period is 10 min; the horizontal lines mark the standard TSCH desynchronization thresholds. In (a), the network would desynchronize in 51 seconds in the worst case, in (b): in 106 seconds, in (c): in 9 min 19 seconds. (d) always stay within the synchronization interval (its estimated desynchronization period is 15 minutes), as does (c) in the majority of simulations. Note the different y-axis scales.

Fig. 8 :Fig. 9 :

 89 Fig.8: Dependence of the maximal error on temperature dynamics. Results obtained on synthetically generated temperature curves where the temperature from second to second changes according to the normal distribution with standard deviation σ given on x-axis. For each simulation, starting temperature t0 randomly selected in range 10 ≤ t0 ≤ 40 o C. Empirical datapoints from the indoor, temperature chamber, and outdoor experiments plotted red.

Fig. 10 :

 10 Fig. 10: Experimental results, 15 h indoors. Settings as in Fig. 7c. |err|max = 0.26 ms, |err|mean = 0.017 ms.

Fig. 11 :Fig. 12 :

 1112 Fig. 11: Experimental results, 15 h outdoors. Settings as in Fig. 7c (except history buffer size: 1 sample). |err|max = 1.51 ms, |err|mean = 0.055 ms.

This work was performed under the SPHERE IRC funded by the UK Engineering and Physical Sciences Research Council (EPSRC), Grant EP/K031910/1. It was also partly funded by the European Union's Horizon 2020 research and innovation programme under grant agreement No 761586 (5G-CORAL), the distributed environment Ecare@Home funded by the Swedish Knowledge Foundation, and by a grant from CPER Nord-Pas-deCalais/FEDER DATA.

https://github.com/IRC-SPHERE/ elsts2017-temperature-data.


Frédéric Le Roux

A topological characterisation of holomorphic parabolic germs in the plane

In [GP], Gambaudo and Pécou introduced the "linking property" to study the dynamics of germs of planar homeomorphims and provide a new proof of Naishul theorem. In this paper we prove that the negation of Gambaudo-Pécou property characterises the topological dynamics of holomorphic parabolic germs. As a consequence, a rotation set for germs of surface homeomorphisms around a fixed point can be defined, and it will turn out to be non trivial except for countably many conjugacy classes.

Introduction

Let H + be the set of orientation preserving homeomorphisms of the plane that fix 0, and let h ∈ H + . We are interested in the dynamics of the germ of h at 0. Imagine one wants to evaluate the "amount of rotation" in a neighbourhood V of 0 by looking at the way the orbit of some point x ∈ V rotates around 0. Then two kinds of difficulties can arise:

• if the orbit of x leaves V after a small number of iterations, then the behaviour of x is not significant with respect to the local dynamics;

• if the orbit of x tends to the fixed point 0, then the rotation of x around 0 is not significant either, because it is not invariant under a continuous change of coordinates.

These difficulties has lead Gambaudo and Pécou to the statement of the "linking property" (see [GP, Pé]) which demands that inside each neighbourhood of 0 there exist arbitrarily long segments of orbits starting and ending not too close to 0. In this paper we prove that the only germs that do not share the linking property are the contraction, dilatation and holomorphic parabolic germs. To be more precise, let us define the short trip property, which is the negation of Gambaudo-Pécou property, as follows.

Definition 1. Let f ∈ H + . We say that f satisfies the short trip property if there exists a neighbourhood V of the fixed point 0, such that for every neighbourhood W of 0, there exists an integer N W > 0 such that for every segment of orbit (x, f (x), . . . , f n (x)) which is included in V , and whose endpoints x, f n (x) are outside W , the length n is less than N W .

Two homeomorphisms f 1 , f 2 ∈ H + are said to be locally topologically conjugate if there exists a homeomorphism ϕ ∈ H + such that the relation f 2 = ϕf 1 ϕ -1 holds on some neighbourhood of 0. We are interested in the local dynamics near the fixed point 0, thus we consider maps up to local conjugacy. Note that any local homeomorphism locally coincides with a homeomorphism defined on the whole plane, so that working with globally defined homeomorphisms is just a matter of convenience and does not alter the results (see [Ham] or [LR], chapitre 2). As a consequence, to prove that two homeomorphisms are locally topologically conjugate it suffices to construct the conjugacy on a neighbourhood of 0.

Definition 2. Let f ∈ H + , and identify the plane with the complex plane C. We say that f is a locally holomorphic parabolic homeomorphism (or just parabolic) if f is holomorphic on some neighbourhood of 0, f ′ (0) is a root of unity, and for every positive n the map f n is not locally equal to the identity.

Note that the hypothesis on f ′ (0) amounts to saying that the differential of f is a rational rotation, and then the last hypothesis is equivalent to saying that f is not locally topologically conjugate to its differential. According to Camacho version of Leau-Fatou theorem, if f ∈ H + is parabolic, then f is locally topologically conjugate to some map z → e 2iπ p q z(1 + z qr ), with p q ∈ Q, q, r ≥ 1.

See [Cam], and figure 1.

We can now state our theorem.

Theorem 3. Let f be an orientation preserving homeomorphism of the plane that fixes the point 0. Then f has the short trip property if and only if it is locally topologically conjugate to the contraction z → 1 2 z, to the dilatation z → 2z, or to a locally holomorphic parabolic homeomorphism.

As a consequence there are only countably many conjugacy classes missing to satisfy Gambaudo-Pécou property.

In order to explain where theorem 3 comes from, let us first discuss Naishul theorem. In [GP] it was shown that Gambaudo-Pécou property holds when f preserves area, and then this property is used to prove Naishul theorem: among area preserving homeomorphisms fixing 0 that are differentiable at 0 and whose differential is a rotation, the angle of the rotation is invariant under a local topological conjugacy. Then the following nice generalisation of Naishul theorem is given by Gambaudo, Le Calvez and Pécou in [GLP]. As a generalisation of differentiability at 0, they consider the homeomorphisms f for which the fixed point can be "blown-up", i.e. replaced by an ideal circle in such a way that f can be extended to a circle qr periodic petals for f

action of f q P 1 P 2 P 3 S 1 S 2 S 3 • • • Figure 1: Local topological dynamics of f : z → e 2iπ p
q z(1 + z qr ); here q = 3, p = 1, r = 2, so that there is two orbits of attracting petals and two orbits of repulsive petals homeomorphism (see the precise definition in [GLP]). They prove that for such homeomorphisms, the Poincaré rotation number of the extended circle homeomorphism is invariant under a local topological conjugacy, unless f is a contraction or a dilatation. The strategy of their proof is the following. If f has Gambaudo-Pécou property, then one can use the arguments in [GP]. Now assume that f is indifferent, that is, f admits arbitrarily small nontrivial invariant compact connected sets K containing 0; then one can use Caratheodory prime ends theory to associate a circle homeomorphism f K to each such K, and use the rotation number of f K to prove the topological invariance. Then one proves a last lemma asserting that a germ which is not indifferent and does not have Gambaudo-Pécou property must be a contraction or a dilatation.

As a consequence of Leau-Fatou theorem, parabolic maps are indifferent. Thus theorem 3 is a generalisation of this last lemma. Furthermore, it provides an alternative proof of the generalised Naishul theorem avoiding the use of prime-ends, as follows: we keep the arguments in [GP] to tackle homeomorphisms with Gambaudo-Pécou property; then, in view of theorem 3, it only remains to deal with parabolic homeomorphisms, for which the proof is easy because the local dynamics is completely understood.

More generally, in [START_REF] Le Roux | L'ensemble de rotation d'un germe d'homéomorphisme de surface[END_REF] we will define a local rotation set for any homeomorphism f in H + . This set is a subset of the line modulo integer translation, and it is a local topological conjugacy invariant. Then theorem 3 will entail that the local rotation set is non void as soon as f does not fall into the countably many conjugacy classes described by the theorem.

One can also think of theorem 3 as a local analogue of previous results showing that a simple dynamical property can imply a strong rigidity. The most striking result here is probably Hiraide-Lewowicz theorem that an expansive homeomorphism on a compact surface is conjugate to a pseudo-Anosov homeomorphism (see [Hi, Le]). Closer to our setting, Kérékjártó has shown that an orientation preserving homeomorphism of a closed orientable surface whose singular set is totally disconnected is topologically conjugate to a conformal transformation (see [START_REF] Bonatti | Surface homeomorphisms with zerodimensional singular set[END_REF][START_REF] Kérékjártó | Sur le caractere topologique des representations conformes[END_REF][START_REF] Kérékjártó | Sur le groupe des transformations topologiques du plan[END_REF]). Thus, for instance, an orientation preserving homeomorphism f of the plane is conjugate to a translation if and only if it has no fixed point and the family (f n ) n≥0 is equicontinuous at each point for the spherical metric.

In some sense, theorem 3 highlights that it is easy to be locally conjugate to a locally parabolic homeomorphism: a homeomorphism that "looks like" a parabolic map will be conjugate to it. In contrast, the examples given in [BLR] reveal how difficult it is to be conjugate to the saddle homeomorphism (2x, y/2), and in particular that it is not enough to preserve the hyperbolic foliation. A topological characterisation can be given, but it must take into account the sophisticated oscillating set (see the remark on fig. 3 in [BLR], as well as part III).

Dynamics of parabolic germs

Properties 12 and 13 below provide a first (classical) characterisation of parabolic germs in terms of attracting and repulsive sectors and invariant petals.

Contractions and attracting sectors

We begin by characterising the dynamics of contractions. Then we describe attracting sectors.Of course, similar results hold for dilatation and repulsive sectors, although we will not state them explicitly.

Let f ∈ H + . We will say that a sequence (E n ) n≥0 of subsets of the plane converges to 0 if for every W neighbourhood of 0, all but finitely many terms of the sequence are included in W . The following result is very classical.

Proposition 4. Let f ∈ H + . Let D be a topological closed disc1 which is a neighbourhood of 0, and suppose that the orbit (f n (D)) n≥0 converges to 0. Then f is locally topologically conjugate to the contraction z → 1 2 z. Proof. By hypothesis there exists n > 0 such that f n (D) ⊂ Int(D). Choose some decreasing finite sequence of topological closed discs

D i with D 0 = D, Int(D i ) ⊃ D i+1 , and Int(D n-1 ) ⊃ f n (D 0 ). Consider the set O = Int (D n-1 ) ∩ Int (f (D n-2 )) ∩ • • • ∩ Int f n-1 (D 0 ) .
Let U be the connected component of O containing the fixed point 0. The hypotheses on the D i 's entail that Clos(f (O)) ⊂ O. Since Clos(f (U)) is connected and contains 0, we deduce that Clos(f (U)) ⊂ U. Furthermore, according to a theorem of Kérékjártó, the set D ′ = Clos(U) is a closed topological disc (see [START_REF] Kérékjártó | Vorlesungen über Topologie (I)[END_REF][START_REF] Calvez | Un théorème d'indice pour les homéomorphismes du plan au voisinage d'un point fixe[END_REF]). This disc satisfies f (D ′ ) ⊂ Int(D ′ ). Now the annulus D ′ \ Int(f (D ′ )) is a "fundamental domain" for f , and can be used to construct a local topological conjugacy between f and the contraction.

We will say that two sets S and S ′ coincides in a neighbourhood of 0, or have the same germ at 0, and we will write

S 0 = S ′ , if there exists a neighbourhood V of 0 such that S ∩ V = S ′ ∩ V .
Definition 5 (see figure 2). An attracting sector is a topological closed disc S whose boundary contains 0, which coincides in a neighbourhood of 0 with its image f (S), and whose orbit (f n (S)) n≥0 converges to 0. The attracting sector is said to be nice if f (S) ⊂ S and S \ f (S) is connected. A (nice) repulsive sector is a (nice) attracting sector for 1. If S is an attracting sector then there exists a nice attracting sector S ′ , included in S, and having the same germ as S at 0.

f -1 . 0 0 S f (S) f n (S)

If S

′ is a nice attracting sector for f , then there exists a homeomorphism Φ between S ′ and the half-disc S 0 = {|z| ≤ 1, y ≥ 0} such that the conjugacy relation Φf = 1 2 Φ between f and the contraction z → 1 2 z holds on S ′ .

Remark 7. Here are some easy consequences of item 2 of the claim.

1. The sets Φ -1 ([-1, 0]), Φ -1 ([0, 1]) are called the sides of the nice attracting sector; they do not depend on the choice of Φ.

2. There exists arbitrarily small nice attracting sectors within S ′ ; moreover, any pair of points x, y on both sides of S ′ are the endpoints of the sides of some nice attracting sector included in S ′ .

3. Any homeomorphism Φ between the union of the sides of S ′ and the segment [-1, 1], satisfying the conjugacy relation Φf = 1 2 Φ, can be extended to a homeomorphism between S ′ and S 0 conjugating f and z → 1 2 z as in item 2 of the claim. Proof of claim 6. Let S be an attracting sector. It is easy to see that there exists an arc α included in the boundary of S, whose interior2 Int(α) contains the fixed point 0, and such that f (α) ⊂ Int(α). Let us consider the set

A := n≥0 f -n (α).
This set is clearly a continuous one-to-one image of the real line, and f (A) = A. By definition of an attracting sector, there exists an integer n 0 such that for every n ≥ n 0 , the set

f n (S) is disjoint from the compact set f -1 (α) \ Int(α). Then one has A ∩ S = f -n 0 (α) ∩ S.
In particular, we can find a simple arc β such that α ∪ β is a Jordan curve included in S, and whose intersection with A is reduced to α.

Let D 0 be the topological closed disc bounded by α ∪ β. Then D 0 is included in S and coincides with S in a neighbourhood of 0, and

D 0 ∩A = α. Note that for every n, f n (D 0 ) ∩ A = f n (D 0 ∩ A) = f n (α).
The disc D 0 is clearly an attracting sector. Let n 0 be a positive integer such that for every

n ≥ n 0 , f n (D 0 ) does not meet β. Thus f n (D 0 ) is included in Int(D 0 )∪f n (α).
We can now find a closed topological disc S ′ ⊂ D 0 , having the same germ at 0 as D 0 , which is a nice attracting sector for f . For this we can make a construction similar to the proof of proposition 4, with the following adaptations. Now we choose the topological discs D i 's having the same germ at 0, containing α, and such that Int(D i ) ∪ {α} ⊃ D i+1 and Int(D n-1 ) ∪ {f n (α)} ⊃ f n (D 0 ). The open set U is defined to be the unique connected component of O that has the same germ at 0 than the D i 's, and S ′ is the closure of U. Then one has f (S ′ ) ⊂ U ∪ f n (α), and f n (S ′ ) contains f n (α); and thus S ′ \ f (S ′ ) is connected. The details are left to the reader.

The proof of item 2 is straightforward by using the fundamental domain Clos(S ′ \ f (S ′ )).

Regular invariant petals

We first recall a theorem of Kérékjártó ([Ke34b]).

Theorem 8 (Kérékjártó). Let f be a homeomorphism of the plane that preserves the orientation, and suppose that for any compact set K the orbit (f n (K)) n≥0 converges to the point at infinity in the sphere R 2 ∪ {∞}. Then f is topologically conjugate to the translation z → z + 1. Sketch of proof. By considering the space of orbits, the problem can be brought into the realm of the classification of surfaces: then it follows from the fact that any surface without boundary, whose fundamental group is the group of integers, is homeomorphic to the infinite cylinder (see for example [AS]). Definition 9. An invariant petal for f is a topological closed disc P whose boundary contains the fixed point 0, and such that f (P ) = P . An invariant petal is called regular if for every compact set K ⊂ P \ {0}, the sequence (f n (K)) n≥0 converges to 0.

Remark 10. If P is a regular invariant petal then f has no fixed point on the topological line ∂P \{0}. Thus we may endow this line with a dynamical order such that f (x) > x for any point x = 0 on ∂P . The petal will be called direct if this dynamical order is compatible with the topological (usual) orientation of ∂P as a Jordan curve of the oriented plane (for which the interior of P is "on the left" of ∂P ); in the opposite case it will be called indirect.

An adaptation of the proof of Kérékjártó theorem yields the following.

Claim 11. Let P be a regular invariant petal for f ∈ H + . If P is direct then the restriction f |P is topologically conjugate, via an orientation preserving homeomorphism, to the restriction of the translation z → z + 1 to the closed half-sphere {x + iy, y ≥ 0} ∪ {∞} of the Riemann sphere Ĉ. The same is true if P is indirect with z + 1 replaced by z -1.

Characterisation of parabolic homeomorphisms

We can now characterise the local dynamics of parabolic homeomorphisms. For any set D the maximal invariant set of D is the set ∩ n∈Z f n (D) of points whose whole orbits are included in D.

Proposition 12 (see figure 1). Let f ∈ H + . Fix some integer ℓ ≥ 1. Then f is locally topologically conjugate to z → z(1 + z ℓ ) if and only if there exists a neighbourhood of 0 which is a topological closed disc D called a nice disc, such that 1. the maximal invariant set of D is the union of 2ℓ regular invariant petals P 1 , . . . , P 2ℓ , whose pairwise intersections are reduced to {0};

2. the sets ∂D ∩ P i are connected, and the cyclic order of these sets along ∂D coincides with the order of the indices i ∈ Z/2ℓZ;

3. for every i, let S i be the closure of the connected component of D \ (P 1 ∪ • • • ∪ P 2ℓ ) meeting both P i and P i+1 , then S i is a nice attracting sector for odd i and a nice repulsive sector for even i.

The next statement takes into account a possible permutation of the petals.

Proposition 13. Let f ∈ H + and suppose that for some positive integer n 0 the map f n 0 is locally topologically conjugate to a parabolic homeomorphism. Then so is f . The proofs are delayed until section 4.

Proof of the theorem

From now on, f denotes an orientation preserving homeomorphism of the plane that fixes 0 and satisfies the short trip property. We fix some open neighbourhood V of 0 as in the definition of the short trip property, and define the sets

W s (V ) = n≥0 f -n (V ) and W u (V ) = n≤0 f -n (V ).
Since our hypothesis is symmetric in time both sets share the same properties, and we will usually restrict the study to W s (V ).

Orbits

The following lemma shows in particular that the orbits of points near 0 can only converge to 0 or escape from the neighbourhood V . Note that this lemma still holds in any dimension.

Lemma 14.

For every compact subset

K of W s (V ) \ {0}, the sequence (f n (K)) n≥0 converges to 0. 2. The set W s (V ) \ {0} is open. 3. The set W s (V ) ∪ W u (V ) is a neighbourhood of 0. 4. If W s (V ) is a neighbourhood of 0 then f is locally topologically con- jugate to z → 1 2 z; if W u (V ) is a neighbourhood of 0 then f is locally topologically conjugate to z → 2z.
Proof. Let K be a compact subset of W s (V ) \ {0}, and let W be some neighbourhood of 0 disjoint from K. Note that by definition of W s (V ), for every positive n, f n (K) ⊂ V . Now let N W be given by the short trip property. Then the property forces f n (K) ⊂ W for every n > N W . This proves item 1 of the lemma.

Let x = 0 be some point in W s (V ), and W a neighbourhood of 0 whose closure does not contain x, and such that W ∪ f (W ) ⊂ V . Let N W be given by the short trip property. Let

O = N W n=0 f -n (V ) \ Clos(W ).
This is an open set that contains x. We prove item 2 of the lemma by showing that O is included in W s (V ). To see this, let y ∈ O. By definition of N W in the short trip property we have f N W (y) ∈ W . Then we claim that f n (y) ∈ W for every n ≥ W , which will entail y ∈ W s (V ) as wanted. Assume by contradiction that our claim does not hold and let n 0 be the least integer after N W such that f n 0 (y) ∈ W . Since f (W ) ⊂ V we have f n 0 (y) ∈ V . The segment of orbit y, . . . , f n 0 (y) contradicts the definition of N W . This completes the proof of item 2.

We consider again a neighbourhood W of 0 such that W ∪ f (W ) ∪ f -1 (W ) ⊂ V and N W given by the short trip property. We define the following neighbourhood of 0,

Z = N W n=-N W f -n (W ).
We prove by contradiction that Z ⊂ W s (V ) ∪ W u (V ). Assume some point x ∈ Z does not belong to W s (V ) nor to W u (V ). Since W ⊂ V , the orbit (f n (x)) of x leaves W both in the past and in the future; but by definition of Z this cannot happen for n between -N W and N W . Let r, s be the least positive integers such that the points f -r (x) and f s (x) do not belong to W ; since f (W ) ∪ f -1 (W ) ⊂ V both points belong to V \ W and again we have found a segment of orbit of length r + s > 2N W contradicting the definition of N W .

Finally we notice that item 4 is a consequence of item 1 and the topological characterisation of contractions (proposition 4 above).

Construction of the petals

We still consider a homeomorphism f ∈ H + satisfying the short trip property, and from now on we assume that f is not locally conjugate to the contraction z → 1 2 z nor to the dilatation z → 2z. We aim to prove that f is locally conjugate to a parabolic homeomorphism by ultimately applying propositions 12 and 13. The main task will be to contruct the family of periodic petals. As a first approximation we will select a finite number of connected components of W s (V ) ∩ W u (V ) \ {0}, hoping to find one petal inside each of these components.

We fix an open neighbourhood V of 0 as before, and we assume V is simply connected. According to item 3 of the previous lemma, we can choose a topological closed disc D which is a neighbourhood of 0 and included in W s (V ) ∪ W u (V ). According to item 4, since we excluded the cases of contractions and dilatations, D is not included in W s (V ) nor in W u (V ). By compactness we can decompose ∂D as the concatenation of 2ℓ ≥ 2 arcs α 1 , . . . , α 2ℓ such that α i is included in W s (V ) for odd i and in W u (V ) for even i. We make the following minimality hypothesis: the number ℓ is minimal among all such choices of topological closed discs D and decompositions of ∂D.

For every i (integer modulo 2ℓ) the common endpoint point x i of α i-1 and α i belongs to W s (V ) ∩ W u (V ). We denote by

C i the connected com- ponent of W s (V ) ∩ W u (V ) \ {0} that contains x i . According to item 2 of lemma 14, this set C i is open. Let D ′ be a topological closed disc; since V is simply connected, if ∂D ′ ⊂ V then D ′ ⊂ V . Applying this to the iterates of D ′ , we see that if ∂D ′ ⊂ W s (V ) ∩ W u (V ) \ {0}, then D ′ ⊂ W s (V ) ∩ W u (V ).
Since W s (V ) is not a neighbourhood of 0, we get the following consequence.

Lemma 15. Any connected component of W s (V ) ∩ W u (V ) \ {0} is open and simply connected. In particular, the sets C i are homeomorphic to the plane.

The next lemma is the fundamental step in the construction of the periodic petals. No dynamics is involved here; indeed, we will only need properties 2 and 3 from lemma 14 on the topology of W s (V ) and W u (V ). Lemma 16. For every i, the closure of C i contains the fixed point 0.

Proof. For notational simplicity we assume i = 1, and we note C = C 1 and x = x 1 ∈ α 2ℓ ∩α 1 . Using Schoenflies theorem, up to a change of coordinates, we can assume that D is a euclidean closed disc.

We will argue by contradiction. Assuming that 0 does not belong to the closure of C, we will construct a simple arc α with the following properties (we denote by ∂α the set of endpoints of α and set Int(α) = α \ ∂α): From this we will get a contradiction as follows (see figure 3, (a)). Assume for example that the first case of the last item holds. Let 1 ≤ i 1 ≤ i 2 ≤ 2ℓ be such that the endpoints of α are respectively included in α i 1 and α i 2 . Since ∂α does not meet W u (V ), both i 1 and i 2 are odd, and in particular 1 ≤ i 1 ≤ i 2 < 2ℓ. Let β ⊂ ∂D be the arc with the same endpoints as α and not containing x: then β is covered by α i 1 ∪ • • • ∪ α i 2 , and from the second point we see that the Jordan curve α ∪ β surrounds 0. Since α ∪ α i 1 ∪ α i 2 is included in W s (V ), we can write α ∪ β as the concatenation of i 2i 1 arcs, each included in W s (V ) or W u (V ). This contradicts the minimality hypothesis on ℓ since i 2i 1 < 2ℓ.

1. Int(α) ⊂ Int(D), ∂α ⊂ ∂D; 2. α separates 3 x from 0 in D; 3. either α ⊂ W s (V ) and ∂α ∩ W u (V ) = ∅, or α ⊂ W u (V ) and ∂α ∩ W s (V ) = ∅. 0 β α x α 2ℓ x Γ 1 Γ 2 Γ 3 F 0 D y (
We now assume that 0 ∈ Clos(C) and turn to the construction of such an arc α. According to lemma 15, there exists a homeomorphism Φ : R 2 → C. Let (D k ) be the sequence of images under Φ of the concentric discs with radius k and centre Φ -1 (x). Thus:

• x ∈ D 1 , • D k ⊂ Int(D k+1 ), • ∪ k≥0 D k = C.
Let y be some point in Int(D) sufficiently near x so that the segment [xy] is included in D 1 ∩ D. For every k, the set ∂D k ∩ Int(D) is closed in Int(D) and separates y from 0 in Int(D) since 0 ∈ D k . According to theorem V.14.3 in [New], there exists a connected component of ∂D k ∩ Int(D) that also separates y from 0. Let Γ k denotes the closure of this component; thus Γ k is a sub-arc of the Jordan curve ∂D k with Int(Γ k ) ⊂ Int(D), ∂Γ k ⊂ ∂D, it separates x from 0 in D: in other words it satisfies the first two above properties required for the arc α.

Remember that the space of compact connected subsets of D is compact under the Hausdorff metric. Thus, up to extraction, we can assume that the sequence (Γ k ) converges to a compact connected set F ⊂ D (see figure 3,(b)). Since Γ k ⊂ ∂D k , the set F is included in ∂C. By assumption ∂C does not contain 0, so nor does the set F . Then again F separates y from 0 in Int(D): if not, there would exist an arc in Int(D) from y to 0 missing F , but then this arc would also miss Γ k for sufficiently big k, contrary to the property that Γ k separates y from 0.

Since

C is a connected component of the open set W s (V ) ∩ W u (V ) \ {0}, its boundary ∂C is disjoint from this set. Thus F is disjoint from W s (V ) ∩ W u (V ); and since it is included in D it is covered by the two open sets W s (V ) \ {0} and W u (V ) \ {0}.
Since F is connected it must be included in one of these two sets, and disjoint from the other one.

To fix ideas suppose that F ⊂ W s (V ) \ W u (V ). Then for k large enough the arc Γ k is also included in W s (V ). Now this arc almost satisfies the three above properties required for the arc α, it only fails to have its endpoints outside W u (V ). To remedy this we notice that, up to extraction, the two sequences of endpoints (Γ k (0)), (Γ k (1)) converges to some points in z 0 , z 1 ∈ F ∩ ∂D. Since F ⊂ W s (V ) \ {0} we can choose ε > 0 so that the euclidean balls B 0 , B 1 of radius ε and respective centres z 0 , z 1 are included in W s (V ). For k large enough Γ k meets both balls, and then we construct the wanted arc α by modifying Γ k near its endpoints: we replace two small extreme subarcs of Γ k , respectively included in B 0 and B 1 , by two euclidean segments reaching the points z 0 and z 1 . Note that since D is a euclidean disc both segments, apart from their endpoints z 0 , z 1 , are included in Int(D). The endpoints z 0 , z 1 of the resulting arc α are in F , thus outside W u (V ), and α fulfils the third property while still satisfying the first two. As we explained at the beginning of the proof, the existence of α contradicts the minimality of ℓ.

Periodicity of the petals

Unfortunately, we are not able to prove directly that the sets C i of the previous section are periodic for f . To overcome this difficulty we will consider slightly larger sets C ′ i which will turn out to be periodic. In the next section we will find a periodic petal inside each set C ′ i . We suppose that the closure of V is included in some neighbourhood V ′ of 0 which still satisfies the short trip property. In other words, we apply the results of the previous sections with V small enough to meet this new assumption. We note that lemmas 14 and 15 apply to V ′ . Obviously the inclusions W s (V ) ⊂ W s (V ′ ) and W u (V ) ⊂ W u (V ′ ) hold. Let the disc D and the sets C i be defined from V as in the previous section. Each set

C i is connected and included in W s (V ′ ) ∩ W u (V ′ ) \ {0}, and thus it is included in one connected component of W s (V ′ ) ∩ W u (V ′ ) \ {0} which we denote by C ′ i .
Lemma 17. The sets C ′ i are periodic: for every i there exists some positive integer q i such that

f q i (C ′ i ) = C ′ i . Proof. We first note that the set W s (V ′ )∩W u (V ′ )\{0} is invariant under f , and hence for every n the set f n (C ′ i ) is a connected component of W s (V ′ ) ∩ W u (V ′ ) \ {0}.
We claim that for every i there exist infinitely many n such that f n (C i ) meets the circle ∂D. Assuming the claim, we choose some limit point x ∈ ∂D of the sequence (f n (C i )) n∈Z . Since the point x is a limit of points whose whole orbits are included in V , its orbit is included in Clos(V ) ⊂ V ′ : in other words x belongs to W s (V ′ ) ∩ W u (V ′ ) \ {0}. Let O be the connected component of this last set containing x. According to lemma 15, O is open, and thus there exists infinitely many integers n such that f n (C i ) meets O. For every such integer n, the set

f n (C ′ i ) is a connected component of W s (V ′ ) ∩ W u (V ′ ) \ {0} that meets O, thus it coincides with O. Thus we find two integers n 1 < n 2 such that f n 1 (C ′ i ) = f n 2 (C ′ i ), which proves that C ′ i is periodic.
We prove the claim. By lemma 16 the fixed point 0 belongs to the closure of C i . Since C i ∪ {0} is not a neighbourhood of 0, this point also belongs to the closure of ∂C i . Furthermore,

(∂C i ) \ {0} ⊂ ∂ (W s (V ) ∩ W u (V )) \ {0} ⊂ (W s (ClosV ) ∩ W u (ClosV )) \ (W s (V ) ∩ W u (V )) .
Consequently for any z ∈ ∂C i \ {0} there exists an integer n such that f n (z) ∈ ∂V . Let (z k ) be a sequence in ∂C i converging to 0, then any sequence n k such that f n k (z k ) ∈ ∂V is unbounded, because the union of finitely many iterates of ∂V is a closed set which does not contain 0. For any k the set f n k (C i ) is connected, its closure contains 0 and meets ∂V , thus it also meets ∂D. This completes the proof of the claim.

Construction of the local conjugacy

We finally define the petals. According to the previous lemma we can choose some n 0 > 0 such that F = f n 0 leaves invariant every set C ′ i . In view of proposition 13, theorem 3 will follow from the fact that F is locally conjugate to a locally holomorphic parabolic homeomorphism. Let us prove this fact.

Recall that C ′ i is homeomorphic to the plane (lemma 15), and for any compact set K ⊂ C ′ i , the sequence (f n (K)) n≥0 converges to 0 (lemma 14). Consequently theorem 8 tells us that for every i the restriction of F to the invariant set C ′ i is conjugate to the plane translation z → z + 1. Picking a horizontal line and bringing it back under the conjugacy, we see that the point x i of C ′ i is on a topological line ∆ i ⊂ C ′ i such that F (∆ i ) = ∆ i . Let P i be the closed topological disc bounded by the curve ∆ i ∪ {0} (here we use Schoenflies theorem). It is clear that P i is a regular invariant petal for F .

The curve α i , defined at the beginning of section 3.2, meets both petals P i and P i+1 . Furthermore for odd i we have α i ⊂ W s (V ) so by lemma 14 the sequence (F n (α i )) n≥0 converges to 0, and the sequence (F n (α i )) n≤0 converges to 0 for even i. Thus the construction of a local conjugacy between F and z → z(1 + z ℓ ) now boils down to the following lemma.

Lemma 18 (see figure 1). Let f ∈ H + . Fix some integer ℓ ≥ 1. Assume the following hypotheses.

1. There exist 2ℓ regular invariant petals P 1 , . . . , P 2ℓ , whose pairwise intersections are reduced to {0}.

2. There exists a topological closed disc D which is a neighbourhood of 0, and whose boundary is the concatenation of 2ℓ arcs α 1 , . . . , α 2ℓ , each arc α i having one endpoint on P i and the other one on P i+1 .

3. For odd i the sequence (f n (α i )) n≥0 converges to 0, and for even i the sequence (f n (α i )) n≤0 converges to 0.

Then f is locally conjugate to z → z(1 + z ℓ ).

Note that we do not suppose that ∂D ∩ P i is a connected set, nor that α i does not meet some petal P j with j = i, i + 1, contrarily to proposition 12. An important step of the proof will be to check the not obvious fact that the petals indexation coincide with their cyclic order around 0.

Proof of lemma 18. Consider a homeomorphism f ∈ H + satisfying the hypotheses of the lemma. The arc α i contains a minimal sub-arc α ′ i connecting P i to P i+1 : the endpoints of α ′ i are respectively on P i and P i+1 , and its interior Int(α ′ i ) is disjoint from P i and P i+1 . Let i be odd, so that the sequence (f n (α ′ i )) n≥0 converges to 0. Then we define an attracting sector S ′ i as follows. We consider the curve obtained by concatenating the arc α ′ i , the sub-arc of ∂P i from the endpoint of α to 0 following the dynamical orientation of ∂P i , and the similar sub-arc on P i+1 (see remark 10). This curve is clearly a Jordan cuve, it bounds the topological closed disc S ′ i . It is not difficult to

The same is true for f ′ . Thus according to claim 11, the restriction of f and f ′ to P i and P ′ i are conjugate. The conjugacies can be glued together to obtain an orientation preserving homeomorphism Φ : ∪P i → ∪P ′ i which sends P i onto P ′ i and is a conjugacy between the restrictions of f and f ′ . The image under Φ of S i ∩ (P i ∪ P i+1 ) is not necessarily equal to S ′ i ∩ P ′ i ∪ P ′ i+1 . But using item 2 of claim 6 we can replace S i and S ′ i with smaller nice attracting sectors so that this equality becomes true (see item 2 of remark 7). We can now use item 3 of remark 7 to extend Φ to a homeomorphism between D and D ′ , sending S i onto S ′ i and conjugating the restrictions of f and f ′ . We do this for every attracting or repulsive sectors S i . We further extend Φ to a homeomorphism of the plane. The conjugacy relation f ′ Φ = Φf is satisfied on D ∩ f -1 (D). This completes the proof of the proposition.

To prove proposition 13 we need a claim.

Claim 19. Let Q 1 , Q 2 be two invariant petals included in a regular invariant petal P for F ∈ H + . Then Q 1 meets Q 2 , and there exists a unique connected

component O of Int(Q 1 ) ∩ Int(Q 2 ) such that F (O) = O. Furthermore, the closure of O is a regular invariant petal for F .
Proof. The first part is easily proved using the translation model given by claim 11. The only difficulty in the second part consists in checking that the closure of O is indeed a topological closed disc. But this follows from a previously quoted result of Kérékjártó ([Ke23,[START_REF] Calvez | Un théorème d'indice pour les homéomorphismes du plan au voisinage d'un point fixe[END_REF]). Also note that if Q ⊂ P are two regular invariant petals and P is direct then Q is direct.

Proof of proposition 13. Let f n 0 = F be conjugate to a parabolic homeomorphism F 0 . Up to increasing n 0 , we can assume that F ′ 0 (0) = 1, and thus F is locally conjugate to z → z(1 + z ℓ ) for some integer ℓ. Let D be a nice disc for F , and let {P 1 , . . . , P 2ℓ } be the family of petals associated with D, as given by proposition 12.

For each i we choose a small invariant petal Q i for F included in P i . Since f n 0 = F and Q i is invariant for F , if Q i is small enough then every iterates f n (Q i ) is included in D. Since f n (Q i ) \ {0} is connected and invariant for F , it is included in a connected component of the F -maximal invariant set of D \ {0}, that is, f n (Q i ) is included in some petal P j . Let us fix j and consider the finite family of all the petals f n (Q i ) for n ∈ Z, i ∈ Z/2ℓZ which are included in P j . We denote the intersection of their interiors by O j . Applying claim 19 inductively we see that the closure of O j is a regular invariant petal for F , let us call it Pj .

By construction the petals in the family { Pj } are permuted by f , their pairwise intersections are reduced to 0, and their cyclic order around 0 is given by the cyclic order on the indices i ∈ Z/2ℓZ. Since f is an orientation preserving homeomorphism there exists i 0 such that for every i, f ( Pi ) = Pi+i 0 . Furthermore, since f respects the dynamical orders induced by F on the boundary of the petals, i 0 must be even. The order n ′ 0 of the permutation i → i + i 0 is a divisor of n 0 (maybe strict). It is easy to see that there exists another nice disc D for F whose maximal invariant set is the union of this family of petals. The nice attractive and repulsive sectors Si for F , associated with D, are clearly also attractive or repulsive sectors for f n ′ 0 , and according to claim 6 we can find within each Si a nice attracting or repulsive sector Si for f n ′ 0 having the same germ at 0. Now the topological closed disc D defined as the union of all petals Pi and sectors Si is a nice disc for f n ′ 0 , the hypotheses of proposition 12 are satisfied, and f n ′ 0 is conjugate to F .

Using these families of petals and sectors we are now in a position to construct a local conjugacy Φ between f and the model map f 0 : z → e 2iπ i 0 2ℓ z(1 + z ℓ ). Note that f n ′ 0 0 is conjugate to z → z(1 + z ℓ ) and that f 0 permutes a family of regular invariant petals for f n ′ 0 0 . The construction of the conjugacy is similar to the one defined in the proof of proposition 12. Here is the main difference: since the petals are permuted by f , we have first to define a conjugacy Φ between f n ′ 0 and f n ′ 0 0 on some petal Pi , and then there is a unique way to extend it to the f -orbit of Pi to get a conjugacy between f and f 0 . We do the same for every f -orbit of petals, and for every f -orbit of sector. This completes the proof of proposition 13.

Figure 2 :

 2 Figure 2: Attracting and nice attracting sectors

Figure 3 :

 3 Figure 3: Proof of lemma 16

A topological closed disc is a set homeomorphic to the closed unit disc.

The interior of a curve is defined to be the curve minus its endpoints.

A set A separates two points in a set B if the two points belong to distinct connected components of B \ A.

see that S ′ i is indeed an attracting sector. We apply item 1 of claim 6 to get a nice attracting sector S i ⊂ S ′ i having the same germ as S ′ i at 0. For even i we symmetrically define a repulsive sector S ′ i and a nice repulsive sector S i .

Since the petals are topological closed discs whose pairwise intersection is reduced to {0}, Schoenflies theorem can be used to prove that the union of the petals is homeomorphic to the model pictured on the left side of figure 1; but we still have to prove that their cyclic order is as shown on the right side of the figure (or the reverse one). For this we argue by contradiction. Suppose there exists some i such that the petals P i and P i+1 are not adjacent: they are locally separated near 0 by the union of the other petals. Then there exists another petal P j such that the sector S i contains a neighbourhood of 0 in P j ; in other words the set Clos(P j \ S i ) is a compact subset of P j \ {0}. Using claim 11 that describes the dynamics of f on P j , we find a point x = 0 whose full orbit {f n (x), n ∈ Z} is included in P j ∩ S i . But due to item 2 of claim 6 a nice attractive or repulsive sector contains no full orbit, which provides the contradiction.

Up to reversing the indexation, we may now assume that the petals are indexed in the positive cyclic order around 0 (so that Schonflies theorem provides an orientation preserving homeomorphism that sends each P i on the model of figure 1). Note that the same argument as above, applied to P i and P i+1 instead of P j , shows that the interior of S i is disjoint from P i and P i+1 , and in particular the dynamical order on the boundaries of the petals is as indicated on figure 1: the petal P i is direct for odd i and indirect for even i.

Up to replacing S i with some smaller nice sector, we get that 1. for any i, j with j = i, i + 1, we have P i ∩ S j = {0};

2. for any i = j, we have

Consider the set

Thanks to item 2 the maximal invariant set of D is the union of the petals P i . Thus D is a topological closed disc satisfying the hypotheses of proposition 12. Now the lemma follows from the proposition.

Proof of propositions 12 and 13

Proof of proposition 12. The fact that for the map z → z(1+z ℓ ) there exists a topological closed disc D satisfying properties 1,2,3 of the proposition is part of the proof of Camacho-Leau-Fatou theorem (see [Cam, Mil]). We turn to the proof of the reverse implication. We consider a homeomorphism f ∈ H + and a disc D satisfying properties 1,2,3 of the proposition. We have to prove that if f ′ ∈ H + and a disc D ′ satisfies the same properties (with the same number ℓ) then f and f ′ are locally topologically conjugate. Note that the union of all sectors S i and petals P i is equal to D.

Let i be an odd integer. Since S i is an attracting sector between P i and P i+1 , the petal P i is direct, while the petal P i+1 is indirect (see remark 10).