Overlay-Based Middleware for the Pervasive Grid

Overlay-Based Middleware for the Pervasive Grid

Paul Grace, Danny Hughes, Geoff Coulson, Gordon S. Blair, Barry Porter, Francois Taiani
DOI: 10.4018/978-1-61520-686-5.ch042
(Individual Chapters)
No Current Special Offers


Grid computing is becoming increasingly pervasive; sensor networks and mobile devices are now connected with traditional Grid infrastructure to form geographically diverse complex systems. Applications of this type can be classified as the Pervasive Grid. In this chapter we examine how traditional Grid technologies and middleware are inherently unsuited to address the challenges of extreme heterogeneity and fluctuating environmental conditions in these systems. We present Gridkit, a configurable and reconfigurable reflective middleware that leverages overlay networks and dynamic software in response to the requirements of the Pervasive Grid. We also illustrate how Gridkit has been used to deploy a flood monitoring application at a river in the north west of England; this demonstrates both the flexibility Gridkit provides, and how dynamic adaptation optimises performance and resource consumption.
Chapter Preview


The Grid promises computing as a utility, where distributed computational resources are brought together and can be openly accessed by many via a standardized infra-structure—Grid middleware. Originally concerned with the computational power of networked PCs and cluster computers this has been extended to include pervasively deployed resources embedded within environments. The Pervasive Grid (Davies et al., 2004) merges the vision of ubiquitous computing with traditional Grid computing. The following present some of the many examples of this Pervasive Grid in action:

  • Environmental monitoring and control. In order to predict natural phenomena such as floods, hurricanes, and volcanic eruptions, scientists collect data and feed this into computationally intensive prediction models. These systems involve networked sensor devices deployed “in the field” that monitor the environment, collect data and then distribute this, via communication networks, to models that may be running local to the monitored site, or running off-site (typically a traditional high-performance Grid).

  • Transport. Next generation transport systems are embracing pervasive computing. Traffic monitoring systems consisting of sensor devices at the roadside, along with embedded devices within cars collect real-time data that is input to complex traffic models to help improve traffic flow. Similarly the ability for cars to communicate with one another using vehicular ad-hoc networks (VANETS) have been used to improve road safety, by warning drivers or autonomously taking evasive action.

  • Healthcare. Remote patient monitoring devices e.g. those that are embedded in the home, or mobile devices carried by the patient monitor their current state of health and are integrated into large-scale healthcare systems to improve standards of patient care. This can include detecting potential problems and informing a suitable healthcare professional.

From these application types it is clear that there is an increasing trend towards diversity in Grid applications. Here, two key characteristics of the Pervasive Grid that must be addressed by future middleware are:

  • 1.

    Extreme heterogeneity of Grid technologies. At the device level we envisage a spectrum of devices ranging from large cluster computers through to mobile devices, embedded devices and wireless sensors. At the network level, the range of network types in use has grown to include: high-speed local networks; lower-speed wide-area networks; infrastructure-based wireless networks; ad-hoc wireless networks and specialised sensor networks. At the middleware level, the range of middleware-level communications services in use is expanding from basic point-to-point interactions (e.g. SOAP messaging and RPC), to “interaction paradigms” such as: reliable and unreliable multicast; workflow; media streaming; publish-subscribe; tuple-space/ generative communication; and peer-to-peer based resource location or file sharing.

  • 2.

    Fluctuating environmental conditions. Wireless sensor networks deployed on site, mobile computing devices, and ad-hoc networking are all subject to fluctuating conditions in the environment e.g. network quality of service (QoS), resource availability (e.g. battery power), changing location, devices in range, etc.

Dealing with these characteristics is a fundamental challenge for future Grid middleware, and one that is demonstrably not addressed by existing platforms. We argue that Grid middleware must be flexible and configurable to meet a wide range of application requirements across heterogeneous systems; and importantly should be able to dynamically adapt its behaviour to ensure that it continues to provide the required level of service in the face of changing operating conditions.

Key Terms in this Chapter

Computational Reflection: The capability of a system to introspect its own structure and behaviour via a meta-representation, and make changes to this representation that are reflected in the running system.

Pervasive Grid: A Grid infrastructure that embraces resources embedded in the environment e.g. in the form of networked sensors and mobile devices.

Reflective Middleware: A configurable and reconfigurable middleware platform that uses reflection as a principled mechanism to dynamically adapt middleware behaviour to changing environmental context.

Overlay Network: A logical networking infrastructure (topology and routing management) layered over the existing physical network infrastructure.

Middleware: System software that typically resides between the application and the operating system that provides a distributed programming paradigm that supports the developer overcome the challenges of distributed computing.

Software component: A third party deployable software module that has private data and a set of provided and required interfaces that explicitly describe the component’s behaviour.

Dynamic Adaptation: The addition, removal or replacement of software elements (e.g. components) at runtime i.e. while the system is performing its core operations.

Complete Chapter List

Search this Book: