ABSTRACT

Middleware for wireless sensor networks (WSNs) may seem misplaced in a book on mobile middleware. After all, most existing WSNs are installed on static objects such as, for example, the nests of the Leach’s Storm Petrels on the Great Duck Island [61], three feet underground at the Pickberry Vineyard in California, and on the housing of semiconductor machinery at Intel. Yet, upon closer inspection, it becomes readily apparent why WSNs are relevant. First, WSNs need not be static; they can be just as easily installed on moving objects; for example, in ZebraNet [48], a WSN was installed on a herd of zebras to track their movement. As the zebras move, the nodes opportunistically create wireless

ad hoc

links for distributing code and data updates. Mobile middleware in the form of Impala [54] was used to ensure flexible and adaptable applications in such a dynamic context. Second, there are many applications that involve a WSN interacting with a mobile user [29,44,47,48,57] or tracking a mobile entity [18,32,38]. Third, as mobile applications mature, they must exhibit context awareness; that is, they must not only understand what their users are doing but also perceive properties about their environment. This collection of context information must be done in real time and at resolutions only WSNs are capable of cost-effectively providing. The combination of user, entity, node, data, and code mobility, along with the reliance of traditional mobile devices on WSNs for information about the surrounding physical environment, render WSN middleware relevant to this book.