Dynamic reconfiguration in sensor middleware
Summary (4 min read)
1. INTRODUCTION
- Wireless sensor networks are used in a wide range of application domains including, for example, environmental monitoring and disaster management.
- Existing sensor middleware proposals have yet to approach the problems caused by the following two important characteristics of sensor applications: − Environmental diversity; sensor networks in different application fields require different hardware, different networks, different styles of communication.
- Using these, the application developer is able to select the appropriate communication abstraction for their application.
- Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page.
- Section 2 examines the Gridkit framework and its support for pluggable communication abstractions and overlay networks.
2. THE GRIDKIT SENSOR MIDDLEWARE
- Gridkit [7] is a generalized middleware framework that can be specialized to operate in diverse application domains; e.g. Grid computing, pervasive computing, and mobile computing.
- This employs a minimal runtime that supports the loading and binding of lightweight software components at run-time.
- In Gridkit, middleware is built upon a core distributed framework known as the overlays framework.
- This is also customizable from i) a centralized spanning tree using Dijkstra’s shortest path algorithm, ii) Bellman-Ford’s decentralized shortest path tree overlay, iii) a fewest hop tree, or iv) an overlay that is aware of proximity.
- Hence, it is possible to customize both the interaction framework level and the overlay level to suit individual application requirements.
3. DYNAMIC RECONFIGURATION
- There are two important dimensions in the dynamic reconfiguration of sensor networks: local and distributed.
- Local adaptation is the dynamic reconfiguration of software elements on an individual node; whereas distributed adaptation is the adaptation of the behaviour across a sensor network.
- In Gridkit, dynamic reconfiguration is based around software architecture elements known as component frameworks.
- There are two styles of component framework supporting reconfiguration, as discussed in the following two sub-sections.
3.1 Local Component Frameworks
- The local component framework model is based on the concept of composite components as proposed in the OpenORB project [1].
- Each framework has a reflective metainterface that enables inspection and dynamic adaptation of the local ‘architecture’ of the composite component in terms of its local components and connections.
- A configurator is assigned to each framework instance, and acts as a unit of autonomy for making decisions about when and how to change the framework.
- It is connected with the Gridkit context engine [7] to receive relevant environmental events; and communicates with its host framework through the metainterface.
- Typical configurator policies in Gridkit use the Event-ConditionAction pattern.
3.2.1 Overview
- A distributed component framework is a set of local component framework instances of the same type located across a set of coordinated devices, typically providing co-ordinated middleware functionality—e.g. an overlay network, a shared middleware communication channel (group binding), etc.
- The design of the distributed framework model follows the same basic themes as for local frameworks—i.e. the use of reflection to support inspection and adaptation of software, and configurators to enforce autonomic actions.
- There are a number of important elements concerned with the creation of distributed frameworks, which are now discussed in turn.
3.2.2 Meta-Object Protocol & Reification Strategies
- Each distributed framework maintains a basic metaobject protocol (MOP) that reifies the information about the contents of the framework in terms of the node members only.
- This depends on the reification strategy employed by the metaprotocol; i.e. whether the host contains the “Reified Meta Data” component that collects the published information.
- For the implementation of this meta-object protocol the authors use a lightweight group membership service as the base mechanism for distributing meta-data; this data then builds the view of the system wide architecture.
- The basic meta-information maintained for a each framework is shown in figure 4(a); this is essentially just the local framework members of the distributed framework.
- This will utilize more resources, but may potentially reduce the network traffic and time to make reconfiguration decisions, as the data can be stored locally with the configurators.
3.2.3 Configurators
- Distributed configurators follow the same pattern as for local frameworks.
- They receive events about changing environmental conditions, select policies and then perform distributed reconfigurations.
- Individual frameworks may have more than one configurator (e.g. there could be one on every node).
- Therefore, consensus protocols are used to ensure that all members of the framework agree on the action to perform.
- The authors evaluation has so far focused on single configurators (see section 4), however, the authors are also investigating the introduction of selectable and replaceable consensus algorithms into their distributed frameworks.
3.2.4 Quiescence
- For safe dynamic reconfiguration it is important to ensure that updates complete atomically and do not impact the integrity of the network.
- There are two parts to this: i) making the framework safe to adapt, i.e. placing it in a quiescent state, and ii) ensuring that the reconfiguration is complete and correct.
- Hence, no reconfiguration can take place locally while a thread is executing in the framework.
- Upon the condition that all members are in a quiescent state then the reconfiguration continues.
- The disadvantage of the above approach is that it may be too resource intensive, and may not scale suitably for large numbers of hosts.
3.2.5 Constraints
- The distributed component framework model must be inherently more flexible than the local model, as there are many more constraints that disallow a single fixed model being utilised.
- All nodes may not be equal; some nodes may have more resources than others, e.g. a controller or gateway node.
- Additionally, participating in expensive reconfiguration protocols may drain the resources of some sensors (see 4.2).
- Frameworks should provide selectable styles of adaptation: e.g. centralised versus decentralised.
4. EVALUATION
- To evaluate their approach the authors demonstrate the effectiveness of Gridkit in supporting a flood-monitoring sensor network,; exploring how adaptations are performed in the face of changing environmental conditions.
- The authors also measure the costs introduced by increased flexibility and the ability to dynamically adapt.
4.1 Reconfiguration Case Study
- Hydrologists need to deploy sensors (such as depth and flow-rate sensors); and the data from these is fed into off-site flood prediction models.
- The sensor nodes employ the Gumstix hardware platform, configured with multiple network interfaces (i.e. Bluetooth, GPRS, and 802.11b); they have an Intel XScale 400MHz CPU, 64 Mb of RAM and 16Mb of flash memory.
- FH trees are optimized to maintain a minimum number of hops between each node and the root.
- The tree root node’s interaction type is configured as the subscriber role to receive events of interest (i.e. those describing flooding information).
- Changing the routing strategy by replacing the forwarder components, or increasing the dependability of the overlay by inserting new nodes into the framework, or replacing the repair algorithms, also known as alternative overlay reconfigurations.
4.2 Quantitative Costs
- The approach introduces complexity and autonomous behaviour into the realm of sensor middleware.
- Here the authors examine some of the costs that these bring.
- Gridkit is currently implemented using Java, and hence requires a virtual machine to be available on each sensor node (that said, Gridkit itself is language independent, and the approach could easily be replicated using different language implementations).
- The authors examine the memory costs—i.e. how much memory footprint is required to run the Gridkit middleware.
- The authors next examine the dynamic memory footprint of the cost of creating dynamic frameworks: i.e. how much run-time memory.
4.2.1 Memory Footprint Cost of Middleware
- Table 1 describes the static memory footprint cost (i.e. size on disk) of the jar files that make up the core elements of the sensor middleware.
- These show that a reasonable amount of memory space is required for each customised personality e.g. the publisher role in a distributed framework totals 236 Kbytes; this easily fits onto the Gumstix, however is too large for minimal sensors e.g.
4.2.2 Dynamic Memory Cost of Meta-Data
- Figure 8 illustrates the expense of maintaining meta-data in the network.
- This is a measure of the size of data stored in a node’s system memory during the operation of the distributed framework that manages the spanning tree overlay .
- The graph shows that meta-data held about local frameworks (3 connected components) remains constant irrespective of the number of nodes in the network.
- The basic distributed meta-data increases a small constant amount for each new node in the network (approx. 144 bytes).
- In the scenario, only the root nodes maintain basic and richer metadata; the cost is not spread across the network.
Did you find this useful? Give us your feedback
Citations
173 citations
Cites background from "Dynamic reconfiguration in sensor m..."
...Recently, researchers have focused on extending middleware approaches to provide adaptation services [4, 11, 23]....
[...]
104 citations
60 citations
Cites background from "Dynamic reconfiguration in sensor m..."
..., [2, 5, 7]), they do not include any dedicated construct for managing mutable component configurations....
[...]
57 citations
51 citations
References
6,061 citations
"Dynamic reconfiguration in sensor m..." refers background in this paper
...event subscription [11], database-style [2, 13], or tuple-spaces [14]) over a variety of adhoc message routing strategies [3,9]....
[...]
3,166 citations
"Dynamic reconfiguration in sensor m..." refers background in this paper
...event subscription [11], database-style [2, 13], or tuple-spaces [14]) over a variety of adhoc message routing strategies [3,9]....
[...]
1,074 citations
750 citations
"Dynamic reconfiguration in sensor m..." refers background in this paper
...event subscription [11], database-style [2, 13], or tuple-spaces [14]) over a variety of adhoc message routing strategies [3,9]....
[...]
514 citations
"Dynamic reconfiguration in sensor m..." refers background in this paper
...event subscription [11], database-style [2, 13], or tuple-spaces [14]) over a variety of adhoc message routing strategies [3,9]....
[...]
Related Papers (5)
Frequently Asked Questions (13)
Q2. What future works have the authors mentioned in the paper "Dynamic reconfiguration in sensor middleware" ?
There are a number of interesting future areas of research inspired by this work. Firstly, the creation of higher-level declarative languages that can be used by both middleware and application developers to describe reconfiguration actions on the sensor network, and also deal with potential conflicts that may arise from multiple policies. Finally, the investigation of resource management policies ( local and global ) ; these will be used to adapt the middleware behaviour to conserve resources such as network bandwidth and battery power.
Q3. What is the way to check the integrity of a component update?
After reconfiguration, like with local frameworks (IAccept plug-in), the update can be checked through inspection of the meta-data to validate the integrity of component updates across multiple nodes.
Q4. What is the role of a configurator in the dynamic reconfiguration of sensor networks?
A configurator is assigned to each framework instance, and acts as a unit of autonomy for making decisions about when and how to change the framework.
Q5. What is the way to ensure that the reconfiguration is safe?
For safe dynamic reconfiguration it is important to ensure that updates complete atomically and do not impact the integrity of the network.
Q6. What is the common type of reconfiguration script?
When an event is detected, it triggers the corresponding action, which is a reconfiguration script of component inserts, deletes, disconnects, connects, or replaces.
Q7. What are the three dimensions of the gridkit middleware?
In this paper, the authors examine three aspects of their Gridkit middleware [7], which address these dimensions: − Pluggable communication abstractions.
Q8. What is the use of spanning trees?
These are commonly used in wireless sensor networks to disseminate data from a large number of sensors to a small number of logging or bridging nodes that form the ‘root’ of the tree.
Q9. What can be applied in different application domains such as multimedia and mobile?
it can be applied in different application domains such as multimedia and mobile e.g. the communication binding can switch across all hosts from streaming to text messaging when there is a reduction in available bandwidth.
Q10. What is the local component framework model?
The local component framework model (illustrated in figure 2) is based on the concept of composite components as proposed in the OpenORB project [1].
Q11. What is the difference between the local and distributed component frameworks?
The distributed component framework model must be inherently more flexible than the local model, as there are many more constraints that disallow a single fixed model being utilised.
Q12. What is the current state of the distributed framework?
Currently their distributed frameworks use this capability; each local framework is placed into a quiescent state through a command propagated viathe meta-group service.
Q13. How much memory is required for a distributed framework?
These show that a reasonable amount of memory space is required for each customised personality e.g. thepublisher role in a distributed framework totals 236 Kbytes; this easily fits onto the Gumstix, however is too large for minimal sensors e.g.