Agile application-aware adaptation for mobility
Proceedings of the sixteenth ACM symposium on Operating systems principles
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
ECOSystem: managing energy as a first class operating system resource
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Spatial Programming Using Smart Messages: Design and Implementation
ICDCS '04 Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS'04)
Programming ad-hoc networks of mobile and resource-constrained devices
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Using virtual markets to program global behavior in sensor networks
Proceedings of the 11th workshop on ACM SIGOPS European workshop
The regiment macroprogramming system
Proceedings of the 6th international conference on Information processing in sensor networks
Reliable and efficient programming abstractions for wireless sensor networks
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Programming sensor networks using abstract regions
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
Decentralized, adaptive resource allocation for sensor networks
NSDI'05 Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation - Volume 2
Design and implementation of a TCG-based integrity measurement architecture
SSYM'04 Proceedings of the 13th conference on USENIX Security Symposium - Volume 13
A secure environment for untrusted helper applications confining the Wily Hacker
SSYM'96 Proceedings of the 6th conference on USENIX Security Symposium, Focusing on Applications of Cryptography - Volume 6
Macroprogramming heterogeneous sensor networks using cosmos
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Eon: a language and runtime system for perpetual systems
Proceedings of the 5th international conference on Embedded networked sensor systems
Design and evaluation of a compiler for embedded stream programs
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
Resource aware programming in the Pixie OS
Proceedings of the 6th ACM conference on Embedded network sensor systems
Wishbone: profile-based partitioning for sensornet applications
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Peloton: coordinated resource management for sensor networks
HotOS'09 Proceedings of the 12th conference on Hot topics in operating systems
Macro-programming wireless sensor networks using Kairos
DCOSS'05 Proceedings of the First IEEE international conference on Distributed Computing in Sensor Systems
Hi-index | 0.00 |
Dynamic networks - spontaneous, self-organizing groups of devices - are a promising new computing platform. Writing applications for such networks is a daunting task, however, due to their extreme variability and unpredictability, with many devices having significant resource limitations. Intelligent, automated distribution of work across network nodes is needed to get the most out of limited resource budgets. We propose a novel framework for distributing computations across a dynamic network, in which applications specify their spatiotemporal properties at a very high level. The underlying system makes node selection decisions to exploit these properties, producing high quality results within a fixed resource budget. A distributed computation is expressed as a semantically parallel loop over a geographic area and time period. Feedback from the application about the quality of node selection decisions is used to guide future decisions, even while the loop is still in progress. This simplifies the process of writing dynamic network applications by allowing programmers to focus on the goals of their applications, rather than on the topology and environment of the network. Our framework implementation consists of extensions to the Java language, a compiler for this extended language, and a run-time system that work together to provide a simple, powerful architecture for dynamic network programming. We evaluate our system using 11 Nokia N810 tablet PC devices and 14 Neo FreeRunner (Openmoko) smartphones, as well as a simulation environment that models the behavior of up to 500 devices. For three representative applications, we obtain significant improvements in the number of useful results obtained when compared with baseline node selection algorithms: up to 745% (measured), 117% (simulated) for an Amber Alert application; 38% (measured), 142% (simulated) for a Bird Tracking application; and 86% (measured), 209% (simulated) for a Crowd Estimation application.