Reusing Transaction Models for Dependable Cloud Computing

Reusing Transaction Models for Dependable Cloud Computing

Barbara Gallina (Mälardalen University, Sweden) and Nicolas Guelfi (University of Luxembourg, Luxembourg)
Copyright: © 2012 |Pages: 30
DOI: 10.4018/978-1-4666-0897-9.ch011
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Cloud computing represents a technological change in computing. Despite the technological change, however, the quality of the computation, in particular its dependability, remains a fundamental requirement. To ensure dependability, and more specifically, reliability, transaction models represent an effective means. In the literature, several transaction models exist. Choosing (reusing entirely) or introducing (reusing partially) transaction models for cloud computing is not an easy task. The difficulty of this task is due to the fact that it requires a deep understanding of the properties that characterize transaction models to be able to discriminate reusable from non reusable properties with respect to cloud computing characteristics. To ease this task, the PRISMA process is introduced. PRISMA is a Process for Requirements Identification, Specification and Machine-supported Analysis that targets transaction models. PRISMA is then applied to engineer reusable requirements suitable for the achievement of the adequate transaction models for cloud computing.
Chapter Preview
Top

Introduction

Cloud computing is a computing service offered over the Internet. That is, a customer plugs into the “cloud” (metaphor for Internet) and uses computing scalable capabilities owned and operated by the service provider (Bernstein & Newcomer, 2009).

Two kinds of service can be offered over the Internet: either an application-specific service that offers a specific application (e-mail, search, social networking, etc.) or a general-purpose service (raw storage, raw processing power, etc.). The provider of these kinds of service may be a large company that owns many data centers, clusters of hundreds of thousands of computers.

Cloud computing represents a paradigm shift, a technological change in computing. This technological change forces cascading changes. Despite the technological change, however, the quality of the computation, in particular its dependability, keeps on being a fundamental requirement.

To ensure dependability, more specifically reliability, transactional principles, in particular ACID (Atomicity, Consistency, Isolation and Durability) properties (Härder & Reuter, 1983), which characterize the flat transaction model (Gray, A Transaction Model, 1980), represent an effective means. ACID properties combine fault tolerance and concurrency control to preserve global data consistency.

In the context of cloud computing, however, ACID properties are too strict and need to be reviewed and carefully changed, “relaxed,” to achieve adequate transaction models, characterized by the right ACIDity (the right choice in terms of Atomicity, Consistency, Isolation and Durability). The traditional Atomicity, for instance, has to be relaxed when a computation is executed over a series of Internet’s partitions that belong to different and autonomous service providers. Autonomy implies the possibility to decide locally about the outcome of the computation. This possibility would be denied by the all-or-nothing semantics (known as Failure Atomicity) that characterizes traditional atomicity, since it subordinates local decisions to the global decision. To preserve autonomy, the all-or-nothing semantics has to be changed into all-or-compensation semantics (known as compensation (Levy, Korth, & Silberschatz, 1991)).

Scattered throughout the literature are available several relaxed notions of the traditional ACID properties. Since, however, no effective means exist to support a systematic understanding of the differences and similarities among these notions, no selectable and composable on-the-shelf-(relaxed)-ACID properties exist yet. This lack of means hinders the beneficial exploitation (reuse) of these properties.

To reduce time to market and increase quality, reuse has to be the key-leading-principle and changes have to be introduced only where needed. Changes have to be engineered. To be able to plan the changes as well as the reuse correctly and efficiently, a methodological support has to be provided. In particular, the methodological support should help engineers to identify what has to be changed and what has to be kept unchanged. More specifically, it is fundamental to be able to identify what are the changes in terms of ACIDity, that is what are the changes required to adapt each single ACID property to meet the requirements of cloud computing and provide the right transaction model. By being able to identify what has changed and what remains unchanged, engineers are able to maximize reuse.

As initially discussed in (Gallina & Guelfi, A Product Line Perspective for Quality Reuse of Development Framework for Distributed Transactional Applications, 2008), to succeed in engineering systematically common (what remains unchanged) and variable properties (what changes), a product line perspective on transaction models has to be considered.

Complete Chapter List

Search this Book:
Reset