Middleware supporting event-based communication is widely recognised as being well suited
to interconnecting the components of mobile applications since it naturally accommodates a
dynamically changing population of components and the dynamic reconfiguration of the
connections between them. Existing research on event-based middleware for wireless
networks has mainly focussed on accommodating nomadic applications using infrastructure
networks while relatively little work has been done to address the distinct requirements
associated with supporting collaborative applications, especially those that use ad hoc
Traditionally, event-based middleware employs logically centralised or intermediate
components to implement key properties of the middleware. Application components may
utilise centralised lookup and naming services to discover peers in order to communicate with
them. Intermediate components may be used to route event notifications from producers to
consumers and to apply event notification filters. Moreover, they may be used to enforce nonfunctional
attributes, such as event notification delivery order and priority. The central
problem with this approach arises with increasing system scale as such middleware
components may become a liability due to availability and bandwidth limitations.
Centralised or intermediate middleware components are typically hosted by physical
machines that are part of a designated service infrastructure in order to ensure that they are
always accessible to application components. The disadvantage of exploiting such an
infrastructure is that its installation and maintenance requires substantial resources while
limiting communication between components to the geographical areas in which the
infrastructure has previously been made available.
A similar approach is generally used when designing event-based middleware for wireless
communication using infrastructure networks. Designated middleware components can be
hosted naturally by parts of the network infrastructure, such as access points. However,
alternative approaches have to be adopted by event-based middleware for ad hoc networks
since ad hoc networks allow application components to communicate and collaborate in a
spontaneous manner without the aid of a separate service infrastructure.
The main contribution of the work described in this thesis is the design of an event-based
middleware for wireless, ad-hoc environments addressing these problems. We have
designed an inherently distributed event-based middleware architecture that does not rely on
- vi -
the presence of any infrastructure or on centralised or intermediate components. Our
approach allows the components comprising collaborative applications to come together
anywhere and at any time in order to interact through wireless communication using ad hoc
networks without depending on a previously installed service infrastructure.
This design supports distributed approaches to discovering peers and to filtering event
notifications. Filters may be applied to a range of functional and non-function attributes
associated with event notifications including subject, content, and context. Combining event
notification filters increases the filtering precision allowing a component to subscribe to the
subset of event notifications in which it is interested using multiple criteria, such as meaning,
time, location, and quality of service. In particular, event notification filters may be used to
define geographical areas within which certain event notifications are valid; hence delivering
event notifications at the specific location where they are relevant. Such geographical scopes
represent a natural way to identify event notifications of interest for mobile components.
In addition, we have discovered decentralised techniques that improve system scalability for
mobile computing applications comprising of large numbers of interconnected components
distributed over large geographical areas as well as the predictability of the event service.
Event notification filtering in general and our approach of combining filters in particular
improves system scalability by limiting the forwarding of event notifications. Moreover, limiting
event notification forwarding and bounding the event notification dissemination scope
improves the predictable behaviour of the middleware.
A further contribution of this thesis is a taxonomy of distributed event-based programming
systems. The taxonomy is structured as a hierarchy of the fundamental properties of a
distributed event-based programming system and may be used as a framework to describe
an event system according to a variety of criteria including its event, organisation, and
In order to validate our contributions, we present an evaluation of a number of mobile
application scenarios implemented using middleware that employs our inherently distributed
event architecture and our decentralised techniques for improving system scalability and
service predictability. The evaluation demonstrates how components of mobile applications
can be interconnected through wireless communication and ad hoc networks as well as how
our approach to event notification filtering increases filtering precision, improves system
scalability, and enhances the predictability of the middleware. In addition, we apply our
taxonomy of distributed event-based programming systems to our middleware as well as a
selection of other event systems comparing their approaches to providing middleware
Please note: There is a known bug in some browsers that causes an
error when a user tries to view large pdf file within the browser window.
If you receive the message "The file is damaged and could not be
repaired", please try one of the solutions linked below based on the
browser you are using.
Items in TARA are protected by copyright, with all rights reserved, unless otherwise indicated.