A new framework for ad hoc applications is under development at the University of Lausanne in Switzerland. This thin layer, based on existing standards, will help developers build applications that include three features: mobility, peer-to-peer operation and collocation. As the framework is independent of the underlying network technology, the proposed solution will be adaptable to the emergence of the next-generation ad hoc network.
The goal of several recent research projects has been to study the new generation of mobile communication and information services, based on self-organisation (AODV, Terminodes, CarNet). Such systems have lately become very topical, with the advent of the peer-to-peer communication paradigm and the emergence of ad hoc network technologies. Many fundamental technical questions remain open however, and real business applications still need to be rolled out. One specific domain where the peer-to-peer phenomenon has had a major impact is data and media interchange on the Internet. Mobile devices will presumably be the next target, as the minimal requirements for multimedia applications are almost guaranteed.
An ad hoc network is a transitory association of mobile nodes which do not depend upon any fixed support infrastructure. [...] Connection and disconnection is controlled by the distance among nodes and by willingness to collaborate in the formation of cohesive, albeit transitory community. [Murphy et al]. But what are ad hoc applications? One could simply answer 'pieces of software that will run on ad hoc networks'. We believe that defining a class of applications (ad hoc applications) by coupling it to only one possible implementation technology (ad hoc networks) reduces the generality and effectiveness of the definition. Therefore we define an ad hoc application as a self-organising application composed of mobile and autonomous devices interacting as peers, whose relationships are made possible because of relatively close physical distances (collocation). In addition, this dynamic community, defined by geographical proximity, needs to have a common (application-level) interest. More formally, three features must be present in an application for it to deserve the ad hoc label:
- Mobility: in order to be able to use the application everywhere, the user should not be limited by range. The range limit is set by the business logic of the application.
- Peer-to-Peer: direct communication between peers is mandatory. This means that the client/server relationship is defined in an ad hoc manner by the application logic (direct interaction between the pieces of software).
- Collocation: all logical interactions between applications must result in a physical interaction between users. This means that in order to be called an ad hoc application, the service has to be location-based.
The above definition allows us to abstract the network completely, and focus on the application aspects. In this way, there is a clear decoupling between the application and the network, and any type of network GSM, WLAN or ad hoc can be used. This decoupling is fundamental in understanding the key issues underlying ad hoc applications and in providing reusable solutions to solve these issues. This eases the development of ad hoc applications. By abstracting the network level, we are able to build ad hoc applications in the absence of any ad hoc network, as long as the underlying infrastructure can provide support for the three basic aspects described above.
Here is an example of a possible ad hoc application called the ubiquitous flea market. This application is available wherever you are and at all times. It is available on many mobile devices and matches buyers and sellers present within a certain range, the latter being previously defined by the user. As the user is walking, this ad hoc application scans its surroundings for possible peer sellers or buyers. It has to be noted that any user can be buyer and/or seller. When the application finds another mobile device that runs the same piece of software, it scans the shared items in order to find a match. If there is a match, the user is alerted and can then ask the peer to get in touch and make the physical transaction.
The ubiquitous flea market (see Figure 1) is based on a framework to ease its deployment. Our so-called ad hoc application framework is based on existing standards, which makes it lightweight, and facilitates its adoption by developers. Some frameworks close to ours actually redefine, for instance, a transport protocol (PeerWare and Proem). This is not necessary as with the advent of Java-enabled mobile devices, most of these basic services are already available and standardised. Figure 2 presents the different layers for an ad hoc application when based on our framework.
The work is still in progress and the first version of the framework will be available in summer 2003. It will be demonstrated using a first implementation of an ad hoc application, the ubiquitous flea market described above.
Inforge - Institute for Business
Information Systems Lausanne:
[Murphy and al.]:
Full version of the paper:
Benoît Garbinato and Philippe Rupp,
Inforge, University of Lausanne, Switzerland