Agent Systems for Sensor Networks. Agilla is a middleware designed to enhance our ability to program applications for wireless sensor networks. It is the first mobile agent middleware that works in the resource-constrained environment of a sensor network. Mobile agents offer both code and state mobility. Because they can migrate across the sensor network, multiple applications can co-exist in the same sensor network, new applications can to be injected, and existing applications can adapt. Agilla's underlying context discovery and coordination primitives facilitate inter-agent communication while maintaining each agent's autonomy and providing a rich infrastructure for building sophisticated applications. Agilla was implemented initially on Mica2 sensors, has been ported successfully to a number of sensor platforms, and has been integrated with the Cricket indoor localization system. Most importantly, Agilla introduced a promising new programming paradigm to the field of sensor networks facilitating an unprecedented degree of programming flexibility.
Follow up efforts include Agimone, a middleware designed to achieve seamless integration of sensor and IP networks, and Servilla, a system designed to exploit service provision and flexible code deployment with the goal of simplifying application development in large and heterogeneous sensor networks. Using Servilla, developers construct platform-independent applications that can efficiently execute over a diverse set of devices. This is possible due to Servilla’s support for the dynamic discovery and binding to local and remote services. Furthermore, Servilla’s middleware architecture is modular and can be tailored to a wide range of devices. This enables resource-constrained devices to contribute to the application by providing services while leveraging more powerful devices. Servilla has been implemented and evaluated hardware platforms representative of the degree of heterogeneity present in wireless sensor networks.
Context Aware Computing. In mobile settings both human and system activities become highly dependent on the context in which the agent operates at a particular moment in time. They are affected by who is around, what resources are available, where the agent is located, etc. In all such situations, access to information tends to be spatially and temporally localized and dependent on the changing interests of the agent in question. We have explored ways of gaining information about the world around by revisiting two established paradigms from an entirely new perspective. We have extended publish/subscribe to allow events and subscriptions to be present in specified regions of space and to exhibit temporal persistency. Furthermore, publishers and subscribers may constrain the visibility of events and subscriptions to partners having particular qualifications that may include spatiotemporal attributes. Similarly, we reexamined query processing and proposed a model that is suitable for expressing a wide range of query semantics that differ in the degree of consistency with which query results reflect the state of the environment during query execution. We also introduced a protocol that automatically assesses and adaptively provides an achievable degree of consistency given the state of the operational environment throughout its execution.
Groupware in Ad Hoc Networks. Workflows have been used successfully to model collaborative activities that have a well-defined structure. Workflow management systems today can execute workflows that range from a simple sequence of tasks to complex business processes, but have a common restriction in that they can only function in settings where the network is stable. Our work investigated the possibility of using workflows in the challenging new domain of ad hoc mobile networks. This resulted in the development of a new workflow language called CiAN, centralized and distributed algorithms for workflow management including task allocation, and associated middleware and applications. A complementary effort led to the development of a BEPL micro-engine called Sliver deployable on small mobile devices such as mobile phones.
An important next step was the development of a radically new paradigm for workflow construction and execution called open workflow, which supports goal-directed coordination among physically mobile people and devices that form a transient community over an ad hoc wireless network. The quintessential feature of the open workflow paradigm is dynamic construction of custom, context-specific workflows in response to unpredictable and evolving circumstances by exploiting the knowledge and services available within a given spatiotemporal context.
Real-Time Processing Sensor Networks. Recent years have seen the emergence of wireless sensor network systems that require high data rates and real-time communication. Predictable query processing in such settings demands the development of new query processing protocols and analytical frameworks. Our group has been instrumental in the creation and evaluation of a number of protocols targeted on achieving various levels of predictability. Some exploit timing semantics to actively shape the workload inside the network, others employ dynamic conflict-free scheduling specifically designed to support query services for in-network data aggregation, and still others offer conflict-free transmission scheduling for real-time queries in a manner that is sensitive to the inherent tradeoffs between prioritization and throughput.
Search Engine for Pervasive Computing. Motivated by the growing amount of digitally accessible information in our physical surroundings and the ephemeral nature of that information, there is a profound need to efficiently search information with spatiotemporal underpinnings without a priori indexing. Human users in pervasive computing environments connected by opportunistic peer-to-peer connections, need information that is immediate and localized. This tight integration of the user with his immediate surroundings introduces novel search requirements. The requisite support for performing search of the here and now in the here and now calls for a new paradigm of search that explicitly separates search from advanced indexing of data. Gander is a scalable search engine demonstrated through practical real-world pervasive computing scenarios. Related work investigated the semantics of continuous queries and spatiotemporal models for ephemeral data.
Patient Monitoring in a Clinical Setting. Real-time patient monitoring is critical for early detection of clinical patient deterioration in general hospital wards. A key challenge in such applications is to reliably deliver sensor data from mobile patients. An empirical analysis involving mobile users wearing wireless pulse-oximeters showed that mobility leads to packet losses as high as 30%. Because the majority of packet losses occur between the mobile users and the first-hop relays we developed an effective mechanism for discovering the right relays for mobile users. The new protocol, implemented on the TinyOS platform, delivered at least 96% of pulse oximetry data from multiple users, while maintaining a radio duty cycle below 2.8%. Our results demonstrated the feasibility of employing wireless sensor networks for real-time clinical monitoring.