DAViM: a dynamically adaptable virtual machine for sensor networks
Summary (2 min read)
2. REQUIREMENTS SUMMARY
- The authors summarize the key requirements of the system from both perspectives: customizability of sensor behavior, extendability of sensor functionality, and concurrency.
- The first requirement offers support to service providers, the others help manage the sensor network as a service platform.
2.1 Customizability of sensor behavior
- Secondly, the system must offer functionality that is spe-cific for a particular application domain.
- This functionality is offered as operation libraries that can be called by applications running on the node.
- By consequence, applications can be very lightweight since the core functionality is already available in the libraries on the node.
2.2 Extendability of sensor functionality
- In order to handle such changing circumstances, first of all, the system must be extendable by adding missing functionality when needed.
- At all times, the system should offer the most appropriate set of operations without pre-installing unneeded functionality.
- Secondly, the system must be able to support the execution of added functionality, i.e. reacting to new types of events and handling these events correctly.
- Finally, the system must provide each application with an execution environment that offers the minimal but sufficient (sub)set of operations.
- Some operations may be used by multiple applications, some operations may be application specific.
2.3 Concurrency
- The system should allow multiple applications to use the set of operation libraries in parallel.
- Each application should execute as if it were the only one on the system and the only application using a particular operation library, also known as Concurrency should be transparent.
- The system must ensure safe execution and prevent race conditions and deadlocks; it must protect shared variables and schedule operations from different applications.
4. DAVIM ARCHITECTURE
- The architecture is explained by exploring how it supports a representative use case that incorporates the requirements outlined in Section 2.
- The use case is presented incrementally by using three scenarios: the first scenario illustrates the basic VM support of DAViM, the second scenario shows how DAViM enables a VM to be dynamically updated and the third scenario describes DAViM support for executing multiple VMs in parallel.
- It should be noted that the DAViM architecture assumes that the underlying operating system provides dynamic memory and dynamic modules.
4.1 Basic virtual machine support
- Whenever a new container with a sensor node attached enters the sensor network, the Coordinator component will cooperate with the Coordinator components of neighboring nodes to synchronize the state of the DAViM system.
- In case the entering node misses an application loaded on the other nodes, neighboring nodes will send it to the new node.
4.3 Support for multiple virtual machines
- In order to enable flexible and transparent sharing of operation libraries, the library identifier encoded in the byte code of an instruction set is decoupled form the actual library identifier known by the Library Manager.
- In addition, this enables dynamic updates of the operation libraries that are included in a virtual machine and loading of operation libraries without interference with running virtual machines.
4.4 Discussion
- As such, the authors argue that the DAViM architecture combines the advantages of both reconfigurable operating systems and virtual machines: as long as the needed operation libraries are present, lightweight applications can be downloaded to a DAViM VM to reconfigure the system's behavior.
- This is, however, acceptable, given the low frequency of performing such major updates and the considerable added value for employing sensor networks during a substantial period of time.
5. PROTOTYPE IMPLEMENTATION
- The limited amount of dynamic memory that could be reserved on micaZ hardware currently prevents realistic field tests.
- MicaZ sensor nodes have available 4KB of RAM of which SOS reserves 1,5 KB for dynamic memory allocation.
- Experiments on micaZ nodes have shown that more dynamic memory is needed to use more than one simultaneously activated VM for a realistic application.
- Yet, simulations show that DAViM needs less than twice the amount of dynamic memory available on micaZ hardware.
- The authors expectations are that more recent hardware will solve current memory limitations.
Did you find this useful? Give us your feedback
Citations
805 citations
Cites methods from "DAViM: a dynamically adaptable virt..."
...In populating the tables, a few common legends are used [e.g., supported (S), not supported (NS), no information (NI)—if no information available about the requirement] along with requirement-specific legends [e.g., for lightweight requirements: memory needed (M) and energy efficiency (E)]....
[...]
52 citations
Cites background from "DAViM: a dynamically adaptable virt..."
...Since resource limitations prevent sensors from having an extensive set of services pre-installed, sensor software should be dynamically reconfigurable....
[...]
32 citations
Cites background from "DAViM: a dynamically adaptable virt..."
...But this is an approach that has two main drawbacks: first, according to [35], this is not a competitive approach and second, this method represents a big investment and thus it doesn’t contribute to the vision of the WSNs hardware where it must progressively become smaller and cheap....
[...]
32 citations
27 citations
References
2,566 citations
"DAViM: a dynamically adaptable virt..." refers background in this paper
...Contiki [3, 2] allows to dynamically load binary modules in the standard ELF file format and a variant called CELF (compact ELF)....
[...]
2,522 citations
1,217 citations
1,152 citations
"DAViM: a dynamically adaptable virt..." refers background in this paper
...TinyOS/Deluge [6], for instance, replaces a complete system image which implies considerable network overhead to transport the update to all nodes in the network....
[...]
929 citations
Related Papers (5)
Frequently Asked Questions (2)
Q2. What future works have the authors mentioned in the paper "Davim: a dynamically adaptable virtual machine for sensor networks" ?
The architecture offers support for three key requirements that sensor networks have to deal with: customizability of sensor behavior, extendability of sensor functionality, and concurrent execution of multiple applications. With respect to future work, the authors will first of all evaluate and refine the architecture in the context of an industrial case study. By way of evaluation of the architecture, the authors have implemented a proofof-concept prototype which provides promising indications that it is feasible to implement the described functionality on state-of-the-art sensor hardware. Their research will gradually extend its focus from an individual sensor node and a single sensor network towards an end-to-end view.