SensOrLabs a protocol validation platform for the IoT Dominique Barthel, Quentin Lampin IMT/OLPS/BIZZ/MIS Apr 7th 2014, ST, CEA, LIG
SensOrLabs inspired by the ANR Senslab project http://www.senslab.info/ INRIA, UPMC/LIP6, LSIIT, Thalès consortium agreement for re-use of technology ended up re-doing most of it part of the new work done under ANR ARESA2 2 SensOrLabs presentation
agenda part 1 part 2 part 3 hardware software evolutions 3 SensOrLabs presentation
Part 1: hardware 4 SensOrLabs presentation
Hardware Changes compared to SensLab Elster/Coronis Excelyo SoC module, 868 MHz improved gateway with Pragmatec computer board improved current monitoring board with TI INA226 chip and analog filter 5 SensOrLabs presentation
Deployment 82 devices, indoor, at Meylan portable to any site Ethernet socket 6 SensOrLabs presentation
Part 2: software 7 SensOrLabs presentation
Logiciel infrastructure Retour d expérience démonstrateur ARESA (2009) et SensLab Besoin Peu ou pas d observabilité sur le fonctionnement des protocoles réseau déployés. Difficulté à valider le respect des spécifications des protocoles. Analyse de performance impossible. Outils pour observer de manière systématique le fonctionnement du réseau. communs à tous les utilisateurs (arrêter le bricolage ad-hoc) génériques (indépendants des protocoles étudiés) 8 SensOrLabs presentation
9 SensOrLabs presentation
Développement librairie de log 10 SensOrLabs presentation
Formatage log et horodatage 11 SensOrLabs presentation
Formatage, ordonnancement et multiplexage 12 SensOrLabs presentation
Analyse de log, visualisation 13 SensOrLabs presentation
Exemple 1 : modéliser fonctionnement des noeuds 14 SensOrLabs presentation
Modéliser les noeuds Représentation sous forme d entités (couches) ou machines à états d échanges d information entre entités Log? 15 SensOrLabs presentation
Modéliser les noeuds Log échanges inter-entités états internes des entités 16 SensOrLabs presentation
Modéliser les noeuds pkt rx pkt broadcast type unicast store packet uni.q broadcast non empty empty - CTRI - version: 1.0 edited: 09/02/2012 author: Q. Lampin store packet unicast store packet unicast boot start rx-cca1 start tx-cca tx bootstrap idle tx-cca start rx-cca1 rx-ack-timeout cancel off rx-cca1 empty tx-cca uni.q cca non empty dispose pkt start set idle tx-cca =code state tx-cca!=code code set activity tx-cca rx = ack rx-bea-timeout rx-ack rx-bea!= ack type rx-bea cancel pkt rx rx-ack rx-bea pkt rx rep rx-ack cancel data update ack type rx-bea code rx-bea rx-ack bea set set prepare-rx-ack tx-cca tx-cca pkt yes rx brd cancel no rx-rep packet to pkt upper layer sent!= pkt dst bea off send data src tx-data = pkt dst update tx cancel rx-bea rx-bea rx-rep-timeout set wakeup tx-data off set tx-cca!= code wakeup tx-data = code code rx off tx-code rx cancel rx-rep-timeout rx-rep rep tx-code rx-bea-sleep type adv off tx-code = dst pkt rx tx src rx-rep send code rx-rep!= dst rx pkt prepare-rx-rep sent rx-rep off rx-cca1 empty non empty start uni.q tx-cca cancel tx-cca1 off rx-info-timeout cca set rx-cca1 activity set rx-cca1 state rx idle rx-info cancel rx-info rx-cca ack rx-cca-1 rep rx-cca2 rx-info type bea data cca code update rx-info uni.q activity state rx idle empty off estimate population update compute rx-info window size set wakeup tx wakeup rx-cca-2 pkt rx brd no yes send rx-info-wakeup send bea bea + brd pkt sent prepare-rx-code rx rx-code pkt rx tx-rep record code other adv type estimate population rx-code!= pkt dst rx-info bea = pkt dst src cancel rx-info tx-code tx-code tx-code tx-code-end tx-rep tx send rep. pkt sent inc no pkt set rx-cca1 prepare-rx-data-1 set rx-cca1 informations utiles? instrumentation code 17 SensOrLabs presentation rx pkt rx rx-data rx-data estimate population rx-data-complete rx-data data =seq packet to type code upper layer other!=seq tx send ack pkt sent prepare-rx-data-2 rx
Exemple 2 : usage d outils standards quel format de log? quels outils d analyse? 18 SensOrLabs presentation
Usage d outils standard format de log PCAP 19 SensOrLabs presentation
Usage d outils standard outil de capture et d analyse Wireshark nombreux protocoles supportés notamment IPv6 dissectors, taps et personnalisation 20 SensOrLabs presentation
Usage d outils standard outil de visualisation développé en interne basé sur librairie standard D3.js 21 SensOrLabs presentation
Démo 22 SensOrLabs presentation
Part 3: evolutions 23 SensOrLabs presentation
Hardware evolution replace Coronis module by newer radios: aim for 15.4 e radio to start with, k/g next flexible interface (USB) + supply shunt resistor? replace gateway computer board? our Pragmatec board too little-known re-use IoT-Lab gateway? 24 SensOrLabs presentation
Software evolution leverage our observability tool chain improve network analysis tools improve our graphical visualization tool scalability in node number, event number visualization modalities 25 SensOrLabs presentation
Team-up with other users share best practices, create local expertise center collaborative development, maintenance multi-site platform (Crolles, Montbonnot, Meylan, SMH, Grenoble) long range radio network validation 26 SensOrLabs presentation
Questions?