The increasing ubiquity of wireless mobile computing
platforms has opened up the potential of unprecedented levels of communication,
coordination and collaboration among mobile computing devices, most of which
occur in an ad hoc, on-demand manner. This paper describes SPAWN, a middleware
supporting service provision in ad-hoc wireless networks. The aim of SPAWN
is to provide the software resources on mobile devices that facilitate electronic
collaboration. This is achieved by applying the principles of the service
oriented computing (SOC), an emerging paradigm that has seen success in wired
settings. SPAWN is an adaptation and extension of the Jini model of SOC to
ad-hoc networks. The key contributions of SPAWN are a completely decentralized
service advertisement and request system
that is geared towards handling the unpredictability and dynamism of mobile
ad-hoc networks, an automated code management system that can fetch, use
and dispose of binaries on an on-demand basis, an upgrade mechanism to extend
the life cycle of services, and a lightweight security model that secures
all interactions, essential in an open environment. We discuss the software
architecture, a Java
implementation, sample applications and empirical evaluation of the system.