Computing Co put g the t e Retransmission et a s ss o Timeout in COAP Prof. Andrei Gurtov, PhD student Ekaterina Dashkova Centre for Wireless Communications, University of Oulu Introduction ` Fast development of wireless sensor networks (WSNs) requires creation of the new protocol solutions and infrastructure that enables stable and efficient use of WSN with the Internet ` Constrained Application Protocol (CoAP) is a generic web protocol that satisfies special requirements of constrained environment, especially considering id i energy, bbuilding ildi automation i and d other h M2M applications li i MAMMOTH Project in Finland ` ` Funded by Ubicom program of Tekes 2011-2013 Consortium ` ` ` ` ` ` ` ` Ericsson – Nomadic Lab Sensinode Renesas Mobile There Corporation Kajaani Data Center operator Aalto University – DCS (Prof (Prof.Ylä-Jääski) Ylä Jääski) University of Oulu – Mediateam (Prof. Ojala) University of Oulu – CWC (Prof. Gurtov) 3 Project Scope ` ` ` ` ` Mass-scale M2M services ` Billions of web resources, a billion nodes CoRE architecture scalability in M2M ` Protocols between M2M devices and services Lightweight g g yet y sufficient securityy for M2M M2M service developer requirements & APIs Billion node network & service emulation 4 Main Project Goals ` Large-scale emulation of an M2M system ` Using the Kajaani/CSC supercomputer ` Analysis & optimization of CoRE in M2M ` Scalability, load balancing, HTTP comparison ` ` ` Optimized M2M protocol security C Congestion i controll ffor mass-scale l M2M M2M Services ` Centralized vs. distributed M2M architecture ` ` ` ` ` Gateway aggregation Service API Real and test M2M platform software Data format scalability Standardization contributions to IETF and other SDOs 5 Reference Network Topology Congestion Control in CoAP: current status ` CoAP has reliable transmission mode with simple congestion control mechanism available on top of retransmission timer ` CoAP doesn’t provide internal congestion control mechanisms for non reliable transmission mode that likely will be majority of traffic ` UDP protocol is used by CoAP at Transport layer, so no congestion control is provided ` Draft ”CoAP Simple p Congestion g Control/Advance” was published p byy CoRE Working Group on Aug. 13, 2012 Data Link Layer Techniques ` C i SSense M Carrier Multiple li l A Access (CSMA) ` ` Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) Carrier Sense Multiple Access with Collision Detection (CSMA/CD) ` Frequency Division Multiple Access (FDMA) ` Time Division Multiple Access (TDMA) ` ` O d On-demand d TDMA extension i off IEEE802.15.4 IEEE802 15 4 MAC Hybrid TDMA/FDMA TDMA/FDMA-based based medium access Network Layer Techniques ` Beacon Order Based RED (BOB-RED) - active queue management technique : ` ` ` ` divides traffic on real-time and non-real time virtual threshold function dynamic adjusted per-flow drop probability dynamic modification of beacon order (BO) and super-frame order (SO) strategy Transport Layer Techniques ` Sensor Transmission Control Protocol (STCP) ` Pump Slowly Fetch Quickly ` Light UDP Background of the Study Importance of RTO ` RTO – retransmission timer – the time that elapses after a packet has been sent until the sender considers it lost and therefore retransmits it ` RTO is a prediction of the upper limit of the round-trip time (RTT) ` It is ggreatlyy influence reliable peer-to-peer p p performance p Importance of RTO ` Spurious timeout - too optimistic retransmission time ` ` ` it causes unnecessary traffic reducing a connection’s effective throughput A conservative retransmission timer ` itt causes long o g idlee times t es before be o e the t e lost ost packet pac et iss retransmitted et a s tte Importance of the CC parameters ` Round-trip time variation (RTTVAR) increase quickly with load (if load is ρ variation scale like (1- ρ)-1) ` Exponential back-off mechanism is very important for an endpoint embedded in the network with the unknown topology and constantly changing competing conversation ` WSNs are expected to have high packet-loss rates in this situation accurate RTO estimation becomingg more topical p CoAP Simple Congestion Control CoAP Simple Congestion Control/Advanced draft-bormann-core-cocoa-00 C. Bormann Universitaet Bremen TZI , August 13, 2012 ` Algorithm from RFC6298 was taken as basis for RTO estimation calculation and couple p of changes g were proposed p p by the authors: ` ` initial RTO estimate is set to 2 seconds the h RTO estimator i runs two copies i defined d fi d in i RFC6298 ` ` ` copy that completes on initial transmission (”strong” estimator) copy py that runs into retransmissions (”weak” ( estimator)) the overall RTO estimate is calculated as an average of the currently calculated (”weak” or ”strong”) value and that had been calculated on the previous step CoAP Advanced Congestion Control ` Advanced part of the algorithm describing rules for sending non-confermable messages: ` limiting rate for sending non-confermable messages 1B/s ` non-confermable messages must be sent 1 per RTO ` at least of 2 of 16 messages must be confermable CoAP Simple Congestion Control ` Constant which are used: alpha = 1/8, beta = 1/4, K = 4 ` SRTT (smoothed RTT) keeps history of RTT ` RTTVAR (RTT variation) keeps history of variations of RTT ` G (granularity) should at least be an order less than the RTT CoAP Simple Congestion Control ` After the first RTT measurement ` ` ` SRTT <- RTT RTTVAR <- RTT/2 After a subsequent RTT measurement ` ` RTTVAR <- (1 - beta) * RTTVAR + beta * |SRTT - RTT| SRTT <- (1 - alpha) * SRTT + alpha * RTT ` RTO<- SRTT + max (G, K*RTTVAR) ` RTO_overall = 0.5*RTO_recent + 0.5*RTO_overall Modifications ` To the existing model we proposed several modifications: ` If RTT sample was taken after initial transmission we forget prehistory: ` ` RTO_overall = RTO_recent If RTT sample was taken after retransmissiom occurs we follow the rule of RTO estimation: ` RTO_overall = 0.5*RTO_recent + 0.5*RTO_overall Modifications ` If RTT – SRTT < 0 then we skip the rule of changigng RTTVAR while if RTT – SRTT > 0 we using standard formular to change it ` Instead constant coefficients alpha and beta we propose to use gamma = RTT/RTO ` If gamma > 0.5 we are changing its value on 1-gamma gamma Modifications ` Source: M. Zubair Shafiq, Lusheng Ji, Alex X. Liu, Jeffrey Pang, Jia Wang “A First Look at Cellular Machine-toMachine Traffic - Large Scale Measurement and Characterization”, SIGMETRICS’12, June 11–15, 2012, London, England, UK. Model and the toolkit ` On the previous slide there was a source from which we took RTT variation interval (0.5 ; 2) seconds ` At the same time when the packet loss increases importance of RTO estimation increases as well ` We used Matlab as the toolkit for algorithm realization and first-step first step testing ` In the model we assume simple end-to-end scheme with the same delay in b th endpoints both d i t ` Plots on the next slides depicts the difference between performance of the C C AP RTO estimation CoCoAP i i algorithm l i h and d our modified difi d version i Simulation Results 1 Simulation Results 2 Simulation Results 3 Simulation Results 4 Conclusion According to the test results modified algorithm works b better than h classical l i l one ` IIt is i more agressive i bbut at the h same time i more efficient ffi i in i stable conditions as well as when some unpredictable events occur ` C implementation will be evaluated in Cooja simulator ` In future work we plan to implement proposed algorithm in the emulator and test on real data Bibliography ` draft “CoAP Simple Congestion Control/Advanced” draftbormann-core-cocoa-00 < http://tools.ietf.org/html/draftb bormann-core-cocoa-00 00 > ` M. Zubair M Z b i Shafiq, Sh fi Lusheng L h Ji Alex Ji, Al X. X Liu, Li JJeffrey ff P Pang, Jia Ji Wang W “A First Look at Cellular Machine-to-Machine Traffic - Large Scale Measurement and Characterization Characterization”, SIGMETRICS SIGMETRICS’12 12, June 11–15, 2012, London, England, UK. R. Ludwig, K. Sklower “The The Eifel Retransmission Timer Timer”,, ACM CCR,Volume 30 Issue 3, July 2000 `