Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October 2004 A Message-Oriented Middleware for Sensor Networks Eduardo Souto, Germano Guimarães, Glauco Vasconcelos, Mardoqueu Vieira, Nelson Rosa, Carlos Ferraz Eduardo Souto, Germano Guimarães, Glauco Vasconcelos, Mardoqueu Vieira, Nelson Rosa, Carlos Ferraz Centro de Informática Universidade Federal de Pernambuco Recife – Pernambuco, Brazil
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October Motivation increasing development of wireless sensor networks (WSNs) scarce resources (memory, battery, processing capacity) thousand of nodes event-driven traditional middleware systems are heavyweight request/reply communication is not adequate increasing development of wireless sensor networks (WSNs) scarce resources (memory, battery, processing capacity) thousand of nodes event-driven traditional middleware systems are heavyweight request/reply communication is not adequate
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October Motivation [Scenario]
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October Our Proposal MIRES – Middleware for WSNs enables communication between sensing-based applications provides a set of middleware services hides the complexity of communication underlying mechanisms from the sensing-based applications MIRES – Middleware for WSNs enables communication between sensing-based applications provides a set of middleware services hides the complexity of communication underlying mechanisms from the sensing-based applications
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Basic Facts] message-oriented middleware publish/subscribe service asynchronous communication encapsulates network-level protocols routing and topology control protocols aggregation service collects and integrates data generated from a large and physically dispersed set of nodes API (Application Programming Interface) message-oriented middleware publish/subscribe service asynchronous communication encapsulates network-level protocols routing and topology control protocols aggregation service collects and integrates data generated from a large and physically dispersed set of nodes API (Application Programming Interface)
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Architecture] SensorsCPURadio Operating System MIRES Routing Service 1 Aggregation Service N Service N Node Application Publish/subscribe service
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Publish/Subscribe Service] a publish/subscribe middleware publishes (“sender”) and subscribers (“receivers”) applications asynchronous communication sender and receiver may not be present in the network at the same time topics (subject) a publish/subscribe middleware publishes (“sender”) and subscribers (“receivers”) applications asynchronous communication sender and receiver may not be present in the network at the same time topics (subject) Hardware Operating System MOM Sender Receiver Queue send(m) notification
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Publish/Subscribe Service] allows the communication between middleware services responsible for advertises topics maintains the list of topics subscribed by the node application publishes messages containing data related to the advertised topics allows the communication between middleware services responsible for advertises topics maintains the list of topics subscribed by the node application publishes messages containing data related to the advertised topics SensorsCPURadio Operating System MIRES Routing Service 1 Aggregation Service N Service N Node Application Publish/subscribe service
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Publish/Subscribe Service] TinyOS nesC language component-based programming model each component provides and uses services component’s interface is made up of commands (procedures) TinyOS nesC language component-based programming model each component provides and uses services component’s interface is made up of commands (procedures) SensorsCPURadio Operating System MIRES Routing Service 1 Aggregation Service N Service N Node Application Publish/subscribe service
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Publish/Subscribe Service] publish/subscribe service -> other components Node application advertises its ability of sensing data related to a topic the publish/subscribe services sends that information to the network publish/subscribe service -> other components Node application advertises its ability of sensing data related to a topic the publish/subscribe services sends that information to the network sink node user application
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Publish/Subscribe Service] message arrival from the network all messages are addressed to the sink node MultiRouter signalises an intercept an event the publish/subscribe service updates its internal control the publish/subscribe services returns an indication that the message can be forwarded message arrival from the network all messages are addressed to the sink node MultiRouter signalises an intercept an event the publish/subscribe service updates its internal control the publish/subscribe services returns an indication that the message can be forwarded sink node user application
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Publish/Subscribe Service] topic subscription user application broadcasts subscribed topics to the network BCast signals a receive event the publish/subscribe service notifies services attached to it topic subscription user application broadcasts subscribed topics to the network BCast signals a receive event the publish/subscribe service notifies services attached to it sink node user application sensor nodes
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Publish/Subscribe Service] sink node user application sensor nodes
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Aggregation Service] the aggregation of data collected from sensors reduces the number of transmissions performed in each node configuration parameters aggregation function (e.g., suppression, min, max, average) stop criteria the aggregation of data collected from sensors reduces the number of transmissions performed in each node configuration parameters aggregation function (e.g., suppression, min, max, average) stop criteria Room 1 user application sink Room 2 Room 3Room 4
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October MIRES [Aggregation Service] user application Node application TinyOSMires Sensor readings Publish messages Incoming messages Room
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October Conclusion & Future Work publish/subscribe communication is adequate to middleware for WSNs facilitates the development of sensing-based applications next step to evaluate the middleware power consumption Petri Nets models publish/subscribe communication is adequate to middleware for WSNs facilitates the development of sensing-based applications next step to evaluate the middleware power consumption Petri Nets models