IPSN 2009 tutorial: http://ipsn.acm.org/2009/tutorials.htm
Title: IP-based Sensor Networks: a Hands-on Tutorial (uIP)
Speakers: Adam Dunkels, Fredrik Osterlind, Nicolas Tsiftes (SICS)
Time: April 16,2009 Thursday 3:00PM~5:00PM
IP-based sensor networks are a rapidly emerging hot topic in both academia and the industry.
The open source uIP stack from the Contiki operating system, first released in 2001, is used in IP-enabled products and systems from hundreds of companies, ranging from pico-satellites, airplanes, and car engines, to worldwide freighter container tracking systems, ship control systems, and oil boring and pipeline monitoring systems. In October 2008 Cisco Systems released uIPv6, the world's smallest fully compliant IPv6 stack, for Contiki.
During this tutorial, participants will get started with building IP-based sensor networks with Contiki and uIP, and get hands-on experience with developing, compiling, and running IP-based software on sensornet hardware, setting up IP networking to the sensor network, and getting performance metrics (power, throughput, latency) from a running network.
We use a combination of Tmote Sky and Sentilla JCreate motes as the hardware platform. We provide Tmote Skys and JCreates for participants to borrow during the tutorial.
To avoid installation of compilers and tools, participants will use the Instant Contiki development environment, a complete development environment in a single-file download consisting of a VMWare virtual machine with all Contiki software development tools installed: http://www.sics.se/contiki/instant-contiki.html
Contiki is an open source operating system for the Internet of Things. Contiki connects tiny low-cost, low-power microcontrollers to the Internet.
the presentation explains how to install the simulator, teach the reader some concepts of contiki OS, goes through API used in platform specific examples, and most importantly explains some example(Blinking example, Light and temperature sensor web demo).
How Linux Processes Your Network Packet - Elazar LeibovichDevOpsDays Tel Aviv
With buzz on eBPF, XDP, bpfilter etc,, it's important to get the basics right. We will show the route of a networ packet from kernel driver to TCP/IP stack to userspace socket and explain how and where it's processed en route.
Modern environment uses a lot of the Linux networking stack capability.
Every docker container requires a dedicated bridge, usually a few iptables entries to expose port, and a dnsmasq daemon, and masquarading to allow internet access.
It is hence important to understand Linux network fundumentals. From the driver interrupt/NAPI, to the network stack, the various filters it passes through and the various hooks you have at your disposal to alter and view the network packets flow.
We will first review the theory, and then present useful tools to apply the theory and debug problems in common situations.
We will survey common containers situations and see how packets move from the hardware to the container's veth.
In this session, we’ll review how previous efforts, including Netfilter, Berkley Packet Filter (BPF), Open vSwitch (OVS), and TC, approached the problem of extensibility. We’ll show you an open source solution available within the Red Hat Enterprise Linux kernel, where extending and merging some of the existing concepts leads to an extensible framework that satisfies the networking needs of datacenter and cloud virtualization.
Contiki is an open source operating system for the Internet of Things. Contiki connects tiny low-cost, low-power microcontrollers to the Internet.
the presentation explains how to install the simulator, teach the reader some concepts of contiki OS, goes through API used in platform specific examples, and most importantly explains some example(Blinking example, Light and temperature sensor web demo).
How Linux Processes Your Network Packet - Elazar LeibovichDevOpsDays Tel Aviv
With buzz on eBPF, XDP, bpfilter etc,, it's important to get the basics right. We will show the route of a networ packet from kernel driver to TCP/IP stack to userspace socket and explain how and where it's processed en route.
Modern environment uses a lot of the Linux networking stack capability.
Every docker container requires a dedicated bridge, usually a few iptables entries to expose port, and a dnsmasq daemon, and masquarading to allow internet access.
It is hence important to understand Linux network fundumentals. From the driver interrupt/NAPI, to the network stack, the various filters it passes through and the various hooks you have at your disposal to alter and view the network packets flow.
We will first review the theory, and then present useful tools to apply the theory and debug problems in common situations.
We will survey common containers situations and see how packets move from the hardware to the container's veth.
In this session, we’ll review how previous efforts, including Netfilter, Berkley Packet Filter (BPF), Open vSwitch (OVS), and TC, approached the problem of extensibility. We’ll show you an open source solution available within the Red Hat Enterprise Linux kernel, where extending and merging some of the existing concepts leads to an extensible framework that satisfies the networking needs of datacenter and cloud virtualization.
Accelerating Neutron with Intel DPDK from #vBrownBag session at OpenStack Summit Atlanta 2014.
1. Many OpenStack deployments use Open vSwitch plugin for Neutron.
2. But its performance and scalability are not enough for production.
3. Intel DPDK vSwitch - an DPDK optimized version of Open vSwitch developed by Intel and publicly available at 01.org. But it doesn't have enough functionality for Neutron. We have implemented the needed parts included GRE and ARP stacks. Neutron pluging
4. We got 5 times performance improving for netwroking in OpenStack!
Tommaso Cucinotta - Low-latency and power-efficient audio applications on Linuxlinuxlab_conf
Building Linux-based low-latency audio processing software for nowadays multi-core devices can be cumbersome. I’ll present some of our on-going research on the topic at the Real-Time Systems Lab of Scuola Superiore Sant’Anna, focusing on sound synthesis on Android where power-efficiency is a must.
The talk will provide basic background information on how the audio sub-system of Linux works, in terms of interactions between the Linux kernel and the ALSA sound architecture, including how user-space applications normally cope with low-latency requirements, touching briefly on design concepts behind the existence of the JACK low-latency framework. Then, a few concepts will be provided on the peculiarities of the Android audio processing pipeline, crossing the concepts with the due complications arising from the world of mobile and power-efficient devices. Throughout the talk, I’ll touch upon concepts behind our research efforts on the topic, describing how properly designed real-time CPU scheduling strategies can make a difference in what is achievable in this area.
DPDK Summit 2015 - NTT - Yoshihiro NakajimaJim St. Leger
DPDK Summit 2015 in San Francisco.
NTT presentation by Yoshihiro Nakajima.
For additional details and the video recording please visit www.dpdksummit.com.
Building the Internet of Things with Thingsquare and Contiki - day 1, part 1Adam Dunkels
How to build the Internet of Things - what is an Internet of things device and how do we connect it? This is the first Thingsquare IoT workshop slide deck.
Accelerating Neutron with Intel DPDK from #vBrownBag session at OpenStack Summit Atlanta 2014.
1. Many OpenStack deployments use Open vSwitch plugin for Neutron.
2. But its performance and scalability are not enough for production.
3. Intel DPDK vSwitch - an DPDK optimized version of Open vSwitch developed by Intel and publicly available at 01.org. But it doesn't have enough functionality for Neutron. We have implemented the needed parts included GRE and ARP stacks. Neutron pluging
4. We got 5 times performance improving for netwroking in OpenStack!
Tommaso Cucinotta - Low-latency and power-efficient audio applications on Linuxlinuxlab_conf
Building Linux-based low-latency audio processing software for nowadays multi-core devices can be cumbersome. I’ll present some of our on-going research on the topic at the Real-Time Systems Lab of Scuola Superiore Sant’Anna, focusing on sound synthesis on Android where power-efficiency is a must.
The talk will provide basic background information on how the audio sub-system of Linux works, in terms of interactions between the Linux kernel and the ALSA sound architecture, including how user-space applications normally cope with low-latency requirements, touching briefly on design concepts behind the existence of the JACK low-latency framework. Then, a few concepts will be provided on the peculiarities of the Android audio processing pipeline, crossing the concepts with the due complications arising from the world of mobile and power-efficient devices. Throughout the talk, I’ll touch upon concepts behind our research efforts on the topic, describing how properly designed real-time CPU scheduling strategies can make a difference in what is achievable in this area.
DPDK Summit 2015 - NTT - Yoshihiro NakajimaJim St. Leger
DPDK Summit 2015 in San Francisco.
NTT presentation by Yoshihiro Nakajima.
For additional details and the video recording please visit www.dpdksummit.com.
Building the Internet of Things with Thingsquare and Contiki - day 1, part 1Adam Dunkels
How to build the Internet of Things - what is an Internet of things device and how do we connect it? This is the first Thingsquare IoT workshop slide deck.
Presentation of internship subject, reached objectives and future work. Subject : Border router solution in Wireless Sensors Networks, running on the Contiki OS.
Internet Of Things: Hands on: YOW! nightAndy Gelme
Introduction to the Internet Of Things ... using the MeshThing hardware running Contiki mesh-networking software for IPv6 / 6LoWPAN. Also, Daryl Wilding McBride (@darylwmcb) covers building a quadcopter for the Outback Joe competition.
A new real time Web is emerging, backed by the eXtensible Messaging and Presence Protocol (XMPP). This protocol is designed for low latency, real time communication, publish-subscribe, and social networking. You will learn how XMPP and HTTP can be combined to make new applications possible and how to harness XMPP from JavaScript. We will use the Strophe library to create a few simple XMPP applications.
Code used in this presentation is at http://metajack.im/code/realtimeweb_jsconf2009.zip
Yemen is one of the countries with least measure in various fields. In this paper i talk about the role of ICT and Yemen unemployment.
here is the presentation slides of the paper.
http://www.slideshare.net/salahecom/ict-culturing-conference-presentation-presented-20131207
Contiki os timer is an essential topic in contiki OS. This presentation describes the different types of timers and their API .
It is following the same explanation as contiki OS wiki.
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)The Linux Foundation
The confluence of a number of relatively recent trends including the development of virtualization technologies, the deployment of micro datacenters at PoPs, and the availability of microservers, opens up the possibility of evolving the cloud, and the network it is connected to, towards a superfluid cloud: a model where parties other than infrastructure owners can quickly deploy and migrate virtualized services throughout the network (in the core, at aggregation points and at the edge), enabling a number of novel use cases including virtualized CPEs and on-the-fly services, among others. Towards this goal, we identify a number of required mechanisms and present early evaluation results of their implementation.
On an inexpensive commodity server, we are able to concurrently run up to 10,000 specialized virtual machines (based on unikernels), instantiate a VM in as little as 10 milliseconds, and migrate it in under 100 milliseconds.
CINECA for HCP and e-infrastructures infrastructuresCineca
Sanzio Bassini. Head of the HPC Department of Cineca. Cineca is the technological partner of the Ministry of Education, and takes part in the Italian commitment for the development of e-infrastrcuture in Italy and in Europe for HCP and HCP technologies; scientific data repository and management, cloud computing for industries and Public administration, for the development of computing intensive and data intensive methods for science and engineering
Cineca offers a unique offer for: open access of integrated tier0 and tier1 HCP national infrastructure; of education and training activities under the umbrella of PRACE Training
advanced center action; integrated help desk and scale up process for HCP users support
Unikraft: Fast, Specialized Unikernels the Easy WayScyllaDB
P99 CONF
Unikernels are famous for providing excellent performance in terms of boot times, throughput and memory consumption, to name a few metrics. However, they are infamous for making it hard and extremely time consuming to extract such performance, and for needing significant engineering effort in order to port applications to them. We introduce Unikraft, a novel micro-library OS that (1) fully modularizes OS primitives so that it is easy to customize the unikernel and include only relevant components and (2) exposes a set of composable, performance-oriented APIs in order to make it easy for developers to obtain high performance.
Our evaluation using off-the-shelf applications such as nginx, SQLite, and Redis shows that running them on Unikraft results in a 1.7x-2.7x performance improvement compared to Linux guests. In addition, Unikraft images for these apps are around 1MB, require less than 10MB of RAM to run, and boot in around 1ms on top of the VMM time (total boot time 3ms-40ms). Unikraft is a Linux Foundation open source project and can be found at www.unikraft.org.
µIP (micro IP) is very small TCP/IP stack. Open source, widely used memory-constrained embedded product. This protocol stack intended for use with tiny 8- and 16-bit microcontrollers.
Developed by Adam Dunkels
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...The Linux Foundation
Tweet Share
By leveraging specialization and the use of minimalistic OSes, unikernels are able to yield impressive numbers, including fast instantiation times (tens of milliseconds or less), tiny memory footprints (a few MBs or even KBs), and high consolidation (e.g., being able to run many instances on a single device), not to mention a reduced attack surface and easier certification.
The fundamental drawback of unikernels is that they require that applications be manually ported to the underlying minimalistic OS; this requires both expert work and often considerable amount of time.
To address this, we present Unikraft, a Xen sub-project aimed at automating the process of building customized unikernels tailored
to specific applications and thus significantly reducing development time. We will provide a detailed explanation of the system as well as a demonstration of it.
Webcast: Reduce latency, improve analytics and maximize asset utilization in ...Emulex Corporation
Join Emulex and Myricom experts to learn how to maximize performance in HFT, network security, network analytics and video content delivery environments with Emulex Network Xceleration (NX) solutions.
This webcast will discuss ways of reducing latency, increasing asset utilization and improving network analytics in high performance networks.
Presentation from Embedded Linux Conference 2015 in Dublin, where Tieto presented a concept of an Intelligent Home IoT Gateway, the session received a very good feedback. Authors: Andrzej Wieczorek and Bartosz Markowski
www.tieto.com
Open Ethernet: an open-source approach to modern network designAlexander Petrovskiy
The era of closed proprietary hardware platforms is coming to an end. Today, in the world of Web-scale IT, the industry is starting to adopt new approach, based on the principles of openness, scalabilty and customizability. However, in more conservative networking industry, traditional equipment and proprietary technologies from a single vendor are often being used, which limits the flexibility, prevents innovation and narrows down the choice.
The "Open Ethernet" initiative from Mellanox brings open source principles into the world of modern networking and allows customers to select the best hardware and software to design network infrastructure, based on open and standard protocols and technologies, also opening the way for broad adoption of SDN.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Key Trends Shaping the Future of Infrastructure.pdf
IPSN 2009 Contiki / uIP tutorial
1. IP-based
Sensor Networking with
Contiki
Adam Dunkels, PhD, Fredrik Österlind, Nicolas Tsiftes,
Niclas Finne, Joakim Eriksson, Zhitao He (SICS)
Oliver Schmidt (SAP AG)
Julien Abeillé, Mathilde Durvy, PhD (Cisco)
Takahide Matsutsuka, Simon Barner, Simon Berg
Colin O'Flynn (NewAE)
Eric Gnoske, Blake Leverett, Michael Vidales (Atmel)
David Kopf
2. Today
• IP for embedded systems
• The history of IP-based sensor networks
• Contiki
• Hands-on
– Instant Contiki
– Contiki for Tmote Sky
– Tmote Sky as IPv6/6lowpan bridge
4. History of IP for Embedded
Systems
• Embedded systems
– Resource-constrained
– Autonomous operation
– Remote configuration, data collection, …
• 1999: EMIT Alliance – remote communication
– EMbed the InterneT Alliance
– EmWare, Atmel, Texas Instruments, Zilog, Microchip,
…
– ”IP too heavyweight”
• Non-IP based wired protocol
• Gateways
5. 2000: lwIP
• Open source lightweight IP stack
– Top-down design
• Similar to BSD, Linux, …
– 40 kb code, 20 kb RAM
– IP, ICMP, UDP, TCP
– Widely used
• ”Too large”…
8. 2002: IP for Embedded is a Fact
• Non-IP solutions went away
– Highly optimized custom protocols
– IP took over
• EMIT Alliance is no more
– EmWare moved to uIP
9. The Most Important
Lesson Learned
• Ability to communicate more important
than performance
10. Example: uIP-based Pico Satellite
• CubeSat: pico satellite construction kit
– MSP430-based
• 128 bytes of RAM for uIP
11. 2004: IP-based Sensor Networks
• Lightweight IP stack (uIP)
• Header compression
• Low-power MAC layer
• Sensor data
– UDP
• Configuration
– TCP
• 2006: IETF 6lowpan
13. Why IP for Sensor Networks?
• Scalable
• Versatile
• Manageable
• Open and flexible standard
• Widely deployed
• Lightweight
– As shown by uIP, uIPv6
• Low-power
– IETF 6lowpan wg
– Power-saving MAC protocols
19. Contiki as an Open Source
Project
• Open source – BSD license
– C programming language
• Version 1.0 released in March 2003
– Version 2.2.3 in March 2009
• Highly portable
– Tmote Sky, JCreate, TelosB, Atmel Raven, MSB,
ESB, MicaZ, …
– Simulators: Cooja, MSPsim, AvroraZ, netsim
– Native platform
• Actively developed
– 17 developers from SICS, SAP, Cisco, NewAE, TU
Munich, Atmel
• Active mailing list
20. Contiki as a Research Theme
• Exploring successful computer science abstractions,
mechanisms for sensor networks
– Dynamic module loading and linking [ACM SenSys 2006]
– File system [IEEE/ACM IPSN 2009]
– Multi-threaded programming [EmNets 2004]
– Java, scripting, … [ACM SenSys 2006, …]
– Interactive network shell
– IP networking for low-power embedded systems [ACM/Usenix
MobiSys 2003, ACM SenSys2007, ACM SenSys 2008]
• Pursuing new abstractions
– Protothreads [ACM SenSys 2006]
– Low-power radio networking [ACM SenSys 2007]
– Power profiling [EmNets 2007]
– Novel communication primitives
21. Contiki Influence
• Dynamic loading [EmNets 2004]
– SOS: loadable modules [MobiSys 2005]
– TinyOS 2.1.0: loadable modules (2008)
• Preemptive threads on top of events [EmNets 2004]
– TOSThreads: preemptive threads on top of events (TinyOS
2.1.0, 2008)
• Software-based power profiling [EmNets 2007]
– TinyOS Quanto [OSDI 2008]
• IP-based sensor networks [MobiSys 2003, EWSN 2004,
SenSys 2007]
– IETF 6lowpan: IPv6 over 802.15.4 (2006)
– Two papers at ACM SenSys 2008
– Tutorials at IPSN 2009
– Several demos, posters at SenSys, IPSN, …
22. Coffee [IPSN 2009]
Contiki Timeline Contiki 2.2.3
Contiki 2.2.2
Best poster @ SenSys 2008
uIPv6
Contiki 2.2.1
Contiki 2.2
Instant Contiki
Contiki 2.1
Best demo @ SenSys 2007 (Mottola, Picco)
Power profiling [SenSys 2007]
Rime [SenSys 2007]
Power profiling [EmNets 2007]
Contiki 2.0
Dynamic linking [SenSys 2006]
Protothreads paper [SenSys 2006]
Cooja
Protothreads
Contiki paper [EmNets 2004]
Contiki 1.2
IP for Sensor networks [EWSN 2004]
uIP paper [MobiSys 2003]
Contiki 1.0
uIP
lwIP
2007 2008 2009
2001 2002 2003 2004 2005 2006
23. The Coffee file system
[IPSN 2009]
• Flash-based file system
• open(), read(), seek(), write(), close()
• Constant memory complexity
• Very lightweight
– 5 kb ROM, < 0.5 kb RAM
• Very fast
– More than 92% of raw flash throughput
24. Interactive shell
• Network debugging, performance tuning
• Leverage UNIX-style pipelines
• Network commands
• Direct serial connection, or over
Telnet/TCP
• A generic interface for higher level
applications
– Automated interaction, scripting
25. Power Profiling
[EmNets 2007]
• Software-based
– Zero-cost hardware
– Zero-effort deployment
• Good accuracy, low overhead
• Enables network-scale energy profiling
• Enables energy-aware mechanisms
29. Example: B-MAC
[Polastre et al, SenSys 2004]
“To [experimentally] determine the power consumption of
each protocol, we implemented counters in the MAC
protocol that keep track of how many times various
operations were performed.
For B-MAC, this includes receiving a byte, transmitting a
byte, and checking the channel for activity.
For S-MAC, we count the amount of time that the node is
active, number of bytes transmitted and received, and
the additional time the node spent awake due to
adaptive listening.”
Polastre, Hill, Culler. Versatile low power media access for wireless sensor networks. SenSys 2004
32. Rime: Communication Primitives
[ACM SenSys 2007]
• Makes implementation of sensor network
mechanisms easier
• A set of protocols
– Data collection
– Data dissemination
– Unicast multi-hop routing
– Single-hop bulk transfer
–…
33. The Contniki IP Architecture
Applications
uIP Rime
SICSlowpan
SICSlowmac
X-MAC LPP NULLMAC
CC2420 CC1100
34. Instant Contiki
• Contiki development environment
• Single-file download
• Linux system with all Contki tools installed
• Runs in VMWare, VirtualBox
• Removes toolset installation hurdle
35. Seamless Integration with IP
Networks
• Atmel Raven/Jackdaw USB
Stick
• Attaches as network card in
Windows, Linux [EWSN 2009]
• IPv6 packets sent out over
802.15.4 with 6lowpan header
compression
36. Today: Build IPv6 Bridge with a
Mote
• Make Tmote Sky mote a Linux
SICSlowpan network card
• No custom hardware needed
Linux
Application
Application
Transport
Transport
IP
IP
MAC / Link
MAC / Link
mote
mote
37. Contiki Programming Crash Course
• Hello world
• uIP APIs
– Raw API
– Protosockets
• Timers
• Building
38. Hello, world!
/* Declare the process */
PROCESS(hello_world_process, “Hello world”);
/* Make the process start when the module is loaded */
AUTOSTART_PROCESSES(&hello_world_process);
/* Define the process code */
PROCESS_THREAD(hello_world_process, ev, data) {
PROCESS_BEGIN(); /* Must always come first */
printf(“Hello, world!n”); /* Initialization code goes
here */
while(1) { /* Loop for ever */
PROCESS_WAIT_EVENT(); /* Wait for something to
happen */
}
PROCESS_END(); /* Must always come last */
}
39. uIP APIs
• Two APIs
– The “raw” uIP event-driven API
– Protosockets – sockets-like programming based on
protothreads
• Event-driven API works well for small programs
– Explicit state machines
• Protosockets work better for larger programs
– Sequential code
41. Four types of timers
• struct timer
– Passive timer, only keeps track of its expiration time
• struct etimer
– Active timer, sends an event when it expires
• struct ctimer
– Active timer, calls a function when it expires
• struct rtimer
– Real-time timer, calls a function at an exact time
– Limited function support
42. Using etimers in processes
PROCESS_THREAD(hello_world_process, ev, data) {
static struct etimer et; /* Must be static */
PROCESS_BEGIN(); /* since processes are */
/* protothreads */
while(1) {
etimer_set(&et, CLOCK_SECOND);
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));
}
PROCESS_END();
}
43. Example: building hello world
• cd examples/hello-world
• make TARGET=native Build monolithic system for native
• ./hello-world.native Run entire Contiki system + app
• make TARGET=netsim Build netsim simulation
• ./hello-world.netsim Run netsim simulation
• make TARGET=sky Build monolithic system image
• make TARGET=sky hello-world.u Build & upload system image
• make TARGET=sky hello-world.ce Build loadable module
• make TARGET=esb Monolithic system image for ESB
• make TARGET=esb hello-world.u Build & upload image
• make TARGET=esb hello-world.ce Build loadable module
44. make TARGET=
• TARGET=name of a directory under
platform/
• make TARGET=xxx savetarget
– Remembers the TARGET
– Example: make TARGET=netsim savetarget
46. Hands on
• Install Instant Contiki
– USB stick with VMWare Player, Instant Contiki, FTDI
Driver
• Compilation
– Hello World for native
– Blink for Tmote Sky
– Hello World for Tmote Sky
– Contiki Shell for Tmote Sky
• IPv6 mote bridge
– Tmote Sky / JCreate as an IPv6/6lowpan bridge
47. Conclusions
• IP for embedded systems, sensor networks
• Contiki: many influential, widely used features
– IP for sensor networks, dynamic loading, protothreads
– Vision and mission
• Exploring successful CS abstractions in a novel context,
pursing new abstractions
• Instant Contiki simplifies development
• IPv6 bridge mote: no custom hardware needed