An Approach to Mobile Grid Platforms for the Development and Support of Complex Ubiquitous Applications

An Approach to Mobile Grid Platforms for the Development and Support of Complex Ubiquitous Applications

Carlo Bertolli, Daniele Buono, Gabriele Mencagli, Marco Vanneschi
DOI: 10.4018/978-1-60960-042-6.ch039
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Several complex and time-critical applications require the existence of novel distributed, heterogeneous and dynamic platforms composed of a variety of fixed and mobile processing nodes and networks. Such platforms, that can be called Pervasive Mobile Grids, aim to merge the features of Pervasive Computing and High-performance Grid Computing onto a new emerging paradigm. In this Chapter we study a methodology for the design and the development of high-performance, adaptive and context-aware applications. We describe a programming model approach, and we compare it with other existing research works in the field of Pervasive Mobile Computing, discussing the rationales of the requirements and the features of a novel programming model for the target platforms and applications. In order to exemplify the proposed methodology we introduce our programming framework ASSISTANT, and we provide some interesting future directions in this research field.
Chapter Preview
Top

Introduction

An increasing number of critical applications require the existence of novel distributed, heterogeneous and dynamic ICT platforms composed of a variety of fixed and mobile processing nodes and networks. Notable examples of such applications are (but not limited to) risk and emergency management, disaster prevention, homeland security and i-mobility. These platforms are characterized by full virtualization of ubiquitous computing resources, data and knowledge bases and services, embedded systems, PDA devices, wearable computers and sensors, interconnected through fixed, mobile and ad-hoc networks. Wireless-based platforms, enabling the robust, flexible and efficient cooperation of mobile components, including both software components and human operators, are of special interest. Users themselves are part of the distributed platform. These platforms, that aim to merge the features of Pervasive Computing and of Grid Computing onto a new emerging paradigm for heterogeneous distributed platforms, can be called Pervasive Mobile Grids (Hingne, Joshi, Finin, Kargupta, & Houstis, 2003; Priol & Vanneschi, 2008).

Figure 1 shows an abstract view of a Pervasive Grid platform, focusing on the heterogeneity of computing resources and on interconnection network technologies. The Pervasive Grid paradigm implies the development, deployment, execution and management of applications that, in general, are dynamic in nature. Dynamicity concerns the number and the specific identification of cooperating components, the deployment and composition of the most suitable versions of software components, processing and networking resources and services, i.e., both the quantity and the quality of the application components to achieve the needed Quality of Service (QoS). The specification and requirements of QoS itself are varying dynamically during the application, according to the user intentions and to the information produced by sensors and services, as well as according to the monitored state and performance of networks and nodes.

Figure 1.

A schematic view of a Pervasive Grid infrastructure

978-1-60960-042-6.ch039.f01

The general reference point for this kind of platforms is the Grid paradigm (Bermam, Fox, & Hey, 2003; Foster & Kesselman, 2003) which, by definition, aims to enable the access, selection and aggregation of a variety of distributed and heterogeneous resources and services. However, though notable advancements have been achieved in recent years, current Grid technology is not yet able to supply the needed software tools with the features of high adaptivity, ubiquity, proactivity, self-organization, scalability and performance, interoperability, as well as fault tolerance and security, of the emerging applications running on a very large number of fixed and mobile nodes connected by various kinds of networks.

Key Terms in this Chapter

Parallelism Scheme (Parallelism Paradigm): a structure of a parallel computation with precise semantics in terms of distribution of processing and data. Each scheme is characterized by efficient implementations and related cost models (optimal degree of parallelism, service time, completion time, speed-up).

Grid: a distributed computing infrastructure for coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations, able to guarantee planned levels of QoS.

Context Awareness: feature of a system/application able to dynamically know the functional and non-functional characteristics of the context in which it operates. The context is defined as “any information that can be used to characterize the situation of entities (i.e. whether a person, place or an object) that are considered relevant to the interaction between a user and an application, including the user and the application themselves.” ( Dey, 2001 , p. 3).

Data-Parallelism: a parallelism scheme characterized by the replication of functions and by the partitioning of the related data structures into several workers, with additional functionalities for data scattering, gathering, and possibly multicasting. In some cases workers operate independently of each other ( map scheme), in other cases they need to interact during the computation ( stencil scheme).

Farm: (also called master-worker ) : a parallelism scheme characterized by the replication of functions into several identical copies (workers), with an additional scheduling functionality able to balance the processing load of the workers with respect to a stream of tasks.

Adaptivity: feature of a system/application able to dynamically modify its behavior and/or its structure in order to exploit the available computing and communication resources, with the goal of achieving a planned level of Quality of Service and of satisfying the user intentions.

Shared or Distributed Memory Architectures: parallel architectures in which the processors interact via a shared-memory space at some level ( multiprocessor ), or via an input-output communication structure ( multicomputer or cluster ). In multicore technology, a multiprocessor is integrated on a single chip.

Complete Chapter List

Search this Book:
Reset