SlideShare a Scribd company logo
1 of 44
Re-tasking Wireless Sensor
Networks
Project Goals
• Investigate and analyze Deluge architecture
and framework
• Design and implement
architecture/framework for a selective re-
tasking
• Design and implement GUI for monitoring and
re-tasking network
History (previous development)
• Versioning project with Chris Thames using
Deluge (Sensor Networks Fall 2010)
• Problems with TinyOS 2.1.1
• Very simple approach
TinyOS Overview
• An event driven operating system designed for
low-power wireless devices, specifically sensor
networks
• Language - nesC
• Supports many platforms
• Open source and actively developed
(academia and industry)
• Community working groups for documenting
and defining new TinyOS standards (TEPs)
Iris Mote Overview
• Hardware Specs
– Radio Module – 2.4 Ghz IEEE 802.15.4
– ATmega 1281 Microcontroller
• Internal Flash Memory -128K bytes
• 8-bit RISC CPU
– Flash Module – 512K Bytes
• Operating System
– TinyOS 2.1.2 (August 20, 2012)
Deluge – Timeline
• “An efficient protocol for disseminating large data
objects, such as program binaries, to many nodes
within a wireless sensor network (Hui 2)”
• Timeline
– Paper– Adam Chilipala, Jonathan W. Hui, and Gilman Tolle
(Fall 2003, Berkeley)
– Beta Release (April 2004)
– Initial release (Aug 2004)
– Deluge 2.0 Beta (May 2005)
– Deluge 2.0 Release (Jul 2005)
– Current Version Deluge T2 (ported Deluge 2.0 to TinyOS
2.X)
Deluge Overview
• nesC reusable component for distributing
program binaries
• Allows up to four images to be distributed and
installed on neighboring motes
• Controlled, queried, and commanded using
the tos-deluge python script (via serial
communication)
Deluge Mote Configurations
• Clients configured with the DelugeC
component
• Deluge Base station mote
– Compiled as a DELUGE_BASESTATION
– Responsible for forwarding serial messages
(received from tos-deluge (python) to the
neighboring sensor network (via Dissemination)
TOS-Deluge
• TOS-Deluge (Python Script)
– Injecting and erasing TinyOS applications within
the Base station mote (4 slots external flash)
– Initiating the dissemination and reprogram of
nodes (network-wide)
Dissemination
• Purpose: Reliably deliver a piece of data to every
node (base station to motes)
• TEP Standard 118
– Drip implementation
– Trickle timers
• The process to push Deluge commands to the
motes
– Base station initiates (updates)Deluge command
– Motes receive Deluge command value changed events
Deluge Overview
Deluge Architecture
• TOSBoot Bootloader
• High Level Components:
– Dissemination
– ObjectTransfer
– NetProg
– DelugeManager
– DelugeMetadata
Deluge Architecture: TOSBoot
• Deluge bootloader responsible for the
following:
– Reading and writing program binaries between
internal and external flash
– Starting the application
– Rollback gesture recognition for loading
GoldenImage
Deluge-TOSBoot Memory Model
Deluge Architecture: High-Level
Components
DelugeC (Top Level)
• Listens for Deluge command events (via
dissemination)
• States
– IDLE
– PUBLISHING
– RECEIVING
Dissemination Component
• Component used to update/receive Deluge
commands
– Base station: updates deluge command value
– Clients: receive deluge command changed events
ObjectTransfer Component
• ActiveMessage (AM) based service for
sending/receiving program binaries
• Each mote runs the ObjectTransfer service
– IDLE
– PUB – service is configured to send image to
another mote
– RECV – service is configured to receive image from
another mote
DelugeMetadata Component
• Reads external flash for information regarding
the stored images
– Application Name
– Unique ID
– Timestamp
– Size
– Number of Pages
– CRC (Validity)
NetProg Component
• Module to reprogram and reboot mote
(specific to platforms i.e. IRIS)
• Writes to internal flash to initiate reprogram
(BootArgs)
– Image Address (External Flash)
– TOS_NODE_ID
– DELUGE_GROUP_ID
• Forces a hardware reset
DelugeManager Component
• Only available to motes that are compiled
with the DELUGE_BASESTATION flag
• Receives commands (serial) from TOS-deluge
(python) and generates Deluge commands for
network-wide dissemination
Current Deluge Limitations
• Re-tasking is limited only to network-wide
dissemination of program binaries.
• Every mote stores and runs the same images
• Feedback from the sensor network is limited
to the motes’ LEDs
What did I add to Deluge to achieve
the project goals?
• Selective re-tasking (preserving current
functionality)
• Feedback from the sensor network
(Collection)
Selective Re-tasking
• Disseminate and reprogram specific motes
based on TOS_NODE_ID
• Disseminate and reprogram a group of motes
based on DELUGE_GROUP_ID
Re-tasking specific motes
• Added node id hash to the Deluge command
• Currently node id hash supports up to 32
devices
• Each bit represents a node id. If the bit is set
then that mote is signaled to be re-tasked
• Motes check node id hash before executing
command
Node ID Hash Examples
Node IDs Set Node ID Hash (32-Bit)
1,2,3,4,5 62
29,7,18 537133184
10 1024
31 2147483648
Re-tasking specific motes example
Re-tasking group of motes
• Added the DELUGE_GROUP_ID preprocessor
variable to Deluge
• Added groupID variable to the Deluge
command
• Motes check groupID (originally compiled into
image) before executing command
Grouping Sensors (via groupID)
Updating Groups
• Added deluge command to update mote
groups
• Node id hash defines the motes to update and
groupID specifies the new group
Update Group with new Motes
Deluge High-Level Components with
Collection
Deluge Collection
• Purpose: Gather information about the sensor
network (motes to base station)
• TEP Standard 119
– Based on trees using a link estimator algorithm for
building efficient/reliable routes between nodes
and base station
– Best-effort, multihop delivery of packets to the
root of a tree
Collection Message: NodeStatus
• Fields
– Node ID
– Group ID
– State
– Current Running Application
• Unique ID
• Name
• Time Stamp
• Limited to 20 bytes per payload
Deluge Overview with Monitoring
Deluge Code Size
Application ROM (Bytes) RAM (Bytes) ROM Δ RAM Δ
Blink (Deluge) 26666 957 +2.3% +1.3%
Base station (Deluge) 32840 1315 +1.0% +1.2%
Application ROM (Bytes) RAM (Bytes)
Blink (Deluge) 26074 945
Base station (Deluge) 32544 1300
Application ROM (Bytes) RAM (Bytes) ROM Δ RAM Δ
Blink (Deluge) 33294 2127 + 28% 125%
Base station (Deluge) 39614 2463 + 22% 89%
Original Deluge (2.1.2)
Deluge w/o Collection (Monitoring)
Deluge with Collection (Monitoring)
Deluge Visualizer
• Purpose:
– TOS-Deluge Frontend for issuing commands
– Status window for displaying tos-deluge output
– Dynamic table displaying information and state
about the sensor devices
• Cross platform: JAVA
• Built using the TinyOS JAVA SDK and MIG tool
Deluge Visualizer Components
Deluge Visualizer Application
Development Tools/Process
• Source Control: Mercurial
• Wiki: Chiliproject
• Ubuntu 12.04
• Windows 7 running Ubuntu 12.04 VM (via
VirtualBox)
IRIS Mote Debugging
• PrintF
• TOSSIM (python jig)
• LEDS
Conclusion
• Successfully completed project goals
– Maintained current network-wide re-tasking
features
– Implemented selective re-tasking
– Implemented monitoring framework and
application
Future Work
• Improve memory (ROM/RAM) footprint
• Remove dependency on tos-deluge
• Add support for Android TinyOS SDK
References
• TinyOS Wiki:
http://docs.tinyos.net/tinywiki/index.php/Mai
n_Page
• TEPs:
http://docs.tinyos.net/tinywiki/index.php/TEP
s
• Deluge Documentation:
http://www.cs.berkeley.edu/~jwhui/deluge/d
ocumentation.html

More Related Content

What's hot

IPSN 2009 Contiki / uIP tutorial
IPSN 2009 Contiki / uIP tutorialIPSN 2009 Contiki / uIP tutorial
IPSN 2009 Contiki / uIP tutorialadamdunkels
 
DTrace in the Non-global Zone
DTrace in the Non-global ZoneDTrace in the Non-global Zone
DTrace in the Non-global Zonebcantrill
 
Expanding HPCC Systems Deep Neural Network Capabilities
Expanding HPCC Systems Deep Neural Network CapabilitiesExpanding HPCC Systems Deep Neural Network Capabilities
Expanding HPCC Systems Deep Neural Network CapabilitiesHPCC Systems
 
What's LUM Got To Do with It: Deployment Considerations for Linux User Manage...
What's LUM Got To Do with It: Deployment Considerations for Linux User Manage...What's LUM Got To Do with It: Deployment Considerations for Linux User Manage...
What's LUM Got To Do with It: Deployment Considerations for Linux User Manage...Novell
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux KernelKernel TLV
 
Operating System 4 1193308760782240 2
Operating System 4 1193308760782240 2Operating System 4 1193308760782240 2
Operating System 4 1193308760782240 2mona_hakmy
 
Ns3 implementation wifi
Ns3 implementation wifiNs3 implementation wifi
Ns3 implementation wifiSalah Amean
 
Real-time soultion
Real-time soultionReal-time soultion
Real-time soultionNylon
 
Hs java open_party
Hs java open_partyHs java open_party
Hs java open_partyOpen Party
 
An introduction to_ns_nam_and_o_tcl_scripting
An introduction to_ns_nam_and_o_tcl_scriptingAn introduction to_ns_nam_and_o_tcl_scripting
An introduction to_ns_nam_and_o_tcl_scriptingDani Aristiyawan
 
DSD-INT 2015- Open source pre and postprocessing workshop- Bert Jagers
DSD-INT 2015- Open source pre and postprocessing workshop- Bert JagersDSD-INT 2015- Open source pre and postprocessing workshop- Bert Jagers
DSD-INT 2015- Open source pre and postprocessing workshop- Bert JagersDeltares
 
Netmap presentation
Netmap presentationNetmap presentation
Netmap presentationAmir Razmjou
 
Webinar: STM32WB - microcontrolador dual-core certificado BLE 5.0
Webinar: STM32WB - microcontrolador dual-core certificado BLE 5.0Webinar: STM32WB - microcontrolador dual-core certificado BLE 5.0
Webinar: STM32WB - microcontrolador dual-core certificado BLE 5.0Embarcados
 
Explore Deep Learning Architecture using Tensorflow 2.0 now! Part 2
Explore Deep Learning Architecture using Tensorflow 2.0 now! Part 2Explore Deep Learning Architecture using Tensorflow 2.0 now! Part 2
Explore Deep Learning Architecture using Tensorflow 2.0 now! Part 2Tyrone Systems
 
WiMAX implementation in ns3
WiMAX implementation in ns3WiMAX implementation in ns3
WiMAX implementation in ns3Mustafa Khaleel
 
Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1Tyrone Systems
 

What's hot (20)

Thread
ThreadThread
Thread
 
Priority Inversion on Mars
Priority Inversion on MarsPriority Inversion on Mars
Priority Inversion on Mars
 
IPSN 2009 Contiki / uIP tutorial
IPSN 2009 Contiki / uIP tutorialIPSN 2009 Contiki / uIP tutorial
IPSN 2009 Contiki / uIP tutorial
 
DTrace in the Non-global Zone
DTrace in the Non-global ZoneDTrace in the Non-global Zone
DTrace in the Non-global Zone
 
Bglrsession4
Bglrsession4Bglrsession4
Bglrsession4
 
Expanding HPCC Systems Deep Neural Network Capabilities
Expanding HPCC Systems Deep Neural Network CapabilitiesExpanding HPCC Systems Deep Neural Network Capabilities
Expanding HPCC Systems Deep Neural Network Capabilities
 
What's LUM Got To Do with It: Deployment Considerations for Linux User Manage...
What's LUM Got To Do with It: Deployment Considerations for Linux User Manage...What's LUM Got To Do with It: Deployment Considerations for Linux User Manage...
What's LUM Got To Do with It: Deployment Considerations for Linux User Manage...
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux Kernel
 
Operating System 4 1193308760782240 2
Operating System 4 1193308760782240 2Operating System 4 1193308760782240 2
Operating System 4 1193308760782240 2
 
Ns3 implementation wifi
Ns3 implementation wifiNs3 implementation wifi
Ns3 implementation wifi
 
Real-time soultion
Real-time soultionReal-time soultion
Real-time soultion
 
Hs java open_party
Hs java open_partyHs java open_party
Hs java open_party
 
An introduction to_ns_nam_and_o_tcl_scripting
An introduction to_ns_nam_and_o_tcl_scriptingAn introduction to_ns_nam_and_o_tcl_scripting
An introduction to_ns_nam_and_o_tcl_scripting
 
DSD-INT 2015- Open source pre and postprocessing workshop- Bert Jagers
DSD-INT 2015- Open source pre and postprocessing workshop- Bert JagersDSD-INT 2015- Open source pre and postprocessing workshop- Bert Jagers
DSD-INT 2015- Open source pre and postprocessing workshop- Bert Jagers
 
Netmap presentation
Netmap presentationNetmap presentation
Netmap presentation
 
Implement Runtime Environments for HSA using LLVM
Implement Runtime Environments for HSA using LLVMImplement Runtime Environments for HSA using LLVM
Implement Runtime Environments for HSA using LLVM
 
Webinar: STM32WB - microcontrolador dual-core certificado BLE 5.0
Webinar: STM32WB - microcontrolador dual-core certificado BLE 5.0Webinar: STM32WB - microcontrolador dual-core certificado BLE 5.0
Webinar: STM32WB - microcontrolador dual-core certificado BLE 5.0
 
Explore Deep Learning Architecture using Tensorflow 2.0 now! Part 2
Explore Deep Learning Architecture using Tensorflow 2.0 now! Part 2Explore Deep Learning Architecture using Tensorflow 2.0 now! Part 2
Explore Deep Learning Architecture using Tensorflow 2.0 now! Part 2
 
WiMAX implementation in ns3
WiMAX implementation in ns3WiMAX implementation in ns3
WiMAX implementation in ns3
 
Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1
 

Similar to Re-tasking Wireless Sensor Networks

System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022Stefano Stabellini
 
Bridging the gap between hardware and software tracing
Bridging the gap between hardware and software tracingBridging the gap between hardware and software tracing
Bridging the gap between hardware and software tracingChristian Babeux
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservicesBigstep
 
Introduction to Storm
Introduction to Storm Introduction to Storm
Introduction to Storm Chandler Huang
 
Manta Unleashed BigDataSG talk 2 July 2013
Manta Unleashed BigDataSG talk 2 July 2013Manta Unleashed BigDataSG talk 2 July 2013
Manta Unleashed BigDataSG talk 2 July 2013Christopher Hogue
 
OS Module-2.pptx
OS Module-2.pptxOS Module-2.pptx
OS Module-2.pptxbleh23
 
Tech 2 Tech: Network performance
Tech 2 Tech: Network performanceTech 2 Tech: Network performance
Tech 2 Tech: Network performanceJisc
 
.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2aminmesbahi
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Hajime Tazaki
 
Distributed DNN training: Infrastructure, challenges, and lessons learned
Distributed DNN training: Infrastructure, challenges, and lessons learnedDistributed DNN training: Infrastructure, challenges, and lessons learned
Distributed DNN training: Infrastructure, challenges, and lessons learnedWee Hyong Tok
 
DATE 2020: Design, Automation and Test in Europe Conference
DATE 2020: Design, Automation and Test in Europe ConferenceDATE 2020: Design, Automation and Test in Europe Conference
DATE 2020: Design, Automation and Test in Europe ConferenceLEGATO project
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Pune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCDPune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCDPrashant Rane
 

Similar to Re-tasking Wireless Sensor Networks (20)

Tos tutorial
Tos tutorialTos tutorial
Tos tutorial
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
 
Chapter 6 os
Chapter 6 osChapter 6 os
Chapter 6 os
 
Bridging the gap between hardware and software tracing
Bridging the gap between hardware and software tracingBridging the gap between hardware and software tracing
Bridging the gap between hardware and software tracing
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
 
Introduction to Storm
Introduction to Storm Introduction to Storm
Introduction to Storm
 
Manta Unleashed BigDataSG talk 2 July 2013
Manta Unleashed BigDataSG talk 2 July 2013Manta Unleashed BigDataSG talk 2 July 2013
Manta Unleashed BigDataSG talk 2 July 2013
 
Ch04 threads
Ch04 threadsCh04 threads
Ch04 threads
 
OS Module-2.pptx
OS Module-2.pptxOS Module-2.pptx
OS Module-2.pptx
 
Tech 2 Tech: Network performance
Tech 2 Tech: Network performanceTech 2 Tech: Network performance
Tech 2 Tech: Network performance
 
.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)
 
Distributed DNN training: Infrastructure, challenges, and lessons learned
Distributed DNN training: Infrastructure, challenges, and lessons learnedDistributed DNN training: Infrastructure, challenges, and lessons learned
Distributed DNN training: Infrastructure, challenges, and lessons learned
 
Exascale Capabl
Exascale CapablExascale Capabl
Exascale Capabl
 
SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Xilinx SDAccel SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Xilinx SDAccel
 
DATE 2020: Design, Automation and Test in Europe Conference
DATE 2020: Design, Automation and Test in Europe ConferenceDATE 2020: Design, Automation and Test in Europe Conference
DATE 2020: Design, Automation and Test in Europe Conference
 
Clustering
ClusteringClustering
Clustering
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Pune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCDPune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCD
 
Data race
Data raceData race
Data race
 

More from Michele Weigle

Comparing the Archival Rate of Arabic, English, Danish, and Korean Language W...
Comparing the Archival Rate of Arabic, English, Danish, and Korean Language W...Comparing the Archival Rate of Arabic, English, Danish, and Korean Language W...
Comparing the Archival Rate of Arabic, English, Danish, and Korean Language W...Michele Weigle
 
WS-DL’s Work towards Enabling Personal Use of Web Archives
WS-DL’s Work towards Enabling Personal Use of Web ArchivesWS-DL’s Work towards Enabling Personal Use of Web Archives
WS-DL’s Work towards Enabling Personal Use of Web ArchivesMichele Weigle
 
Intro to Web Archiving
Intro to Web ArchivingIntro to Web Archiving
Intro to Web ArchivingMichele Weigle
 
Enabling Personal Use of Web Archives
Enabling Personal Use of Web ArchivesEnabling Personal Use of Web Archives
Enabling Personal Use of Web ArchivesMichele Weigle
 
Visualizing Webpage Changes Over Time
Visualizing Webpage Changes Over TimeVisualizing Webpage Changes Over Time
Visualizing Webpage Changes Over TimeMichele Weigle
 
How to Write an Academic Paper
How to Write an Academic PaperHow to Write an Academic Paper
How to Write an Academic PaperMichele Weigle
 
How to Prepare and Give and Academic Presentation
How to Prepare and Give and Academic PresentationHow to Prepare and Give and Academic Presentation
How to Prepare and Give and Academic PresentationMichele Weigle
 
My Academic Story via Internet Archive
My Academic Story via Internet ArchiveMy Academic Story via Internet Archive
My Academic Story via Internet ArchiveMichele Weigle
 
Strategies for Sensor Data Aggregation in Support of Emergency Response
Strategies for Sensor Data Aggregation in Support of Emergency ResponseStrategies for Sensor Data Aggregation in Support of Emergency Response
Strategies for Sensor Data Aggregation in Support of Emergency ResponseMichele Weigle
 
Detecting Off-Topic Web Pages at #CUWARC
Detecting Off-Topic Web Pages at #CUWARCDetecting Off-Topic Web Pages at #CUWARC
Detecting Off-Topic Web Pages at #CUWARCMichele Weigle
 
Energy Harvesting-aware Design for Wireless Nanonetworks
Energy Harvesting-aware Design for Wireless NanonetworksEnergy Harvesting-aware Design for Wireless Nanonetworks
Energy Harvesting-aware Design for Wireless NanonetworksMichele Weigle
 
2015-capwic-gradschool
2015-capwic-gradschool2015-capwic-gradschool
2015-capwic-gradschoolMichele Weigle
 
2015-odu-ece-tools-for-past-web
2015-odu-ece-tools-for-past-web2015-odu-ece-tools-for-past-web
2015-odu-ece-tools-for-past-webMichele Weigle
 
Tools for Managing the Past Web
Tools for Managing the Past WebTools for Managing the Past Web
Tools for Managing the Past WebMichele Weigle
 
Archive What I See Now - 2014 NEH ODH Overview
Archive What I See Now - 2014 NEH ODH OverviewArchive What I See Now - 2014 NEH ODH Overview
Archive What I See Now - 2014 NEH ODH OverviewMichele Weigle
 
Telling Stories with Web Archives
Telling Stories with Web ArchivesTelling Stories with Web Archives
Telling Stories with Web ArchivesMichele Weigle
 
"Archive What I See Now" - NEH ODH overview
"Archive What I See Now" - NEH ODH overview"Archive What I See Now" - NEH ODH overview
"Archive What I See Now" - NEH ODH overviewMichele Weigle
 
TDMA Slot Reservation in Cluster-Based VANETs
TDMA Slot Reservation in Cluster-Based VANETsTDMA Slot Reservation in Cluster-Based VANETs
TDMA Slot Reservation in Cluster-Based VANETsMichele Weigle
 
Visualizing Digital Collections at Archive-It
Visualizing Digital Collections at Archive-ItVisualizing Digital Collections at Archive-It
Visualizing Digital Collections at Archive-ItMichele Weigle
 

More from Michele Weigle (20)

Comparing the Archival Rate of Arabic, English, Danish, and Korean Language W...
Comparing the Archival Rate of Arabic, English, Danish, and Korean Language W...Comparing the Archival Rate of Arabic, English, Danish, and Korean Language W...
Comparing the Archival Rate of Arabic, English, Danish, and Korean Language W...
 
WS-DL’s Work towards Enabling Personal Use of Web Archives
WS-DL’s Work towards Enabling Personal Use of Web ArchivesWS-DL’s Work towards Enabling Personal Use of Web Archives
WS-DL’s Work towards Enabling Personal Use of Web Archives
 
Intro to Web Archiving
Intro to Web ArchivingIntro to Web Archiving
Intro to Web Archiving
 
Enabling Personal Use of Web Archives
Enabling Personal Use of Web ArchivesEnabling Personal Use of Web Archives
Enabling Personal Use of Web Archives
 
Visualizing Webpage Changes Over Time
Visualizing Webpage Changes Over TimeVisualizing Webpage Changes Over Time
Visualizing Webpage Changes Over Time
 
How to Write an Academic Paper
How to Write an Academic PaperHow to Write an Academic Paper
How to Write an Academic Paper
 
How to Prepare and Give and Academic Presentation
How to Prepare and Give and Academic PresentationHow to Prepare and Give and Academic Presentation
How to Prepare and Give and Academic Presentation
 
My Academic Story via Internet Archive
My Academic Story via Internet ArchiveMy Academic Story via Internet Archive
My Academic Story via Internet Archive
 
Strategies for Sensor Data Aggregation in Support of Emergency Response
Strategies for Sensor Data Aggregation in Support of Emergency ResponseStrategies for Sensor Data Aggregation in Support of Emergency Response
Strategies for Sensor Data Aggregation in Support of Emergency Response
 
Detecting Off-Topic Web Pages at #CUWARC
Detecting Off-Topic Web Pages at #CUWARCDetecting Off-Topic Web Pages at #CUWARC
Detecting Off-Topic Web Pages at #CUWARC
 
Energy Harvesting-aware Design for Wireless Nanonetworks
Energy Harvesting-aware Design for Wireless NanonetworksEnergy Harvesting-aware Design for Wireless Nanonetworks
Energy Harvesting-aware Design for Wireless Nanonetworks
 
2015-capwic-gradschool
2015-capwic-gradschool2015-capwic-gradschool
2015-capwic-gradschool
 
2015-odu-ece-tools-for-past-web
2015-odu-ece-tools-for-past-web2015-odu-ece-tools-for-past-web
2015-odu-ece-tools-for-past-web
 
Tools for Managing the Past Web
Tools for Managing the Past WebTools for Managing the Past Web
Tools for Managing the Past Web
 
Archive What I See Now - 2014 NEH ODH Overview
Archive What I See Now - 2014 NEH ODH OverviewArchive What I See Now - 2014 NEH ODH Overview
Archive What I See Now - 2014 NEH ODH Overview
 
Bits of Research
Bits of ResearchBits of Research
Bits of Research
 
Telling Stories with Web Archives
Telling Stories with Web ArchivesTelling Stories with Web Archives
Telling Stories with Web Archives
 
"Archive What I See Now" - NEH ODH overview
"Archive What I See Now" - NEH ODH overview"Archive What I See Now" - NEH ODH overview
"Archive What I See Now" - NEH ODH overview
 
TDMA Slot Reservation in Cluster-Based VANETs
TDMA Slot Reservation in Cluster-Based VANETsTDMA Slot Reservation in Cluster-Based VANETs
TDMA Slot Reservation in Cluster-Based VANETs
 
Visualizing Digital Collections at Archive-It
Visualizing Digital Collections at Archive-ItVisualizing Digital Collections at Archive-It
Visualizing Digital Collections at Archive-It
 

Recently uploaded

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Re-tasking Wireless Sensor Networks

  • 2. Project Goals • Investigate and analyze Deluge architecture and framework • Design and implement architecture/framework for a selective re- tasking • Design and implement GUI for monitoring and re-tasking network
  • 3. History (previous development) • Versioning project with Chris Thames using Deluge (Sensor Networks Fall 2010) • Problems with TinyOS 2.1.1 • Very simple approach
  • 4. TinyOS Overview • An event driven operating system designed for low-power wireless devices, specifically sensor networks • Language - nesC • Supports many platforms • Open source and actively developed (academia and industry) • Community working groups for documenting and defining new TinyOS standards (TEPs)
  • 5. Iris Mote Overview • Hardware Specs – Radio Module – 2.4 Ghz IEEE 802.15.4 – ATmega 1281 Microcontroller • Internal Flash Memory -128K bytes • 8-bit RISC CPU – Flash Module – 512K Bytes • Operating System – TinyOS 2.1.2 (August 20, 2012)
  • 6. Deluge – Timeline • “An efficient protocol for disseminating large data objects, such as program binaries, to many nodes within a wireless sensor network (Hui 2)” • Timeline – Paper– Adam Chilipala, Jonathan W. Hui, and Gilman Tolle (Fall 2003, Berkeley) – Beta Release (April 2004) – Initial release (Aug 2004) – Deluge 2.0 Beta (May 2005) – Deluge 2.0 Release (Jul 2005) – Current Version Deluge T2 (ported Deluge 2.0 to TinyOS 2.X)
  • 7. Deluge Overview • nesC reusable component for distributing program binaries • Allows up to four images to be distributed and installed on neighboring motes • Controlled, queried, and commanded using the tos-deluge python script (via serial communication)
  • 8. Deluge Mote Configurations • Clients configured with the DelugeC component • Deluge Base station mote – Compiled as a DELUGE_BASESTATION – Responsible for forwarding serial messages (received from tos-deluge (python) to the neighboring sensor network (via Dissemination)
  • 9. TOS-Deluge • TOS-Deluge (Python Script) – Injecting and erasing TinyOS applications within the Base station mote (4 slots external flash) – Initiating the dissemination and reprogram of nodes (network-wide)
  • 10. Dissemination • Purpose: Reliably deliver a piece of data to every node (base station to motes) • TEP Standard 118 – Drip implementation – Trickle timers • The process to push Deluge commands to the motes – Base station initiates (updates)Deluge command – Motes receive Deluge command value changed events
  • 12. Deluge Architecture • TOSBoot Bootloader • High Level Components: – Dissemination – ObjectTransfer – NetProg – DelugeManager – DelugeMetadata
  • 13. Deluge Architecture: TOSBoot • Deluge bootloader responsible for the following: – Reading and writing program binaries between internal and external flash – Starting the application – Rollback gesture recognition for loading GoldenImage
  • 16. DelugeC (Top Level) • Listens for Deluge command events (via dissemination) • States – IDLE – PUBLISHING – RECEIVING
  • 17. Dissemination Component • Component used to update/receive Deluge commands – Base station: updates deluge command value – Clients: receive deluge command changed events
  • 18. ObjectTransfer Component • ActiveMessage (AM) based service for sending/receiving program binaries • Each mote runs the ObjectTransfer service – IDLE – PUB – service is configured to send image to another mote – RECV – service is configured to receive image from another mote
  • 19. DelugeMetadata Component • Reads external flash for information regarding the stored images – Application Name – Unique ID – Timestamp – Size – Number of Pages – CRC (Validity)
  • 20. NetProg Component • Module to reprogram and reboot mote (specific to platforms i.e. IRIS) • Writes to internal flash to initiate reprogram (BootArgs) – Image Address (External Flash) – TOS_NODE_ID – DELUGE_GROUP_ID • Forces a hardware reset
  • 21. DelugeManager Component • Only available to motes that are compiled with the DELUGE_BASESTATION flag • Receives commands (serial) from TOS-deluge (python) and generates Deluge commands for network-wide dissemination
  • 22. Current Deluge Limitations • Re-tasking is limited only to network-wide dissemination of program binaries. • Every mote stores and runs the same images • Feedback from the sensor network is limited to the motes’ LEDs
  • 23. What did I add to Deluge to achieve the project goals? • Selective re-tasking (preserving current functionality) • Feedback from the sensor network (Collection)
  • 24. Selective Re-tasking • Disseminate and reprogram specific motes based on TOS_NODE_ID • Disseminate and reprogram a group of motes based on DELUGE_GROUP_ID
  • 25. Re-tasking specific motes • Added node id hash to the Deluge command • Currently node id hash supports up to 32 devices • Each bit represents a node id. If the bit is set then that mote is signaled to be re-tasked • Motes check node id hash before executing command
  • 26. Node ID Hash Examples Node IDs Set Node ID Hash (32-Bit) 1,2,3,4,5 62 29,7,18 537133184 10 1024 31 2147483648
  • 28. Re-tasking group of motes • Added the DELUGE_GROUP_ID preprocessor variable to Deluge • Added groupID variable to the Deluge command • Motes check groupID (originally compiled into image) before executing command
  • 30. Updating Groups • Added deluge command to update mote groups • Node id hash defines the motes to update and groupID specifies the new group
  • 31. Update Group with new Motes
  • 32. Deluge High-Level Components with Collection
  • 33. Deluge Collection • Purpose: Gather information about the sensor network (motes to base station) • TEP Standard 119 – Based on trees using a link estimator algorithm for building efficient/reliable routes between nodes and base station – Best-effort, multihop delivery of packets to the root of a tree
  • 34. Collection Message: NodeStatus • Fields – Node ID – Group ID – State – Current Running Application • Unique ID • Name • Time Stamp • Limited to 20 bytes per payload
  • 35. Deluge Overview with Monitoring
  • 36. Deluge Code Size Application ROM (Bytes) RAM (Bytes) ROM Δ RAM Δ Blink (Deluge) 26666 957 +2.3% +1.3% Base station (Deluge) 32840 1315 +1.0% +1.2% Application ROM (Bytes) RAM (Bytes) Blink (Deluge) 26074 945 Base station (Deluge) 32544 1300 Application ROM (Bytes) RAM (Bytes) ROM Δ RAM Δ Blink (Deluge) 33294 2127 + 28% 125% Base station (Deluge) 39614 2463 + 22% 89% Original Deluge (2.1.2) Deluge w/o Collection (Monitoring) Deluge with Collection (Monitoring)
  • 37. Deluge Visualizer • Purpose: – TOS-Deluge Frontend for issuing commands – Status window for displaying tos-deluge output – Dynamic table displaying information and state about the sensor devices • Cross platform: JAVA • Built using the TinyOS JAVA SDK and MIG tool
  • 40. Development Tools/Process • Source Control: Mercurial • Wiki: Chiliproject • Ubuntu 12.04 • Windows 7 running Ubuntu 12.04 VM (via VirtualBox)
  • 41. IRIS Mote Debugging • PrintF • TOSSIM (python jig) • LEDS
  • 42. Conclusion • Successfully completed project goals – Maintained current network-wide re-tasking features – Implemented selective re-tasking – Implemented monitoring framework and application
  • 43. Future Work • Improve memory (ROM/RAM) footprint • Remove dependency on tos-deluge • Add support for Android TinyOS SDK
  • 44. References • TinyOS Wiki: http://docs.tinyos.net/tinywiki/index.php/Mai n_Page • TEPs: http://docs.tinyos.net/tinywiki/index.php/TEP s • Deluge Documentation: http://www.cs.berkeley.edu/~jwhui/deluge/d ocumentation.html

Editor's Notes

  1. nesC – extension of the C programming language (modules, configurations, interfaces, wiring)
  2. Hui, Jonathan. Deluge 2.0 – TinyOS Network Programming. July 28, 2005.
  3. How does a user initiate a reprogram of the network? tos-deluge
  4. TinyOS Enhancement Proposals (TEP)
  5. Bootloader – TOSBOOT DelugeC
  6. GoldenImage – regarding as a safe/reliable application
  7. Left out all flash/storage components for simplicity
  8. Motes share information – determine who needs an updated image Images delivered in “Pages”
  9. Used to determine if image already exists on mote
  10. TOSBOOT reads from internal flash and writes the image from external flash to program flash
  11. Backwards compatible
  12. DELUGE_GROUP_ID set using makefile flag (same process as TOS_NODE_ID)
  13. TinyOS Enhancement Proposals (TEP) Reverse of dissemination
  14. 20 byte limit for collection payloads (took a while to figure this out)
  15. MIG - used to auto-generate language specific serialization code TinyOS SDK also includes C, C++, JAVA, and PYTHON
  16. 3 sections – dynamic node status table, tos-deluge gui frontend, and status window
  17. TinyOS Enhancement Proposals (TEP