Recent Trends in Wireless and Mobile Networks

Download as pdf or txt
Download as pdf or txt
You are on page 1of 445

Communications

in Computer and Information Science 162


Abdulkadir Özcan Jan Zizka
Dhinaharan Nagamalai (Eds.)

Recent Trends in Wireless


and Mobile Networks

Third International Conferences


WiMo 2011 and CoNeCo 2011
Ankara, Turkey, June 26-28, 2011
Proceedings

13
Volume Editors

Abdulkadir Özcan
Girne American University
Girne, TRNC, Turkey
E-mail: [email protected]
Jan Zizka
Mendel University
Brno, Czech Republic
E-mail: [email protected]
Dhinaharan Nagamalai
Wireilla Net Solutions PTY Ltd
Melbourne, VIC, Australia
E-mail: [email protected]

ISSN 1865-0929 e-ISSN 1865-0937


ISBN 978-3-642-21936-8 e-ISBN 978-3-642-21937-5
DOI 10.1007/978-3-642-21937-5
Springer Heidelberg Dordrecht London New York

Library of Congress Control Number: 2011929887

CR Subject Classification (1998): C.2, H.3.4-5, G.2.2

© Springer-Verlag Berlin Heidelberg 2011


This work is subject to copyright. All rights are reserved, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting,
reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication
or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965,
in its current version, and permission for use must always be obtained from Springer. Violations are liable
to prosecution under the German Copyright Law.
The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply,
even in the absence of a specific statement, that such names are exempt from the relevant protective laws
and regulations and therefore free for general use.
Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India
Printed on acid-free paper
Springer is part of Springer Science+Business Media (www.springer.com)
Preface

The Third International Conference on Wireless, Mobile Networks (WiMo 2011)


and the Third International Conference on Computer Networks and Communi-
cations (CoNeCo - 2011) were held in Ankara, Turkey, during June 26-28, 2011.
They attracted many local and international delegates, presenting a balanced
mixture of intellects from all over the world. The goal of this conference series
is to bring together researchers and practitioners from academia and industry
to focus on understanding wireless, mobile networks and communications and
to establish new collaborations in these areas. Authors are invited to contribute
to the conference by submitting articles that illustrate research results, projects,
survey work and industrial experiences describing significant advances in all ar-
eas of wireless, mobile networks and communications.
There were 202 submissions to the conference and the Program Committee se-
lected 40 papers for publication. All the submissions underwent a strenuous peer-
review process which comprised expert reviewers. These reviewers were selected
from a talented pool of Technical Committee members and external reviewers on
the basis of their expertise. The papers were then reviewed based on their con-
tributions, technical content, originality and clarity. The entire process, which
includes the submission, review and acceptance processes, was done electroni-
cally. All these efforts undertaken by the Organizing and Technical Committees
led to an exciting, rich and a high-quality technical conference program, which
featured high-impact presentations for all attendees to enjoy, appreciate and ex-
pand their expertise in the latest developments in wireless, mobile networks and
communications research.
The book is organized as a collection of papers from the Third International
Conference on Wireless and Mobile Networks (WiMo-2011), the Third Inter-
national Conference on Computer Networks and Communications (CoNeCo -
2011), the Third International Workshop on Grid Computing (GridCoM - 2011)
and the Second International Workshop on Communications Security and In-
formation Assurance (CSIA- 2011). Finally, we would like to thank the General
Chairs, local organizing team and Program Committee members and reviewers
for arranging and organizing this conference.

Abdulkadir Özcan
Jan Zizka
Dhinaharan Nagamalai
Organization

The Third International Conference on Wireless, Mobile Networks


(WiMo 2011)

General Chairs
Sevki Erdogan University of Hawaii, USA
Michael R. Peterson University of Hawaii, USA
Natarajan Meghanathan Jackson State University, USA

General Co-chairs
Raja Kumar, M. Universiti Sains Malaysia, Malaysia
Abdulkadhir Ozcan The American University, North Cyprus,
Turkey

Steering Committee
Selma Boumerdassi CNAM/Cedric, France
Chih-Lin Hu National Central University, Taiwan
Dhinaharan Nagamalai Wireilla Net Solutions PTY LTD, Australia
Krzysztof Walkowiak Wroclaw University of Technology, Poland
Atilla Elci Eastern Mediterranean University (TRNC),
North Cyprus
Aysegul Alaybeyoglu Celal Bayar Universitesi, Turkey
Muhammed Salamah Eastern Mediterranean University, KKTC,
Turkey
Jan Zizka Mendel University, Brno, Czech Republic

Program Committee Members


Kayhan Erciyes Izmir University, Turkey
TurkeyDerya Birant Dokuz Eylul University, Turkey
Hesham El Zouka Arab Academy for Science and
Technology and Maritime
Transport(AAST), Egypt
Juha-Matti Vanhatupa Tampere University of Technoloy, Finland
VIII Organization

Strassner John Charles Pohang University of Science and


Technology, South Korea
Sahin Albayrak Technische Universität Berlin, Germany
Jeong-Hyun Park Electronics Telecommunication Research
Institute, South Korea
Vishal Sharma Metanoia Inc, USA
H.V. Ramakrishnan Dr. MGR University, India
Yeong Deok Kim Woosong University, South Korea
Andy Seddon Asia Pacific Institute of Information
Technology, Malaysia
Balasubramanian Karuppiah Dr. MGR University, India
Bong-Han, Kim Chongju University, South Korea
Cho Han Jin Far East University, South Korea
David W. Deeds Shingu College, South Korea
Girija Chetty University of Canberra, Australia
Henrique Joao Lopes Domingos University of Lisbon, Portugal
Jacques Demerjian CS, Homeland Security, France
Jose Enrique Armendariz-Inigo Universidad Publica de Navarra, Spain
Krzysztof Walkowiak Wroclaw University of Technology, Poland
Marco Roccetti Universty of Bologna, Italy
Michal Wozniak Wroclaw University of Technology, Poland
Phan Cong Vinh London South Bank University, UK
Yannick Le Moullec Aalborg University, Denmark
John Karamitsos University of the Aegean, Samos, Greece
Khoa N. Le Griffith School of Engineering, Gold
Coast Campus, Australia
Lu Yan University of Hertfordshire, UK
Nidaa Abdual Muhsin Abbas University of Babylon, Iraq
Kamalrulnizam Abu Bakar Universiti Teknologi Malaysia, Malaysia
Doina Bein The Pennsylvania State University, USA
M. Rajarajan City University, UK
Mohammad Momani University of Technology Sydney, Australia
Mohamed Hassan American University of Sharjah, UAE
Salman Abdul Moiz Centre for Development of Advanced
Computing, India
Lakshmi Rajamani Osmania University, India
Amr Youssef Concordia University, Canada
Wichian Sittiprapaporn Mahasarakham University, Thailand
Organization IX

The Third International Conference on Computer Networks and


Communications (CoNeCo - 2011)

General Chairs
Jan Zizka SoNet/DI, FBE, Mendel University in Brno,
Czech Republic
Khoa N. Le University of Western Sydney, Australia
Selma Boumerdassi Conservatoire National des Arts et Metiers
(CNAM), France

Steering Committee
Natarajan Meghanathan Jackson State University, USA
Jacques Demerjian CS (Communication & Systems), France
Nabendu Chaki University of Calcutta, India
Henrique João Lopes Domingos University of Lisbon, Portugal

Program Committee Members


Abdul Kadir Ozcan The American University, Cyprus
Adalet N. Abiyev The American University, Cyprus
Andy Seddon Asia Pacific Institute of Information
Technology, Malaysia
Balasubramanian Karuppiah Dr. MGR University, India
Bong-Han, Kim Chongju University, South Korea
Bulent Bilgehan The American University, Cyprus
Cho Han Jin Far East University, South Korea
Dhinaharan Nagamalai Wireilla Net Solutions PTY LTD, Australia
Farhat Anwar International Islamic University, Malaysia
Girija Chetty University of Canberra, Australia
Henrique João Lopes Domingos University of Lisbon, Portugal
Hoang, Huu Hanh Hue University, Vietnam
Hwangjun Song Pohang University of Science and
Technology, South Korea
Jacques Demerjian CS, Homeland Security, France
Jae Kwang Lee Hannam University, South Korea
Jan Zizka, SoNet/DI, FBE Mendel University in Brno, Czech Republic
José Enrique Armendáriz-Inigo Universidad Pública de Navarra, Spain
Jungwook Song Konkuk University, South Korea
Krzysztof Walkowiak Wroclaw University of Technology, Poland
Marco Roccetti Universty of Bologna, Italy
Michal Wozniak Wroclaw University of Technology, Poland
Murugan D. Manonmaniam Sundaranar University,
India
N. Krishnan Manonmaniam Sundaranar University,
India
X Organization

Natarajan Meghanathan Jackson State University, USA


Paul D. Manuel Kuwait University, Kuwait
Phan Cong Vinh London South Bank University, UK
Ponpit Wongthongtham Curtin University of Technology, Australia
Prabu Dorairaj NetApp Inc., India
Rajeswari Balasubramaniam SriVenkateshwara Engineering College,
India
Rakhesh Singh Kshetrimayum Indian Institute of Technology, Guwahati,
India
Ramayah Thurasamy Universiti Sains Malaysia, Malaysia
Sarmistha Neogy Jadavpur University, India
SunYoung Han Konkuk University, South Korea
Thandeeswaran R. VIT University, India
Yannick Le Moullec Aalborg University, Denmark
Yeong Deok Kim Woosong University, South Korea
Boo-Hyung Lee KongJu National University, South Korea
Cynthia Dhinakaran Hannam University, South Korea
Ho Dac Tu Waseda University, Japan
John Karamitsos University of the Aegean, Samos, Greece
Johnson Kuruvila Dalhousie University, Halifax, Canada
Doina Bein The Pennsylvania State University, USA
Dario Kresic University of Zagreb, Croatia
Salah M. Saleh Al-Majeed University of Essex, UK
Virgil Dobrota Technical University of Cluj-Napoca,
Romania
Ahmed M. Khedr Sharjah University, UAE
Polgar Zsolt Alfred Technical University of Cluj Napoca,
Romania
Cristina Serban Ovidius University of Constantza, Romania
Genge Bela Joint Research Centre, European
Commission, Italy
Haller Piroska Petru Maior University, Tirgu Mures,
Romania
Alejandro Garces Jaume I University, Spain
Razvan Deaconescu University Politehnica of Bucharest,
Romania

Organized By

ACADEMY & INDUSTRY RESEARCH COLLABORATION CENTER (AIRCC)


Table of Contents

The Third International Conference on Wireless and


Mobile Networks (WiMo-2011)
A Survey of Reinforcement Learning Based Routing Protocols for
Mobile Ad-Hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Saloua Chettibi and Salim Chikhi

Detection of Denial of Service Attack Due to Selfish Node in MANET


by Mobile Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Debdutta Barman Roy and Rituparna Chaki

A Novel Power-Balancing Routing Scheme for WSN . . . . . . . . . . . . . . . . . . 24


Ayan Kumar Das and Rituparna Chaki

SRCHS – A Stable Reliable Cluster Head Selection Protocol . . . . . . . . . . . 35


Ditipriya Sinha and Rituparna Chaki

Handover Latency Reduction Using Integrated Solution Scheme for


Proxy Mobile IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Md. Mahedi Hassan and Kuan Hoong Poo

Modeling and Simulation Analysis of QPSK System with Channel


Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
T.P. Surekha, T. Ananthapadmanabha, C. Puttamadappa, and
A.P. Suma

Combating Sybil Attacks in Vehicular Ad Hoc Networks . . . . . . . . . . . . . . 65


Khaled Mohamed Rabieh and Marianne Amir Azer

TCSAP: A New Secure and Robust Modified MANETconf Protocol . . . . 73


Abdelhafid Abdelmalek, Zohra Slimane, Mohamed Feham, and
Abdelmalik Taleb-Ahmed

Highly Resilient Communication Using Affine Planes for Key


Predistribution and Reed Muller Codes for Connectivity in Wireless
Sensor Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Samiran Bag, Amrita Saha, and Pinaki Sarkar

A Cyclic-Translation-Based Grid-Quadtree Index for Continuous Range


Queries over Moving Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Hao Chen, Guangcun Luo, Aiguo Chen, Ke Qin, and Caihui Qu

Two-Stage Clustering with k -Means Algorithm . . . . . . . . . . . . . . . . . . . . . . 110


Raied Salman, Vojislav Kecman, Qi Li, Robert Strack, and Erick Test
XII Table of Contents

An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc


Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Jihen Drira Rekik, Leı̈la Baccouche, and Henda Ben Ghezala

Energy-Aware Transmission Scheme for Wireless Sensor Networks . . . . . . 135


Abdullahi Ibrahim Abdu and Muhammed Salamah

PRWSN: A Hybrid Routing Algorithm with Special Parameters in


Wireless Sensor Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Arash Ghorbannia Delavar, Javad Artin, and
Mohammad Mahdi Tajari

Cone Tessellation Model for Three-Dimensional Networks . . . . . . . . . . . . . 159


Gözde Sarışın and Muhammed Salamah

Post Disaster Management Using Delay Tolerant Network . . . . . . . . . . . . . 170


Sujoy Saha, Sushovan, Anirudh Sheldekar, Rijo Joseph C.,
Amartya Mukherjee, and Subrata Nandi

The Performance Comparison between Hybrid and Conventional


Beamforming Receivers in a Multipath Channel . . . . . . . . . . . . . . . . . . . . . . 185
Rim Haddad and Ridha Bouallegue

A Qualitative Survey on Multicast Routing in Delay Tolerant


Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Sushovan Patra, Sujoy Saha, Vijay Shah, Satadal Sengupta,
Konsam Gojendra Singh, and Subrata Nandi

The Third International Conference on Computer


Networks and Communications (CoNeCo-2011)
Integrating RFID Technology in Internet Applications . . . . . . . . . . . . . . . . 207
Simon Fong

BPSO Algorithms for Knapsack Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 217


Amira Gherboudj and Salim Chikhi

Systematic Selection of CRC Generator Polynomials to Detect Double


Bit Errors in Ethernet Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Behrouz Zolfaghari, Hamed Sheidaeian, and Saadat Pour Mozafari

Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID


Tags: SSL-MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Mehrdad Kianersi, Mahmoud Gardeshi, and Hamed Yousefi

File Distribution Algorithm from Multiple Road Side Units in Vehicular


Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Saleh Yousefi, Amin Amini Maleki, and Reza Hashemi
Table of Contents XIII

SMART-IP: A Multi-Agent System for Network Analysis and IP


Addressing Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Samia Boucherkha and Mohamed Nadjib Djeghri

Adaptive QoS Resource Management by Using Hierarchical Distributed


Classification for Future Generation Networks . . . . . . . . . . . . . . . . . . . . . . . 266
Simon Fong

0.18um CMOS Technology in Implementation of S Box and a Modified


S Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
K. Rahimunnisa, K. Rajeshkumar, and S. Sureshkumar

A Survey of Middleware for Internet of Things . . . . . . . . . . . . . . . . . . . . . . . 288


Soma Bandyopadhyay, Munmun Sengupta, Souvik Maiti, and
Subhajit Dutta

New Framework for Dynamic Policy Management in Grid


Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Tariq Alwada’n, Helge Janicke, Omer Aldabbas, and Hamza Aldabbas

Zone Based Seamless Vertical Handoff Technique between WiFi and


WiMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Abhijit Sarma and Sukumar Nandi

The Third International Workshop on Grid


Computing (GridCom-2011)
A Cluster-Based Dynamic Load Balancing Protocol for Grids . . . . . . . . . . 315
Reşat Ümit Payli, Kayhan Erciyes, and Orhan Dagdeviren

A P2P Based Scheduler for Home Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325


Erick Lopes da Silva and Peter Linington

A Multi-Agent System-Based Resource Advertisement Model for Grid


Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Muntasir Al-Asfoor, Maria Fasli, and Salah Al-Majeed

Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene


Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Moez Ben Haj Hmida and Yahya Slimani

A Context-Based Cyber Foraging Approach to Mobile Computing


Empowerment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Somayeh Kafaie, Omid Kashefi, and Mohsen Sharifi

Model Driven Prototyping with Modelibra . . . . . . . . . . . . . . . . . . . . . . . . . . 368


Dzenan Ridjanovic
XIV Table of Contents

The Second International Workshop on


Communications Security and Information
Assurance (CSIA 2011)
An Implementation of Axml(T ) : An Answer Set Programming Based
Formal Language of Authorisation for XML Documents . . . . . . . . . . . . . . . 378
Sean Policarpio and Yun Bai

On Cloud Computing Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388


Yun Bai and Sean Policarpio

PAPR Reduction in OFDM by Using Modernize SLM Technique . . . . . . . 397


Ashutosh K. Dubey, Yogeshver Khandagre, Ganesh Raj Kushwaha,
Khushboo Hemnani, Ruby Tiwari, and Nishant Shrivastava

Application of Integrated Decision Support Model in Tendering . . . . . . . . 406


Fadhilah Ahmad and M. Yazid M. Saman

Query and Update Support for Indexed and Compressed XML


(QUICX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Radha Senthilkumar and A. Kannan

Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429


A Survey of Reinforcement Learning Based Routing
Protocols for Mobile Ad-Hoc Networks

Saloua Chettibi and Salim Chikhi

SCAL Group, MISC Laboratory, Mentouri University, Constantine, Algeria


{sa.chettibi,slchikhi}@yahoo.com

Abstract. Designing mobility and power aware routing protocols have made
the main focus of the early contributions to the field of Mobile Ad-hoc
NETworks (MANETs). However, almost all conventional routing protocols for
MANETs suffer from their lack of adaptivity leading to their performance
degradation under varying network conditions. In fact, this is due to both
simplistic conception hypotheses they made about the network and to the use of
some prefixed parameters in protocols implementations. Currently, artificial
intelligence methods like Reinforcement Learning (RL) are widely used to
design adaptive routing strategies for MANETs. In this paper, we present a
comprehensive survey of RL-based routing protocols for MANETs. Besides,
we propose some future research directions in this area.

Keywords: Mobile Ad-hoc Networks, Routing, Reinforcement learning.

1 Introduction

A MANET is a transient network dynamically formed by a collection of arbitrarily


located wireless and mobile nodes communicating without any pre-established
network infrastructure. Since no base station is available in a MANET, then all nodes
must cooperate to ensure routing service. Hence, each node runs as a router by
forwarding its neighbors’ traffic. In reality, this ad-hoc functioning mode is
advantageous because it ensures a rapid, an easy and economic network deployment.
Furthermore, it offers fault tolerance property since no central node is designated.
Particularly, MANETs are suitable to guarantee communication when the deployment
of a fixed infrastructure is impossible or does not justify its cost, or simply when
conventional fixed infrastructures are destroyed.
Salient characteristics of MANETs can be summarized as follows: multi-hop
communications, very dynamic topology, limited link capacity and quality, limited
energy resources. Obviously, these characteristics make conventional routing
protocols for wired networks which are based on hypothesis of fixed topology and
predictable communication medium and energy-unconstrained hosts, inappropriate to
MANETs. To deal with all the aforementioned challenging characteristics, many
routing protocols have been proposed in the literature for MANETs. Currently,
researchers focus is on the design of adaptive routing protocols that are built on the

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 1–13, 2011.
© Springer-Verlag Berlin Heidelberg 2011
2 S. Chettibi and S. Chikhi

top of one or many artificial intelligence techniques. In this survey, we deal


particularly with RL-based routing protocols where routing choices and/or routing
parameters adjusting are formulated as decisions making problems.
To the best of our knowledge, this paper is the first one in the literature dedicated
to survey RL-based routing protocols for MANETs. The remainder of this paper is
organized as follows: section 2 introduces the general formulation of the RL problem.
Then, some basic RL algorithms are outlined. In section 3, we motivate the
modelization of adaptive network routing problem in MANETs as a RL problem.
Section 4 describes most major contributions to the field of RL-based routing for
MANETs. In the light of this description, we state our conclusions and we draw some
future research directions in section 5.

2 Reinforcement Learning

The reinforcement learning [1] is a sub-area of machine learning concerned with


learning from interaction by trials and errors how to behave in order to achieve a goal.
Important notions in RL problem formulation as a Markov Decision Process and its
resolution can be summarized as follows [1]:
Markov property. An environment satisfies the Markov property if the state signal
compactly summarizes the past without degrading the ability to predict the future. If
the Markov property holds, then the RL environment is called a Markov Decision
Process (MDP).
Markov Decision Process (MDP). Formally, a finite MDP is a tuple <S,A,T,R> where
is a finite set of environment sates, is a set of actions available at the agent,
T:S×A→Π(S) is the state transition function giving for each state and action a probability
distribution over states, R: S×A×S→ is the reinforcement function that indicates the
real-value obtained when transiting from a state to another taking a particular action.
Return. The return Rt is function of future rewards that the agent seeks to maximize.
It can be defined as a simple finite sum of rewards when the agent-task breaks to
finite-episodes. Instead, for continuing tasks, Rt is formulated as the infinite sum of
discounted rewards.
Partially Observable MDP (POMDP). The POMDP is a variant of the MDP in
which the state of the environment is only partially visible to the learning agent. What
are available are indirect, potentially stochastic observations of the environment state.
Value-functions. Almost all reinforcement learning algorithms are based on
estimating either state-value or action-value functions. State-value function, Vπ(s),
estimates the expected future reward to the agent when starting in state and
following the policy π thereafter. Action-value function, Qπ(s,a), estimates the
expected future reward to the agent when it performs a given action in a given state
and following the policy π thereafter.
A Survey of Reinforcement Learning Based Routing Protocols 3

2.1 RL Algorithms Features

As defined in [1], any algorithm that can solve a reinforcement learning problem
either defined by a MDP or a POMDP is an RL algorithm. RL algorithms may vary
according to multiple dimensions [1]:
Bootstrapping Vs Sampling. We say that a RL method bootstraps if it updates
estimates of the values of states are based on estimates of the values of successor
states. In Contrast, a RL method that relies on sampling learns value functions from
experiences having the form of sample sequences of states, actions, and rewards from
on-line or simulated interaction with an environment.
Model-based Vs Model-free RL algorithms. In RL, a model consists of knowledge
of the state transition probability and the reinforcement functions. RL model-free
methods learn a policy without learning a model, whereas a model-based method
learns a model and use it to derive a policy.
Greedy Vs ε -greedy and Soft-max action-selection rules. A very intuitive way to
achieve a maximum return is to always choose the action with the highest expected
reward. We call this a greedy action-selection rule. However, this rule limits agent
exploration of new appearing optimal actions. In effect, the most important issue in all
RL methods is how to balance exploration and exploitation. To do so, ε -greedy and
Soft-max rules are generally used .An ε-greedy rule selects the best action most of the
time, and selects uniformly with a small probability,ε, an action at random. In a soft-
max rule, the highest selection probability is attributed to the best action whereas all
the others are ordered in function of their estimated values. A frequently used soft-
max rule is the Boltzmann rule that chooses action at time step with
/ ⁄∑ /
probability:e e , where is a positive parameter called the
temperature. A high temperature value implies that all actions will have
approximately the same selection-probability whereas a low temperature involves a
more significant difference in actions selection probabilities.
Off-policy Vs On-policy RL algorithms. In an off-policy RL algorithm, the learning
agent follows a different policy called “behavior policy” than the one it is actually
learning about called “estimation policy”. This is in contrast to an on-policy method
that attempts to evaluate and improve the policy that is actually used to make
decisions.
Phylogenetic Vs Ontogenetic RL algorithms. A classification proposed in [2]
divides RL methods into Phylogenetic and Ontogenetic algorithms. In Phylogenetic
methods, the RL problem is seen as a black box optimization problem with the
specific goal of optimizing a policy for maximal accumulated reward. Intuitively, any
optimization method can be applied. Ontogenetic algorithms are based on a mapping
between states or states-actions pairs to their corresponding expected rewards. Then, a
policy is defined according to the obtained sate-value or action-value functions.

2.2 RL Algorithms

In what follows, we only focalize on algorithms that are directly related to the
RL-based routing protocols described in this paper.
4 S. Chettibi and S. Chikhi

Q-learning. The Q-learning algorithm [3] is a model-free Off-policy RL-method that


belongs to the class of TD (Temporal Difference) methods. TD methods combine
sampling and bootstrapping where the learning agent takes a sample of just one step
and then bootstraps information. Let us define , , , ́ to be an experience tuple
summarizing a single transition in the environment. Here, is the agent state before
the transition, is its choice of action, r the immediate reward it receives and ́ the
resulting state. The one-step Q-learning version of Q-learning algorithm is depicted
on the Fig.1.

α: learning rate; γ: discount factor (0 γ 1)


,

, ,
, , , ,

Fig. 1. The Q-learning Algorithm

Monte Carlo methods. MC methods [1] are model-free RL resolution methods based
on averaging sample returns. To ensure that well-defined returns are available, MC
methods are defined only for episodic tasks. It is only upon the completion of an
episode that action-value functions, Q(s,a), and policies are changed. We distinguish
two families of MC methods namely: the every-visit and the first-visit MC methods.
The former estimates the value of a state-action pair as the average of all returns that
have followed visits to the state in which the action was selected, whereas the latter
averages only returns following the first time in each episode that the state was visited
and the action was selected. In addition, we can find two incarnations of MC methods,
namely, on-policy and off-policy MC. The first visit ε-greedy on-policy version is
depicted in Fig. 2.

, , : , ; , ;

,
, ; ,
, ,
: ,
1 | |
For all , ,
| |

Fig. 2. The first visit ε-greedy on-policy MC method


A Survey of Reinforcement Learning Based Routing Protocols 5

Collaborative Reinforcement Learning. CRL [4] extends the conventional RL


framework with feedback models for decentralized multi-agent systems. The
feedback models include a negative feedback and a collaborative feedback models.
The former model decays an agent’s local view of its neighborhood either by
constraints in the system or by a decay model. The latter model allows agents to
exchange the effectiveness of actions they have learned with one another. In CRL,
RL agents collaborate to solve the optimization problem. To do so, this latter is
divided into a set of Discrete Optimization Problems (DOPs). The set of actions that a
CRL-agent can execute include DOP actions that try to solve the DOP locally,
delegation actions that delegate the solution of the DOP to a neighbor and a discovery
action that allows agents to find new neighbors. In fact, CRL is a model-based RL
technique with the following update rule:

, , ́| , . ́| , ́ (1)
́

Where is a delegation action; , is the MDP termination cost; ́ | , is the


transition model; ́ is the estimated optimal value function for the next state at
agent and ́| , is the estimated connection cost to the next state.
Policy search by Gradient. The RL problem can be addressed as a search problem in
the space of behaviors where the evaluation of a candidate policy is done by trial
through the interaction with the environment. Hence, the gradient algorithm can be
used for optimal policy search in RL problem. The first to introduce policy search via
gradient for RL was Williams in the REINFORCE algorithm [5]. Generally speaking,
the idea behind policy search by gradient is to start with some policy, evaluate it and
make an adjustment in the direction of the empirically estimated gradient of the
aggregate reward, in order to obtain a local optimum policy [6].

3 Adaptive Network-Routing as a RL Problem


A routing protocol for MANETs should be adaptive in face of frequent and
unpredictable changes in network topology. Moreover, adaptivity in face of changing
traffic loads is very important to avoid congestion areas in the network. Hence, we
need to design adaptive routing policies which have the ability to learn directly by
interacting with their operational environment. Early proposed routing protocols for
MANETs have adopted different mechanisms to enhance adaptivity in face of nodes
mobility such as routes maintenance in reactive protocols [7],[8] and periodic or
event-based updates in proactive protocols[9],[10]. In addition, using link-stability as
a routing-metric enhances adaptivity in presence of poor quality and instable links
[11], [12]. Generally, all proposed routing protocols perform well in their
experimental settings. Nevertheless, if experimented with different parameters-values
or if their conception hypothesis violated, not surprisingly, they will perform very
badly. In reality, almost all existing routing protocols for MANETs make very
simplistic assumptions about the network characteristics. Namely, a perfect wireless
network model is generally considered, where all links in the network are assumed
either on or off and where all functioning links are assumed to have the same quality.
6 S. Chettibi and S. Chikhi

In addition, topology is considered to be random which is not always true.


Furthermore, some routing protocols functional parameters are simply prefixed
thresholds although the fact of their dependence of many network conditions. For
example, minimal residual-battery and reputation values are commonly used in
energy and security constrained routing schemes, respectively. All the above
mentioned factors limit routing protocols adaptivity when encountering varying
network conditions in terms of traffic, mobility and links quality.
The reinforcement learning has been shown to be an appropriate framework to
design adaptive routing policies in fixed networks. For example, the first application
of a RL technique to deal with packet routing in network communication was
Q-routing [13]. Q-Routing is a distributed version of the conventional Q-learning. In
Q-routing, each node makes its routing decisions based on the local routing
information represented as a lookup table of Q-values that estimate the quality of the
alternative routes. When a node sends a packet to one of its neighbors, it proceeds to
update the corresponding entries in its Q-table. This way, as a node routes packets its
Q-values gradually incorporate more global information. It was shown that such
network-exploration enable nodes to adapt their routing policies to changes in traffic-
loads. More recently researchers were interested to the application of RL algorithms
to achieve adaptive routing in MANETs. The following section describes most major
researchers’ contributions dealing with RL-based routing in MANETs.

4 RL-Based Routing Protocols for MANETs


To the best of our knowledge, the first application of reinforcement learning to the
routing problem in MANETs was in Q-MAP protocol [14] where Q-learning
approach was used to find and build the optimal multicast tree. However, authors in
[15] claim that the learning in Q-MAP is exploration-free which not only contradicts
the learning paradigm but makes the protocol insensitive to topology changes and
thus reduces it to a static approach. Therefore, we omit the description of Q-MAP in
this survey.

4.1 Mobility Aware Q-Routing

In [16], the authors proposed a straightforward adaptation of traditional Q-routing


[13] algorithm to the context of ad-hoc mobilized networks1 in order to achieve a
traffic-adaptive routing. For ease of referencing, we call this protocol MQ-routing.
Similarly to Q-routing, in MQ-routing, each node learns the expected delivery time
to destination node via each possible neighbor , , , which is updated as
shown in equation (2),where 0 1 is the learning rate and is the time the
current packet spent on the queue at node before being sent off at period time t.
, 1 , min , (2)

When a node receives a packet for destination , it sends the packet to the neighbor
with the lowest estimated delivery time , .To take care of nodes mobility,

1
In a mobilized ad-hoc network, nodes have control on their own movements.
A Survey of Reinforcement Learning Based Routing Protocols 7

two additional rules are proposed for Q-values updates of neighboring


nodes: , ∞ when moves out of range; and , 0 when moves
into range.Note that the second update rule is made optimistic to encourage
exploration of new coming neighbors.
In simulations, the authors have considered a network with 10 sources, 15 mobile
nodes and one receiver. The considered movement policy called centroidal is as
follows: a node that is holding a connection move to the middle of its connected
neighbors, which increases the likelihood of preserving these connections over time.
Reported results from MQ-routing comparison with a typical directional routing
protocol showed the outperformance of MQ-routing in terms of success rate in
function of buffer size. This is due to the fact that the MQ-routing creates alternate
paths to the receiver as soon as a path becomes congested. In directional routing, on
the other side, certain paths become overloaded with traffic leading to significant
packet drop. Even in cases where buffer size is not a direct constraint, the same results
hold. In addition, since next hops are chosen among neighbors in receiver’s direction,
directional routing is unable to find circuitous paths from sources to the receiver.
Under random movement policy, both protocols have marked a degradation of their
performances. Particularly, MQ-routing has performed somewhat worse than
directional routing.
LQ-routing [17], a similar work to MQ-routing, combines Q-routing with DSDV
routing protocol [9]. To deal with mobility, the notion of paths lifetime was
introduced to reflect paths stability. The proposed routing schema has been shown to
outperform DSDV under high traffic loads.

4.2 RL - Based QoS Path Search Strategy

To deal with delay-constrained and least-cost routing in MANETs, a combination of


the TBP (Ticket-Based Probing) path search strategy [18] with an adaptation of the
first visit ONMC method for POMDPs was proposed in [19]. In the original TBP
scheme, the amount of flooding is controlled by issuing a limited number of logical
tickets M0 at the source node that is computed via a heuristic rule. In fact, M0 is the
sum of Y0 (yellow tickets) and G0 (green tickets) used to maximize the chances of
finding feasible and low cost paths, respectively. The authors’ contribution in [19] is
the use of the first-visit ONMC method to determine M0 value. This latter is chosen
among a finite set of actions 0, … , . The source node selects an action
depending on the current observation belonging to , ∆ :1
,1 ∆ , where is the number of discrete end-to-end delay intervals; ∆ is the
number of discrete end-to-end delay variation intervals; is the interval on
0, ∞ and ∆ is interval on 0, ∞ (this variable is included to reduce the
uncertainty of the actual end-to-end delay).If at least one feasible path is found, then a
reward , is generated. Otherwise, the action is penalized:
0
, – 0 (3)
0 0
Where is the immediate reward parameter for a given service-type j. Note
that the authors have omitted G0 (i.e. G0= 0). Thus, tolerating high cost paths and
8 S. Chettibi and S. Chikhi

maximizing the chance of finding feasible paths. But if multiple feasible paths are
discovered, then destination node chooses the least cost path. Once the discovery
process completed, destination node returns an acknowledgment message including
the new end-to-end delay and its variation. By receiving this message, the source node
updates the corresponding entry in its information table.
The simulation results have shown that the TBP scheme based on the ONMC
method achieves 22.1–58.4% reduction in the average number of search messages in
comparison to the flooding-based TBP scheme with a diminution of 0.5–1.7% in
success ratio. In addition, the ONMC scheme can reach 13–24.3% higher success
ratio than the original TBP scheme but with higher average message overhead.
However, as the maximum number of allowable tickets is reduced to a level in which
the average message overhead of the ONMC and the original TBP schemes are of the
same scale, the ONMC scheme still marks 28% higher success ratio and 7% lower
average path cost over the original TBP scheme.

4.3 RL-Based Secure Routing

For secure routing, reputation schemes are widely used to identify and avoid
malicious nodes. The reputation of a node is function of the number of data packets
that have been successfully relayed by that node. Indeed, almost all proposed
reputation schemes rely on a fixed-minimum acceptable reputation threshold in the
forwarding-nodes selection. However, reputation values vary dynamically in function
of traffic load and behavior of nodes themselves. This was the main motivation for
authors in [20] to adopt the first visit ONMC RL method to enhance the reputation
schema already proposed in [21]. In [20], each mobile node learns a policy for
selecting neighboring nodes in a path search. A node’s state-set contains quantized
reputation values of its neighbors. If a route search succeed then a reward of +1 is
assigned to every node in all successful paths; if no path is found then a reward of 0 is
given to all nodes involved in the route discovery. The simulation results have shown
that the proposed solution can attain up to 89% and 29% increase in throughput over
the reputation only scheme with a fixed reputation threshold of 0.5 for scenarios of a
static and a dynamic topology, respectively.

4.4 CRL-Based Routing

In [22], a CRL-based reactive routing protocol for MANETs called SAMPLE was
proposed. The envisioned optimization goals are to maximize overall network
throughput, maximize the ratio of delivered to undelivered packets and minimize the
number of transmissions required per packet sent. In SAMPLE, each agent stores the
last advertised route cost to a given destination from each of its neighbors in a routing
table, but considers this value to decay from the time it is advertised. Hence, routes
that are not advertised are progressively degraded and eliminated from consideration
for routing decisions. Another source of negative feedback is network congestion that
causes routing agent to choose alternate routes. In contrast, stable routes are
reinforced by positive feedback. The routing problem in SAMPLE is modeled as an
absorbing MDP where a node n state indicates either a packet is in a buffer waiting to
be forwarded, has been successfully unicast to a neighbor, or has been delivered at
A Survey of Reinforcement Learning Based Routing Protocols 9

node n . The actions available at different states in the MDP are a packet delivery
action, a broadcast action to discover new neighbors, links, and routes; and for each
neighboring node, a delegation action (unicast). Concerning delegation actions, the
decision of which next hop to take is chosen probabilistically using Boltzmann-action
selection rule. Furthermore, SAMPLE also uses a simple greedy heuristic in order to
restrict exploration to useful areas of the network by only allowing a node to forward
to those neighboring nodes with a value that is less than its function value. To learn
new routes, the discovery action is permitted with a certain probability. In SAMPLE,
a statistical transition model that favors stable links is considered. It acquires
information about the estimated number of packets required for a successful unicast
as an indication of links quality. The rewards are set at values -7 and 1 to model the
reward when transmission succeeds under a delegation action and fails, respectively.
In fact, these values reflect connection costs in IEEE.802.11 MAC protocol.
SAMPLE was compared to AODV and DSR protocols, in two different settings.
The first one is a random network, whereas the second is a metropolitan area MANET
with a set of stable links. The congestion was introduced in both scenarios.
Simulation results show that SAMPLE can meet or approach many of its system
optimization goals in a changing MANET environment. However, AODV and DSR
perform well only when their assumptions of perfect radio links and a random
network topology hold. The authors claim that this is because SAMPLE avoids
generating a large number of routing packets by learning that not every dropped
packet is necessarily a broken link. In addition, the retransmission of failed unicast
packets in 802.11 does not change route costs for AODV and DSR, since their route
costs are based on a hop-count metric, but in SAMPLE a failed unicast updates the
state transition model for the network link in a way that the failing link will not be
chosen in the future. Furthermore, in SAMPLE, the collaborative feedback adapts
routing agent behavior to favor paths with stable links which is not possible with a
discrete model of network links. Note that the on-demand and opportunistic transfer
of routing information, in SAMPLE, reduces the amount of the generated control-
traffic.
The same MDP model used in SAMPLE protocol was applied in SNL-Q routing
protocol [23]. Through simulations, the proposed protocol has shown its efficiency in
comparison to AODV and DSR protocols in presence of network congestion.

4.5 Routing Policy Search via Stochastic Gradient Descent

In [24], the routing problem is mapped into a POMDP where the node state is a vector
of its one-hop-neighboring nodes parameters. Those parameters can be about
congestion level, selfishness, remaining energy, etc. However, those parameters are
usually unknown to the decision-maker node. To deal with this partial observability, a
source node derives estimates about the values from past experiences with its
neighboring nodes. For this purpose, the principle of WIN-OR-LOSE FAST (WoLF)
[25] that consists of using a variable learning rate was adopted. Indeed, two learning
rate parameters are used such that the learning rate when losing is higher than it is
when losing. This enables to learn quickly while losing and slowly while winning.
Furthermore, a stochastic gradient descent based algorithm that allows nodes to learn
a near optimal controller was exploited. The controller f, that estimates forwarding
10 S. Chettibi and S. Chikhi

probability via node j is updated following the direction of the gradient of loss
function E as follows:
∂E
f f η (4)
∂Θ
Where Θ is the parameters vector of node j; η is the variable step-size of the
gradient; f is a function differentiable and strict increasing in Θ ; E is a loss error
function that measure error between the observed and the estimated probability. When
a source node needs to make decision it calculates the value of the controller for all
nodes in the set of one hop neighboring toward a destination d, given the current
nodes parameters estimates. Then, it selects the greedy action i.e. the node that is
most likely to forward the packets with probability 1 ε and a randomly selected
node, different from the greedy choice, with probability ε where ε 1/t.
In the experiments, only energy and selfishness parameters were considered.
Furthermore, a non-linear reward function was used. Simulation results have shown
that there is a compromise between success rate and number of alive nodes when
considering energy and selfishness alternatively or jointly. When energy was not
considered at all, cooperative nodes run out of energy which decrease consequently
the success rate and vice versa. Thus, considering selfishness and energy fairly may
give the best trades-off.

4.6 RL-Based Energy-Efficient Routing

To strike a balance between the contrasting objectives of maximizing the nodes


lifetime and minimizing the energy consumption in an adaptive way, authors in [26]
have adopted a learning module based on the first-visit ONMC method in their
energy–aware algorithm. They modelized the energy-efficient path selecting problem
as a MDP, where a node state encompasses information about the residual battery and
the energy consumption required to forward a packet. The decision that a source node
faces is which path it should select to achieve the best long-term performance. The
authors define a finite action space, based on three commonly-used energy-aware
routing mechanisms, namely, the minimum energy routing, the max-min routing, and
the minimum cost routing. Once the source node selects an action (a path) at a given
state, the following cost incurs:
c s, a P B B (5)
Where B is the initial level of battery assumed to be constant for all nodes;
x1, x2, x3 are weight factors all, empirically, fixed to 1; B is the battery bottleneck of
path and P is energy consumption along the path .
Three variants of the proposed protocol were studied, namely : BECRL with
A={lb,le,lc},BERL with A={lb,le}, ECRL with A={le,lc}. Where, A denotes the action
space and le, lb,lc, denote, respectively, the minimum energy, the max-min residual
battery level and the minimum cost paths. These variants were compared to: Low-cost
[27], MMBR, MTPR, and CMMBR [28] routing protocols. Simulation results have
shown that the three variants of the RL algorithm, exhibit good routing performance
in terms of successfully delivered packets ratio over all other methods with least
A Survey of Reinforcement Learning Based Routing Protocols 11

energy consumption. Furthermore, they attain higher number of alive nodes even
under high mobility conditions. Particularly, among the considered RL variants,
ECRL was the best one.

4.7 Multi-criteria RL - Based Routing

In [29], the QOS routing is addressed as a MCDM (Multi-Criteria Decision Making)


problem and routes discovery is RL-based. In effect, at each source node ,
computation of expected criteria vectors , , , where a, d and n respectively
correspond to “application class”, “destination node” and “neighbor node”, is done in
a Monte Carlo style as follows:
, , , , , , , , , (6)
Where is the criteria vector evaluated at destination node and seen as a reward and
is a constant learning rate belonging to [0,1). When an exploration packet is sent by
source towards destination , router chooses a neighbor randomly. The other
routers of a path choose the next hop that best satisfies the QoS requirements among
its neighbors. This is done by comparing their expected multi-criteria vectors via a
Russian Doll method [29]. Simulation results reported in [29] are beyond the scope of
our interest because experiments were focalized on studying the performance of the
Russian Doll method in comparison to the traditional MCDM methods.

5 Conclusions and Future Research Directions


Routing problem in MANETs can be naturally formulated as a MDP with complete or
partial state observability. Nevertheless, reinforcement learning application for
routing in MANETs stills a very young research field with only few contributions.
Throughout this paper, we have seen that according to if routing is QoS, energy or
security constrained the mapping to the RL framework has yielded to various models
and to the application of different RL-algorithms. In the light of works described in
this paper, we state that nodes, in a MANET, seek to achieve a multi-objectives RL in
a partially-observable multi-agent environment. Hence, we believe that the following
research areas merit to be investigated:
Multi-agent RL. Apart from SAMPLE routing protocol, described works in this
paper have made a straightforward adaptation of single-agent RL algorithms.
However, well developed studies are done in the area of multi-agent RL that
integrates results from single-agent RL, game theory and direct search in the space of
behaviors. We could adapt previously proposed multi-agent RL algorithms to the
context of MANETs.
Multi-objectives RL. Since routing performance-optimization requires balancing,
generally , many conflicting goals then routing should be better addressed as a multi-
objectives learning problem.
Phylogenetic RL. Dealing with the routing problem in MANETs as a problem of
policy search is addressed through the application of the gradient method which is
12 S. Chettibi and S. Chikhi

better ranged in the Ontogenetic-family as stated in [2]. More attention must be given
for other optimization techniques.
Finally, we believe that simulation results reported in this survey were expected and
thus less informative. Certainly, comparative studies between different RL-based
routing protocols will contribute to a better understanding of RL potentials and
limitations when dealing with adaptive routing in MANETs.

Acknowledgments. The authors would like to thank Mr. Laboudi for his help in
enhancing the quality of this paper.

References
1. Sutton, R., Barto, A.: Reinforcement learning. MIT Press, Cambridge (1998)
2. Togelius, J., Schaul, T., Wierstra, D., Igel, C., Gomez, F., Schmidhuber, J.: Ontogenetic
and phylogenetic reinforcement learning. ZeitschriftK unstlicheIntelligenz 3, 30–33 (2009)
3. Watkins, C.J.: Learning with Delayed Rewards. PhD thesis, Psychology Department,
University of Cambridge, UK (1989)
4. Dowling, J., Cunningham, R., Harrington, A., Curran, E., Cahill, V.: Emergent consensus
in decentralised systems using collaborative reinforcement learning. In: Babaoğlu, Ö.,
Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A., van Steen, M. (eds.)
SELF-STAR 2004. LNCS, vol. 3460, pp. 63–80. Springer, Heidelberg (2005)
5. Williams, R.J.: Simple statistical gradient-following algorithms for connectionist
reinforcement learning. Machine Learning 8(3), 229–256 (1992)
6. Peshkin, L.: Reinforcement Learning by Policy Search. PhD thesis, Brown University
(2001)
7. Johnson, D.B., Maltz, D.A.: Dynamic source routing in ad hoc wireless networks. In:
Mobile Computing, ch. 5, pp. 153–181. Kluwer Academic Publishers, Dordrecht (1996)
8. Perkins, C.E., Royer, E.M.: Ad-hoc on-demand distance vector routing. In: WMCSA 1999,
New Orleans, pp. 90–100 (1999)
9. Perkins, C.E., Watson, T.J.: Highly dynamic destination sequenced distance vector routing
(DSDV) for mobile computers. In: ACM SIGCOMM 1994 Conf. on Communications
Architectures, London (1994)
10. Jacquet, P., Muhlethaler, P., Clausen, T., Laouiti, A., Qayyum, A., Viennot, L.: Optimized
link state routing protocol for ad hoc networks. In: IEEE INMIC, Pakistan (2001)
11. Toh, C.: A novel distributed routing protocol to support ad-hoc mobile computing. In:
IEEE 15th Annual Int. Phoenix Conf., pp. 480–486 (1996)
12. Dube, R., Rais, C., Wang, K., Tripathi, S.: Signal stability based adaptive routing (SSA)
for ad hoc mobile networks. IEEE Personal Communication 4(1), 36–45 (1997)
13. Boyan, J.A., Littman, M.L.: Packet routing in dynamically changing networks: A
reinforcement learning approach. Advances In Neural Information Processing Systems 6,
671–678 (1994)
14. Sun, R., Tatsumi, S., Zhao, G.: Q-map: A novel multicast routing method in wireless ad
hoc networks with multiagent reinforcement learning. In: Proc. of the IEEE Conf. on
Comp., Comm., Control and Power Engineering, vol. 1, pp. 667–670 (2002)
15. Förster, A.: Machine learning techniques applied to wireless ad hoc networks: Guide and
survey. In: Proc. 3rd Int. Conf. on Intelligent Sensors, Sensor Networks and Information
Processing (2007)
A Survey of Reinforcement Learning Based Routing Protocols 13

16. Chang, Y.-H., Ho, T.: Mobilized ad-hoc networks: A reinforcement learning approach. In:
ICAC 2004: Proceedings of the First International Conference on Autonomic Computing,
pp. 240–247. IEEE Computer Society, USA (2004)
17. Tao, T., Tagashira, S., Fujita, S.: LQ-Routing Protocol for Mobile Ad-Hoc Networks. In:
Proceedings of the Fourth Annual ACIS International Conference on Computer and
Information Science (2005)
18. Chen, S., Nahrstedt, K.: Distributed quality-of-service routing in ad-hoc networks. IEEE
Journal on Selected Areas in Communications 17(8), 1488–1505 (1999)
19. Usaha, W., Barria, J.A.: A reinforcement learning Ticket-Based Probing path discovery
scheme for MANETs. Ad Hoc Networks Journal 2, 319–334 (2004)
20. Maneenil, K., Usaha, W.: Preventing malicious nodes in ad hoc networks using
reinforcement learning. In: The 2nd International Symposium on Wireless Communication
Systems, Italy, pp. 289–292 (2005)
21. Dewan, P., Dasgupta, P., Bhattacharya, A.: On using reputations in ad hoc networks to
counter malicious nodes. In: Proceedings of Tenth International Conference on Parallel
and Distributed Systems, pp. 665–672 (2004)
22. Dowling, J., Curran, E., Cunningham, R., Cahill, V.: Using feedback in collaborative
reinforcement learning to adaptively optimize MANET routing. IEEE Trans. Syst. Man,
Cybern. 35, 360–372 (2005)
23. Binbin, Z., Quan, L., Shouling, Z.: Using statistical network link model for routing in ad
hoc networks with multi-agent reinforcement learning. In: International Conference on
Advanced Computer Control, pp. 462–466 (2010)
24. Nurmi, P.: Reinforcement Learning for Routing in Ad Hoc Networks. In: Proc. 5th Intl.
Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks.
IEEE Computer Society, Los Alamitos (2007)
25. Bowling, M., Veloso, M.: Rational and convergent learning in stochastic games. In:
Proceedings of the 17th International Joint Conference on Artificial Intelligence,
pp. 1021–1026. Morgan Kaufmann, San Francisco (2001)
26. Naruephiphat, W., Usaha, W.: Balancing tradeoffs for energy-efficient routing in
MANETs based on reinforcement learning. In: The IEEE 67th Vehicular Technology
Conference, Singapore (2008)
27. Chang, J.H., Tassiulas, L.: Maximum lifetime routing in wireless sensor networks.
IEEE/ACM Transactions on Networking 12(4), 609–619 (2004)
28. Toh, C.K.: Maximum battery life routing to support ubiquitous mobile computing in
wireless ad hoc networks. IEEE Communications Magazine 39, 138–147 (2001)
29. Petrowski, A., Aissanou, F., Benyahia, I., Houcke, S.: Multicriteria reinforcement learning
based on a Russian Doll method for network routing. In: 5th IEEE International
Conference on Intelligent Systems, United Kingdom (2010)
Detection of Denial of Service Attack Due to Selfish Node
in MANET by Mobile Agent

Debdutta Barman Roy1 and Rituparna Chaki2


1
Calcutta Institute of Engineering and Management
2
West Bangal University of Technology
{barmanroy.debdutta,rituchaki}@gmail.com

Abstract. Mobile Adhoc Network (MANET) is highly vulnerable to malicious


attacks due to infrastructure less network environment, be deficient in
centralized authorization. The fact that security is a critical problem when
implementing mobile ad hoc networks (MANETs) is widely acknowledged.
One of the different kinds of misbehavior a node may exhibit is selfishness.
Routing protocol plays a crucial role for effective communication between
mobile nodes and operates on the basic assumption that nodes are fully
cooperative. Because of open structure and limited battery-based energy some
nodes (i.e. selfish or malicious) may not cooperate correctly. There can be two
types of selfish attacks –selfish node attack (saving own resources) and sleep
deprivation (exhaust others’ resources. In this paper, we propose a new Mobile
Agent Based Intrusion Detection System (IDS). The approach uses a set of
Mobile Agent (MA) that can move from one node to another node within a
network. This as a whole reduces network bandwidth consumption by moving
the computation for data analysis to the location of the intrusion. Besides, it has
been established that the proposed method also decreases the computation
overhead in each node in the network.

Keywords: MANET, Mobile Agent, Selfish Node, IDS.

1 Introduction
A Mobile Ad Hoc Network (MANET) is a dynamically changing network without
any centralized authorization and has co operative algorithm. This kind of network is
well suited for the critical applications in remote places like emergency relief, military
operations where no pre-deployed infrastructure exists for communication. Due to the
lack of centralized authorization and volatile network topology it is difficult to detect
adversary nodes [4, 5], MANETs are highly vulnerable to attacks. Lastly, we can
conclude that in a MANET nodes might be battery-powered and might have very
limited resources, which may make the use of heavy-weight security solutions
undesirable [7, 8, 9, 10 and 11].
This paper deals with the Denial of service attack (DoS) by a selfish node; this is
the most common form of attack which decreases the network performance. A selfish
node does not supposed to directly attack the other nodes, but is unwilling to spend
battery life, CPU cycles, or available network bandwidth to forward packets not of

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 14–23, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Detection of Denial of Service Attack Due to Selfish Node in MANET 15

direct interest to it. It expects other nodes to forward packets on its behalf. To save
own resources there is a strong motivation for a node to deny packet forwarding to
others, while at the same time using the services of other nodes to deliver own data.
According to the attacking technique the selfish node can be defined in three
different ways [1]
SN1: These nodes take participation in the route discovery and route maintenance
phases but refuses to forward data packets to save its resources.
SN2: These nodes neither participate in the route discovery phase nor in data-
forwarding phase. Instead they use their resource only for transmissions of their own
packets.
SN3: These nodes behave properly if its energy level lies between full energy-level
E and certain threshold T1. They behave like node of type SN2 if energy level lies
between threshold T1 and another threshold T2 and if energy level falls below T2,
they behave like node of type SN1.
One immediate effect of node misbehaviors and failures in wireless ad hoc
networks is the node isolation problem and network partitioning due to the fact that
communications between nodes are completely dependent on routing and forwarding
packets [2].

Fig. 1. Node isolation due to selfish neighbors

In Figure.1, suppose node x3 is a selfish node. Here, the node u initiates a RREQ
message for the destination node v. The selfish node x3 may be unwilling to broadcast
the route request from u. It is also possible for x3 to forward control packets;
however, the situation could be worse since u may choose x3 as the next hop and send
data to it. Consequently, x3 may reject all data to be forwarded via it, and then
communications between u and v cannot proceed. If all the neighbors of u behave as
selfish node then u becomes an isolated node in the network.

2 Related Works
Several methods proposed to defend these attacks have been studied. These can be
classified into three types: reputation based scheme, credit based approach and game
theoretic approach [1] [3] [6].

Reputation Based scheme In a reputation based scheme [1] watchdog and path
16 D.B. Roy and R. Chaki

rater approach the IDS overhear neighbors’ packet transmission promiscuously and
notify misbehavior to the source node by sending a message. The source node collects
the notifications and rates every other node to avoid unreliable nodes in finding a
path. The scheme is easier to implement but it depends only on promiscuous listening
that may results false identification.
CONFIDANT (Cooperation of Nodes, Fairness in Dynamic Ad-hoc Networks), in
this scheme the IDS performs task in a distributed ways the monitor node
promiscuously observes route protocol behavior as well as packet transmission of
neighbor node. The Trust manager sends ALARM messages on detection of
misbehavior. The Reputation system: maintains a rating list and a blacklist for other
nodes.
CORE (Collaborative Reputation) approach, here the source node observes usual
packet transmission and the task specific behavior of neighbor nodes and rate the
node by using the positive reports from other nodes. The malicious node with bad
reputation rate is isolated. But in this approach reputation of node is not changed
frequently, thus the nodes temporarily suffering from bad environmental conditions
are not punished severely.
Credit based scheme Sprite Simple, cheat-proof, credit based system; here the node
s send CAS Central Authorized Server) a receipt for every packet they forward, CAS
gives credits to nodes according to the receipt. This approach is useful as it is easy to
implement but the major problem is scalibility and message overhead.
Ad hoc-VCG(Vickery, Clarke and Groves) scheme ,this is a two phase approach in
the Route Discovery phase destination node computes needed payments for
intermediate nodes and notifies it to the source node or the central bank. In the Data
Transmission phase actual payment is performed .This scheme is fully depends on the
report of the destination node.
Game Theoretic scheme In game theoretic scheme the IDS compares node’s
performance against other node based on a repeated game. This scheme is easy to
implement but it needs fair comparison among nodes other wise it may falsely
identify a node as adversary node.

3 Motivations
The initial motivation for our work is to address limitations of current IDS systems by
taking advantage of the mobile agent paradigm. Specifically, we address the
following limitations of the earlier proposed IDS.
False Positive Rate: The IDS reduces the False Positive rate that may arise in
Reputation based scheme, which effectively increase the network performance.
Scalability: The process scalability of the credit based approach or any centralized
approach is much lower. By using Mobile Agent the scalibility may increase that
enhance the network performance.
Interdependencies: In the Credit based scheme the IDS depends on the report of the
destination node that make the network not convenient that require for MANET.
Centralized Authorization: Due to centralized authorization of previous IDS the
IDS can not perform efficiently. In Mobile Agent based IDS the computation is done
in distributed manner that increase the efficiency of the IDS.
Detection of Denial of Service Attack Due to Selfish Node in MANET 17

4 Proposed Work
Our objective is to find out the malicious node that performs the DOS by selfish node
in network. The assumptions regarding the proposed work are listed below
The following assumptions are taken in order to design the proposed algorithm.
1. A node interacts with its 1-hop neighbors directly and with other nodes via
intermediate nodes using multi-hop packet forwarding.
2. Every node has a unique id in the network, which is assigned to a new node
collaboratively by existing nodes.
3. The source node generates mobile agent after a specific period of time.
4. The mobile agent moves towards forward path created using RREQ and RREP.
5. The agent calculates the packet receive and forward by a node.
6. If the agent discovers a malicious node, instead of moving forward, it sends a
report to the source node.

Architecture of a Mobile agent based system:


From the figure 2, it is observed that the mobile agent performs three tasks. At first
the mobile agent (MA) has to collect the raw data from the host machine then it
computes the packet delivery ratio (Pdr) after computation it compares the resultant
Pdr with the predefined one and then gives responses to the source node accordingly.

Give
Response
EĞƚǁŽƌŬ
WĞƌĨŽƌŵ
WƌĞǀŝŽƵƐůLJ ŽŵƉƵƚĂƚŝŽŶ
ƐƚŽƌĞĚ
 dĂƐŬ ŽĨ Ă  
ŵŽďŝůĞĂŐĞŶƚ
DŽďŝůĞ

,ŽƐƚ WŚLJƐŝĐĂů
DĂĐŚŝŶĞ ůĂLJĞƌ


Fig. 2. Architecture of proposed Mobile Agent IDS

The Mobile Agent maintains the following table to perform the computation and
comparison with threshold value

Table 1. Data structure of the Mobile Agent

Source Destination HOP THRESOLDPdr


node ID Node ID count
18 D.B. Roy and R. Chaki

The table contains the source node id, destination node id that will be initiated by
the source node. The HOP count field in the table denotes number of HOP between
source node and destination node. THRESOLDPdr signifies the number of packet drop
to be considered for any node in the forward path. The forward path is generated by
the AODV routing protocol.
The network is modeled based on the de-bruijn graph as follows:
Node Sequence: The Node sequence describes a set of nodes where the link among
the nodes are created in such a way that when the node n with bit sequence (a0n a1n
a2n…. akn) is connected with a node m having a bit sequence (a0m a1ma2m…. akm)
where 1<=m,n<=r-1], then (ajm = ai n +1) where 1<=i,j<=k-1. Each node has in-degree
and out-degree r. k is the diameter of the network represent as graph [12]. For a
network where the number of nodes in the forward path including source and
destination node is 7 the degree (d) should be computed as C=7, r=2.
We consider that d for which the following conditions are satisfied
1. (2d –C) is minimum 2. 2d >C
i) d=1 2d =2 2<7 ii) d=2 2d=4 4<7 iii) d=3 2d=8 8>7 and 2d-1=1
iv) d=4 2d=16 16>7 2d-1=9
For the first two computations 2nd condition is not satisfied for the 4th
computation 1st condition is not satisfied so the degree is taken as 3.The digits are
{0,1,2}

Fig. 3. Nodes have unique ID compute by debrujin graph

Definition 1: Packet Receive Counter: The number of packet that a node i receive from
a neighbor node j is denoted as CPR (i,j)(Packet Receive Counter),1<=i,j<=N,where N is
the total number of node in the network and i≠j and CPR (i,j)>=1.
Definition 2: Packet Forward Counter: Total number of packet that a node i forward
to its neighbors j is defined as CPF (i,j) (Packet Forward Counter) where 1<=i,j<=N-1
and i≠j.
Definition 3: Packet Delivery Ratio (Pdr (i, j)): This is defined as the ratio of CPF (i, j)
(Packet Forward Counter) of each node i for each neighbor j to the CPR (i, j) (Packet
Receive Counter), 1<=i, j<=n and i≠j
CPR(i,j)= CPR(i,j)+1 (1) CPF (i,j) = CPF (i,j) + 1 (2) Pdr(i,j)= CPF (i,j)/ CPR(i,j) (3)
Detection of Denial of Service Attack Due to Selfish Node in MANET 19

If this Pdr(i,j)> THRESHOLDPdr(i,j) , It mark the i th neighbor as malicious node and


inform source node.

Comput Compute
Compute
Compute
N1 N2 N3 N4

N5 Compute
N0
N6
Source node Compute
initiates the MA

Mobile Agent Forward Path

Fig. 4. A network Without Malicious Attack The MA moves from source node N0 to Destination
Node N6 by the forward path

In the figure 5 node N2 acts as a malicious node. The node N2 is a node in the
forward path from source to destination node. N2 behaves as selfish node and refuse
to forward packet to the neighbor node N3. When the MA comes to the node N2 it
observes that the node behaves as malicious node by computing Pdr(N2,N3). This
value is greater than THRESOLDPdr (N2, N3) and it send MMSG (Malicious
Message) to the source node.

Compute
Compute Eϭ Eϯ Eϰ
E Ϯ

MMS
EϬ G Eϱ
MM
SG
Eϲ EϮ Selfish Node

Fig. 5. A network With the Malicious Attack

5 Flow Chart

In figure 6 the flow chart depicts the task of a mobile agent. In the figure 4 the source
nodes N0 generates the mobile agent and send it to the closest neighbor N1. The MA
at N1 compute CPR (i, j) , CPF (i, j) , Pdr (i, j) according to the equation 1,2 and 3
respectively. If the Pdr (i, j) is greater than THRESHOLDPdr (i, j), then MA readily
informs the source node via the intermediate nodes.
20 D.B. Roy and R. Chaki

START

The source node N0 sends packet to the destination node N6

Start timer T

Wait for the acknowledgement from destination node

NO
Is
T>T
YES
Node S generates a mobile agent (MA) and provides it’s own id and send it to the next hop
node (as decided by underlying routing topology)
th
The mobile agent observe for i node the number of packet receive from neighbor
node j and compute CPR (i j)

MA compute CPF(i,j)for the ith node


th th
MA compute Pdr(I,j) for the i node at t instance

z^ EK Agent reports the


The agent moves to If the ratio is
malicious activity to the
the next hop node less than
source node
decrase hop count by 1 threshold for ith
node?

STOP

Fig. 6. Flow chart to show the performance of a Mobile Agent

6 Performance Analyses

6.1 Simulation Metric

Simulation metrics are the important determinants of network performance, which


have been used to compare the performance of the proposed scheme in the network.
End-to-End Delay: Average time difference (in seconds) between the time of the
packet receipt at the destination node, and the packet sending time at the source node.
Number of data packets Received: This parameter computes the total number of
data packet received by any node in the forward path. If the number of received
packets increases, the throughput would increase.

6.2 Performance Evaluation

From figure 7, we observe that the performance of the network in presence of selfish
node degrades than the network without any attack. When the network is under attack
in presence of mobile agent then the performance of the network remain same as that
in case of the network without attack.
Detection of Denial of Service Attack Due to Selfish Node in MANET 21

Sim ulation vs Packet Recive

180

160

Throughput of Packet Receive


140
Packet Receive
120
Without attack
100 Packet receive With
80 attack
Packet Receive With
60
Mobile Agent
40

20

0
20

40

60

80

10

12
Sim ulation Tim e

Fig. 7. Throughput of Packet receive when the network is under attack and in presence of
mobile agent

Packet size Vs average End2 End delay

0.
0.
0.
average 0. Average End
End 2 End 2end delay with
0. Attac
Delay
0. Average End
2end delay with
0. mobile agent
0.
0.
0
10 30 50 70 90

Packet size

Fig. 8. End 2 End Delay under attack and in presence of mobile agent

In figure 8, the series “a” indicates the average end to end delay in presence of DoS
attack in the network. In series “b” the end to end delay increases as the packet size
increases but the performance is better than that is shown in series “a”. The pick of
the graph denotes that at that point due to network congestion the delay is maximum.

Throughput of Receiving Packet vs Average


End2End Delay

0.1
Average
average 0. End2End Delay
End 2
with attack(a)
end
Delay 0.0
Average
0
End2End Delay
1 2 3 4 5 6 7 with
Througuput of Receiving Agent(b)
Packet

Fig. 9. Average End 2 End Delay vs. throughput of receiving packet under attack and in
presence of mobile agent
22 D.B. Roy and R. Chaki

In figure 9, series “a” denotes average end to end delay between in presence of
malicious node attack in network. Series “b” indicates the end to end delay in
presence of mobile agent in the network. As the mobile agent prevents the network
from the DoS attack by a selfish node the performance of the network increases.

7 Conclusions and Future Work


The mobile ad-hoc network suffers from several types of intrusions, out of which, the
denial of service attack by a selfish node is the one of them. The mobile agents travel
through the network, gathering vital information that is processed by the mobile agent
itself. The Threshold value should be chosen properly. In this paper we only focus on
the DoS attack caused by selfish node by refusing the packet delivery to the neighbor
node. The computation overhead of our algorithm is much less as the computation is
done by the MA when the source node notices that the destination node does not
response in correct time. The nodes are also free from performing the computation.
This feature of our proposed scheme increases the efficiency of each node thereby
increasing the overall performance of the network.

Acknowledgments
This research is supported in part by the Computer Science and Engineering
Department of University of Calcutta. We would like to thank Dr. Nabendu Chaki for
fruitful discussions and endow with valuable suggestion.

References
1. Anand, S., Chawla, M.: Detection of Packet Dropping Attack Using Improved
Acknowledgement Based Scheme in MANET. IJCSI International Journal of Computer
Science Issues 7(4) (July 2010)
2. Sundararajan, T.V.P., Shanmugam, A.: Modeling the Behavior of Selfish Forwarding
Nodes to Stimulate Cooperation in MANET. International Journal of Network Security &
Its Applications (IJNSA) 2(2) (April 2010)
3. Suri, P.K., Taneja, K.: Exploring Selfish Trends of MaliciousDevices in MANET. Journal
Of Telecommunications 2(2) (May 2010)
4. Roy, D.B., Chaki, R., Chaki, N.: A New Cluster-Based Wormhole Intrusion Detection
Algorithm for Mobile Ad-Hoc Networks. IJNSA 1(1) (April 2009)
5. Banerjee, S.: Detection/Removal of Cooperative Black and Gray Hole Attack in Mobile
Ad-Hoc Networks. In: Proceedings of the World Congress on Engineering and Computer
Science, WCECS 2008(2008)
6. Wu, X., Yau, D.K.Y.: Mitigating Denial-of-Service Attacks in MANET by Distributed
Packet Filtering: A Game-theoretic Approach. In: ASIACCS 2007 (2007)
7. Jahnke, M., Toelle, J., Finkenbrink, A.: Methodologies and Frameworks for Testing IDS in
Adhoc Networks. In: Proceedings of the 3rd ACM workshop on QoS and security for
wireless and mobile networks, Chania, Crete Island, Greece, pp. 113–122 (2007)
8. Hu, Y.-C., Perrig, A., Johnson, D.B.: Wormhole Attacks in Wireless Networks. IEEE
Journal on Selected Areas of Communications 24(2), 370–380 (2006)
Detection of Denial of Service Attack Due to Selfish Node in MANET 23

9. Yang, H., Luo, H., Ye, F., Lu, S., Zhang, U.: Security in Mobile Ad Hoc Networks:
Challenges and Solutions. IEEE Wireless Communications 11(1), 38–47 (2004)
10. Hu, Y.-C., Perrig, A.: A Survey of Secure Wireless Ad Hoc Routing. IEEE Security and
Privacy Magazine 2(3), 28–39 (2004)
11. Hu, Y.-C., Perrig, A., Johnson, D.B.: Packet leashes: a defense against wormhole attacks
in wireless networks. In: INFOCOM 2003: Twenty-Second Annual Joint Conference of
the IEEE Computer and Communication Societies, vol. 3, pp. 1976–1986 (2003)
12. Chaki, R., Bhattacharya, U.: Design Of New Scalable Topology for Multihop Optical
Network. In: IEEE TENCON (2000)
A Novel Power-Balanced Routing Scheme for WSN

Ayan Kumar Das1 and Rituparna Chaki2


1
Department of Information Technology, Calcutta Institute of Engineering and Management,
Kolkata, India
[email protected]
2
Department of Computer Science & Engineering, West Bengal University of Technology,
Kolkata, India
[email protected]

Abstract. Wireless sensor networks consist of hundreds or thousands of small


sensors with have limited resources. The energy resource is the most
challenging one to be maintained. The major reason for power drain is the
communication between sensor nodes. Most of the routing algorithms for
sensor networks focus on finding energy efficient paths to prolong the
lifetime of the networks. In this paper, a novel routing algorithm has been
proposed to detect the source of an event in the network. This algorithm also
maintains a balance between the powers of different nodes in the network, so
that the longevity of the overall network may increase.

Keywords: update sensing, event path, query node, Infinite loop.

1 Introduction
WSNs are special cases of mobile ad hoc networks (MANETs); where all data and control
traffic is flowing between the sensor nodes and the base station. In an ad hoc mode by
means of small-size identical devices, distributed densely over a significant area.
The computation involving sensed data and communication of the same between
the sensor nodes cause very high power consumption. This coupled with the inability
to recharge once a node is deployed makes energy consumption which is the most
important factor to determine the life of a sensor network, because usually sensor
nodes are driven by battery and have very low energy resources. This can be achieved
by having energy awareness in every aspect of design and operation of the network.
The common routing techniques are based on power awareness, agent based, location
based etc. To prolong the lifetime of sensor networks, most routing algorithm for
sensor networks focus on finding energy efficient paths. As a result, the sensors on
the efficient paths are depleted very early, and consequently the sensor networks
become incapable of monitoring events from some of the parts of target areas.
It has been observed that Most of the previous routing techniques do not maintain any
information about the nodes which have been already traversed. As a result, the query
packet while moving towards the event path randomly selects neighboring nodes without
considering whether the next node has already been checked. This often leads to the
infinite loop problem. The proposed routing algorithm in this paper aims to eliminate the
infinite loop problem.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 24–34, 2011.
© Springer-Verlag Berlin Heidelberg 2011
A Novel Power-Balanced Routing Scheme for WSN 25

The remaining part of this paper is organized as follows: Section 2 deals with the
review of state of the art routing topologies, section 3 gives a description of the
proposed methodology, section 4 contains the simulation reports and section 5 is the
concluding part.

2 Review Works of Sensor Networks

2.1 Power Aware Routing Algorithm

This type of routing technique focuses on the effect of power efficient routing on the
lifetime of multi hop wireless sensor networks (WSNs) [5]. All the nodes in the
WSNs are divided into tiers. The nodes belonging to the highest tier are very
important, because these nodes imply higher power consumption than that of nodes of
any other tier. Obviously the batteries of nodes of 1st tier depletes sooner than these of
any other tier. As soon as the nodes of 1st tier dies, the network becomes
disconnected.
Reliable Energy Aware Routing (REAR) [8] is a distributed, on-demand, reactive
routing protocol and is used to provide a reliable transmission environment for data
packet delivery. To provide a reliable transmission environment to reduce
retransmissions caused by unstable paths REAR introduces local node selection, path
reservation and path request broadcasting delay. This algorithm efficiently utilizes the
limited energy and available memory resources of sensor nodes. REAR takes
precaution against errors, instead of finding a solution for the errors. The Simulation
experiments show that REAR outperforms traditional schemes by establishing an
energy-sufficient path from the sink to the source with special path request flooding,
and also by distributing the traffic load more evenly in the network.
GRAdient Broadcast [24] describes a technique of building a cost field toward a
particular sensor node, and after that reliably routing query across a limited size mesh
toward that sensor node. Overhead comes for a network flood to set up the cost field,
but queries can be routed along an interleaved set of short paths, and can thus be
delivered very cheaply and reliably. GRAB was not designed specifically to support
in network processing but significantly influenced the work presented in its use of
event-centric routing state in the network.
Directed Diffusion and Geo-Routing [19][21][22] provides a scheme for doing a
limited flood for a query toward the event, and then setting up reverse gradients in
order to send data back along the best route. Though Diffusion results in high quality
paths, but an initial flood of the query for exploration will be the requirement. One of
its primary contributions is an architecture that names data and that is intended to
support in network processing. Rumor routing is intended to work in conjunction with
diffusion, bringing innovation from GRAB and GOSSIP routing to this context.
Rumor Routing Algorithm for Sensor Network [18] is a logical compromise
between flooding queries and flooding event notifications. Here an agent is created
which travels within the network and collects information from the nodes it visits.
This information is also shared with all nodes. Here paths should be created leading to
each event; whereas event flooding often creates a network-wide gradient field. Thus
26 A.K. Das and R. Chaki

until a query finds its event path it can be sent on a random walk; unlike flooding it
throughout the network.

2.2 Agent Based Routing Algorithm

Apart from power aware routing some algorithms modeled after agent behavior.
Agents traverse the network encoding the quality of the path they are traveled, and
leave it the encoded path as state in the nodes [23]. In dealing with failure these
algorithms are very effective, as there is always some amount of exploration, and
especially around previously good solutions. However, due to the large number of
nodes, the number of ant agents required to achieve good results tends to be very
large, making them difficult to apply in sensor networks.
Ant-Colony Based Routing Algorithm (ARA) [17] used distance vector routing.
Route discovery in ARA is done by broadcasting Forward Ants (FANT). ARA
implements the packet sequencing mechanism to prevent packet loops. In ARA,
destinations respond to multiple FANT packets received from the same node, thus
supporting multi path routing.
MONSOON [1] [2] [3] proposed an evolutionary multi objective adaptation
framework, in biologically inspired application architecture, called BiSNET/e. There
are two types of software components- agents and middleware platforms. In
MONSOON each application is implemented as a decentralized group of software
agents, like a bee colony consists of bees. Agents generally collect all the sensing data
and/or detect an event on individual nodes, and also carry sensing data to the base
station. Here each agent decides their behavior based on logical energy. It does not
represent the amount of physical battery in a node, as it is a logical concept.

2.3 Cluster Based Routing Algorithm

In clustered network, nodes are clustered in any form of hierarchical structure. The
advantage of cluster based approaches are improving routing efficiency, scalability,
supporting QOS and saving power consumption in sensor nodes. Clustering
transforms a physical network into a virtual network of interconnected clusters.
To evenly distribute the energy load among the sensors in the network LEACH
(Low Energy Adaptive Clustering Hierarchy) [20] utilizes randomized rotation of
local cluster base stations (cluster heads). A number of transmissions in clusters can
be reduced by this technique. However the intense data flow can be harmful,
especially in WSNs, since congestions and collisions may occur. It also gives too
much burden on base station.

3 Proposed Work

3.1 Basic Methodology

The network is modeled as a set of densely distributed wireless sensor nodes. Each
node maintains a list of its neighbors, as well as an event table, with forwarding
information to all the events it knows. A node adds an event to its event table after
encounter it. Then the node will propagate that event information to its neighbors and
A Novel Power-Balanced Routing Scheme for WSN 27

then to neighbors of neighbors and so on. This continues up to a certain distance, as it


is unnecessary and also power wasting to inform the event to all the nodes of the
network. The path which has the information about the event is known as event path.
Any node from the network can generate a query and search for the event path. If it
found that then it can reach to the event source node along with the event path.
However a problem may arise if we don’t maintain any status checking option for
the already traversed nodes. As a result the query while moving towards the event
path randomly selects neighboring nodes without considering whether the next node
has already been checked. This may lead to traversal or checking of the same node
more than once. As a result lot of energy and time is wasted and may lead to the
procedure getting stuck in an infinite loop. That is why the algorithm adds a
checked/unchecked status to all the nodes to identify the previously visited node so
that the infinite loop may be avoided.
A problem still exists as in all the cases the next hop node is chosen randomly
without considering the available power of the node. Thus, the node with the least
available power may be selected randomly and repeatedly as the node to be traversed
next. This will result in the reduction of power of a node, which already has the
smallest power while keeping the power of other nodes (with higher power than the
node already selected as the next hop) constant. As a result of which, there exists a
high chance of exhausting the total power of a particular node(s), keeping the power
of other nodes almost unaffected. To overcome this disadvantage the algorithm
maintains a data structure, containing the power content of all the nodes and
depending on the power of these nodes the next hop is selected. The algorithm selects
the node with the maximum power as the next hop. As a result of which, there exists a
stability of power in the whole network.
When a node is sending or receiving data packets some power consumption takes
place. The amount of the power consumption to send the query to the event along
with the event path can be defined as:
Power required for transmission is directly proportional to the size of the packet
that is send through the network and also the distance traveled by the packet. i.e.,
P α s*d. (1)
Where, s= size of the packet that is send through the network
d= distance traveled by the packet
Therefore, P=θ*s*d (2)

Where, θ is a constant.
The total consumed ENERGY(E)during the transmission of a packet can be
defined as the sum of power required to transmit and receive the packet, i.e.,
E = ∑(Power required to transmit the packet, Power required to receive the packet)
= P1+P2 . (3)
= (θ*s1*d1) + (θ*s2*d2) . (4)
s1=s2=s is size of the packet flowing through the network, whose value will be
supplied by the user.
28 A.K. Das and R. Chaki

d1=distance between the sending node and the current node.


d2=distance between the current node and the receiving node.

3.2 Data Dictionary

Table 1. Variables list

Variable name Description


N Total Number of nodes
A An array consists of the connections between the nodes
C[a0, a1, a2,..an ] Event path nodes are stored in this array
Power[node_id,energy] An array consists of initial power of each node
Visit[node_id] Visited nodes are stored in this array
Pi[ node_id, status] Neighbors of node i are stored in this array along with their
status.
next_node next node chosen during the traversal
Dist the distance between the last and second last visited nodes.
Tot total distance traveled during one simulation
node_max_pow[ ] The neighboring nodes with the maximum power are stored
in this array

3.3 Description

Step 1. Begin.
Step 2. Read size (for the packet)
Step 3: Find the neighboring nodes of source node (m) and store them in the array ‘p’.
Step 4. Repeat the following statements n times (where n is the number of neighbor
nodes of source m) —
If status i = visited then delete ith node from Visit[node_id]
Step 5. If all the neighboring nodes are visited previously, then Choose any one
randomly.
Else
Find the node among (not visited) nodes with the maximum power and
store in the array ‘node_max_power’.
Step 6. If more than one node exists with maximum power content, then select any of
them randomly as the next hop and store it as ‘next_node’.
Step 7. Use equation 3 to deduce remaining energy level
Step 8. If the chosen next hop node falls on the event path then—
Calculate the distance traversed by the query to reach the event source and
also calculate the average power reduction of each node for simultaneous
queries.
Else
Make the next hop node as the source node(m) and continue the process
from step 3.
Step 9. End.
A Novel Power-Balanced Routing Scheme for WSN 29

3.4 Case Study

Let us explain the above mentioned concept with the following network:

Fig. 1. Infinite loop is formed

In the above network the previously traversed nodes have not been updated. Now let
us consider that an agent starts its journey from n8 moves to n12 then to n14, from n14 to
n11 and ultimately returns to the already traversed node n8 thereby creating an infinite
loop. In order to overcome the above said limitation the proposed algorithm maintains a
proper status checking to select the next hop node avoiding the infinite loop.

Fig. 2. Infinite loop is not formed


30 A.K. Das and R. Chaki

Here in this network since a track of all the traversed nodes were taken so an agent
which has started its journey from node n8 will not go back to n8 again after
traversing node n11 as was the case in the previous example.
Through the network multiple simultaneous queries can be generated. For example
if we send a query from node n13, then it will check the power of neighbor nodes n10
and n12 and select the node which contents of maximum power. If the selected node
is n12 then it will check the power of n8 and n14 and select the node of maximum
power and so on. When it will encounter any node of event path then it will move to
the event source directly along with the event path.

4 Simulation Result
To analyze the performance of the algorithm multiple queries have been sent and after
power consumption the power of all the nodes has measured and a graph of power vs
node has drawn. It is also compared with the Rumor Routing algorithm. The
parameter list is given below—

Table 2. Parameter list

Parameters Description
Network size 15 nodes
Initial energy 50J per node
MAC Protocol IEEE 802.15.4
Power Equivalent to packet size
consumption and distance
Number of At least 6
queries

According to the ‘Rumor Routing Algorithm’ where next hop node is choosing
randomly, after sending 6 queries from node 15 the graph is shown below, where
series1 denotes the initial power of the node, series2-series6 denotes the power of the
node after each query is generated, and series7 denotes the average power of the
nodes.
Now it is proposed that the next hop will be the node with the maximum power.
When next hop is chosen based on the power of the neighboring nodes, the following
graph is obtained, where series1 denotes the initial power of the nodes, series2-series6
denotes the power of the nodes after each query is generated, and series7 denotes the
average power of the nodes.
A Novel Power-Balanced Routing Scheme for WSN 31

NODE VS POWER

60

50

40 Initial Power
Query 1
Query 2
POW ER

30 Query 3
Query 4
Query 5
20 Query 6

10

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
NODES

Fig. 3. Node vs. Power graph for random neighbor selection

NODE Vs POWER

60
Initial Power
50
Query 1
40
Query 2
POWER

30 Query 3

20 Query 4
Query 5
10
Query 6
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
NODE

Fig. 4. Node vs. Power graph for neighbor selection based on maximum power
32 A.K. Das and R. Chaki

Now, the average power of the nodes obtained in both are plotted in a graph, where
series1 represents the average power of the node when the nodes are chosen randomly
that is for Rumor Routing algorithm, series2 represents the power of the nodes when
the next hop is chosen based on the maximum power of the neighboring nodes.

NODE Vs POWER

51
50
49
48
Random next hop
47
POWER

46
Next hop with max
45
power
44
43
42
41
1 3 5 7 9 11 13 15
NODE

Fig. 5. Node vs. Power graph by taking average power deduction for random neighbor selection
and neighbor selection based on maximum power

Thus, we find that the power of the network in the second case is more stable than
the power of the network in the first case and also in the second case the longevity of
the network increases.

5 Conclusion
Sensor networks aim to achieve energy balance as well as energy efficiency. Till date,
the energy-constrained nature of sensors poses the biggest problem in efficient
management of sensor networks. The current state of the art is that for most of the
power saving algorithms the cost factor is neglected, as they are not sending the
packets in optimal path to balance the energy level between all the nodes in the
network. This paper proposes an energy efficient technique to find out the source of
the event, at the same time it selects the next hop node among the neighbor nodes
which contain the maximum power. Thus there is a balance in power consumption for
every node in the network. The simulation result shows the proposed algorithm
A Novel Power-Balanced Routing Scheme for WSN 33

increases the lifetime of every node in the network and thus it increases the longevity
of the overall network.

6 References
[1] Boonma, P., Suzuki, J.: MONSOON: A Co-evolutionary Multiobjective Adaptation
Framework for Dynamic Wireless Sensor Networks. In: Proceedings of the 41st Hawaii
International Conference on System Science (2008)
[2] Boonma, P., Suzuki, J.: Exploring self-star Properties in Cognitive Sensor Networking.
In: Proc. of IEEE/SCS International Symposium on Performance Evaluation of Computer
and Telecommunication Systems (SPECTS), Edinburgh, UK (2008)
[3] Boonma, P., Suzuki, J.: BiSNET: A biologically inspired middleware architechture for
self managing wireless sensor networks. Computer Networks 5.1(16), 4599–4616 (2007)
[4] Chen, W.-M., Li, C.-S., Chiang, F.-Y., Chao, H.-C.: Jumping Ant Routing Algorithm for
sensor networks. Elsevier B.V, Amsterdam (2007)
[5] Yoon, S., Dutta, R., Sichitiu, M.L.: Power Aware Routing Algorithm for Wireless Sensor
Networks. In: IEEE (2007)
[6] Siva Kumar, D., Bhuvaneswaran, R.S.: Proposal on Multi agent Ants based Routing
Algorithm for Mobile Adhoc Networks. IJCSNS International Journal of Computer
Science and Network Security 7(6) (June 2007)
[7] Dorigo, M.: Ant Colony Optimization. University of Pretoria Etd, du Plessis J (2006)
[8] Hassaanein, H., Luo, J.: Reliable Energy Aware Routing in Wireless Sensor Networks.
In: IEEE (2006)
[9] Laxmi, V., Jain, L., Gaur, M.S.: Ant Colony Optimization based Routing on NS-2. In:
The Proceedings of International Conference On Wireless Communication and Sensor
Networks, WCSN (2006)
[10] Abrenica, A., Almojulea, R., Dalupang, R., Magnayon, R.: The Development of a ZigBee
Wireless Home Area Network Utilizing Solar Energy as an Alternative Power Source,
University of Manitoba (2005)
[11] Arabshahi, P., Gray, A., Kassabalidis, I., Das, A.: Adaptive Routing in Wireless
Communication Network using Swarm Intelligence. Jet Propulsion Laboratory and
University of Washington (2004)
[12] MongSim, K., Sun, W.H.: Ant Colony Optimization or Routing and Load-Balancing:
Survey and New Direction, part-A: System and Humans 33(5) (September 2003)
[13] Rajagopalam, S., Shen, C.-C.: A Routing Suite for Mobile Ad hoc Networks using
Swarm Intelligence, Department of Computer and Information Sciences, University of
Delaware,Newark (2003)
[14] A multiple ant colony optimization approach for load balancing. In: Proc, 4th Int.Conf.
Intelligent Data Engineering Automated, learning Hongkong (2003)
[15] Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., Culler, D.: The nesC
language: A holistic approach to networked embedded systems. In: SIGPLAN
Conference on Programming Language Design and Implementation, PLDI 2003 (June
2003)
[16] Dai, F., Wu, J.: Distributed dominant pruning in ad-hoc networks. In: Proceedings of ICC
(2003)
[17] Gunes, M., Sorges, U., Bouazizi, I.: ARA- the ant colony based routing algorithm for
MANET. In: Proc. of the ICPP (2002)
34 A.K. Das and R. Chaki

[18] Braginsky, D., Estrin, D.: Rumor Routing Algorithm for Sensor Networks. In: WSNA
2002, September 28 (2002)
[19] Yu, Y., Govindan, R., Estrin, D.: Geographical and Energy Aware Routing: A Recursive
Data Dissemination Protocol for Wireless Sensor Networks. UCLA Computer Science
Department Technical Report UCLA/CSD-TR-01-0023 (2001)
[20] Heinzelman, W.R., Chandrakasan, A., Balakrishnan, H.: Energy Efficient
Communication Protocol for Wireless Microsensor Networks. In: Proceedings of the 33rd
Hawaii International Conference on System Sciences (2000)
[21] Intanagonwiwat, C., Govindan, R., Estrin, D.: Directed Diffusion: A Scalable and Robust
Communication Paradigm for Sensor Networks. In: Proceedings of the sixth Annual
International Conference on Mobile Computing and Networks, MobiCOM 2000 (2000)
[22] Karp, B., Kung, H.T.: GPSR: Greedy perimeter stateless routing for wireless networks.
In: Proceedings of the ACM/IEEE International Conference on Mobile Computing and
Networking, Boston, Mass., USA, pp. 243–254 (2000)
[23] Subramanian, D., Druschel, P., Chen, J.: Ants and Reinforcement Learning: A Case
Study in Routing in Dynamic Data Networks. In: Proceedings of IJCAI 1997(1997)
[24] GRAdient Broadcast: A Robust, Long-Lived Large Sensor Network,
http://irl.cs.ucla.edu/papers/grab-tech-report.ps
[25] Lin, M., Marzullo, K., Masini, S.: Gossip verseus deterministic flooding: Low message
overhead and high reliaility for broadcasting on small networks
[26] Levis, P., Gay, D., Culler, D.: Active Sensor Networks
SRCHS – A Stable Reliable Cluster Head Selection
Protocol

Ditipriya Sinha1 and Rituparna Chaki2


1
Department of Information Technology, Calcutta Institute of Engineering and Management,
Kolkata, India
[email protected]
2
Department of Computer Science and Engineering, West Bengal University of Technology,
Kolkata, India
[email protected]

Abstract. A distributed and adaptive clustering algorithm is proposed in this


paper. A distributed algorithm is based on dominating set. Dominating set is used
for selection of cluster head and gateway nodes. The quality of cluster head is
calculated based on connectivity, stability and residual battery power. Clustering is
a method to build and maintain hierarchical addresses in mobile adhoc networks.
Here, several clustering algorithms are surveyed concentrating on those that are
based on graph domination. Long term service as cluster head depletes their
energy, causing them to drop out of the network. Stable, secure cluster head
selection increases lifespan and security of the network. This technique maintains
cluster structure as stable as possible.

Keywords: Dominating Node, Non dominating Node, Gateway Node,


Mobility, Cluster Head.

1 Introduction
The rapid advancement in mobile computing platforms and wireless communication
technology lead us to the development of protocols for easily deploying wireless
networks typically termed wireless ad hoc networks. These networks are used where
fixed infrastructures are non-existent or have been destroyed. They permit the inter
connectivity between workgroups moving in urban or rural area. They can also help
in collaborative operations, for example, distributed scientific research and rescue. A
multi-cluster, multi-hop wireless network should be able to dynamically adapt itself
with the changing networks configurations. With clustering the mobile nodes are
divided into a number of virtual groups called clusters. Nodes in a cluster can be of
type cluster head, gateway or ordinary nodes. Cluster head is the coordinator for the
operation within the cluster. Cluster-heads are responsible for the formation of
clusters and maintenance of the topology of the network. A cluster head is responsible
for resources allocation to all nodes belonging to its cluster. The major issues in
cluster based MANETs are i) mobility management ii) topology assignment iii)
clustering overheads iv) frequent leader reelection vi) overhead of cluster head vii)

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 35–44, 2011.
© Springer-Verlag Berlin Heidelberg 2011
36 D. Sinha and R. Chaki

Depletion of battery power viii)Quality of service. In mobile adhoc networks


association and dissociation of mobile nodes to and from clusters perturb the stability
of the network and thus reconfiguration of cluster-heads is necessary. A stable cluster
algorithm should not change the cluster configuration frequently. The advantages of
clustering includes i) shared use of application within group ii) provision for
optimizing in routing mechanism iii) efficient handling of mobility management iv)
virtual circuit support v) better band width utilization vi)aggregation of topology
information and vii)minimize the amount of storage for communication. Major
drawbacks of cluster based routing protocols is that maintaining and updating cluster
head for ever changing topology of mobile adhoc networks. Stable cluster head
selection is one of the challenge of cluster based routing protocols.
In this paper we propose a distributed based clustering algorithm for mobile adhoc
networks. In this algorithm clustering set up phase is accomplished by dominating set.
Among dominating sets most eligible node is selected as cluster head and some
dominating nodes are selected as gateway nodes. This proposed algorithm chooses
most reliable, stable, highly powerful node as cluster head. In inter cluster routing,
source node informs cluster head and cluster head selects the route for sending packet.
In intra cluster routing, cluster head sends the packet to it's gateway node and gateway
node sends the packets to the cluster head of destination node's cluster. Cluster head
of destination node's cluster selects the route for sending packet.

2 Review

In clustered network, nodes are clustered in any form of hierarchical structure. The
advantage of cluster based approaches are improving routing efficiency, scalability,
supporting QOS and saving power consumption. Clustering transforms a physical
network into a virtual network which contains interconnected clusters or group of
mobile nodes. The main goal of cluster network is to find the cluster head nodes and
partition the network into clusters. Cluster heads take an inevitable role for managing
routing information in mobile adhoc networks. Some reviews of cluster based routing
algorithms are given below:

2.1 CBRP

The idea of CBRP [6] is to divide the nodes in adhoc network into number of disjoint
or overlapping clusters. One of nodes amongst all nodes is selected as cluster head. A
cluster head elects a gateway node to communicate with other cluster heads. A cluster
head is selected to maintain cluster membership information. With the help of cluster
membership information kept at each cluster head inter-cluster routes are discovered
dynamically. This protocol efficiently reduces the flooding traffic during route
discovery and speeds up this process as well. Furthermore, the protocol takes care of
uni-directional links and uses these links for both intra-cluster and inter-cluster
routing.
SRCHS – A Stable Reliable Cluster Head Selection Protocol 37

2.2 CBLARHM

It runs on top of an adaptive cluster [5], cover the network which can be created and
maintained using weight based distributed algorithm. The weighted clustering
algorithm takes care of battery power, stability of nodes, degree difference, and
average dependency probability of mobile nodes.

2.3 CBMPR

The main idea of this technique is to extend the hop-by-hop multi path into cluster by
cluster multi path [3].Here each cluster works independently. There fore it reduces
interference. The purpose of this scheme is to find less interfering path for wireless
multi hop network.

2.4 CRAM

This algorithm selects Multi-Cluster-Heads (Multi-CHs) [7] in every cluster together


as one cluster head to perform data fusion and data transmission to improve energy
efficiency and enhance data transmission reliability, since one cluster-head in a
cluster may be unreliable and cause energy losing in case of no de failure. Detailed
simulations of sensor network environments indicate that CRAM algorithm improves
energy efficiency, balances energy consumption of all sensor nodes, enhances data
transmission reliability of cluster-head and postpones network system lifetime in
comparison to clustering routing algorithm using one-CH-one cluster method.

2.5 SCAM

Scenario-based Clustering Algorithm for Mobile ad hoc networks [10] is an a


distributed clustering algorithm. It is based on dominating sets(k,r). Non clustered
nodes select the cluster head among k dominating nodes. The quality of cluster head
is calculated based on different metrics such as connectivity, stability and residual
battery power. It uses technique to maintain cluster.

3 Proposed Algorithm

3.1 Description of Algorithm

The review of the state of the art scenario leads to the conclusion that cluster head
selection has to be given extra care for achieving optimum throughput. In this paper, a
new routing technique called SRCHS has been proposed. This algorithm takes care of
stable, reliable cluster head selection.
38 D. Sinha and R. Chaki

3.2 Data Dictionary

Table 1. Variables list


Variable name Description
Domnode[] It contains id of dominating nodes.

Nondomnode[] It contains id of non dominating nodes


Deg,[],T[],Bp[],Mob[] They store degree, trust value, battery
power, mobility of all nodes in the
network respectively
R This variable is denoted the radio range
of the cluster
ACK[] It stores node id of each node in the
cluster who are neighbor of sender
Cost Table Cost table vectors are-S
,Nid,Cost(S=Source node id, Nid=Next
hop node id).

Gateway Table Structure of this table is-


G,Sec.(G=gateway node id, Sec=sector
id of that gateway node)
Cluster Table Structure of this table is-G,Gcn (Gcu
=Gateway node of another cluster).

Th It denotes threshold value.


K
T ij At k th moment time required for
sending message between node i and j
k At kth moment distance between node s
d si
and i
nM[s,i]. It defines mobility between node s and i

3.3 Performance Metrics

To evaluate the proposed algorithm we use two metrics: Battery power consumption,
Threshold value and Gateway node selection. We briefly describe them in the
following:

Definition 1. Total battery power consumption of a node is defined by the sum of


mobility and packet size, transmitted by that node.
Bp[ni]=Bp[ni]-(k.Mob[S,ni]+k1.Ps) (1)
Ps=Size of the packet
Mob[S,ni]= Mobility of node ni
SRCHS – A Stable Reliable Cluster Head Selection Protocol 39

k=.0005
k1=.0003
Bp[ni]=Battery power of node ni

Definition 2. Threshold value of the network is defined to be the summation of


average value of mobility, battery power, trust value and degree of all nodes in the
network

Th=1/n∑i=(1..n)(Deg[i]+T[i]+Bp[i]+1/Mob[i]). (2)

Definition 3. A gateway node of a cluster is defined as nodes who maintain


communication among one cluster to another cluster.

Area of ith sector is:


Sec[i]=(θ/360)*π*r*r . (3)
Where, r=range of cluster.
θ=sector angle.
Here, cluster is divided into 8 sectors. So, θ=450
For each Sec (i)
Find MAX W[ns]
Declare ns as a gateway node.
G[i]=ns

3.4 Algorithm

Step 1: Take source node id S and destination node id Des for sending packets.
Step 2: Source node S broadcasts TRUSTVALUE message to all neighbor nodes.
Step 3: For source node S, trust value is calculated using following equation-
T[S]=∑i=1…nT[i] (4)
Where T[i] is the trust value of node S which is given by neighbor node i.

Step 4: for n neighbors of source node S

For i=1…n
For ith node:
k
S sends FINDDISTANCE message at k moment to i and calculates T si
k’
i sends ACK message at k’ moment to S and calculatesT is
so,
k k’ k
d si=T is-T si (5)
After sometime,
l
S sends FINDDISTANCE message at l moment to i and calculates T si
l’
i sends ACK message at l’ moment to S and calculatesT is
40 D. Sinha and R. Chaki

so,
l l’ l
d si=T is-T si (6)
l k
M[S,i]=d si-d si. (7)
For i=1…n
Mob[S]=1/n∑i=1…nM[S,i]. (8)

Step 5: If header(S)== NULL


Then
a)Calculate
W[S]=Deg[S]+T[S]+Bp[S]+1/Mob[S]. (9)
b) If W[S]>=Th
Then
Add S into Domnode[]
Else
Add S into Nondomnode[]
c)S broadcasts FINDNEIGHBOUR message within r hop distance.
d) S waits for ACK message and store id of that node into ACK[] array.
e)Waiting time=2r+(n-1) where n=no of nodes in the network.
f)If Waiting time over
then
Calculate max (W[i]) among all nodes whose ids are stored in ACK[]
array.
g)If max(W[i])>W[S]
then append Header[S]=id of maximum weight node.
Maximum weight node declares as cluster head(CH).
else
append Header[S]=S and S declares as cluster head(CH)
h)If S≠CH
Divide cluster with 8 sectors at 450angle in each sector.
Calculate area of Sec[i] using Definition 3
Append Sec[i] with each node.
If Sec[i] of S==NULL
Then
Assign sector id of new node S.
End if
For Sec[i]
find max W[ns]
ns declares as Gateway Node of sector Sec[i].
If( ns==S)
S declares as Gateway Node of sector Sec[i].
S sends Gateway Advertisement message to it's CH.
CH updates it's Gateway Table.
SRCHS – A Stable Reliable Cluster Head Selection Protocol 41

i)S sends the packet to it’s CH


j) CH calls dijkestra's algorithm for finding the shortest path using value
of cost table.

Step 6: Else
S sends the packet to it’s CH and CH calls dijkestra's algorithm for finding
the shortest path.

Step 7: If CH finds Des is not in that cluster.


i) CH sends ROUTEDISCOVERY message to all gateway nodes from it's
Gateway table.
ii) For each G[i]
G[i] sends ROUTEDISCOVERY to it's Gcu .
Gcu informs it's CH.
If CH finds DES
a) It sends ACKROUTE to Gcu
iii)Gcu sends ACKROUTE to G[i]
iv)G[i] sends it to it's CH.
v)CH sends packet to G[i].
vi)G[i] sends packet to Gcu.
vii)Gcu. sends packet to it's CH.
viii) CH calls dijkestra’s algorithm for finding the shortest path

Step 8: On each intermediate nodes including source and destination node on the
shortest path battery power is decreased and it’s amount is inversely proportional to
the mobility of that node and packet size using equation 1.

Step 9: After some time, each node checks weight of it’s CH and compare it’s weight
with rest Domnode [].
If for any Domnode[i],
W[i]>W[CH]
Then
CH=id of ith node

This way SRCHS concentrates on selection of stable, reliable cluster head.

4 Performance Analysis
The simulation experience conducted for the performance evaluations were
implemented in NS2.NS2 is a simulation tool, widely used for wireless network.
To determine the efficiency of proposed protocol, we monitored four parameters: no
of dominating nodes, no of non dominating nodes, load in the network and the delivery
time. Load is computed by total no packets transmitted during simulation period.
Figure 1 shows the no of dominating nodes as a function of number of nodes in the
network. Figure 2 shows delivery time for the routing protocol as a function of load in
the network.
42 D. Sinha and R. Chaki

Fig. 1. Showing no of nodes vs. no of dominating nodes

The figure1 shows, nodes vs dominating nodes graph. Here, it is found that if
nodes increase, dominating nodes does not increase rapidly. From 5 to 10 nodes,

35

30

25
DELIVERY TIME

20

15

10

0
40 60 80 100 120 140 160 180 200 220

LOAD
Fig. 2. Load vs Delivery time
SRCHS – A Stable Reliable Cluster Head Selection Protocol 43

dominating nodes increase with no of nodes in the network. After that, no of


dominating nodes decrease with increase of nodes in the network. After from 20th
node, it’s value again increase. Then after 22 nodes value of dominating nodes are
same with increase of no of nodes in the network. So it is proved that value of
dominating nodes’ number does not depend on increase of nodes in the network
.After certain number of nodes it will be same. So, number of clusters also does not
increase rapidly and overhead does not increase.
The figure2 shows load vs delivery time graph .From this figure, it is determined,
if load in the network increases delivery time does not increase rapidly. From 160 to
200 delivery time increases with the load in the network. But, from 10 to 160 load in
the network, delivery time is stable in network.

5 Conclusion
Our proposed algorithm is a cluster based routing protocol for adhoc network. In our
method cluster creation is based on distributed manner. In this proposed algorithm
cluster head selection is an important part. Most potential node in a cluster is selected
as cluster head. In this algorithm, cluster head is selected using the concept of
dominating and non dominating nodes. Most secured, stable node is selected as
cluster head in a cluster. This way, the proposed algorithm enhances the security as
well as stability of cluster. Some potential nodes among dominating nodes are
selected as cluster heads. Theses nodes are eligible for intra cluster communication.
This algorithm also concerns about the dynamic nature of mobile adhoc network for
cluster head maintenance. In the proposed protocol routing is also done quickly. The
reason behind this, routing is depended on the address of cluster heads. By failing any
node in the route, its CH may make another node to forward packets. This causes
error tolerance to be enhanced. If destination node, is not within cluster CH forwards
packets to it's gateway node and gateway node forwards packets to cluster head of
destination node. This way, intra cluster routing is also done efficiently. The
performance of proposed algorithm is evaluated through simulation of network
topology. Simulation demonstrates significant improvement in packet delivery ratio
with load in the network. Currently, we are in the process of conducting simulation
experiments for comparing this proposed protocol with other cluster based routing
protocol.

References
1. Schwartz, M., Stern, T.E.: Routing Techniques used in Communication Networks. IEEE
Trans. on Communications, 539–552 (April 1980)
2. Ramamoorthy, C.V., Bhide, A., Srivastava, J.: Reliable Clustering Techniques for Large,
Mobile Packet Radio Networks. In: Proc. IEEE INFOCOM, pp. 218–226 (May 1987)
3. Zhang, J., Jeong, C.K., Lee, G.Y., Kim, H.J.: Cluster-based Multi-path Routing Algorithm
for Multi-hop Wireless Network
4. Krishna, P., Vaidya, N.H., Chatterjee, M., Pradhan, D.K.: Cluster Based Routing Protocol.
ACM SIGCOMM Computer Communication Review 27(2), 49–64 (1997)
44 D. Sinha and R. Chaki

5. Gerla, M., Tasai, J.: Multicluster, mobile, multimedia radio network. ACM-Baltzer Journal
Wireless Networks 1(3), 255–256 (1997)
6. Jiang, M., Li, J., Tay, Y.C.: Cluster Based Routing Protocol(CBRP) Functional
Specification Internet Draft(June 1999) (draft-ieft-manet-cbrp.txt)
7. Zheng, Z.-w., Wu, Z.-h., Lin, H.-z., Zheng, K.-g.: CRAM: An Energy Efficient Routing
Algorithm for Wireless Sensor Networks. Computer and Information Sciences, 341–350
(2004)
8. Dhurandher, S.K., Singh, G.V.: Power aware cluster efficient routing in wireless ad hoc
networks. In: Pal, A., Kshemkalyani, A.D., Kumar, R., Gupta, A. (eds.) IWDC 2005.
LNCS, vol. 3741, pp. 281–286. Springer, Heidelberg (2005)
9. Wang, Y., Ling, T., Yang, X., Zhang, D.: Scalable and Effective Cluster Based Routing
Algorithm Using Nodes‘ Location for Mobile Ad Hoc Networks. Information Technology
Journal 7(7), 958–971 (2008)
10. Anitha, V.S., Sebastian, M.P.: SCAM: scenario-based clustering algorithm for mobile ad
hoc networks. In: Proceedings of the First international conference on COMmunication
Systems And NETworks, Bangalore, India, pp. 375–382. IEEE Press, Piscataway (2009);
ISBN:978-1-4244-2912-7
Handover Latency Reduction Using Integrated Solution
Scheme for Proxy Mobile IPv6

Md. Mahedi Hassan and Kuan Hoong Poo

Faculty of Information Technology,


Multimedia University, 63100, Cyberjaya, Malaysia
{md.mahedi.hassan08,khpoo}@mmu.edu.my

Abstract. The next-generation mobile and wireless communications will be


supported by an all-IP based infrastructure which requires an effective mobility
management protocol to support ubiquitous network access by providing
seamless handover. However, the recent explosion on the usage of mobile
devices has also generated several issues in terms of performance and quality of
service (QoS). Nowadays, mobile users demand high quality performance, best
QoS and seamless connections that support real-time application such as audio
and video streaming. This paper aims to study the impact and evaluate the
mobility management protocols under micro mobility domain on link-layer and
network-layer handover performance. We propose an integrated solution of
network-based mobility management framework, based on Proxy Mobile IPv6,
to reduce handover latency when mobile host moves to new network during
handover on high speed mobility. We conducted simulations and analyze the
network performances for mobile host under high speed for the proposed
mobility protocols.

Keywords: Seamless handover; Handover latency; Mobility protocols; Intra-


domain; Proxy MIPv6; NS-2.

1 Introduction

In recent years, mobile and wireless communications have undergone tremendous


changes due to the rapid development in wireless and communication technologies as
well as the ever increasing demands by users. Nowadays, mobile end-users are
constantly on the go and most of the time, they are moving from one place to another
place in rapid pace. As a result, connected mobile devices are also constantly
changing their points of attachment to the communication networks, such as Mobile
Cellular Networks (MCN), Wireless Local Area Networks (WLAN), Wireless
Personal Access Networks (WPAN), and so on. These days, most of the wireless and
mobile communication networks are moving towards all IP based. These
communication networks are either connected together through the Internet or
through private IP core networks. In order to maintain connection, one of the main
challenges faced by Mobile Host (MH) is the ability to obtain a new IP address and

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 45–56, 2011.
© Springer-Verlag Berlin Heidelberg 2011
46 Md.M. Hassan and K.H. Poo

update its communication partners, while moving amongst these different wireless
and mobile networks.
In order to meet the above challenge, Internet Engineering Task Force (IETF) [1]
designed a new standard solution for Internet mobility officially called – IPv6
mobility support and popularly named as Mobile IPv6 (MIPv6) [2]. MIPv6 is the
modified version of MIPv4, that has great practicality and able to provide seamless
connectivity to allow a mobile device to maintain established communication sessions
whilst roaming in different parts of the Internet.
When a MH is handed over from one network to another network, it changes the
point of attachment from one access router (AR) to another. This is commonly known
as handover which allows MH to establish a new connection with a new subnet.
Handover is also defined as the process of changing between two ARs and when ARs’
point of attachment in the network changes. The point of attachment is a BS for
cellular network, or an AR for WLAN. Commonly, handover can be handled in the
link layer, if both the ARs are involved in the same network domain. Otherwise, a
route change in the IP layer possibly will be needed the so-called network layer
handover. In this case, Mobile IPv6 is a standard protocol for handling network layer
handover.
For IP-mobility protocols, the IP handover performance is one of the most
important issues that need to be addressed. IP handover occurs when a MH changes its
network point of attachment from one base station (BS) to another. Some of the major
problems that may occur during handover are handover latency and packet loss which
can degrade the performance and reduce quality of service. In a nutshell, handover
latency is the time interval between the last data segment received through the previous
access point (AP) and first data segment received through the next AP [3]. The major
problem arises with handovers is the blackout period when a MH is not able to receive
packets, which causes a high number of packet loss and communication disruption.
Such long handover latency might disrupt ongoing communication session and some
interruptions. If that change is not performed efficiently, end-to-end transmission
delay, jitters and packet loss will occur and this will directly impact and disrupt
applications perceived quality of services. For example, handovers that might reach
hundreds of milliseconds would not be acceptable for delay-sensitive applications like
video streaming and network gaming [3].
Currently, there are several mobility protocols which have been proposed in order to
alleviate such performance limitations. One of which is the enhanced version of
terminal independent Mobile IP (eTIMIP) [4], which is a kind of mobility management
protocol. eTIMIP enhances the terminal independent Mobile IP (TIMIP) by reducing
the amount of latency in IP layer mobility management messages exchanged between
an MH and its peer entities, and the amount of signaling over the global Internet when
an MH traverses within a defined local domain. TIMIP [4] is an example of IP based
micro-mobility protocol that allows MH with legacy IP stacks to roam within an IP
domain and doesn’t require changes to the IP protocol stack of MH in a micro mobility
domain.
Compared to the above mobility protocols, Proxy Mobile IPv6 (PMIPv6) [5] defines a
domain in which the MH can roam without being aware of any layer 3 (L3) movement
since it will always receive the same network prefix in the Router Advertisement (RA).
The PMIPv6 specification defines a protocol to support Network-based Localized
Handover Latency Reduction Using Integrated Solution Scheme 47

Mobility Management (NETLMM) [5] where the MH is not involved in the signaling.
This new approach is motivated by the cost to modify the protocol stack of all devices to
support Mobile IP and potentially its extensions and to support handover mechanisms
similar to the ones used in 3GPP/3GPP2 cellular networks.
We make use of Network Simulator, ns-2 [6] in this paper to simulate, examine and
compare the performances of eTIMIP, TIMIP, PMIPv6 as well as our proposed
integrated solution of PMIPv6 with MIH and Neighbor Discovery (PMIPv6-MIH) in
intra-domain traffic with high speed MH. We compare the handover latency and
packet delivery throughput of transmission control protocol (TCP) and user datagram
protocol (UDP) for eTIMIP, TIMIP, PMIPv6 and our proposed integrated solution of
PMIPv6-MIH in intra-domain traffic.
The rest of this paper is structured as follows: Section 2 briefly explain related
research works on the mobility protocols. Section 3 explains overview of media
independent handover. Section 4 briefly describes the propose solution scheme.
Section 5 shows simulation results of UDP and TCP flow under intra-domain traffic.
Finally, Section 6 we conclude the paper and provide possible future works.

2 Existing Mobility Protocols


For mobility protocols, there are several protocols to reduce handover latency and
packet loss, such as the Session Initiation Protocol (SIP) [7] and the Stream Control
Transmission Protocol (SCTP) [8]. Both protocols focus on mobility management on
an end-to-end basis but they don’t have the potential to achieve short handover
latency in network layer. The communication sessions in these protocols are initiated
and maintained through servers. The behavior of these protocols is similar to the
standard Mobile IP scheme during handovers. However, there are some enhanced
Mobile IP schemes that able to reduce the handover latency such as PMIPv6 and
CIMS, (Columbia IP Micro-Mobility Suite) [9].

2.1 Micro Mobility Protocols

Micro mobility protocols work within an administrative domain which is to ensure


that packets are arriving from the internet and addressed to the MHs that forward to
the appropriate wireless AP in an efficient manner. It is also called intra-domain
traffic [10]. Under the CIMS (Columbia IP Micro-Mobility Suite) project, several
micro mobility protocols have been proposed such as –Handoff-Aware Wireless
Access Internet Infrastructure (Hawaii) and Cellular IP (CIP).
The CIMS is an extension that offers micro-mobility support. CIMS implements
HMIP (Hierarchical Mobile IP) and two micro-mobility protocols for CIP and
Hawaii. The CIMS project is mainly focused on intra-domain handover and uses the
basic idea of Mobile IP for inter-domain handover.
Subsequently, the CIMS project was enhanced by Pedro et. al. [9] which included
the original implementation of TIMIP protocol, and the extended version of TIMIP
protocol such as eTIMIP as well as the implementation of CIP, HAWAII, and HMIP
protocols. The proposed eTIMIP protocol which is a mobility solution protocol that
48 Md.M. Hassan and K.H. Poo

provides both network and terminal independent mobile architectures based on the
usage of overlay micro-mobility architecture.

2.2 Enhanced version of Terminal Independent Mobile IP (eTIMIP)

The physical network and overlay network are two complementary networks that are
organized in the architecture of eTIMIP. Both networks are separated in the mobile
routing from the traditional intra-domain routing which also known as fixed routing.
Generally, the physical network can have any possible topology, where it is managed
by any specialized fixed routing protocol. The overlay network is used to perform the
mobile routing, where it selects routers which support the eTIMIP agents, in which
will be organized in a logical tree that supports multiple points of attachment to the
external of the domain.

2.3 Proxy Mobile IPv6 (PMIPv6)

PMIPv6 is designed to provide an effective network-based mobility management


protocol for next generation wireless networks that main provides support to a MH in a
topologically localized domain. In general terms, PMIPv6 extends MIPv6 signaling
messages and reuse the functionality of HA to support mobility for MH without host
involvement. In the network, mobility entities are introduced to track the movement of
MH, initiate mobility signaling on behalf of MH and setup the routing state required. The
core functional entities in PMIPv6 are the Mobile Access Gateway (MAG) and Local
Mobility Anchor (LMA). Typically, MAG runs on the AR. The main role of the MAG is
to perform the detection of the MH’s movements and initiate mobility-related signaling
with the MH’s LMA on behalf of the MH. In addition, the MAG establishes a tunnel with
the LMA for forwarding the data packets destined to MH and emulates the MH’s home
network on the access network for each MH. On the other hand, LMA is similar to the
HA in MIPv6 but it is the HA of a MH in a PMIPv6 domain. The main role of the LMA
is to manage the location of a MH while it moves around within a PMIPv6 domain, and it
also includes a binding cache entry for each currently registered MH and also allocates a
Home Network Prefix (HNP) to a MH.
Since the PMIPv6 was only designed to provide local mobility management, it still
suffers from a lengthy handover latency and packet loss during the handover process
when MH moves to a new network or different technology with a very high speed.
Even more, since detecting MHs' detachment and attachment events remains difficult
in many wireless networks, increase handover latency and in-fly packets will certainly
be dropped at new MAG (n-MAG).

3 Overview of Media Independent Handover


The working group of IEEE 802.21 [11] developed a standard specification, called Media
Independent Handover (MIH), which defines extensible media access independent
mechanisms that facilitates handover optimization between heterogeneous IEEE 802
systems such as handover of IP sessions from one layer 2 (L2) access technology to
another. The MIH services introduce various signaling, particularly for handover
initiation and preparation and to help enhance the handover performance.
Handover Latency Reduction Using Integrated Solution Scheme 49

Basically, IEEE 802.21 introduces three different types of communications with


different associated semantics, the so-called MIH services: Media Independent Event
Service (MIES), Media Independent Command Service (MICS) and Media
Independent Information Service (MIIS).
MIES introduces event services that provide event classification, event filtering
and event reporting corresponding to dynamic changes in link characteristics, links
status, and link quality. It also helps to notify the MIH users (MIHU) such as PMIPv6
about events happening at the lower layers like link down, link up, link going down,
link parameters report and link detected etc and essentially work as L2 triggers.
MICS provides the command services that enable the MIH users to manage and
control link behavior relevant to handovers and mobility, such as force change or
handover of an interface. The commands generally carry the upper layers like L3
decisions to the lower layers like L2 on the local device entity or at the remote entity.
There are several examples of MICS commands, such as MIH scan, MIH configure,
MIH handover initiate, MIH Handover prepare and MIH handover complete.
MIH provides information about the characteristics and services through a MIIS
which enables effective handover decisions and system access based on the
information about all networks from any single L2 networks. MIIS provides registered
MIH users with the knowledgebase of the network and information elements and
corresponding query-response mechanisms for the transfer of information. By
utilizing these services, the MIH users are able to enhance handover performance
such as through informed early decisions and signaling. MIIS are classified into three
groups, namely general or access network specific information, Point of Attachment
specific information and vendor specific information.

4 Proposed Solution Scheme


In response to the PMIPv6 problems mentioned in Section 2, we proposed solution
scheme that provides an integrated solution with integrate the analysis of handover
latency introduced by PMIPv6 with the seamless handover solution used by MIH as well
as the Neighbor Discovery message of IPv6 to reduce handover latency and packet loss
on network layer at n-MAG to avoid the on-the-fly packet loss during the handover
process. Figure 1 represents the proposed integrated solution of PMIPv6-MIH.

Fig. 1. Proposed Integrated Solution Fig. 2. Integrated solution architecture of


PMIPv6
50 Md.M. Hassan and K.H. Poo

Figure 2 presents the key functionality is provided by Media Independent


Handover (MIH) which is communication among the various wireless layers and the
IP layer. The working group of IEEE 802.21 introduces a Media Independent
Handover Function (MIHF) that is situated in the protocol stack between the wireless
access technologies at lower layer and IP at upper layer. It also provides the services
to the L3 and L2 through well defined Service Access Points (SAPs) [11].

4.1 Neighbor Discovery

Neighbor Discovery (ND) enables the network discovery and selection process by
sending network information to the neighbor MAG before handover that can helps to
eliminate the need for MAG to acquire the MH-profile from the policy server/AAA
whenever a MH performs handover between two networks in micro mobility domain.
It avoids the packet loss of on-the-fly packet which is routed between the LMA and
previous MAG (p-MAG). This network information could include information about
router discovery, parameter discovery, MH-profile which contains the MH-Identifier,
MH home network prefix, LMA address (LMAA), MIH handover messages etc., of
nearby network links.

4.2 Analysis of Handover Latency and Assumptions

The overall handover latency consists of the L2 and L3 operations. The handover
latency is consequent on the processing time involved in each step of handover
procedure on each layer.
The handover latency (Lseamless) can be expressed as:
(1))
where LL3 represents the network layer as example switching latency and LL2
represents link layer as example switching time.
On L3, the handover latency is affected by IP connectivity latency. The IP
connectivity latency results from the time for movement detection (MD), configure a
new CoA (care-of-address), Duplicate Address Detection (DAD) and binding
registration. Therefore, L3 can be denoted as follows:
(2)

where Tmove represents the time required for the MH to receive beacons from n-MAG,
after disconnecting from the p-MAG. In order to estimate the movement detection
delay, based on the assumptions of mobility management protocols that the times
taken for MD are RS and RA messages as follow
(3)
Tconf represents the time that taken for new CoA configuration. Treg represents the
time elapsed between the sending of the BU from the MH/MAG to the MAP/LMA
and the arrival/transmission of the first packet through the n-MAG. Binding
registration is the sum of the round trip time between MH/MAG and MAP/LMA and
the processing time as follows:
Handover Latency Reduction Using Integrated Solution Scheme 51

(4)
TDAD represents the time required to recognize the uniqueness of an IPv6 address.
Once the MH discovers a new router and creates a new CoA it tries to find out if the
particular address is unique. This process is called DAD and it is a significant part of
the whole IPv6 process.
As simplification of (2), (3) and (4) equations, it can be expressed as:
(5)
On L2, MH has to perform three operations during the IEEE 802.11 handover
procedure such as scanning (Tscan), authentication (TAAA) and re-association (Tre-ass).
Handover latency at L2 can be denoted as follows:
(6)
Tscan represents the time that taken the MH performs a channel scanning to find the
potential APs to associate with. When MH detects link deterioration, it starts scanning
on each channel finding the best channel based on the Received Signal Strength
Indicator (RSSI) value.
TAAA represents the time taken for authentication procedure that depends on the
type of authentication in use. The authentication time is round trip time between MH
and AP. While Tre-ass represents the time needed for re-association consists of re-
association request and reply message exchange between MH and AP if
authentication operation is successful.

Fig. 3. An Analytical Model of Integrated solution of PMIPv6-MIH

The following notations are depicted in Figure 3 for integrated solution of


PMIPv6-MIH.
• The delay between the MH and AP is tpm, which is required the time for a
packet send between the MH and AP through a wireless link.
• The delay between the AP and n-MAG is tma, which is the time between the
AP and the n-MAG connected to the AP.
• The delay between the n-MAG and LMA is tag.
• The delay between the LMA and Corresponding Node (CN) is tca.
• The delay between the n-MAG and CN is tcm, which is the time required for
a packet to be sent between the n-MAG and the CN.
• The delay between the mobility agents and AAA is ta.
52 Md.M. Hassan and K.H. Poo

As shown in figure 3, we proposed integrated solution of PMIPv6 with MIH and ND


to reduce handover latency as the time taken for scanning by informing the MH about
the channel information of next APs and use ND message of IPv6 to reduce handover
delay and packet loss on network layer at n-MAG to avoid the on-the-fly packet loss
during the handover process.
During the IEEE802.11 handover procedure the MH performs scanning on the
certain number of channels to find the potential APs to associate with. By informing
the MH about the channel information of next APs can significantly reduce the
scanning time.
However, the scanning time also depends on the type of scanning is used. There
are two types of scanning which are defined as active and passive. In active scan
mode, MH sends probe request and receives probe response if any AP is available on
certain channel. While in passive scan mode, each MHs listens the channel for
possible beacon messages which are periodically generated by APs. The handover
delay in active scan mode is usually less than in passive scan mode. The operation of
passive scan mode depends on the period of beacon generation interval. Therefore,
this can provide better battery saving than active scan mode of operation.
As in L2 trigger, the p-MAG has already authenticated the MH and sends the MH's
profile which contains MH-Identifier to the n-MAG through the ND message since
the MH is already in the PMIPv6 domain and receiving as well as sending
information to CN before the handover. Hence, the authentication delay is eliminated
during actual handover. Thus, the L2 handover delay can be expressed as:
2 (7)
As the parts of L3 handover delay that should be taken into consideration in PMIPv6.
Since we proposed the integrated solution of PMIPv6 with MIH services and ND, the
number of handover operations should not be considered for overall handover latency.
As a result, L3 handover delay is considered only two things in integrated solution of
PMIPv6-MIH in a micro mobility domain.
o When MH attaches to the n-MAG and delivers event notification of
MIH_Link_up indication, n-MAG sends a PBU message to the LMA for
updating the lifetime entry in the binding cache table of the LMA and
triggering transmission of buffer data for the MH
o RA message
Therefore, the overall handover delay at L3 can be expressed as:
3
Based on Analytical model:
2 (8)
Seamless Handover Latency of integrated solution of PMIPv6 with MIH can be
expressed as:
Handover Latency Reduction Using Integrated Solution Scheme 53

5 Simulation Experiment and Results

In order to examine, evaluate and compare the impact on intra-domain handover


performance, simulations were performed to compare and evaluate micro mobility
protocols by using the ns-2 [6]. For the simulations, two important performance
indicators are measured which are the throughput for packet delivery and handover
latency. In order to obtain reasonable results, we measure the performance for micro
mobility protocol in intra-domain traffic for both TCP and UDP packet flow.

5.1 Simulation Setup

The simulation scenario setup is implemented as a network-based mobility


management solution in the simulation of mobility across overlapping wireless access
networks in micro mobility domain. The proposed integrated solution scenario setup
is the same as the PMIPv6 but further incorporates MIH functionality in the MH and
the MAGs. Thus, the simulation setup scenario is as shown in figure 4 below:

Fig. 4. Simulation Scenario Setup of proposed integrated solution of PMIPv6-MIH

In the above simulation scenario, the p-MAG and n-MAG are in separate subnets.
The two MAGs have both L2 and L3 capabilities that handles handovers. The router is
interconnected to the LMA by a series of agents that are organized in a hierarchical
tree structure of point-to-point wired links.
The packet flow of CBR and FTP are simulated and transmitted from the CN to the
MH using UDP and TCP. The link delay between the CN and the LMA is set at 10ms
while the bandwidth is set at 100Mb. The link delay between the LMA and the
respective MAGs is set at 1ms. The CBR and FTP packet size is set at 1000 and 1040
bytes while the interval between successive packets is fixed at 0.001 seconds.

5.2 Simulation Results

Simulation results for intra-domain traffics are obtained as follows:


54 Md.M. Hassan and K.H. Poo

Fig. 5. Handover Latency of UDP Flow in Fig. 6. Handover Latency of TCP Flow in
micro mobility domain micro mobility domain

Fig. 7. Throughput (Mbps) of UDP Flow in Fig. 8. Throughput (Mbps) of TCP Flow in
micro mobility domain micro mobility domain

In above results, it is observed that UDP and TCP performance of eTIMIP and
TIMIP increased the handover latency during the MH moves to new network in micro
mobility domain. It also noted from the simulation results that performance of
throughput also shown degradation. This is due to the fact that, when MH moves
away from one network to another in micro mobility domain with high speed
mobility, there are lots of operations to perform between the changes of network, such
as configuring new CoA, DAD operation, binding registration and MD.
In comparison to PMIPv6, it does not require CoA and DAD as MH is already
roaming in the PMIPv6 domain. Once the MH has entered and is roaming inside the
PMIPv6 domain, CoA is not relevant since according to the PMIPv6 specification, the
MH continues to use the same address configuration. The operation of a DAD is
required for a link-local address since address collision is possible between MH,
MAG and all MH’s attached to the same MAG. The DAD operation may significantly
increase handover latency and is a very time consuming procedure. As DAD requires
around one second (or even much than one sec.), PMIPv6 introduce a per-MH prefix
model in which every MH is assigned a unique HNP. This approach may guarantee
address uniqueness. But still PMIPv6 suffers from a lengthy handover latency and
packet loss during the handover process when MH speed is high. To overcome these
problems, we proposed integrated solution scheme for PMIPv6 that can send the MH-
profile to the n-MAG through ND message before handover on L3 and also reduce the
time on L2 scanning by informing the MH about the channel information of next APs
using MIH services.
Based on the proposed solution scheme, the result of handover latency and
throughput are better than other mobility protocols. The reason of reduce handover
latency and improve throughput in micro mobility domain as below:
Handover Latency Reduction Using Integrated Solution Scheme 55

¾ The time required to obtain MH profile information can be omitted since n-


MAG performs this information retrieval prior to MH’s actual attachment.
¾ As the specification of PMIPv6, the time needed to obtain the DAD
operation and configure new CoA can also be non-appreciable since n-MAG
performs a pre-DAD procedure like assigning a unique HNP during
available resource negotiation with p-MAG and the MH continues to use the
same address configuration.
¾ The time required to obtain mobility-related signaling massage exchange
during pre-registration may not be considered since this negotiation is
established before MH attachment. Since the MH is already pre-registered
and there is no need to confirm at the n-MAG, therefore the last Proxy
Binding Acknowledgement (PBA) message send from the LMA may not be
considered.

6 Conclusion
In this paper, we conducted simulations to evaluate, compare and examine the
mobility protocols under intra-domain approaches. As for performance, we compared
performance indicators such as handover latency and throughput for mobility
protocols to the proposed integrated solution. Based on our simulation results
obtained, the integrated solution of PMIPv6-MIH demonstrates better performance as
compared to other mobility protocols. As for the future work, we would like to
improve the handover latency, and evaluate the performance of the proposed
PMIPv6-MIH on real-time applications e.g. video streaming.

References
1. Johnson, D., Perkins, C., Arkko, J.: IP Mobility Support in IPv6. RFC 3775 (June 2004),
http://www.ietf.org/rfc/rfc3775
2. Perkins, C.E.: Mobile Networking Through Mobile IP. IEEE Internet Computing 2(1),
58–69 (2002)
3. Yaakob, N., Anwar, F., Suryady, Z., Abdalla, A.H.: Investigating Mobile Motion
Prediction in Supporting Seamless Handover for High Speed Mobile Node. In:
International Conference on Computer and Communication Engineering, pp. 1260–1263
(2008)
4. Estrela, P.V., Vazao, T.M., Nunes, M.S.: Design and evaluation of eTIMIP – an overlay
micro-mobility architecture based on TIMIP. In: International Conference on Wireless and
Mobile Communications (ICWMC 2006), pp. 60–67 (2006)
5. Kong, K., Lee, W., Han, Y., Shin, M., You, H.: Mobility management for all-IP mobile
networks: mobile IPv6 vs. proxy mobile IPv6. In: International Conference on Wireless
Communications, pp. 36–45 (2008)
6. NS-2 home page, http://www.isi.edu/nsnam/ns
7. Kwon, T.T., Gerla, M., Das, S.: Mobility management for VoIP service: Mobile IP vs. SIP.
IEEE Wireless Communications 9(5), 66–75 (2002)
56 Md.M. Hassan and K.H. Poo

8. Jung, J.-W., Kim, Y.-K., Kahng, H.-K.: SCTP mobility highly coupled with mobile IP. In:
de Souza, J.N., Dini, P., Lorenz, P. (eds.) ICT 2004. LNCS, vol. 3124, pp. 671–677.
Springer, Heidelberg (2004)
9. Columbia IP micro-mobility suite (CIMS),
http://tagus.inesc-id.pt/~pestrela/ns2/mobility.html
10. Abdalla Hashim, A.H., Ridzuan, F., Rusli, N.: Evaluation of Handover Latency in Intra-
Domain Mobility. In: The Fourth World Enformatika Conference (2005)
11. Taniuchi, K., Ohba, Y., Fajardo, V.: IEEE 802.21: Media independent handover. Features,
applicability, and realization 47(1), 112–120 (2009)
Modeling and Simulation Analysis of QPSK
System with Channel Coding

T.P. Surekha1, T. Ananthapadmanabha2, C. Puttamadappa3, and A.P. Suma4


1
Assistant. Professor., Dept. of E&CE, Vidyavardhaka College of Engineering,
Mysore and Research Scholar at NIE, Mysore, India
[email protected]
2
Professor, Dept. of E&EE, National Institute of Engineering, Mysore, India
And Honorary secretary of IEI, Mysore local center, India
[email protected]
3
Professor and Head, Dept. of E&CE, S.J.B. Institute of Technology, Kengeri, Bangalore
north, India
[email protected]
4
Persuing her masters at SJCE, Dept. of Instrumentation and Technology, Mysore

Abstract. The most appropriate modulation and channel coding for a Very
Small Aperture Terminal (VSAT) system is Quadrature Phase Shift Keying
(QPSK). The Channel can be wire or wireless voice and data applications due
to its flexible system architecture. In this paper, a Simulink based QPSK system
is simulated to study the characteristic performance analysis of Additive White
Gaussian Noise (AWGN) channel. Simulation study helps to visualize eye-
diagram and Root Raised cosine (RRC) Filter with scatter plot. The error rate is
calculated by comparing a transmitted data stream with a receive data stream
with the help of delay introduction. Characteristic performance analysis is done
by comparing the un-coded data with coded data using two different models.
The Bit Error Rate (BER) curve for a Communication system illustrates the
relationship between power in the transmitted signal in terms of signal to noise
ratio (SNR) and the resulting BER for the system.

Keywords: AWGN, BER, Channel modeling, E b / No, QPSK, RRC filter,


SNR, VSAT.

1 Introduction

T he choice of the modulation technique for a given communication system


strongly depends on the nature of the characteristics of the medium on which it
has to operate. QPSK is the most popular choice of modulation technique for use in
satellite communication links carrying digital data. All digital links are designed using
specific symbol rate, and specific filters that minimize Inter symbol interferences
(ISI). A symbol in a baseband link is a pulse of current or voltage. VSAT stands for
very small aperture terminal, used in commercial satellite communication‘s system.
The VSAT earth station consists of two basic components, an outdoor unit (OUT) and

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 57–64, 2011.
© Springer-Verlag Berlin Heidelberg 2011
58 T.P. Surekha et al.

an Indoor Unit (IDU). IDU consists of QPSK modem equipment. In a Satellite link,
Modulation and Channel coding is an important key consideration in determining the
efficient and error-free transfer of information over a communication channel. In
choosing the most appropriate modulation for a VSAT system, ease of
implementation is a major factor, since VSATs are very cost-sensitive. The most
common forms of modulation used in VSAT system are Quadrature Phase shift
Keying (QPSK).
The purpose of this paper is to illustrate some important aspects on analysis and
simulations of QPSK system operating over an Additive White Gaussian Noise
(AWGN) channel. All the modeling and simulation is carried out using Simulink. In
the simulation model, Bit Error rates (BER) of QPSK system versus the Eb /No the
digital signal to noise (SNR) are used to evaluate the system performance analysis.
The basic description of QPSK system is as shown in Fig.1. It consists of Data source,
QPSK Transmitter, Channel, QPSK Receiver and a Data sink.

Data QPSK QPSK Data


source Transmitter Channel
Receiver sink

Fig. 1. The basic QPSK system

1.1 Data Source

The original binary data to be transmitted is first converted into bit stream. In QPSK
system, input signal is frame-based signal representation, by formatting data as an M-
by-1 column vector, where M represents the number of samples per frame and
element of the vector corresponds to values at the sample time. Thus data signal is a
Bernoulli Binary Generator, will generate an output bit sequence. In – frame based
processing, the blocks operate on each column (channel) of the incoming data. A
multichannel frame based signal is represented by an M-by-N matrix. Usually, the
number of possible signals is M= 2n , where n is an integer.

1.2 QPSK Transmitter

The QPSK transmitter converts the bits into integers or symbols and applies to
baseband modulation and further followed by optional pulse shaping. The result is a
pass band signal which can be transmitted over a physical channel. The modulation
process can be viewed as a complex modulation scheme using a scatter diagram. The
scatter diagram allows us to visualize the real and the imaginary (in-phase and
quadrature) component of the complex signal. Pulse shaping is an important
consideration in the design of a system. The pulse shape filter must make efficient use
of bandwidth and also have limited duration in time. A pulse too wide in time will
overlap into adjacent symbol periods and cause inter symbol interference (ISI). This
Modeling and Simulation Analysis of QPSK System with Channel Coding 59

filtering can be performed by using Root-Raised cosine (RRC) filters. The eye
diagram allows us to understand the time domain characteristic of a signal and its
susceptibility to symbol timing error.

1.3 Channel Coding

Channel coding is an important technique to detect and correct errors that occur when
messages are transmitted in a digital communication system. Channel coding can take
the form of a block code or a convolutional code. Convolutional codes create a trellis
structure, a decision tree that traces all possible sequences of codeword’s. To decode
this coding scheme, the Viterbi decode is typically implemented. Communication
channels introduce noise, fading, interference, and other distortions to the transmitted
signals. Several different channels are possible. The one being used here is AWGN
channel, It is assumed that while passing electromagnetic waves through air or other
mediums, there is an additive noise introduced to the transmission. Thus channel
simply adds white Gaussian noise to the signals as shown in Fig.2.

White noise

From transmitter To receiver

Fig. 2. AWGN channel

1.4 QPSK Receiver

The receiver is the most complex part in the system. It performs the reverse process of
the transmitter. Receiver block takes the output from the channel, and filters out the
signals by using RRC filter and demodulates the QPSK signals and finally convert it
into either bit converter or viterbi decoder (for coded).

1.5 Data Sink

The Error Rate Calculation block compares a transmitted data stream with a receive
data stream to calculate the error rate of a system. It also outputs the number of error
events that have occurred, and the total number of bits or symbols compared.

2 Implementation

2.1 Methodology

Modeling and simulating of coded QPSK system is implemented in this paper. The
bits are mapped onto corresponding QPSK symbols using Gray coding, as shown in
Fig. 3.
60 T.P. Surekha et al.

B=01 A=11

C= 00 D=10

Fig. 3. Constellation diagram for QPSK system

The implementation of QPSK is of higher order PSK. Writing the symbols in the

2
Si (t) = Cos 2 2 1 0≤ t ≤ Ts
Where i = 1,2,3,4--------- (1)

This yields the four phases , , , as needed. For the QPSK signal set, the four
signals in the set can be expressed in terms of the basis signals as

S qpsk (t) = √ 2 1 ф √ 2 1 ф

Where i = 1,2,3,4--------- (2)

Ф1 (t) and ф2 (t) are the basis functions defined by

ф (t)= 2 T Cos (2πf t) 0≤ t ≤ Ts (3)

ф (t)= 2 0≤ t ≤ Ts (4)
T Sin (2πf t)
The first basis function is used as the in-phase component of the signal and the second
as the quadrature component of the signal. The average probability of bit error in the
additive white Gaussian noise (AWGN) channel is obtained as
2E
Pe, QPSK = Q N
(5)

Where Es is the energy of the signal given by Es = 2Eb, and No is the noise.

2.2 Simulation Model

Simulink, developed by the Math works, is an tool for multi-domain simulation and
Model-based Design for dynamic and Communication systems. Communication
Block set of Simulink is helpful in simulating the modeling. The base-band simulation
model of coded QPSK is as shown in Fig.4.
Modeling and Simulation Analysis of QPSK System with Channel Coding 61

QPSK Specifications:
Up-sample Factor = 8
Pulse shaping Filter α =0.25
Group Delay = 4

Fig. 4. The QPSK simulation model

All signal sources in the signal processing and communication‘s can generate
frame based data. In this work, the signal is frame based and samples are propagated
through a model and multiple samples are processed in batches. Frame – based
processing takes advantage of Simulink matrix processing capabilities to reduce
overhead. Complex modulation scheme are best viewed using a scatter diagram. The
scatter diagram allows us to visualize the real and imaginary (in-phase and
quadrature) component of the complex signal. By doing so, the phase and amplitude
distortion caused by pulse shaping channel or other impairment is revealed. Thus
Fig. 5. shows the Scatter plot of QPSK modulation.
An Eye diagram is a convenient way to visualize a shaped signal in the time
domain, which indicates that the ‘eye’ is most widely opened, and use that point as
the decision point when de-mapping a demodulated signal to recover a digital
message as shown in Fig. 6. Using the Root-raised Cosine (RRC) filters at the
transmitter, a slight amount of phase and magnitude distortion can be seen at the
output of the transmitting filter. To verify that the model was built properly, Error rate
Calculation block compares a transmitted data stream with a receive data stream to
calculate the error rate of a system. It also outputs the number of error events that
have occurred, and the total number of bits or symbols compared. The block can
output the error statistics as a variable in the displayed port.

2.3 System Analysis

Characterizing the performance of a communication system under noisy conditions is


an important part of the design process. Noise, interference, fading, and other types of
distortion affecting the transmitted signal can cause incorrect decisions to be made by
62 T.P. Surekha et al.

Fig. 5. Scatter plot of QPSK system

Fig. 6. Eye diagram of QPSK system

the receiver, resulting in bit errors. The ratio of bit errors to received bits is called the
bit error rate (BER). The BER curve illustrates the relationship between power in the
transmitted signal in terms of signal-to-noise ratio (SNR) and the resulting BER for
the system. By analyzing the BER curve for a given system, we can find the minimum
SNR that is required to achieve a particular BER. Thus bit error rate is computed by
simulating the QPSK system and comparing the input with the resulting output
sequence without channel coding as shown in Fig.7 and with channel coding as
shown in Fig.8.Which Performs simulation for a range of SNR value results in the
BER curve.
Modeling and Simulation Analysis of QPSK System with Channel Coding 63

Fig. 7. Bit error rate as a function of E b /No for un-coded QPSK curve

Fig. 8. Bit error rate as a function of Eb /No Compared with coded And un-coded results
64 T.P. Surekha et al.

3 Results and Conclusion


Bit error rate for a given QPSK system is computed and compared by using two
different models. First one being un-coded model and second being coded model. One
method of computing the bit error rate of a communication system is to simulate the
system and compare the input with the resulting output sequences. Characteristic
performance analysis of such simulations for a range of SNR values results in the
BER curve. The first method being un-coded model, varying E b /No ranges from 1: 8.
The second method being coded model, uses E b /No range of 1:5. Thus by using
coded model of QPSK system, Fig.8 gives a final comparison of two BER curves.
When designing a system with a specified BER of 1e-6, we can simulate transmission
of 1e8 bits for each point on the BER curve where the width of confidence interval
can be 95% .The purpose of this work is to use QPSK modulation technique in VSAT
system for data transmission from one point to the other using wireless concept which
is also an example of IEEE 802.16.
BER Tool also allows us to visualize plots of multiple BER curves on a single
axes. Which is taken as future work.

Acknowledgement
The authors are very grateful to the Management of Vidya vardhaka College of
Engineering, Mysore, Karnataka India, The National Institute of Engineering,
Mysore, Karnataka, India..S J B I T,Kengeri, Bangalore, Karnataka, India. For their
constant encouragement, and Motivation during their work.

References
[1] Li, X.: Simulink – based Simulation of quadrature Amplitude Modulation (QAM) System.
In: Proceedings of the 2008 IAJC – IJME International Conference (2008)
[2] Sukla, T., Jain, D., Gautham, S.: Implementation of Digital QPSK modulator by using
VHDL/MATLAB. International Journal of Engineering and Technology 2(9)
[3] Pratt, T., Bostian, C., Allnutt, J.: Satellite Communication, 2nd edn. John Wiley and Sons,
Chichester
[4] Rappaport, T.S.: Wireless Communications, Principles and Practice, 2nd edn. Prentice –
Hall of India Private Limited
[5] Sharma, S.: Wireless and Cellular Communications, 2nd edn. S.K. Kataria and Sons
Katson Books
[6] Elbert, B., Schiff, M.: Simulating the performance of Communication Links with Satellite
Transponders. Application Technology Strategy, Inc., http://www.goggle.com
Combating Sybil Attacks in Vehicular Ad Hoc Networks

Khaled Mohamed Rabieh1 and Marianne Amir Azer2


1
Root Certification Authority Department, ITIDA, Egypt
[email protected]
2
School of Communications and Information Technology, Nile University, Egypt
Computer and Systems Department, National Telecommunication Institute, Egypt
[email protected]

Abstract. Vehicular Ad Hoc Networks (VANETs) are considered as a


promising approach for facilitating road safety, traffic management, and
infotainment dissemination for drivers and passengers. However, they are
subject to an attack that has a severe impact on their security. This attack is
called the Sybil attack, and it is considered as one of the most serious attacks to
VANETs, and a threat to lives of drivers and passengers. In this paper, we
propose a detection scheme for the Sybil attack. The idea is based on public key
cryptography and aims to ensure privacy preservation, confidentiality, and non-
repudiation. In addition, we suggest a scalable security and privacy solution
using short-lived and authenticated certificates that must be issued from the
national certification authority in order to guarantee trust among vehicles.

Keywords: Digital envelope, security, Sybil attack, vehicular ad-hoc networks.

1 Introduction
Wireless Networks have a wide range of applications that is why they have become
an essential part of our daily life. Amongst wireless networks, VANETs have many
applications such as managing traffic and providing safety for vehicles. In VANETs,
every vehicle communicates with other vehicles and with roadside infrastructures as
well. These networks are mainly used for informing vehicles in case of emergencies
such as car accidents, urgent breaking or traffic jam. This is done by broadcasting
safety messages to warn other vehicles. As those safety messages have a substantial
role in these networks, they should be sent from credible transmitters and contain
proper and unaltered information. Despite the importance of location and identity
privacy in such networks together with the need to protect vehicles from being
tracked, it is necessary to identify the message sender in order to prevent repudiation
in cases of accidents and crimes. A serious problem arises when a malicious vehicle is
to launch a Sybil attack by holding the identities of multiple vehicles and enforcing
false data. If benign entities are unable to recognize the Sybil attack, they will believe
the false information, and base their decisions on it. Hence, addressing this problem is
crucial to practical vehicular network systems. Fig. 1 illustrates the Sybil attack
problem in which some or malicious nodes cooperate to deceive the other honest
nodes, or in other scenarios of this attack, a node illegitimately claims multiple

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 65–72, 2011.
© Springer-Verlag Berlin Heidelberg 2011
66 K.M. Rabieh and M.A. Azer

Fig. 1. Sybil attack in which a Sybil node pretends to have several identities or a group of
malicious nodes cooperate together to affect the overall network decision, the bold black lines
show the false data and false information between honest and Sybil nodes [2]

identities. A Sybil attack may be prevented by requiring vehicles to include a unique


identity in transmitted packets. However, privacy is recognized as one of the most
important attributes of a VANET, and cannot be compromised at any time [1]. It
follows that such a solution will compromise the privacy of vehicles as an attacker
will be able to identify their position based on the packets transmitted. Therefore,
Sybil attacks need to be detected while preserving the vehicles’ privacy.
In this paper, we propose a solution based on Public Key Infrastructure (PKI) for
preventing and detecting Sybil attacks. The remainder of this paper is organized as
follows. Section 2 describes the work done in order to solve the Sybil attack’s
problem and the pros and cons of each solution. Section 3 describes our detailed
proposed solution, and finally we conclude this paper in section 4.

2 Related Work
Due to the danger inherent in the Sybil attack; its detection in VANETs has recently
attracted much attention. Douceur in [3] introduced the puzzle solution that tests the
computing resource of nodes to detect Sybil attack. But in [4], J. Newsome et al.
proved that Douceur’s method is not suitable for VANETs because an attacker can
easily have a stronger computing ability than the honest node. Newsome et al.
improved the method by assuming that each vehicular node can only have one
wireless communication module and only occupy one channel resource at a time. But
the special radio modules can bring hazards during implementation.
One of the most famous solutions was proposed in [4]. It uses the resource testing
idea which relies on the assumption that any physical device has only one radio and it
can assign each of its n neighbours a different channel to broadcast some messages on
and it can then choose a channel randomly to communicate with other vehicles.
However, this is subject to the risk of not accurately detecting all Sybil nodes and
making all communication channels busy as well.
Hubaux[5] proposed another solution as three or more road side units perform
distance bounding on a vehicle before computing its location. In [6] public key
cryptography was used to solve the security problems in VANETs but it was a general
solution not specific to any type of attack. Guette and Bryce [7] suggested a secure
Combating Sybil Attacks in Vehicular Ad Hoc Networks 67

hardware based method built on the trusted platform module (TPM). Secure
information and related protocols are stored in shielded locations of the module where
any forging or manufacturing of data is impossible, and the platform credentials are
trusted by car manufacturers; therefore, the communications between TPMs of the
vehicles are protected from the Sybil attack. However, as the TPM is a variation of a
certificate, it still needs trusted authorities that can take the responsibility of managing
individual vehicles it is also costly because it requires specific hardware. In [8] there
exists a solution that depends on Road Side Units (RSUs) broadcasting the digital
signatures with timestamp to vehicles in their communication range, however the
attacker can impersonate RSU and injects malformed digital signatures with
timestamps that can affect the total decision of VANETs. Certified timestamps signed
by RSUs are sent to vehicles upon request were suggested in [9], but this solution
requires time synchronization between all RSUs, which may be difficult. Also, RSUs
are subject to resource exhausting by continuously sending previous time stamps to
enforce it to produce aggregated time stamp.

3 Proposed Scheme for Sybil Attack Prevention


In this section, we present our proposed scheme that aims to detect and prevent the
Sybil attack. We will start by presenting the VANET architecture that we shall be
adopting throughout this paper, as well as our assumptions. This will be followed by
describing the steps that should be used for the Sybil attack prevention.
In the VANET architecture, there are Road-Side Boxes (RSBs) spread along the
roads, they represent semi-trusted entities that work in conjunction with the
Department of Motor Vehicle (DMV) that is responsible for yearly registration
renewal of all vehicles and plays a very critical rule in detecting the Sybil attack in the
proposed solution. The DMV will be treated as a standard certificate authority that
regularly receives a valid certificate from the national root certificate. Fig. 2 depicts
the VANET architecture that we shall be using throughout this document.

Fig. 2. VANET Architecture [1]


68 K.M. Rabieh and M.A. Azer

In vehicular network applications, vehicles are expected to broadcast new events


whenever they are detected. In Order to clearly define the notion of events, we need to
unambiguously standardize their format. An event consists of the following fields:
• Timestamp
• Location (x,y)
• The information describing the event
• Car ID

Events can be categorized into two types:


• Green events like spreading unique packets for each vehicle to attract the
attention of surrounding vehicles. This is called beaconing.
• Red events like Emergency, accidents, traffic jam. These events are more
important and subject to attacks and therefore may lead to disasters and human
injury or human death.
Our proposed scheme has the following assumptions:
• The car’s owner has a smart token or smart card that carries his digital
signature.
• The car itself has a kind of smart card reader or USB for the use of the token.
• Either the smart card or the token is tamper proof, it carries the private key of
the driver and it is able of signing events.

In order to detect and prevent the Sybil attack, our proposed scheme has the following
steps:
1- The driver watches an emergency and needs to inform the DMV for taking an
action.
2- The driver describes the event and inserts his own card/token in the reader/USB.
3- The event is structured such that the information describing the event is entered
by the driver in addition to the timestamp of the event. The driver signs the dual hash
which is based on the dual signature idea used in Secure Electronic Transaction (SET
[10]) protocol to guarantee the linkage between the payment order and purchase
order. In the proposed solution we replace the payment order and purchase order
originally mentioned in the SET protocol by the personal ID stored in the token/smart
card and the event data. Both are hashed and the hashes are concatenated, hashed
again and then signed by the private key from the token/smart card. Fig. 3 depicts the
process of the dual signature.
The Personal ID is taken from the smart card, the event is created with a predefined
structure and both are signed by the driver’s private key, this is to ensure the non-
repudiation. Similar events with the same signature within specified time frames will
be discarded by the RSBs; this is to ensure that Sybil attack is prevented. Another
important function added by the Dual Signature is that it links between the person’s
ID and the event, therefore; it can be used for legal issues in case of attacks.
Combating Sybil Attacks in Vehicular Ad Hoc Networks 69

Fig. 3. Customized Dual Signature for VANETs

Fig. 4. Creation of Digital Envelope inside the processing centre of the vehicle

4- A Digital envelope is then created as shown Fig.4, it consists of four fields as


follows.
• Event: Information that describes the emergency or the event.
• Personal ID: Unique identifier for each vehicle owner.
• Dual Signature: Consisting of the event and the personal ID signed by user’s
private Key.
• Random Symmetric key that is used to encrypt the whole digital envelope.
The digital envelope is encrypted by a random symmetric key because symmetric
encryption is much faster than asymmetric one, whereas the symmetric key itself is
encrypted by the DMV public key. Hence, only the DMV can decrypt and read out
the event. The Digital envelope is created inside the processing centre of the vehicle
and then transmitted to the RSB.
5- As the RSB is a semi– trusted device, it only forwards the envelope to the DMV;
The DMV decrypts the envelope using the private key, decodes the event, gets the
70 K.M. Rabieh and M.A. Azer

dŚĞĚƌŝǀĞƌǁĂŶƚƐƚŽŝŶĨŽƌŵ ƌŝǀĞƌŚĂƐ zĞƐ


^ƚĂƌƚ dŚĞĚƌŝǀĞƌĚĞƐĐƌŝďĞƐƚŚĞĞǀĞŶƚĂŶĚ
ƚŚĞDsĂďŽƵƚĂĐĞƌƚĂŝŶ ƐŵĂƌƚĂƌĚ
ŝŶƐĞƌƚƐŚŝƐŽǁŶƐŵĂƌƚĐĂƌĚ
ĞǀĞŶƚ

EŽ

E
dŚĞĚƌŝǀĞƌĚĞƐĐƌŝďĞƐƚŚĞ
ƌŝǀĞƌŚĂƐĂ zĞƐ
ĞǀĞŶƚĂŶĚŝŶƐĞƌƚƐŚŝƐ
h^dŽŬĞŶ
ŽǁŶh^dŽŬĞŶ

^LJďŝůĂƚƚĂĐŬŝƐĚĞƚĞĐƚĞĚĂŶĚĐĂƌŝƐ
ďůŽĐŬĞĚ͘ EŽ
ŝŐŝƚĂůŶǀĞůŽƉĞŝƐĐƌĞĂƚĞĚĂŶĚŝƐ
džŝƚ ƐĞŶƚƚŽƚŚĞZ^
zĞƐ

EŽ Z^ǁŝůůĐĂŶĐĞůƚŚĞ
/ŶĐŽŶƐŝƐƚĞŶĐLJ ^ƵƐƉŝĐŝŽƵƐDŽĚĞ
ŽĐĐƵƌƌĞĚ͍ Z^ĨŽƌǁĂƌĚƐƚŚĞĞŶǀĞůŽƉĞƚŽƚŚĞDs

DsǀĂůŝĚĂƚĞƐƚŚĞĐĂƌ/ĂŶĚƌĞƐƉŽŶĚƐƚŽ
Z^ǁŝůůƉŝĐŬƌĂŶĚŽŵŶƵŵďĞƌŽĨŚĂƐŚŝĚƐŽĨĐĂƌƐ
ƚŚĞZ^
ĂŶĚǁŝůůĐŽŶŶĞĐƚƚŽĂĚĞǀŝĐĞŝŶƚŚĞĐĂƌƚŚĂƚŚĂƐ
ĂĐĐĞƐƐƚŽƐŽŵĞǀĂƌŝĂďůĞƐůŝŬĞƚŚĞǀĞůŽĐŝƚLJĂŶĚ
ĂĐĐĞůĞƌĂƚŝŽŶ

EŽ
Z^ sĂůŝĚZ/

Z^ǁŝůůƚƵƌŶƚŽ^ƵƐƉŝĐŝŽƵƐDŽĚĞ ŽƵŶƚĞƌŝƐ
ŝŶĐƌĞĂƐĞĚ

zĞƐ

Z^ƚŚƌĞƐŚŽůĚ
sĂůƵĞZĞĂĐŚĞĚ͍ Z^ǁĂŝƚƐ

ĨŽƌŽƚŚĞƌĞǀĞŶƚƐ

Fig. 5. Flow chart of the proposed algorithm

vehicle’s ID and compares it with the database to determine the owner of the car. If the
owner of the car’s ID is identical to the personal ID sent in the digital envelope, the RSB
forwards its response to the DMV to confirm that it is valid, otherwise it will respond to
the RSB by invalid. A Threshold value is maintained in all RSBS. If an RSB’s counter
has reached this threshold the RSB will turn to suspicious mode. This value is adjustable
and it should depend on the region’s vitality to the motion of the city.
6- During the suspicious mode, in order to verify whether an attack (co-operative
Sybil attack) has occurred or not, the RSB will pick a random number of hash IDs of
cars and will connect to a device in the car that has access to some variables like the
velocity and acceleration of the vehicle. If there is consensus of the events, then
suspicious mode is cancelled and the RSB is sure that an accident has really occurred.
The RSB should now inform the DMV about the accident’s location determined from
the received events or from the responses of the vehicle devices. The DMV then
broadcasts the emergency’s location in order for other vehicles to take another route.
Combating Sybil Attacks in Vehicular Ad Hoc Networks 71

If there is no consensus, then there is some kind of co-operative Sybil attack.


7- Once an attack is detected, the RSBs block any further messages from the car ID
which reports false events. The RSB also reports the result to the DMV that in turns
applies penalties to the guilty car or group of cars.
8- A receipt is then sent to the attacker to inform him about the penalty.

4 Conclusions and Future Work


In this paper, we proposed a method for detecting and combatting Sybil attacks. This
method depends on well- established architecture through distributed RSBs along the
road and a centralized DMV which decides whether Sybil nodes exist or not. The
mechanism is based on PKIand takes advantages of Dual Signature concept explained
in the secure electronic transaction protocol to be used in courts as an evidence of the
occurrence of such an attack.
Based on PKI, the solution takes advantage of the digital envelope in which a
digital signed combination of personal ID, event, and dual signature are encrypted
with the DMV public key to be transferred to the DMV. This guarantees both security
and privacy preservation of the Vehicle Information and the Personal ID information
as well.
We plan to simulate our proposed scheme as a first phase in order to evaluate its
performance and complexity in different environments. We also plan to investigate
through simulations the optimum threshold value for the RSB in order to decide
whether an attack has occurred or not. This is a challenge because if the threshold is
too low, we risk having lots of false positives; whereas if it is too high false negatives
can occur. Moreover, Traditionally, Certificate Revocation Lists (CRLs) were used in
conjunction with PKI schemes in order to verify the validity of certificates used
within the network. However, we are willing to make use of the Online Certificate
Status Protocol (OCSP) [11], by integrating it to our proposed scheme, to guarantee
that the used certificates are fresh enough and avoid using already revoked ones. This
protocol is much easier and faster than the CRLs, and therefore more convenient to
VANETs.

References
1. Zhou, T., Choudhury, R.R., Ning, N., Chakrabarty, K.: Privacy-Preserving Detection of
Sybil Attacks in Vehicular Ad Hoc Networks. In: Proceedings of the 2007 Fourth Annual
International Conference on Mobile and Ubiquitous Systems Networking&Services,
MobiQuitous (2007)
2. Yu, H., Kaminsky, M., Gibbons, P., Flaxman, A.: Defending Against Sybil Attacks via
Social Networks. In: Proceedings of the 2006 conference on Applications, Technologies,
Architectures, and Protocols for Computer Communication (2008)
3. Douceur, J.: The Sybil Attack in Peer-To-Peer Systems. In: Proceedings of First
International Workshop on Peer-to-Peer Systems, March 7-8 (2002)
4. Newsome, J., Shi, E., Song, D., Perrig, A.: The Sybil Attack in Sensor Networks, Analysis
& Defences. In: Third International Symposium on Information Processing in Sensor
Networks, IPSN 2004 (2004)
72 K.M. Rabieh and M.A. Azer

5. Hubaux, J.P., Capkun, S., Luo, J.: The Security and Privacy of Smart Vehicles. IEEE
Security and Privacy Magazine 2(3), 49–55 (2004)
6. Raya, M., Hubaux, J.P.: Securing vehicular ad hoc networks. Journal of Computer Security
- Special Issue on Security of Ad-hoc and Sensor Networks (2007)
7. Guette, G., Bryce, C.: Using TPMs to Secure Vehicular Ad-Hoc Networks (VANETs). In:
Proceedings of the 2nd IFIP WG 11.2 International Conference On Information Security
Theory and Practices: Smart Devices, Convergence and Next Generation Networks (2008)
8. Chen, C., Wang, X., Han, W., Zang, B.: A Robust Detection of the Sybil Attack in Urban
VANETs. In: Proceedings of the 2009 29th IEEE International Conference on Distributed
Computing Systems Workshops, ICDCSW 2009 (2009)
9. Park, S., Aslam, B., Turgut, D., Zou, C.: Defense Against Sybil Attack in Vehicular Ad
Hoc Network-based on Roadside Unit Support. In: Proceedings of the 28th IEEE
Conference on Military Communications (2009)
10. Wei, H., Huang, S., Vi, G., Xie, Z.: An Anonymity Improvement Scheme of Secure
Electronic Transactions Protocols. In: 3rd International Conference on Advanced
Computer Theory and Engineering(ICACTE 2010) (2010)
11. Zhao, X., Wenyan, Z., Shanshan, C.: New Certificate Status Verification Scheme Based on
OCSP for Wireless Environment. In: International Forum on Computer Science-
Technology and Applications (2009)
12. El Zarki, M., Mehrotra, S., Tsudik, G., Venkatasubramanian, N.: Security Issues in A
Future Vehicular Network. In: Euro Wireless Conference (2002)
13. Yan, G., Choudhary, G., Weigle, M., Olariu, S.: Providing VANET security through
Active Position Detection. In: Proceedings of the Fourth ACM International Workshop On
Vehicular Ad Hoc Networks (September 2007)
TCSAP: A New Secure and Robust Modified
MANETconf Protocol

Abdelhafid Abdelmalek1,2 , Zohra Slimane1 , Mohamed Feham1 ,


and Abdelmalik Taleb-Ahmed2
1
STIC Laboratory University of Tlemcen Algeria
2
LAMIH Laboratory University of Valenciennes France
{a_abdelmalek,m_feham,z_slimani}@mail.univ-tlemcen.dz,
[email protected]

Abstract. Different protocols have been developed throughout the last


years to achieve automatic IP address allocation in Mobile Ad hoc Net-
works (MANETs). However, Autoconfiguration security issues are still
an open problem. In this paper, a new secure and robust IP Address
allocation protocol for standalone MANETs inspired from MANETconf
and named TCSAP is specified and evaluated within NS2. The proposed
solution is efficient and thwarts all possible attacks associated with dy-
namic IP address assignment in MANETs.

1 Introduction

In the last decade, large research efforts have been made to address challenges
posed by MANETs, These challenges include mainly IP address autoconfigu-
ration, routing, security and QoS issues. In security context, the major part of
research up to now was concentrated mainly on trust models and routing security
problems. However, the lack of security in previously suggested autoconfigura-
tion schemes can lead to serious attacks in potentially hostile environments,
mainly IP spoofing attack, sybil attack, traffic overload DoS attack, exhaustion
address space attack, and conflict address attack. This problem was tackled by
some few papers [1]-[5]. We have analyzed these proposals and pointed out their
weaknesses and shortcomings in [13]; we have identified also the imperative se-
curity requirements related to this problem. In the present paper, we propose a
new robust and secure stateful IP address allocation protocol for MANETs, by
applying a cooperative security scheme to cope with malicious nodes including
misbehaving nodes that could be compromised by potential adversaries. The
scheme relies on a fully distributed Certification Authority based trust model
in conjunction with a threshold signature scheme for issuing and revoking cer-
tificates, and ‘On-line Joint IP Address and Public Key Certificate’ ; this solves
definitively the problem of some attacks such as IP spoofing and Sybil attacks,
unsolved up to now by conventional mechanisms. The remainder of the paper is
organized as follows. In section 2, we develop our secure and robust autoconfigu-
ration scheme on the basis of threshold cryptographic tools. Section 3 is devoted

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 73–82, 2011.

c Springer-Verlag Berlin Heidelberg 2011
74 A. Abdelmalek et al.

to the design of the basic building blocks of the protocol TCSAP. A security
discussion is given in section 4. Section 5 presents our simulation experiments.
Finally, section 6 concludes the paper.

2 Threshold Concept Based Autoconfiguration and Trust


Model

We adopt in our solution for both schemes: IP Address allocation and trust
model, a fully distributed approach based on threshold concept.

2.1 Trust Model

Our trust model is based on a Fully Distributed CA [7] in conjunction with


threshold cryptography [8]. In a (k,n) threshold cryptosystem, the network con-
sists of n nodes, each node holds a share of the Network’s private key. The
On-line CA service is achieved transparently by a large enough subset of nodes
(i.e. a number greater or equal to the threshold k). To implement a threshold
cryptosystem in a spontaneous MANETs, we need:

1. To generate randomly and in a distributed manner (without a trusted party)


a pair of Network’s private/public keys, to split the Network’s private key
among the network and to allow shareholders to verify the correctness of their
shares. This is done by a joint verifiable random secret sharing protocol [10]
based on Shamir’s secret sharing [9].
2. To provide for any new joining node with a share of the Network’s private
key [7]
3. To provide a threshold digital signature scheme to sign issued, renewed or re-
voked certificates. With regard to the threshold signature protocol, a variety
of discrete log based schemes have been proposed [11] including Nyberg-
Ruepple or ElGamal- like and Elliptic Curve threshold digital signatures.

Note that in our scheme, each node must hold: On one hand, a valid share of the
Network’s private key and a pair of private/public keys approved by the On-line
CA.

2.2 Autoconfiguration Model

Let us consider a standalone MANET. We develop a stateful autoconfiguration


scheme inspired from MANETconf [6]. We distribute the autoconfiguration ser-
vice to all nodes in such a way that only a threshold number of nodes can collab-
orate in performing the service functionality. Then, the IP Address for a newly
arrived node is assigned by a subset of at least k nodes. Instead of MANET-
conf scheme in which an affirmative response from all nodes in the network is
needed before assigning any available IP address to a newly arrived node, our
scheme modifies MANETconf protocol and saves the communication bandwidth
TCSAP: A New Secure and Robust Modified MANETconf Protocol 75

by assigning free IP addresses without asking permission from any other node in
the MANET. To achieve this, we divide the Address Space into a fixed number
(say M ) of disjoint IP Address Blocks with equal sizes. We define an IP Address
Block as a consecutive range of IP addresses. The parameter M is a power of 2.

Maintained State Information: At any instant of time, each configured node


(see 3.1) must maintain some state information defined hereafter:

– Free IP Address Table (FAT ): contains the lowest free address of each IP
Address Block. (i-e M values)
– Pending IP Address Table (PAT ): contains recently assigned IP addresses
which are not registered yet.
– Registered IP Address Table (RAT ): Each entry in this table contains any
assigned and registered IP address, the corresponding node’s identity, its
public key and the On-line joint certificate validity period. A registered node
will be removed from the RAT if its certificate has expired. Nodes wishing
to maintain their addresses must make a request for maintenance within a
time specified before the expiry of their certificates.
– Requester Counter (RC ): this counter is maintained for each new node re-
questing for an autoconfiguration and to which an IP address is assigned but
not registered yet. It is incremented for each new request. To prevent the
Exhaustion Address Space Attack, the authorized attempts for the Autocon-
figuration Service Requesting are limited.

A configured node must update his state information in the following situations:
(i) Each time it reboots, (ii) Each time it leaves and joins the MANET again,
(iii) If it has not been solicited for a long time to perform the Autoconfiguration
Service. The node wishing to update its state information must collect redundant
data from at least k nodes.

IP Address Assignment: A new node will be assigned randomly one of the


lowest free addresses contained in the FAT, which means that the IP address is
assigned in an increasing order from a randomly chosen IP Address Block. We
impose to the new joining node to obtain its IP address from at least k nodes.
We use for this purpose the threshold signature described above and the new
concept of ‘On-line Joint IP address and Public Key Certificate’. Each allocated
IP address in the network is bound to node’s identity by means of this certificate
which must be signed by the On-line CA.
After having received a signed IP Address, the new node must broadcast a
signed registration message to all nodes to be able to participate actively in the
network. Any assigned IP address which is not registered yet is removed from
the FAT and kept in the PAT, either by the k signer nodes after having assigned
this address or by all nodes after having received a registration message for a
higher IP address in the same IP Address Block. If the registration message is
received the IP address is removed from the PAT and put in the RAT.
76 A. Abdelmalek et al.

3 TCSAP Protocol Details


This section specifies our new protocol TCSAP (Threshold Cryptography based
Secure Auto-configuration Protocol) which implements the trust model and the
autoconfiguration scheme described above.

3.1 Definition of Node’s States


1. Unconfigured node: any node wishing to join the MANET, and which is
not already registered with an ‘On-line Joint IP address and Public Key
Certificate’.
2. Configured node: any registered node within the MANET with an ‘On-line
Joint IP address and Public Key Certificate’
3. Node with Configuration in Progress: any unconfigured node which has ini-
tiated an autoconfiguration process that is not finished yet.

3.2 MANET Neighbors Discovery


MANET Neighbors Discovery protocol allows a node to discover its one-hop
neighbors by broadcasting periodically signed Discovery messages. The signature
here is done according to the node’s Off-line public key certificate. The node uses
the DiscoveryTimer to detect the presence of its one-hop neighbors. This timer
is rescheduled each time a Discovery_Request message is broadcast.

Type of Messages
– Discovery_Request : this message is used by an Unconfigured node to discover
its one-hop neighbors.
– Discovery_Welcome: is a reply message to any Discovery_Request message
when the responder is in state Configured.

MANET Neighbors Discovery Protocol: The MANET Neighbors Discov-


ery protocol is executed automatically by a node on boots/reboots when his
state is Unconfigured. The Discovery_Request message must contain the orig-
inator’s Off-line public key certificate and its signature. The recipient will re-
sponse if its state is Configured. It checks the signature; if it is valid it replies
by a Discovery_Welcome message containing its IP address, its Off-line public
key certificate and the signature, otherwise it discards the message. When the
requester receives the Discovery_Welcome message, it concludes that a MANET
is already established and has to start the Autoconfiguration Service Requesting.

3.3 Autoconfiguration of a Newly Arrived Node


In the proposed scheme, a new joining node is assigned an IP address by means
of the Autoconfiguration Service Requesting. Subsequently it is provided with
an ‘On-line Joint IP address and Public Key Certificate’. This is achieved in 4
phases: (1) Closest Servers Research, (2) Requesting the On-line certificate, (3)
Threshold signature of the On-line certificate and (4) Registration in MANET.
TCSAP: A New Secure and Robust Modified MANETconf Protocol 77

Type of Messages

– Config_Request : this message is used to start an Autoconfiguration Service


Requesting after receiving a Discovery_Welcome message.
– Config_Reply: this message is used by a node in state Configured as a reply
to Config_Request message.
– Config_Cert_Request : this message is used to request an ‘On-line Joint IP
address and Public Key Certificate’.
– Config_Cert_Reply: this message is used by the combiner as a reply message
to Config_Cert_Request message.
– Config_Advert : this message is sent by the combiner to inform all nodes
about the new assigned IP address.
– Config_Alert : this message is sent when a malicious node is discovered
among the coalition.
– Config_Register : this message enables a new configured node to perform a
registration within the MANET.

Closest Servers Research: Upon receiving Discovery_Welcome messages,


the newly arrived node broadcasts a Config_Request message to all nodes in a
radius rk calculated from the number of received Discovery_Welcome messages.
The algorithm for this procedure using the Abstract Protocol Notation [12] is
given in Fig. 1-a.
Any Configured node receiving a Config_Request message cheks if the re-
quester is listed in the Black List, or if the signature is not valid. If so, the
message is discarded; otherwise it checks the Requester Counter (RC ). If the re-
quester has already reached the limit, it is declared as malicious and the message
is discarded. Otherwise, the recipient sends a Config_Reply message including
the On-line Certification Authority’s public key, the list of available subnets and
the corresponding list of the lowest free Host-ID of each block from its FAT, the
received HopLimit, its ‘Off-line Public Key Certificate’, and its signature. If the
total received Config_Reply messages within a timeout period determined by
the ConfigTimer are less than the threshold k, then the requester increments rk
and repeats the process. Otherwise, it starts requesting the On-line certificate.

Requesting the On-Line Certificate: Upon receiving Config_Reply mes-


sages, the requester starts requesting an On-line certificate. The procedure is
summarized in the following steps (the algorithm is given in Fig. 1-b):

1. Step1: It selects among the closest responding nodes a coalition of at least


k nodes according to the received HopLimit values appearing in the Con-
fig_Reply messages.
2. Step2: It chooses randomly a lowest free Host-ID common to all the members
of the selected coalition.
3. Step3: It unicasts to these members a Config_Cert_Request message in-
cluding the list of the coalition members, the chosen lowest free Host-ID,
78 A. Abdelmalek et al.

its ‘Off-line Public Key Certificate’ and its signature, expecting reception of
a Config_Cert_Reply message from the combiner within a timeout period
determined by the ConfigCertTimer.

Fig. 1. APN Algorithm: (a) Research of closest servers, (b) Procedure of coalition
selection and certification requesting

Threshold Signature of the On-Line Certificate: Each member in the


coalition checks the validity of the Config_Cert_Request message, looks in its
CRL and Black List tables if no member of the coalition is malicious nor his
public key is revoked. If this holds, then each member makes its partial thresh-
old signature for the requested ‘On-line Joint IP address and Public Key Cer-
tificate’. The combiner of the partial signatures replies to the requester by a
Config_Cert_Reply message, and informs all nodes by a Config_Advert mes-
sage that an IP address has been attributed to the node in question. Then, all
nodes increment its Requester Counter (RC ) and delete this address from the
FAT and save it in the PAT. Hence, a new coming node will not have the pos-
sibility of choosing this address. If a malicious node has been discovered among
the coalition members, a Config_Alert message is sent to the honest members of
the coalition and to the new joining node. Subsequently, the requester performs
a new coalition selection while excluding the malicious nodes.

Registration in MANET: To proceed to registration in MANET, the newly


arrived node broadcasts to all nodes a Config_Register message using the site-
local scope all-nodes multicast address FF05::1 as destination address. This mes-
sage must include the new node’s ‘On-line Joint IP address and Public Key
TCSAP: A New Secure and Robust Modified MANETconf Protocol 79

Certificate’ and the signature of the whole IPv6 packet. This request must be
processed by each node without any acknowledgement.

4 Security Discussion

In this work, we have adopted a threshold cryptographic approach (n≥2k-1) to


achieve for our scheme security and robustness in the presence of (k-1) faults.
Unlike the previous approaches, which rely on a single node either in providing
autoconfiguration service, in our scheme the service is initiated and provided
by at least k arbitrary honest nodes. Consequently, we avoid any single point
of failure or trusted party. Moreover, our scheme is totally distributed over the
whole network, and a new joining node does not need any particular distribution
of its neighbors to be initiated with network and security parameters. Hence,
the service availability is guaranteed ubiquitously. The mechanism of mutual
authentication with Off-line certificates allows the servers to authenticate the
requester, that is only legitimate nodes can take part in the network, but also
the requester to authenticate the servers to prevent Man-In-the-Middle Attack.
However, malicious nodes may be present among the servers selected by the re-
quester. For this reason, Config_Alert messages are used to prevent malicious
nodes from providing or disturbing the autoconfiguration service. Threshold sig-
nature verification should also be used to isolate misbehaving nodes that are not
yet in Black List. The requester may also be malicious, the Requester Counter
(RC ) and the registration mechanism can efficiently thwart Exhaustion Address
Space and Sybil Attacks, the only possible ones in this case. The Traffic overload
DoS Attack is prevented by the maximum authorized HopLimit (less than the
threshold k) used in Config_Request messages. The mechanism of assigning an
IP address by a coalition instead of a single entity solves the problem of Conflict
Address Attack present in both stateful and stateless earlier approaches. The
concept of ‘On-line Joint IP address and Public Key Certificate’ we introduced
in our scheme represents, in the other hand, an effective mechanism to thwart
IP Spoofing Attack. A malicious node which wants to spoof either an unused IP
address or an already assigned IP address must hold an ‘On-line Joint IP ad-
dress and Public Key Certificate’ in which its public key is bind to the spoofed
IP address. Hence, instead of the limitations of the various solution approaches
analyzed in [13], none of the attacks quoted in section 1 appear to break our
proposal.

5 Simulation Experiments

Simulation experiments were performed using the network simulator NS-2 [14]
with CMU mobility extensions to evaluate the performance of our protocol in
terms of configuration latency and communication overhead. The configuration
latency metric represents the average delay for a new joining node to obtain an
‘On-line Joint IP address and Public Key Certificate’. This includes all possible
80 A. Abdelmalek et al.

delays caused by the messages exchanges, timeouts and cryptographic prim-


itives. The communication overhead metric represents the number of control
packets transmitted during the autoconfiguration process. The protocol TCSAP
is implemented within NS-2 using C++, by creating a new agent TCSAP. The
cryptographic primitives were simply modeled by delays. We used the results
published by [15] for a 1.83 GHz Dual Core Intel processor, under Windows
Vista (32 bits mode). We considered the RSA-2048 algorithm and the ECDSA-
233 algorithm respectively for ordinary signature and threshold signature.

5.1 Simulation Scenarios and Parameters

The random waypoint mobility model was used. The simulation time was set to
120 seconds. We used the AODV routing protocol. Each data point represents
an average value of five runs with the same settings, but different randomly
generated topology and mobility scenarios.
The following sets of simulation were performed.
a) Varying network density: We study here the effect of the network density
on latency and communication overhead. The area of the network was set to
1000m*1000m, for the 15, 25, 50, 75 and 100 node population, ensuring respec-
tively 15, 25, 50, 75, and 100 nodes/km2 for the network density. The simulations
were performed for different values of threshold k. No motion was applied in this
scenario.
b) Varying network mobility: we examine the protocol efficiency when the
mobility of nodes increases. A network area of 1000m*1000m with 50 nodes is
simulated for different values of threshold k. We vary the maximum node speed
from 0 to 50 m/s; pause time is set to 0, according to the following command
(example for 20 m/s node speed):
Setdest –v2 –n 50 –s 1 –m 20 –M 20 –t 120 –P 1 –p 0 –x 1000 –y 1000.

5.2 Simulation Results

a) Latency:

1. Impact of network density: Figure (Fig. 3-a) shows an increase in latency


when the network density is low (below 25 nodes/km2), in particular for the
high threshold values. The mean value of latency is less than one second.
The minimum was observed at (25 nodes/km2). But again, from this point
latency increase linear with respect to density. Latency increase also with
respect to the threshold parameter.
2. Impact of mobility: It was observed that node mobility has no significant
effect on latency (Fig. 3-b). This was because the simulated speeds were
lower than 50m/s, and that the mean latency is less than 1 second, for such
delay a node movement does not exceed 50m, and this in most time does
not break links. In some particular cases, the mobility may have positive/
negative impact on latency.
TCSAP: A New Secure and Robust Modified MANETconf Protocol 81

Fig. 2. Configuration Latency: (a) vs Network Density , (b) vs Node Mobility

Fig. 3. Communication Overhead: (a) vs Network Density, (b) vs Node Mobility

b) Communication Overhead:

1. Impact of network density: In networks with high density, there are more
nodes in the neighbourhood of the new joining node, and all reply to its
autoconfiguration service requesting, leading to a higher number of messages
exchange. For this raison, we observe in (Fig. 4-a) an increasing in overhead
when density increases. Note that this will increase also latency.
2. Impact of mobility: For the same reasons provided above, the node mobility
has no significant effect on overhead. (Fig. 4-b)

6 Conclusion
The TCSAP protocol proposed in this paper achieves IPv6 stateful dynamic
configuration for MANETs. Our solution provides both security and robustness
82 A. Abdelmalek et al.

and overcomes all the limitations of the previously proposed approaches while
still ensuring the timely IP address allocation. Furthermore, instead of others
approaches which use separate mechanisms for network parameters configuration
and security parameters configuration, our scheme achieves the same purpose at
once, which make it efficient in terms of latency and communication overhead
as shown by NS2 simulation results.

References
1. Buiati, F., Puttini, R.S., de Sousa Jr., R.T.: A Secure Autoconfiguration Protocol
for MANET Nodes. In: Nikolaidis, I., Barbeau, M., An, H.-C. (eds.) ADHOC-NOW
2004. LNCS, vol. 3158, pp. 108–121. Springer, Heidelberg (2004)
2. Cavalli, A., Orset, J.M.: Secure hosts autoconfiguration in mobile ad hoc networks.
In: ICDCSW 2004, pp. 809–814 (2004)
3. Wang, P., Reeves, D.S., Ning, P.: Secure Address Autoconfiguration for Mobile Ad
Hoc Networks. In: MOBIQUITOUS 2005, pp. 519–522 (2005)
4. Hu, S., Mitchell, C.J.: Improving IP Address Autoconfiguration Security in
MANETs Using Trust Modelling. In: Jia, X., Wu, J., He, Y. (eds.) MSN 2005.
LNCS, vol. 3794, pp. 83–92. Springer, Heidelberg (2005)
5. Langer, A., Kühnert, T.: Security issues in Address Autoconfiguration Protocols:
An improved version of the Optimized Dynamic Address Configuration Protocol.
In: archiv.tu-chemnitz.de (2007)
6. Nesargi, S., Prakash, R.: MANETconf: Configuration of Hosts in a Mobile Ad Hoc
Network. In: IEEE INFOCOM (June 2002)
7. Kong, J., Zerfos, P., Luo, H., Lu, S., Zhang, L.: Providing Robust and Ubiquitous
Security Support for MANET. In: IEEE International Conference on Network Pro-
tocols, pp. 251–260 (November 2001)
8. Di Crescenzo, G., Arce, G., Ge, R.: Threshold Cryptography in Mobile Ad
Hoc Networks. In: Blundo, C., Cimato, S. (eds.) SCN 2004. LNCS, vol. 3352,
pp. 91–104. Springer, Heidelberg (2005)
9. Shamir, A.: How to Share a Secret. Communications of the ACM 22(11), 612–613
(1979)
10. Pedersen, T.P.: A threshold cryptosystem without a trusted party. In: Davies,
D.W. (ed.) EUROCRYPT 1991. LNCS, vol. 547, pp. 522–526. Springer, Heidelberg
(1991)
11. Hwang, M., Chang, T.: Threshold Signatures: Current Status and Key Issues.
International Journal of Network Security 1(3), 123–137 (2005)
12. Gouda, M.G.: Elements of Network Protocol Design. John Wiley and Sons, Chich-
ester (1998)
13. Abdelmalek, A., Feham, M., Taleb-Ahmed, A.: On Recent Security Enhancements
to Autoconfiguration Protocols for MANETs: Real Threats and Requirements.
IJCSNS 9(4), 401–407 (2009)
14. The Network Simulator manual, The NS2 homepage,
http://www.isi.edu/nsnam/ns
15. Speed Comparison of Popular Crypto Algorithms, http://www.cryptopp.com
Highly Resilient Communication Using Affine Planes for
Key Predistribution and Reed Muller Codes for
Connectivity in Wireless Sensor Network

Samiran Bag1 , Amrita Saha2 , and Pinaki Sarkar3


1
Applied Statistics Unit, Indian Statistical Institute, Kolkata-700108, India
samiran [email protected]
2
CSE Department, IIT Bombay, Mumbai-400076, India
[email protected]
3
Department of Mathematics, Jadavpur University, Kolkata-700032, India
[email protected]

Abstract. Wireless Sensor Networks (WSN) consist of low powered and re-
source constrained sensor nodes which are left unattended for long duration of
time. Hence it is very challenging to design and implement cost effective secu-
rity protocols for such networks. Thus symmetric key cryptographic techniques
are preferred over public key techniques for communication in such scenarios.
Prior to deployment, keys are usually predistributed into the nodes and this prob-
lem has been well studied. Highlighting that connectivity and communication are
two separate aspects of a WSN, we propose a secure connectivity model using
Reed Muller codes. The model is then utilized to securely establish communica-
tion keys and exchange messages in a WSN designed on the basis of a scheme
that uses affine planes for key predistribution. Novel combination of both the
ideas yields highly resilient communication model with full connectivity between
nodes.

Keywords: Security, Connectivity, Communication, Reed-Muller Codes, Affine


Planes.

1 Introduction

Wireless sensor networks consist of tiny sensor nodes that have very limited battery
power, less amount of storage, low computational power and they are scattered in large
numbers over a vast region. The sensors communicate between each other and with
the base station via radio frequencies. These networks are used in civilian purposes
like smoke detection, wild fire detection, seismic activity monitoring, ocean tempera-
ture monitoring, salinity monitoring of sea water. Besides they have large application
in military purposes, for instance monitoring enemy movements. Clearly, the nodes
deal with very sensitive data and can communicate within a special range called Ra-
dio Frequency range. Since sensors are deployed unattended over the target area this
makes them physically insecure and prone to adversarial attacks. Thus arises the need of
secure communication model in WSN to circumvent these attacks.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 83–94, 2011.

c Springer-Verlag Berlin Heidelberg 2011
84 S. Bag, A. Saha, and P. Sarkar

A secure communication model makes use of (low cost) cryptographic primitives.


Existing schemes like Kerberos [11] & public key cryptography [6] are not suitable to
this kind of resource constrained system due to inherent cost associated to them.
Key predistribution is a method to preload cryptographic keys in sensor nodesn be-
fore they are deployed in the target area. It is a symmetric key approach, where two
communicating nodes share a common secret key. The message encrypted decrypted
using the same secret key. Thus both the sender and receiver nodes must be preloaded
with the same key. So prior to deployment every node has to be preloaded with a set
of keys called its key ring or key chain. A centralized authority called Base Station or
Key Distribution Server (KDS) preloads the key ring of every node from a pool (aka
key pool) of keys meant for the entire network. Immediately after deployment shared
keys are to be established between nodes before actual communication. This phase is
called shared key discovery. In absence of common (shared) keys between two sensors
a path-key need to be established between them (aka path key establishment).

1.1 Related Work


Key predistribution in sensor networks was first considered by Eschenaur and Gligor
[5]. In their work ever key is associated with an unique key identifier. Keys are randomly
drawn from the key pool to form the Key rings of the sensors. Key establishment is also
random. Such method of key predistributuion is probabilistic in the sense that both key
distribution and etablishment is done randomly. Many such probabilistic key predistri-
bution schemes have been well studied and presented in a survey report publisehed in
2005 by Çampete and Yenner [2].
Shared key establishment and Path key discovery can become very difficult task for
above probabilistic approaches. Lee and Stinson proposed two schemes [7,8] where
they have adopted combinatorial techniques for predistribuion and later establishment
of keys. Their works also suggests that both shared key establishment and path key
discovery can be better achieved by the suggested deterministic approach.
Chakrabarti et al. [3] proposed a hybrid key predistribution scheme by merging the
blocks in combinatorial designs. They randomly selected blocks from transversal design
proposed by Lee and Stinson [7,8] & merged them to form the sensor nodes. Though
this technique increase the key ring sizes per node, it improves the resilience & com-
munication probability of the network. Ruj & Roy [9,10] used several combinatorial
designs & codes like Partially balanced incomplete block designs (PBIBD), transversal
design & Reed-Solomon codes to predistribute keys.

1.2 Our Contribution


Very recently, Bag and Ruj [1] have utilized finite affine geometry to propose a deter-
ministic key predistribution scheme. In this paper we discuss enhancement of resiliency
of their scheme. Their scheme uses finite affine plane over Zq , where q is a prime. For
this we observe that communication and connectivity are two separate aspects of a
WSN. Then apply Reed Muller Codes to model the connectivity aspect so as to make
it secure by using suitable cryptosystems. To the best of our knowledge, this novel idea
of separating connectivity from communication and then applying a secure model to
Highly Resilient Communication Using Affine Planes for Key Predistribution 85

the connectivity aspect of a WSN been proposed for the first time by Sarkar et al. in
[12]. Combination of both the schemes results in a highly resilient key predistribution
scheme for a WSN providing full connectivity amongst the nodes.

1.3 Basic Notions

Before explicitly explaining the various aspect of our design, we require some basic
notions like communication, connectivity, the respective key and communication ra-
dius which have been stated in [12, section II]. Throughout the paper we shall use the
term “Uncompromised nodes” to mean nodes that are not compromised. The words
“communication” and “connectivity/connection” are sometimes abbreviated to com.
and con. respectively. The terms “communication model/scheme” and “key predistribu-
tion model/scheme” will mean the same.

2 Communication Model

Our design is based on a scheme by Bag & Ruj [1]. In their scheme the authors used
finite affine plane over Zq where q is a prime number. Affine plane over Zq contains as
many as q 2 points and are usually denoted by AG(2, q). The entire key space is split
2
into 4 parts, each part containing  q4  points and from each part the ith point is assigned
2
to the ith node. Thus there are a total of  q4  nodes, each containing precisely 4 points.
The lines through all 4 points of a node represent the set of keys in that particular node.
As demonstrated in [1, section VI] there can be 4q − 2 to 4q + 1 keys belonging to any
node . The lines through any two points of two distinct nodes serve as the identifier of a
common keys between the nodes. The authors showed in [1, section VI] that there can
be 1 to 16 common keys between a pair of nodes.
Suppose 2 nodes with id i and j want to establish their common keys. They do so
by finding lines through any two points belonging to them as follows: The points are
distributed among the nodes in such a fashion that the node’s ids reveal the points they
contain. Thus on receiving the id of node j, node i gets to know the points in node j.
So it can find one line passing through any of its 4 points and any of the points of node
j. Similarly if node j uses the same algorithm as node i it will end up finding the same
line as node i. As these lines represents the ids of the shared keys between the nodes,
the nodes can communicate with thus established common keys.

3 Weakness: Motivation of Our Work

We observe a weakness in the aforesaid key predistribution scheme. Here the node ids
reveal the points inside a particular node. Let us say node i and node j want to establish
their keys securely. An adversary, say Alice can tap the radio frequency channel and
come to know the unencrypted node ids passing through them. She can then find the
key ids of the shared keys between the sensors in a manner similar to the computation
done by the nodes. This clearly implies that selective node attack is quite feasible.
86 S. Bag, A. Saha, and P. Sarkar

These points are again contained in a number of nodes of the sensor network. She
can capture one of them and get to know the actual keys. Combined with the knowledge
of node ids, she can use these keys to actually affect the com. amongst other nodes.
To counter this problem, we first differentiate the two aspects communication and
connectivity of a WSN. Then like in [12], apply Reed Muller Codes to suitably model
the connectivity aspect. The construction of the model is presented in the following
section. The model can be made secure by using suitable cryptosystems.
As shall be later established the combination of the two ideas results in a highly
resilient key predistribution scheme for WSN providing full connectivity amongst nodes
with virtually same communication overhead.

4 Proposed Connectivity Model

Reed Muller codes will be utilized to structure the connectivity aspect of the WSN.
These codes have been elaborately described in [4] and necessary notational changes
have been highlighted by Sarkar et al. in [12, section IV]. We follow similar procedure
as described in [12, section IV] baring some modification to be illustrated now.
First our model will always have three tiers with the “Base Station” or “KDS” in the
1st or topmost tier. The second tier will consist of  q4  newly introduced cluster heads
(CHs). Amongst these  q4  will be assigned q many nodes in the 3rd and the last level.
2
Whereas l =  q4  − q q4  nodes has to be under the remaining 1 CH in the last level.
2
Thus our model needs an extra  q4  many CHs and can support  q4  ordinary nodes (at
the last level).
It is evident that current connectivity model is heterogeneous in nature, i.e., has dif-
ferent number of nodes in its various clusters. This along with the fact that exactly three
tiers are required for our connectivity model distinguishes our design from the original
design of Sarkar et al. in [12, section IV].
To build up the cluster between the various tiers of the connectivity model, we shall
make use of first order Reed Muller codes. For connectivity of 1st and 2nd levels, we
employ a m complete graph where m =  q4 . We consider Z2 [x1 , x2 , . . . , x q4  ] in
much the same manner as the authors of [12] had considered Z2 [x1 ,qx2 , . . . , xm ]. Like
in [12], the monomials xi will represent the bit pattern of length 2 4  having 2i−1 1’s
followed by 2i−1 0’s where 1 ≤ i ≤  q4 . A sample connectivity pattern for a cluster
containing KDS and 3 CHs can be represented by the following matrix
⎡ ⎤
KDS 1 1 1 1 1 1 1 1
⎢ CH1 1 0 1 0 1 0 1 0 ⎥
⎢ ⎥
⎣ CH2 1 1 0 0 1 1 0 0 ⎦
CH3 1 1 1 1 0 0 0 0

Matrices like the above one are used for construction of Reed Muller codes. This
particular matrix has been referred to as R(1; 3) in [4]. Here 1 means the degree of the
monomials is ‘1’ and 3 stands for the number of variables.
The significance of the entries 1 and 0 in the above matrix (R(1; 3)) is the presence
and absence of a connectivity link at that row and column position respectively. Thus for
Highly Resilient Communication Using Affine Planes for Key Predistribution 87

connectivity of two any entities (KDS/CHs/nodes), both of them should have a 1 in the
same column for at least one column. Each column is assigned a separate connectivity
key immaterial of them using the same radio frequency channel.
The connectivity pattern between of each of the clusters of the 2nd and 3rd level is
meant to be a 2 complete graph having m = q variables (nodes) in the matrix. Thus
we look at Z2 [x1 , x2 , . . . , xq ] as was similarly done in [12, section IV, subsection B]
Connectivity matrix for a cluster having 1 CH and 3 nodes is as follows:
⎡ ⎤
CH 1 0 0 1 0 1 1 1
⎢ N1 1 0 1 0 1 0 1 0 ⎥
⎢ ⎥
⎣ N2 1 1 0 0 1 1 0 0 ⎦
N3 1 1 1 1 0 0 0 0

The construction of the second matrix from the first can be found in [12, Section IV,
Subsection B]. Here KDS is not present in the inter-nodal links. There is a broadcast
channel and a provision for external only for KDS. In the present case instead of 3, we
look at q or l many nodes. Here again wherever there is 1, connectivity link is present.
Figure 1 give an lively example with q = 11. There are  11 4
 = 3 CHs in 2nd tier.
112
This model can support  4  = 30 sensors in the 3 & last level. Out of these 42
rd

sensors, 11 ∗ 2 = 22 will be under 2 CHs and only 30 − 22 = 8 under the remaining


CH of 2nd level.

5 Deployment
There can be various methods for node deployment. We discuss one of them here as
an example. At the time of deployment, we shall drop the CHs along with the nodes
of its cluster. Clearly instead of totally random deployment, we are deploying in small
groups where exact position of nodes may still be unknown. Thus we adopt a kind of
group-wise-random or locally-random deployment technique. This ensures that all the
clusters are formed according to the model. However in an unlikely event of some nodes
falling out of position, we adopt the following key re-scheduling technique.
Assume some node of one cluster A falls into another cluster B. In such a case, CH
of cluster B broadcasts the node id or I.P. address of the misplaced node amongst all the
CHs to find out the actual cluster where it should have been placed. On seeing the I.P.
address or node id of this node, the CHs respond whether or not the misplaced node be-
longs to their cluster. Since this node was supposed to be in cluster A, its CH is the only
who responds with ’YES’. Using the secure link between CH of cluster A and cluster
B, the connectivity key corresponding to this sensor and CH of cluster A is transmitted
to the CH of cluster B. This key is used to set up a secure connectivity link between
the CH of cluster B and the misplaced. Depending on the requirements and practical
hazards, CH of cluster B decides on the exact connectivity for this misplaced node in
its cluster. Clearly a redistribution of connectivity keys may be required. In case this
is not possible, still the node remains connected to the network but all communication
will involve CH of B. It is clear that in this scenario, there is a process of node addition
in cluster B and node deletion at cluster A. These processes have been described in
[12] We would like to remark that instead of interconnectivity (clique connectivity) of
88 S. Bag, A. Saha, and P. Sarkar

Fig. 1. Network structure for q = 11 having  q4  = 4 CHs in 2nd & N = 30 nodes in 3rd tier

sensor at the base level, one may desire to have just the connection with the CHs. This
will enable better security, make (connectivity) key distribution easier and also reduce
the importance of simple nodes at the bottommost level. In such a case the 2nd tier CHs
may have to be powerful to ensure security.

6 Communication Key Establishment


We now describe how one can utilize the secure connectivity model for communication
key establishment. As mentioned earlier node ids can be used for this purpose.
Every node encrypts its node id using the connectivity key that it shares with its CH
and sends the encrypted node id to its CH. On receiving these encrypted ids, the CHs
decrypts them and circulates them securely amongst themselves using the connectivity
keys of one another.
For each incoming node ids, the CHs immediately look up the preloaded ”node-key
assigning matrix” (see section 2) for the key ids of the corresponding node. Once the
key ids are obtained, common keys are immediately traced and informed back to the
node via the same secure channels.
Clearly when the nodes send their ids we utilize the connectivity model of last two
tiers. Whereas when the node ids are being circulated at the CH level, we use the con-
nectivity keys corresponding to 1st and 2nd level. Surely, if required one can make use of
Highly Resilient Communication Using Affine Planes for Key Predistribution 89

different cryptosystems for various clusters of 2nd & 3rd tiers and certainly for KDS-CH
tier (i.e. 1st & 2nd tier) of our connectivity model.

7 Message Sending Protocol


Suppose a message has to be sent from node Ni to node Nj for some fixed 1 ≤ i =
2
j ≤  q4 . Then the following protocol is to be executed.

Choose one common communication key between Ni and Nj according to [1,


section V]. Call it µij .
Ni encrypts the message with this key µi,j .
if Ni and Nj share a connectivity key then
The message encrypted with com. key is again encrypted with the shared con.
key and send directly to node Nj .
Nj decrypts the outer encryption done using the con. key common to both the
nodes.
else
node Ni uses the con. key that it shares with its Cluster Head and send the
doubly encrypted message to its CH.
if node Nj lies in the same cluster then
After decrypting with Ni ’s con. key and encrypting with Nj ’s con. key, the
common CH directly send it to node Nj .
Nj decrypts outer encryption done using the con. key that it shares with the
(common) CH.
else
the doubly encrypted message from Ni is decrypted using Ni ’s con. key at
the CH of Ni .
It is re-encrypted at CH of Ni using the con. key shared with Cluster Head
of Nj .
Send the doubly encrypted message to the CH of Nj .
Cluster Head of Nj then decrypts it with the con. key shared with the cluster
head of Ni .
CH of Nj encrypts it using the shared con. key with Nj .
Send the doubly encrypted message to Nj .
Nj will first decrypt the outer encryption done using the con. key of its CH
(not Ni ’s).
Nj decrypts outer encryption done using the con. key common to both the
nodes.
Nj decrypts outer encryption done using the con. key common to both the
nodes.
end if
end if
Finally Nj uses the chosen common com. key µi,j shared with Ni to decrypt
and read the message.
90 S. Bag, A. Saha, and P. Sarkar

8 Communication Probability and Overhead

The probability of direct communication of any given pair of nodes is defined as the
communication probability of the network. Since the connectivity model is a path con-
nected graph & communication model assures direct communication between every
pair of nodes, we conclude that the communication probability of the proposed
scheme is 1. However there has to be some trade offs in regards to communication
overhead. n many extra connectivity keys have to be stored per node to ensure clique
connectivity in every cluster. In the event of nodes getting overloaded, we can alter-
natively assign only one extra key meant for connection with its CH. It automatically
implies every communication between nodes of the last leyer passes through the CHs of
2nd tier. So these CHs must be much powerful units to enable efficient communication.
Analyzing resiliency in way similar to [12] assures significant improvements.

9 Resilience

A hypothetical intrusion (i.e. attack) detection mechanism informs the KDS, CHs &
subsequently the nodes about compromise of any node(s) as and when it occurs. For
capture of a node X1 , connectivity keys sacrificed are its broadcast key, keys between
X1 & remaining nodes in its cluster and the exclusive key shared by X1 & its CH.
Based on this information the concerned nodes and CH delete all the (above) connec-
tivity keys ensuring that the captured node gets thoroughly delinked from the network.
This deletion process has been elaborately described in [12, section V, subsection B].
In fact the beauty of this process is that after deletion of required connectivity links due
to capture of some node(s), the other nodes in that cluster remains connected in much
the same way as they would without the compromised node(s).
Remark: Noted that at any stage the communication keys are not known to the CH.
Thus for affecting the resiliency of the network, some nodes have to be captured.
Introduction of a secure connectivity model enables doubly encryption of message
while transmitting. The second encryption involves connectivity of the nodes & CHs.
Nodes contain only the con. keys concerned to itself. Connectivity keys of all nodes
in a cluster can only be found in CH of that particular cluster (not even in other CHs
or KDS). This automatically implies to affect the communication of any node in the
network, its CH must be captured. Thus while calculating the effect of the system when
some nodes are captured, we must ensure some CHs are also captured. In practice cap-
turing a CH is quite infeasible.

9.1 Analysis of V(s,t) and E(s,t)

Define V (s, t) to be the proportion of nodes disconnected when s nodes of 3rd and t
CHs of 2nd tier are compromised. Now let us assume that b nodes gets disconnected
when all the c CH of 2nd layer are captured. Thus clearly:

b
V (s, c) =
N −s
Highly Resilient Communication Using Affine Planes for Key Predistribution 91

Since t CH at 2nd tier are captured, only t out of c clusters should get affected. Assuming
that the nodes gets disconnected evenly over the entire network, we conclude:

bt
V (s, t) =
(N − s)c

E(s, t) measures the ratio of links broken when s nodes of 3rd of t CHs at 2nd tier are
compromised. Denote the initial number of links in the network by tot links and the
number of broken links case by lbrk . Then like in the above case for capture s nodes
and all the c CHs of 2nd tier, we get:

lbrk
E(s, c) = 1 −
tot links

As only t CH at 2nd tier are compromised & assuming the keys are uniformly dis-
tributed under the CHs, we conclude:

t lbrk
E(s, t) = [1 − ]
c tot links
Note: The assumed distribution of keys under the CHs is uniform. This is not guar-
anteed fact. However our simulation results suggest that the assumption is reasonable.

10 Scalability: Addition of Node

Connectivity model in [12] allows any number of nodes to be added in the network,
whereas the communication model of Bag and Ruj [1] is not flexible in this regard.
However we propose alternative tricks allowing extra nodes to come in and communi-
cate with pre-existing nodes. In our 1st suggestion the 2nd tier CHs are required to act
as trusted authorities (TAs) temporarily upon deployment of any extra node. These CHs
then re-organize the clusters, distribute fresh connectivity keys to these nodes and pre-
existing nodes. Thus the new node get connected to the network. These connectivity
keys are to be used for communication purpose also. Though this method seems quite
reasonable for practical applications, however one may look to avoid this method as
online key redistribution is required here.
Alternatively if we know the number of additional nodes to be deployed, then we
can pre-load the 2nd tier CH with that many extra con. keys. The extra nodes are to
carry only one of these keys meant for connection as well as communication with the
appropriate CH. Thus although clique connectivity is not achieved here but still is model
is surely scalable. On top of this, if we want clique connectivity for the clusters where
these extra nodes join, one has to ensure the number of extra nodes per cluster is less
than q. In such a case we can also preload extra q keys per node. (Our aim is to restrict
the key ring to O(q)). Under such circumstance, any incoming node should be loaded
with the same (extra) keys of the the old nodes along with keys meant for the CH and
other new nodes. In this section by key(s) we meant connectivity key(s) only.
92 S. Bag, A. Saha, and P. Sarkar

11 Simulation Results
Experimental results tabulated in Table 1 confimed our analysis of V (s, t) and E(s, t)
discussed earlier in section 9.1. s & t denotes the assumed number of ordinary sensors
and CHs captured respectively. “BR Exp”. is used as an abbreviation for Bag and Ruj’s
experimental results as presented in [1]. Appreciable improvements in resiliency can be
observed when our experimental (“Exp”) values are compared with those of Bag and
Ruj [1] as is clearly visible in Table 1.

Table 1. Simulation and comparative results for V (s, t) & E(s, t)

q N s t Our Exp. V (s, t) BR Exp. V (s, t) Our Exp. E(s, t) RR Exp. E(s, t)
59 870 5 1 0.000380 0.0057 0.00458 0.068958
59 870 10 2 0.001531 0.01149 0.02094 0.157406
89 1980 11 2 0.000472 0.0055 0.00788 0.090639
89 1980 15 3 0.000979 0.00757 0.01812 0.139159
89 1980 20 4 0.001752 0.0101 0.03687 0.212303

12 Conclusion
First one observes that connectivity and communication can be treated as two separate
aspects of a WSN. A key predistribution scheme based on affine planes and provid-
ing full node-to-node connectivity is then chosen. Now after necessary modifications
to the novel secure connectivity model suggested in [12],we apply it to the chosen key
predistribution scheme to obtain a highly resilient communication model providing full
connectivity amongst nodes. Experimental results presented in section 11 not only con-
firm this fact but also exhibit the amount of improvement in resilience as compared the
original key predistribution scheme proposed by Bag and Ruj in [1].
It is worth noticing that any two given pair of nodes of the resultant system can
communicate between one another without their message been exposed to any other
node. As has been elaborately explained in section 7, if these two nodes are in ‘radio
frequency range’ of each other (and share a connectivity key), doubly encrypted mes-
sages can be exchanged directly. In case they are not in each other’s ‘radio frequency
range’ or don’t have any common connectivity key, they are supposed to communi-
cate through their CHs. However these CHs can not decrypt the encryption done with
communication key shared by the nodes.
However the communication model chosen by [12] didn’t provide full connectiv-
ity, hence the resultant system didn’t have full connectivity. Choosing a well connected
key predistribution scheme settles this issue. Other than this, they didn’t indicate any
particular deployment strategy. Thus how exactly the connectivity model was achieved
in the target area was not clear. Section 5 has been devoted to address the deployment
issue. From the discussion in section 5, it is clear that no physical movement of a node
is required as long as there is some CH in its ‘radio frequency range’ after deploy-
ment. Considering the hazards of deployment of nodes in a target area of WSN, this
observation can be pretty useful to set up a network.
Highly Resilient Communication Using Affine Planes for Key Predistribution 93

13 Future Work
Several future research directions stems out of our current work. Though the chosen
key predistribution scheme provides direct node-to-node communication, each node
2
has 4q − 2 to 4q + 1 where the size of the network is  q4  keys and shares 1 or 16 keys
with any other node. These may prove dangerous when some nodes gets captured. Thus
we must seek a scheme having lesser keys per node having O(1) keys shared between
any pair of nodes. Then one can perhaps apply the connectivity model in a suitable way
to get promising results. Repeated enciphering and deciphering has been suggested at
each CH in between two communicating nodes of different clusters. Certainly some
communication cost will be reduced if one develops a system avoiding this. In this
regard, it may be fascinating to see if one can apply other Mathematical tools.

Acknowledgement
Firstly we want to express our gratitude to University Grants Commission of India for
financially supporting the doctoral program of Mr. Pinaki Sarkar. This work is meant to
be a part of the doctoral thesis of Mr. Pinaki Sarkar.
We would like to thank Dr. Goutam Paul of Jadavpur University, Kolkata and Mr.
Sumit Kumar Pandey of Indian Statistical Institute, Kolkata for discussing the paper
and critically analyzing it. A special word of appreciation goes to Dr. Brijesh Kumar
Rai of Indian Institute of Technology, Bombay for his constant motivation and active
participation in preparation of the paper.

References
1. Bag., S., Ruj, S.: Key Distribution in Wireless Sensor Networks using Finite Affine Plane.
In: AINA (2011)
2. Çamtepe, S.A., Yener, B.: Key distribution mechanisms for wireless sensor networks:A sur-
vey 2005. Technical Report. In: TR-05-07 Rensselaer Polytechnic Institute, Computer Sci-
ence Department (March 2005)
3. Chakrabarti, D., Maitra, S., Roy, B.: A key pre-distribution scheme for wireless sensor net-
works: merging blocks in combinatorial design. International Journal of Information Secu-
rity 5(2), 105–114 (2006)
4. Cooke, B.: Reed Muller Error Correcting Codes. In: MIT Undergraduate J. of Mathematics,
MIT Press, Cambridge (1999)
5. Eschenauer, L., Gligor, V.D.: A key-management scheme for distributed sensor networks. In:
ACM Conference on Computer and Communications Security, pp. 41–47 (2002)
6. Gura, N., Patel, A., Wander, A., Eberle, H., Shantz, S.C.: Comparing Elliptic Curve Cryp-
tography and RSA on 8-bit CPUs. In: Joye, M., Quisquater, J.-J. (eds.) CHES 2004. LNCS,
vol. 3156, pp. 119–132. Springer, Heidelberg (2004)
7. Lee, J.Y., Stinson, D.R.: Deterministic key predistribution schemes for distributed sensor
networks. In: Selected Areas in Cryptography. ser. Lecture Notes in Computer Scienc,
pp. 294–307. Springer, Heidelberg (2004)
8. Lee, J.Y., Stinson, D.R.: A combinatorial approach to key predistribution for distributed
sensor networks. In: IEEE Wireless Communications and Networking Conference, WCNC
2005, New Orleans, LA, USA (2005)
94 S. Bag, A. Saha, and P. Sarkar

9. Ruj, S., Roy, B.: Key predistribution using partially balanced designs in wireless sensor net-
works. In: Stojmenovic, I., Thulasiram, R.K., Yang, L.T., Jia, W., Guo, M., de Mello, R.F.
(eds.) ISPA 2007. LNCS, vol. 4742, pp. 431–445. Springer, Heidelberg (2007)
10. Ruj, S., Roy, B.: Revisiting key predistribution using transversal designs for a grid-based
deployment scheme. In: International Journal of Distributed Sensor Networks IJDSN 2009,
vol. 5(6), pp. 660–674 (2009)
11. Steiner, J.G., Neuman, B.C., Schiller, J.I.: Kerberos: An authentication service for open net-
work systems. USENIX Winter, 191–202 (1988)
12. Sarkar., P., Saha, A., Chowdhury, M.U.: Secure Connectivity Model in Wireless Sensor Net-
works Using First Order Reed-Muller Codes. In: MASS 2010, pp. 507–512 (2010)
A Cyclic-Translation-Based Grid-Quadtree
Index for Continuous Range Queries
over Moving Objects

Hao Chen, Guangcun Luo, Aiguo Chen, Ke Qin, and Caihui Qu

Department of Computer Science, University of Electronic Science and Technology,


611731 Chengdu, China
{chenhao,gcluo,agchen,qinke,qucaihui}@uestc.edu.cn

Abstract. To speed up the processing of continuous range queries over


moving objects data streams, various query indexing techniques have
been proposed. We present a cyclic-translation-based Grid-Quadtree
query index and use the methods of query location translation and index
tuning to optimize the indexing of continuous range queries. We study
the performance of our indexing approach and compare it with a prior
CES-based indexing approach.

Keywords: Continuous range queries, moving objects, data streams,


cyclic translation, query indexing.

1 Introduction
With the continuous development of sensor networks and mobile devices,
location-based services(LBSs) such as navigation and information services, emer-
gency services, and object tracking services, are developed in many application
systems. In recent years, large amount of research effort are paid to location-
dependent query processing [1], which is a fundamental building block of LBSs.
Continuous range query is an important type of location-dependent queries over
spatio-temporal data streams, which must be reevaluated continuously until it
is canceled by the user, and therefore is a useful tool for monitoring frequently
changing location of moving objects. There have been extensive researches on
evaluating a large number of continuous range queries over moving objects data
streams [2],[3],[4],[5],[6]. Continuous range query can be classified into ”location
report” and ”exist report” queries, depending on whether it concerns about ob-
taining the current locations of moving objects or just the set of moving objects
that satisfy the query conditions. In this paper, we focus on both ”location
report” and ”exist report” queries.
Query indexing is a common way to speed up the processing of continuous
range queries, since a brute-force approach which evaluates each of all queries
for each incoming data tuple is inefficient. To optimize query processing fur-
ther, a few kinds of virtual constructs (V Cs) for building query indexes were
proposed, including virtual construct rectangles (V CRs) [4] and containment-
encoded squares (CES) [5]. Particularly, K.-L.Wu [5] adopted a CES-based

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 95–109, 2011.

c Springer-Verlag Berlin Heidelberg 2011
96 H. Chen et al.

indexing technology, in which each range query is decomposed into quadtree


blocks and the query ID is inserted into the ID lists associated with these de-
composed quadtree blocks. By this way, locating the set of range queries that
cover a given data point becomes simple as it’s quite easy to locate the set of
quadtree blocks that cover the point, and then the total query evaluation time is
cut down. However, the shortcoming of quadtree decomposition is the sensitivity
of its storage requirements to the position of range queries. Different positions
of range queries greatly influence the cost of the quadtree [7],[8],[9]. A square
window of 2d × 2d may be decomposed into just one quadtree block or as many
as 3(2d+1 − d) − 5 blocks [10], by placing the window at different positions in a
grid area. Therefore, it’s highly desired to locate an optimal position translation
for range queries so that the total number of quadtree blocks decomposed by
quadtree can be minimized. What’s more, in the situation of skewed query dis-
tribution, the query evaluation of the CES-based indexing is not efficient, since
the query index is implemented with pointer arrays of virtual constructs and
constant times of accessing to the index are needed whenever a location update
of moving object is received for query processing.
In this paper, we present a Cyclic-Translation-based Grid-Quadtree for range
query indexing. Based on this index structure, we designed an improved search
algorithm to find out optimal translation of range queries for quadtree presenta-
tion. In this way, the number of decomposed quadtree blocks is minimized and
quadtree nodes for range queries are much fewer, and the storage cost of the in-
dex is decreased a lot. What’s more, we tune the division level of Grid-Quadtree
(a parameter of the index) to decrease total storage cost of the index further,
with less query processing time. We conduct experiments to show the effective-
ness of our approach, and compare it with the CES-based indexing method [5].
The results reveal that our approach outperforms the CES-based indexing in
terms of storage cost and query evaluation time.

2 Related Work

Our work is mainly related to research domains of data stream processing,


location-based systems, and spatio-temporal database.
In the domain of data stream processing, a lot of data stream management
systems (DSM S) have been designed for the continual evaluation of queries over
potentially infinite data streams, including Aurora [13], Borealis [14], P IP ES
[15], ST REAM [16], N iagaraCQ [17], T elegraphCQ [18]. The majority of these
works focuses mainly on processing continuous queries over traditional data
streams, and the spatial and temporal properties of data streams are overlooked.
In recent years, a few DSM Ss over spatio-temporal data stream have been pro-
totyped (e.g., P LACE [19], CAP E [20]), and there have been some researches
on continuous queries over spatio-temporal streams (e.g., GP AC [20], SOLE
[6]). GP AC [20] is designed to deal only with the execution of a single continu-
ous query, while SOLE [6] is designed for the evaluation of concurrent continu-
ous spatio-temporal queries. However, SOLE only supports exist report query,
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 97

without concerning about location report query. Moreover, the simple grid struc-
ture in SOLE is not optimal for large scale queries.
In some location-based systems, users are usually interested in the changes of
the locations rather than the details of the locations. The location-change events
are useful to automatically trigger or stop necessary actions. A query processing
framework named BM Q-Processor is proposed in [22] for large-scale border-
crossing event monitoring applications where query results are reported only
when moving objects cross the borders of the query ranges. BM Q-Processor uses
a novel index for Border Monitoring Query (BM Q) which has similar semantics
as ”exist report” range query, and exploits the locality of data streams to achieve
both quality search performance and efficient memory consumption. However,
BM Q-Processor does not have special mechanisms to support ”location report”
queries, and also couldn’t be extended to support irregular border-monitoring
range query.
In the domain of spatio-temporal database, different index structures for sup-
porting fast spatio-temporal query have been proposed .e.g, B-tree, Quadtree,
R-tree, Grid, KD-trie. An overview of spatio-temporal access methods is given
by LV Nguyen-Dinh [23]. Index structures for moving objects can be classified
according to a variety of criteria. From temporal consideration, there are in-
dexing methods for indexing the past, current and future positions of moving
objects. What’s more, specific indexing mechanisms have been proposed for ob-
jects moving in road networks, for objects with predefined trajectories, or for
broadcast environments. Most of these works study snapshot queries and fo-
cus mainly on materializing incoming spatio-temporal data in disk-based index
structures. Some other works focus on main-memory indexing and query pro-
cessing over moving objects (M OV IES [8]). In the context of spatio-temporal
data streams, only in-memory solutions are allowed. Therefore, in this paper,
we implemented our index structure and query processing as a query operator
based on our prototype spatio-temporal DSM S.

3 Preliminaries and System Model


3.1 Background Assumptions
Grid of Monitoring Area. Consider a monitoring area with it’s bounding rect-
angle of size Lw × Lh . We construct a global grid A of 2N × 2N such that the
bounding rectangle of monitoring area abuts the southwest corner of A and
2N −1 < max(Lw , Lh ) ≤ 2N . Given the global grid A, the corresponding re-
gion quadtree can recursively subdivide A into unit cells by N levels (or times)
of quad-splitting. For any splitting level N − d, the size of resulting quadtree
blocks(quadblock for short) is 2d × 2d . We call d the dimension of a quadblock
and denote by B(x, y, d) a quadblock with dimension d and lower left corner
at(x,y).
Moving Objects Data Streams. Each tuple of a data stream of moving objects
locations has the form τ (OID, x, y, t), where OID is the unique identifier of an
moving object, x and y are its horizontal and vertical coordinates, which define
98 H. Chen et al.

the current position of moving object. Object locations can be anywhere in the
monitoring area. t is the time stamp of object position.
Continuous Range Query. A continuous range query Q can be represented as
(QID, R, f lag),where QID is the query identifier, R is the query range specified
as rectangle with vertices falling on the crossing point of grid lines, and flag
is used to identify two types of range query(1 for location report query and
0 for exist report query ), deciding either to output the current locations of
moving objects, or only the OIDs of objects, with respective output of stream
τ (OID, x, y, t) or τ (OID, ±, t). Here, ± indicates whether this tuple is a positive
or negative update. We use R(x, y, w, h) to denote a query range with width w,
height h, and bottom-left corner at(x,y). We denote by RS(= {R1 , R2 , . . . , RM })
a set of query ranges which could be intersected or disjoint.

3.2 The Framework of Query Indexing


We use a combined data structure of grid and quadtree for range queries, which
is called Grid-Quadtree in this paper. The monitoring area of size Lw × Lh is
treated as a conceptual Grid where the Grid contains  L w
2K
 ×  2LKh  quadblocks
and each quadblock is treated as a region quadtree containing 2K × 2K cells.
We call K the division level of the Grid-Quadtree. For two extreme cases, the
Grid-quadtree is a quadtree when K is equal to 0, and a uniform grid when K
is equal to N .
Fig. 1 shows an example of a global grid area 24 × 24 with K = 2, and
illustrates the overall design of the Grid-Quadtree index. The Grid-Quadtree
is implemented with a pointer array of size 42 ,where each element corresponds
to a quadblock spatial area of 22 × 22 . Each element within the pointer array
stores a pointer to a dynamically maintained region quadtree corresponding to
the square spatial area. There are two types of nodes in quadtrees. The internal
node correspond to a quadblock (with dimension larger than 0 and not larger
than K), and contains one pointer to a QID list of range queries and another
four pointers to four children nodes of SW, NW, SE, NE direction. The leaf
node corresponds to grid cells at the lowest level of quadtree and contains only
a pointer to a QID list.
With this index,each range query R in RS is decomposed into quadtree blocks,
and the query ID is inserted into the QID lists of quadtree nodes corresponding
to those blocks. The storage cost of the index is decided by three components:
the number of decomposed quadblocks (or the number of QIDs in QID lists),
the size of pointer array, and the number of quadtree node. The query efficiency
of this index is decided by the depth of quadtree. To decrease the index stor-
age cost and improve query efficiency, we optimize the indexing presentation of
range queries by two methods. Firstly, we cyclically translate query ranges at
location to cut down the number of decomposed quadblocks to minimum since
the storage requirement of quadtree decomposition is sensitive to the position of
ranges. Secondly, we compute the right division level K of the index structure,
to minimize the total storage cost of the index and get a better query effi-
ciency at the same time. Regarding the real time requirement of object tracking
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 99

*ULG4XDGWUHH

   

   
   
   

S S S  3RLQWHU$UUD\

,QWHUQDO1RGH
4,'/LVW
S S S S
375

4XDG%ORFN
TLG TLG TLG 

4,'/LVW375 /HDI1RGH
8QLW&HOO

TLG TLG TLG 

Fig. 1. A grid Area of 24 × 24 and the Grid-Quadtree data structure

applications, the processing of range queries in our work is realized as a cus-


tomized query operator in DSM S. The query processing is data-driven, trig-
gered by the underlying active data sources in a push-based fashion. On arrival
of a batch of new object-location stream tuples, each tuple is used to search the
query index to find all related range queries that contain the object location.
Then, for those location report queries, the tuple with form τ (OID, x, y, t) is
pushed into output data streams associated with the identified location report
queries. For those exist report queries, more computing steps are needed to de-
cide whether or not to output tuple of form τ (OID, ±, t), and where to output
negative or positive tuple.

4 Tunable Cyclic-Translation-Based Grid-Quadtree


Indexing

4.1 Cyclic Translation of Region Queries

Here, we optimize the indexing of RS by cyclically translating all range queries at


locations, to minimize the number of decomposed quadtree blocks and decrease
the index storage cost. If we translate RS in all possible locations in global
100 H. Chen et al.

grid and compare the number of decomposed quadblocks, the time complexity
of searching optimal translation is high. To improve the search algorithm, we
propose a scheme based on the following definition and lemmas.
Definition 1(Cyclic Translation of Query Range). For a range R(x, y, w, h) in
global area of 2N × 2N , we translate(move) R with magnitude Xtm and Ytm in
eastern and northern direction respectively. A range translation is called a cyclic
one if the final position of an unit cell located originally at (x’, y’) in this range,
after translation, can be derived from the following function:
CT (x , y  , Xtm , Ytm ) = ((x + Xtm ) mod 2N , (y  + Ytm ) mod 2N ).
With the cyclic translation of range queries, we can construct a region
quadtree of size 2N × 2N to decompose all translated range queries without
the need of expanding the quadtree to the size of 2N +1 × 2N +1 .
From the property of region quadtree and cyclic translation, we present the
following result without proof.
Lemma 1. Translating a range embedded in 2N × 2N grid cyclically by 2d grid
cells in any direction, where d < N , does not change the number of decomposed
quadblocks with a size less than 2d × 2d .
From lemma 1, we can derive the minimal searching space for finding the optimal
position of a range query in quadtree decomposition.
Lemma 2. An optimal position for decomposing a range R into minimal quadtree
blocks could be gotten by translating R(x, y, w, h) by less than 2d units to the
east and 2d units to the north, where d=min(logw ,logh ).
Proof. Since the largest quadblocks possibly decomposed from R is of size 2d ×
2d ,we can have the same number of decomposed blocks when we translate R
with magnitudes of 2d+1 .It’s easy to see that all blocks of size 2d × 2d in R are
always arranged in a line. Therefore, translating R with magnitudes of 2d won’t
change the number of blocks of size 2d × 2d , the same as those blocks no more
than 2d−1 × 2d−1. We thus have the proof. 
From lemma 1 and 2, we know that the sample solution space of optimal transla-
tion for RS is of size 2D × 2D , where D=max(d1 ,d2 ,. . . ,dM ), dm is the dimension
of each range Rm in RS, and we can derive a basic search algorithm for finding
the optimal position of minimizing decomposed quadtree blocks. The algorithm
is constructed by a sequence of translations to RS, with magnitudes from 20 to
2D−1 in four different directions: no movement, north, east, and northeast. Since
the translations with larger magnitudes would not affect the number of quadtree
blocks with smaller magnitudes, we adopt the strip-splitting-based decomposing
method [11] to recursively strip-split each range in RS while evaluating the sum
of stripped quadtree blocks. Specifically, at ith level of translation, the search
process proceeds by translating RS four times: by 0 cell (no movement), by 2i
cell to the north, by 2i cell to the east, and by 2i cell to the northeast. After
each translation, each range of RS is stripped off some slices of size c × 2i × 2i
where c is a positive integer. Then, we recursively do the translation at next level
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 101

on these remaining new ranges. Recursion halts when all ranges are stripped to
null. Thus, the translation magnitudes for the optimal location in two directions,
i.e. Xtm and Ytm , can be easily acquired by the above process in a sequence of
binary digits.
To simplify the searching process, we use a pruning mechanism of ”candi-
date” to cut down unnecessary paths of recursions. For each translation, instead
of performing translations in all next levels, we calculate the total number of
quadtree blocks stripped so far, which is computed from the bottom level of
strip-splitting to the level that being processed, and then compare it with the
value of the current candidate which is stored in the least block counter. If the
total number of blocks obtained so far is larger, the recursions of further levels
are cut down.In order to obtain a candidate close to the optimal solution, we
used an iterative process described in Algorithm 1 to quickly derive the first
candidate. Here, we assume that M (x, y) = x mod y.

Algorithm 1. FindInitialCandidate.
Require:
RS(={R1 , R2 , . . . , RM }); /*a set of M query ranges*/
Ensure:
least(the number of quadblocks derived from decomposition at candidate location);
1: least = 0;
2: for (d = 0; d < D; d + +) do
3: for (k = 0; k ≤ 3; k + +) do
4: RSk ← RS; Ck = Ck + RangesSplittingShrink(RSk , k);
5: end for
6: K = argmink (Ck ); least = least + CK ; RS ← RSK ;
7: end for
8: if RS = φ then least = least + RangesSplitShrink(RS, 0);
9:
10: f unction : RangesSplitShrink(RS, k)
11: i = k/2; j = M(k, 2);
12: for each Rm (xm , ym , wm , hm ) in RS do
13: xm = xm + i; ym = ym + j;
14: if M (xm , 2) = 0 then C = C + hm ; xm = xm + 1; wm = wm − 1;
15: if M (ym , 2) = 0 then C = C + wm ; ym = ym + 1; hm = hm − 1;
16: if M (xm + wm , 2) = 0 then C = C + hm ; wm = wm − 1;
17: if M (ym + hm , 2) = 0 then C = C + wm ; hm = hm − 1;
18: xm = xm /2; ym = ym /2; wm = wm /2; hm = hm /2;
19: if wm = 0 or hm = 0 then delete Rm from RS;
20: end for
21: return C;

Algorithm 1 takes RS as input, and conducts a sequence of translations with


magnitudes from 20 to 2D−1 in four different directions. For each iteration, four
moves in different directions are performed, some slices are strip-splitted away
from each range, the number of quadtree blocks are computed, and then the
102 H. Chen et al.

translated RS with the smallest number of quadtree blocks is selected for the
next iteration. After the strip-splitting of each iteration, we can shrink these
remaining ranges since the same number of blocks is maintained while making
the granularity coarser [12]. After at most D iterations, the initial candidate is
identified to establish the bound. Obviously, the above algorithm takes O(D)
time to find the initial candidate. We know from [12] that, if a range is a magic
rectangle (it’s width w and height h are of the form 2i − 1 and 2j − 1, the number
of its decomposed blocks is independent of the position of the anchor. Therefore,
we can get rid of magic ranges from RS beforehand.
The integrated pseudocode of locating the optimal translation for range
queries is described in Algorithm 2. The pruning process is accelerated by cal-
culating the initial candidate and excluding all the search paths rooted by a
configuration whose number of decomposed quadtree blocks so far is already
greater than that of current candidate. The worst time complexity of this im-
proved algorithm is O(4D ).

Algorithm 2. LocatingOptimalTranslation.
Require:
RS(={R1 , R2 , . . . , RM }); /*a set of M query ranges*/
Ensure:
Xtm , Ytm (translation magnitudes);
1: d = 0; BN[D + 1] = {0,. . . ,0};Xm = Ym = 0;
2: least = F indInitialCandidate(RS);
3: OptimalSearch(RS, Xm , Ym , least, BN, d);
4:
5: f unction : OptimalSearch(RS, Xm , Ym , least, BN, d)
6: for (k = 0; k ≤ 3; k + +) do
7: i = k/2; j = M(k, 2); RS  ← RS; BN  ← BN ;
8: BN  [d] = RangesSplitShrink(RS  , k);
 d  d
9: Xm =d Xm + i × 2 ; Ym = Ym + j × 2 ;
10: if i=0 BN [i] ≤ least then
11: if (d < D − 1) then
12: OptimalSearch(RS  , Xm 
, Ym , least, BN  , d + 1);
13: else
14: if RS  = φ
then BN  [D] = RangesSplitShrink(RS  , 0);
15: BNtotal = D 
i=0 BN [i];
 
16: if BNtotal < least then least = BNtotal ; Xtm = Xm ; Ytm = Ym ;
17: end if
18: end if
19: end for

4.2 Deciding the Division Level of Grid-Quadtree


To cut down the total storage cost of query index, we present a method to decide
the right division level of the Grid-Quadtree. The total storage cost of the index
consists of three components: a)the array of pointers to root nodes of quadtrees;
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 103

b)the nodes of quadtrees, and c)the QID lists, one for each quadblock defined.
We denote respectively the number of quadblocks and quadtree nodes at different
level by B[N ] and N [N ], which can be computed and derived by Algorithm 2.
Given a division level K, the total cost of the index can be calculated as follows:
CSa = cp ×  L
2K
w
 ×  2LKh ;
K
CSb = cleaf × N [0] + cinternal × i=1 N [i];
K N−K−1
CSc = cqid × ( i=0 B[i] + 4N −K−i × i=0 B[N − i]));

CStotal = CSa + CSb + CSc ;

where CSa , CSb ,CSc present the storage cost of the pointers array, quadtree
nodes and query ID lists, respectively. The cp , cleaf , cinteral , and cqid present the
size of a pointer, a quadtree leaf node, a quadtree internal node, and an query
ID, respectively. From the above formula, we can get the right K which makes
the index storage minimized as follows:
K = argmink (CStotal ), k ∈ (0, 1, 2, .., N )
After choosing the right value of K, we can re-calculate the translation mag-
nitudes of range queries as follows:
Xtm = M (Xtm , 2K ); Ytm = M (Ytm , 2K )

4.3 Cyclic Decomposition and Indexing Building of Range Queries


After finding the optimal translation and deciding division level K, we execute
the location translation to query ranges actually and use a strip-splitting-based
algorithm modified from [11] to strip quadblocks off translated query ranges.
For those stripped quadblock, the corresponding query ID is inserted into the
QID list of quadtree node associated with those quadblocks. To do this, the
grid partition ID or the corresponding subscript of pointer array of grid for the
quadblock must be decided at first for index building. To confine the size of
pointer array with  L w
2K
 ×  2LKh ,we compute the partition ID of a quadblock as
follows: 
0 if  2tK  =  L
2K  .
w
P ID = f (y) ×  2K  + f (x), f (t) =
Lw
 2K  otherwise
t

Once the partition ID or subscript of pointer array is inferred, we get the right
quadtree and could do the corresponding operation of index building or insertion.
Z-order is used to identify quadblocks of same dimensions and help to search the
place of corresponding tree node. The z-order of a grid cell with lower left corner
coordinates (x, y) can be denoted as Z(x, y, 0) and computed by interleaving
the bits of x and y. It should be pointed out that, if the anchor coordinates of
any decomposed quadblock are beyond the scope of global grid, we cyclically
translate it’s anchor coordinates (x,y) by computing M (x, 2N ) and M (y, 2N )
respectively and calculate the z-order of new coordinates at first, and then do the
index insertion with the help of it’s z-order. We denote by b(x, y, i) a quadblock
of dimension i with lower left corner coordinates (x, y), and its z-order can be
104 H. Chen et al.

represented as Z(x, y, i) = Z(x, y, 0)/4i . It’s corresponding tree node is the


(Z(x, y, 0)/4i−1  − 4 × Z(x, y, 0)/4i )th child of parent node.

5 Query Processing of Continuous Regions Queries


The processing of query is realized as a customized query operator in (DSM S).
To support exist report or cross-border monitoring query which has tuple output
form of τ (OID, ±, t), a hash table is maintained, which uses OID as the index
key and stores in each entry the last updated location of the moving object.
The query search algorithm supporting both location report and exist report
queries is presented below in Algorithm 3. Whenever receiving location updates
of moving objects, the z-order of the quadblocks of all level containing the object
locations are computed, and a query search is executed to find the queries cov-
ering these blocks. We assume that v.QL denotes the QID list associated with
node v, T Q(q) denotes the output data stream of a query q, and P A[] denote
the pointer array of global grid.
Algorithm 3 works as follows. For each tuple τ (OID, x, y, t), the coordinates
(x,y) are cyclically translated using the offsets(Xtm ,Ytm ). Then, the algorithm
calculate the z-order and partition ID of two cells covering object’s current loca-
tion and lastly updated location, respectively. With partition ID and z-order of
these two cells, we could get the pointer to root node of corresponding quadtree
and find all tree nodes storing the QIDs of covering queries, by taking advan-
tage of the containment encoding of z-order. For those location report queries,
we output τ (OID, x, y, t) into each data stream queue T Q(q) for each query con-
tained in the QID lists associated with the quadblocks that cover new location.
For those exist report queries, a top-down search of two paths along with one or
two quad-trees is executed. At each level of quadtree search, we compare the two
pointers to tree nodes associated with object’s current and old locations, to check
whether the object has moved into a different quadblock. If the object move into
a different quadblock, we need to compare QID lists corresponding to the new
quadblock and it’s related child quadblocks with QID lists corresponding to the
old quadblock and related child quadblocks, to compute two differential sets of
queries which identify whether a moving object enter into or go out some query
ranges.Then, we insert τ (OID, +, t) into the T L(q)s for queries in ”enter into”
differential query sets and insert τ (OID, −, t) into the T Q(q)s for queries in ”go
out” differential query sets, respectively.

6 Experimental Results
We conduct a few experiments to evaluate and compare our solution(we call
it CT GQ-based indexing) with CES-based indexing. We assume a monitoring
area with the same size as a grid of 210 × 210 .A total number of |Q| continual
range queries were registered in the query index. The width and height of query
ranges were randomly chosen between 23 and 28 . The bottom-left corners of
range queries were distributed according to an α − β rules as in [5]: α fraction
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 105

Algorithm 3. ContinuousRangeQueryEvaluation.
Require:
Tuples(a batch of moving objects location data);
Xtm , Ytm (optimal translation magnitude at x-axes and y-axes);
Ensure:
tuples of output data streams τ (OID, x, y, t), τ (OID, +, t), τ (OID, −, t);
1: for each tuple τ (OID, x, y, t) do
2: x = x + Xtm ; y  = y + Ytm ; i = K; x = M (x , 2N ); y  = M(y  , 2N );
3: Znew = Z(x , y  , 0); Zold = Z(xold , yold

, 0);
 Lw 
4: P ID = f (y ) ×  2K  + f (x ); p ← P A[P ID];

5: P IDold = f (yold ) × L w
2K
 + f (xold ); pold ← P A[P IDold ];
6: while p = pold do
7: v1=node pointed by p; v2=node pointed by pold ;
8: output τ (OID, x, y, t) into T Q(q), for any q.QID ∈ v1.QL and q.f lag = ”1”;
9: m = Znew /4i−1  − 4 × Znew /4i ; n = Zold /4i−1  − 4 × Zold /4i ; i = i − 1;
10: follow p to the mth child of v1;follow pold to the nth child of v2;
11: end while
12: i1 = i; i2 = i;
13: while p = φ do
14: v1=node pointed by p;
15: output τ (OID, x, y, t) into T Q(q), for any q.QID ∈ v1.QL and q.f lag = ”1”;
16: insert QID into QSETnew for any q.QID ∈ v1.QL and q.f lag = ”0”;
17: m = Znew /4i−1  − 4 × Znew /4i ; i1 = i1 − 1;follow p to the mth child of v1;
18: end while
19: while pold = φ do
20: v2=node pointed by pold ;
21: insert QID into QSETold for any q.QID ∈ v2.QL and q.f lag = ”0”;
22: n = Zold /4i−1  − 4 × Zold /4i ; i2 = i2 − 1;follow pold to the nth child of v2;
23: end while
24: output τ (OID, +, t) to T Q(q), for q.QID ∈ QSETnew − QSETnew ∩ QSETold ;
25: output τ (OID, −, t) to T Q(q), for q.QID ∈ QSETold − QSETnew ∩ QSETold ;
26: end for

of the bottom-left corners were located within β fraction of the monitoring area,
where β = 1 − α. A total of |O| moving objects are tracked at the same time
and object locations are up-dated 10 times each minute. We conducted our
simulations over a platform of DSM S.

6.1 Comparison of Index Storage Cost

Firstly, query regions were uniformly distributed(α = 0.5). We varied |Q| from
200 to 2000. Fig. 2a shows the number of decomposed blocks and tree nodes(V Cs
for CES) with different |Q|. Under all cases, our method gets much less elements
in QID lists and tree nodes(V Cs) than CES-based method. For the second
experiment, |Q|=1000. The division level K is derived from formula of section
4.2 for both approaches. We varied α from 0.5 to 0.9 (0.9 represent more skewed
distribution). Fig. 2b shows the total storage cost of both indices. It is clear
106 H. Chen et al.

that our index outperforms CES-based index greatly in skewed distribution,


as more significant as the query positions become more skewed. The reason is
that much more decomposed blocks are overlapped and much less tree nodes are
constructed for the index in skewed distribution of query regions.

5
x 10
12 1800

10 1600
Number of query IDs and tree nodes

Total storage cost of index(KB)


8 1400

6 1200

4 1000

CES−QIDs
2 CTGQ−QIDs 800
CES−VCs CES−total cost
CTGQ−tree nodes CTGQ−total cost
0 600
200 400 600 800 1000 1200 1400 1600 1800 2000 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95
Number of range queries Query distribution with different value of a
(a) (b)

Fig. 2. (a)number of QIDs and quadtree nodes(VCs) with different |Q|; (b)total storage
cost in different distribution

6.2 Comparison of Query Evaluation Time


For the first experiment, |Q|=1000, α=0.5. The division level K is derived from
formula of section 4.2 for both approach. We varied |O| from 4000 to 40000.
Fig. 3a shows the impact of |Q| on the query evaluation time. Our approach
outperforms CES-based indexing in query evaluation time. This is because the
average depth of Traversing tree nodes during an index search is much less for our
approach, with the decrease of total number of tree nodes. Such a performance
advantage becomes prominent as the number of moving objects increases. For the
second experiment, |Q|=1000,|O|=20000. We varied from 0.55 to 0.95. Fig. 3b
shows the impact of query distribution on the query evaluation time. Under all
cases, our index outperforms CES-based index in skewed distribution, as more
significant as the query positions become more skewed. It’s clear that query
evaluation efficiency for our approach is high when objects move in quad block
regions without covering of queries. This is because no tree nodes are constructed
in the index, corresponding to these regions.

6.3 Impact of K on Index Storage Cost and Query Evaluation Time


In this experiment, |Q|=1000, |O|=20000, α=0.5. We varied K from 1 to 10. Fig.
4a and 4b show the impact of K on the index storage cost and query evaluation
time respectively. As K increases, the total storage cost of the index decreases
first, and then increases after reaching the lowest point. Query evaluation time
always increases as K increases. This is because the depth of trees is increased
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 107

6 2.7
CES−based indexing CES−based indexing
CTGQ−based indexing 2.6 CTGQ−based indexing
5
Query evaluation time(seconds)

Query evaluation time(seconds)


2.5

4
2.4

3 2.3

2.2
2

2.1

1
2

0 1.9
0 0.5 1 1.5 2 2.5 3 3.5 4 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95
Number of moving objects (|O|) x 10
4 Query distribution with different value of a
(a) (b)

Fig. 3. (a)query evaluation time over different |O| at uniform distribution; (b)query
evaluation time over different query distribution

with the increase of K and then the number of tree nodes traversed during an
index search are increased too. In this example, the K with least storage cost is
5. Actually, we could choose the division level of the index with a value smaller
than 5, such as K=3 or 4, to further decrease the query evaluation time with
the cost of modest increase of storage cost.

16000 2.3
Total storage cost Query Evaluation Time
2.2
14000
2.1
Total storage cost of the index(KB)

Query evaluation time(seconds)

12000 2

1.9
10000

1.8

8000
1.7

6000 1.6

1.5
4000
1.4

2000 1.3
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
The division level of index (K) The division level of index (K)
(a) (b)

Fig. 4. The impact of K on (a) total index storage. (b) query evaluation time

7 Conclusions

We have presented a Cyclic-Translation-based Grid-Quadtree data structure for


indexing continuous range queries, and designed related search algorithm to find
out optimal translation of range queries for quadtree presentation. experiments
show that our approach outperforms the CES-based indexing method.
108 H. Chen et al.

References

1. Ilarri, S., Mena, E., Illarramendi, A.: Location-dependent query processing:Where


we are and where we are heading. ACM Computing Surveys 42(3), 1–73 (2010)
2. Kalashnikov, D.V., Prabhakar, S., Aref, W.G., Hambrusch, S.E.: Efficient Eval-
uation of Continuous Range Queries on Moving Objects. In: Proc. Int’l Conf.
Database and Expert Systems Applications (2002)
3. Wu, K.-L., Chen, S.-K., Yu, P.S.: Processing Continual Range Queries over Moving
Objects Using VCR-Based Query Indexes. In: Proc. IEEE Int’l Conf. Mobile and
Ubiquitous Systems: Networking and Services (August 2004)
4. Wu, K.-L., Chen, S.-K., Yu, P.S.: Efficient Processing of Continual Range Queries
for Location-Aware Mobile Services. Information Systems Frontiers 5(4-5), 435–448
(2005)
5. Wu, K.-L., Chen, S.-K., Yu, P.S.: Incremental processing of continual range queries
over moving objects. IEEE Trans. Knowl. Data Eng. 8(11), 1560–1575 (2006)
6. Mokbel, M., Aref, W.: SOLE: scalable on-line execution of continuous queries on
spatio-temporal data streams. VLDB J., 971–995 (2008)
7. Li, M., Grosky, W., Jain, R.: Normalized Quadtrees with Respect to Translations.
Computer Graphics and Image Processing 20, 72–81 (1982)
8. Chen, S.-K.: An exact closed-form formula for d-dimensional quadtree decomposi-
tion of arbitrary hyperrectangles. IEEE Trans. on Knowledge and Data Engineer-
ing 18(6), 784–798 (2006)
9. Chen, P.-M.: A quadtree normalization scheme based on cyclic translations. Pat-
tern Recognition 30(12), 2053–2064 (1997)
10. Dyer, C.R.: The Space Efficiency of Quadtrees. Computer Graphics and Image
Processing 19(4), 335–348 (1982)
11. Tsai, Y.-H., Chung, K.-L., Chen, W.-Y.: A Strip-Splitting-Based Optimal Algo-
rithm for Decomposing a Query Window Into Maximal Quadtree Blocks. IEEE
Trans. Knowledge and Data Eng. 16(4), 519–523 (2004)
12. Faloutsos, Jagadish, H.V., Manolopoulos, Y.: Analysis of n-Dimensional Quadtree
Decomposition of Arbitrary Rectangles. IEEE Trans. Knowledge and Data
Eng. 9(3), 373–383 (1997)
13. Abadi, D.J., Carney, D., Cetintemel, U., Cherniack, M., Convey, C., Lee, S., Stone-
braker, M., Tatbul, N., Zdonik, S.: Aurora: A New Model and Architecture for Data
Stream Management. The VLDB J. 12(2), 120–139 (2003)
14. Abadi, D.J., Ahmad, Y., Balazinska, M., Cherniack, M., Hwang, J.H., Lindner, W.,
Maskey, A.S., Rasin, A., Ryvkina, E., Tatbul, N., Xing, Y., Zdonik, S.: The Design
of the Borealis Stream Processing Engine. In: Proceedings of the 2nd Biennial
Conference on Innovative Data Systems Re-search(CIDR), pp. 277–289 (2005)
15. Kramer, J., Seeger, B.: Semantics and Implementation of Continuous Sliding Win-
dow Queries over Data Streams. ACM TODS 34(1) ( April 2009)
16. Arasu, A., Babu, S., Widom, J.: The CQL Continuous Query Lan-guage: Semantic
Foundations and Query Execution. The VLDB J. 15(2), 121–142 (2006)
17. Chen, J., DeWitt, D., Tian, F., Wang, Y.: NiagaraCQ: A Scalable Continuous
Query System for Internet Databases. In: Proc. ACM SIGMOD (2000)
18. Chandrasekaran, S., Franklin, M.J.: Streaming Queries over Streaming Data. In:
Proc. 28th Int’l Conf. Very Large Data Bases, VLDB (2002)
19. Mokbel, M.F., Aref, W.G.: PLACE: A Scalable Location-aware Database Server
for Spatio-temporal Data Streams. Data Engineering Bulletin 28(3) (2005)
A Grid-Quadtree Index for Continuous Range Queries over Moving Objects 109

20. Rundensteiner, E.A., Ding, L., Sutherland, T.M., Zhu, Y., Piel-Ech, B., And
Mehta, N.: CAPE: Continuous query engine with het-erogeneous-grained adap-
tivity. In: Proceedings of the 30th International Con-ference on Very Large Data
Bases (VLDB 2004), pp. 1353–1356. Morgan Kaufmann, San Francisco (2004)
21. Mokbel, M.F., Aref, W.G.: GPAC: Generic and progressive processing of mobile
queries over mobile data. In: Proceedings of the International Conference onMobile
DataManagement, MDM (2005)
22. Lee, J., Kang, S., Lee, Y., Lee, S., Song, J.: BMQ-Processor: A High-Performance
Border-Crossing Event Detection Framework for Large-scale Monitoring Appli-
cations. IEEE Transactions on Knowledge and Data Engineering (TKDE) 21(2)
(February 2009)
23. Nguyen-Dinh, L.V., Aref, W.G., Mokbel, M.F.: Spatio-Temporal Access Methods:
Part 2 (2003 - 2010). Bulletin of the Technical Committee on Data Engineer-
ing 33(2) (June 2010)
24. Dittrich, J., Blunschi, L., Salles, M.A.V.: Indexing moving objects using short-lived
throwaway indexes. In: SSTD 2005, pp. 189–207 (2009)
25. Orenstein, J.A., Merrett, T.H.: A Class of Data Structures for Associative Search-
ing. In: Proc. ACM Symp. Principles of Database Systems (April 1984)
Two-Stage Clustering with k-Means Algorithm

Raied Salman*, Vojislav Kecman, Qi Li, Robert Strack, and Erick Test

Virginia Commonwealth University, Computer Science Department,


601 West Main Street
Richmond, VA 23284-3068
[email protected]

Abstract. -means has recently been recognized as one of the best algorithms
for clustering unsupervised data. Since the -means depends mainly on distance
calculation between all data points and the centers then the cost will be high
when the size of the dataset is big (for example more than 500MG points). We
suggested a two stage algorithm to reduce the cost of calculation for huge
datasets. The first stage is fast calculation depending on small portion of the
data to produce the best location of the centers. The second stage is the slow
calculation in which the initial centers are taken from the first stage. The fast
and slow stages are representing the movement of the centers. In the slow stage
the whole dataset can be used to get the exact location of the centers. The cost
of the calculation of the fast stage is very low due to the small size of the data
chosen. The cost of the calculation of the slow stage is also small due to the low
number of iterations.

Keywords: Data Mining, Clustering, -means algorithm, Distance Calculation.

1 Introduction

No theoretical research work available on the running time was required for the -
means to achieve its goals as mentioned by [1]. They researched the worst-case
running time scenario as superpolynomial by improving the lower bound from Ω
iterations to 2Ω √ . [9] has developed another method to reduce the number of
iterations but it was not as fine-tuned as [1]. On the other hand [4] have proved that
the number of iterations required by -means is much less than the number of points.
Moreover, [5] were unable to bound the running time of -means, but they proved that for
every reclassified point one iteration is required. Then after Δ iterations the
convergence will be guaranteed.
A group of researchers worked on choosing the best centers to avoid the problems of -
Means of either obtaining the non-optimal solutions or empty clusters generations. [3]
worked on modifying the -means to avoid the empty clusters. They moved the center of
every cluster into new locations to ensure that there will be no empty clusters. The
comparison between their modified -means and the original -means show that the
number of iterations is higher with the modified -means method. In case of the numerical
*
Corresponding author.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 110–122, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Two-Stage Clustering with k-Means Algorithm 111

examples which produce empty clusters, the proposed method cannot be compared with
any other method since there is no modified -means algorithm available to avoid the
empty clusters. [6] on the other hand developed a procedure in which the centers have to
pass a refinement stage to generate good starting points. [7] used genetically guided -
means where the possibility of empty clusters will be treated in the mutation stage.
Another method of center initializing based on values of attributes of the dataset is
proposed by [8]. The later proposed method creates a complex procedure which leads to
be computationally expensive.
[2] on the other hand, developed a method to avoid unnecessary distance
calculations by applying the triangle inequality in two different ways, and by keeping
track of lower and upper bounds for distances between points and centers. This
method is effective when the dimension is more than 1000 and also when the clusters
are more than 20. They claimed that their method is many times faster than normal -
means method. In their method the number of distance calculations is instead of
where is the number of points and are the number of clusters and the number of
iterations respectively. [9] In contrast, Hodgson used different triangular equality to
achieve the goal, in which they reduced the number of distance calculations.

2 Theoretical Background and the Proposed Method

Simple modifications of -means clustering method have been proposed. The


theoretical background of the proposed method is described below:
The main idea behind -means is to calculate the distance between the data point
and the centers using the following formula:
/
, (1)
Where the Euclidean distances between the data point at the cluster and the
initial centers are .
The points in one cluster are defined as:
for 1,2, … , regarded as one cluster and is the total number of points in
that cluster.
The chosen randomly either from the dataset or arbitrarily. In our method we
have used the random selection of the centers from the dataset to avoid wasting one
more calculation (iteration). Any -means clustering method depends on the number
of clusters set at the beginning. There is no guarantee that the centers will move or
converge to the mean points of the average of the cluster. This is one of the
drawbacks of -means. Also there is no guarantee that the convergence will happen to
the local mean.
Assume that is the set of clusters to minimize the criteria . ; so that
converges to (the cluster centers):
, ,…, (2)

where , ,…, ; min | | (3)


where is the probability distribution over the Euclidean space.
112 R. Salman et al.

If the represents the entire dataset then the objective is to find a subset of
such that .
We assume that the data with one center is a stationary random sequence satisfying
the following cumulative distribution sequence:

, ,…, , ,…, , ,…, , ,…,


(4)
then the above sequence has one mean:

(5)
The process of clustering is equivalent to minimizing the Within-Cluster Sum of
Squares for the, so called, fast stage:

min (6)

and for the so called, slow stage, as follows:

min (7)

where are the centers of the clusters which are equals to the centers of the previous
stage.
The within cluster sum of squares is divided into two parts corresponding to the
fast and the slow stages of the clustering:

, , (8)

The centers of the slow stage start with

3 The Results

The complexity of the -means is where is the number of clusters, is the


number of iteration required to get to the stopping criteria and is the input patterns.
For example if the data size is 1000 points, 4 clusters and it require 20 iterations to get
the optimal locations of the centers. Then, 80,000 is the time complexity. The time
complexity in the proposed method has two folds, first is time complexity of the fast
stage of clustering:
where is the number of data for the fast stage and is the iterations
during the fast stage only. The second part of the time complexity is calculated
according to the slow stage of clustering: where is the number of
Two-Stage Clustering with k-Means Algorithm 113

iterations during the slow stage. Assume that 100 and 3 then the total time
complexity is:
= 7200 8000 = 15200
This will represent a reduction in the calculation time for the clustering of more
than 5 times. However, if the data is bigger than the previous figure then the time
reduction will be higher. For example if the data is 1Million the reduction will be
approximately 10 times. This is quite well illustrated in the following diagram:

Fig. 1. Complexity measure of the k-means and the modified k-means with 100 samples

The and are the fast iterations and the slow iterations of the modified -
means. Respectively. The black graph in Fig. 1 is the time complexity of the normal
-means. Other graphs represent the complexity of the modified -means. Therefore
the higher the value of the more the graphs will approach the normal -means
properties. From the above graph it can be concluded that the lower values of the
less time required to achieve total clustering. The more iterations, for the fast stage,
the faster the algorithm works. However, the catch here is we cannot go very low with
as the time of the clustering will approach the normal -means. In other words the
clustering procedure will produce blank clusters. The proper percentage would be
10% - 20%. The set up of the parameters of the red graph of the above diagram has a
complexity of almost 5 times less than the normal -means clustering. In the case of
using higher number of data for the fast stage clustering, 500, the complexity
results will be skewed upwards as shown below:
114 R. Salman et al.

Fig. 2. Complexity measure of the k-means and the modified k-means with 500 samples

The set up of the parameters of the red graph of the above diagram has complexity
less than 2 times than the normal -means clustering. This indicates that the more the
data chosen for the fast stage of clustering the less advantages of this method.

4 Numerical Examples
Two examples presented here to validate the proposed method.
1- A data set with 800 samples and 2-dimension (3 clusters) is used. The
following figures show the movement of one of the centers and the two stage
clustering.
2- From Figs. 3 and 4 it is very clear that the approach of the red line (slow
stage coordinate of one center) is very smooth comparing with the other fast
stage coordinate movements. The first value of the red (slow) graph is the
same as the last value of the blue (fast) graph. The number of iterations is
higher than is required but this is only for clarification. The number of
iterations required for the fast stage will of course be higher than the slow
stage scheme.
Moreover, as you can see from the above graph, the coordinates have not been
changed a lot. This means that the -means algorithm does not need to run many
times since we reached the correct accuracy.
Another presentation of the effectiveness of the method is the movements of the
three centers as shown in figures 5-8.:

The following algorithm describes briefly the proposed procedure:


Two-Stage Clustering with k-Means Algorithm 115

Algorithm.
Input: , , , ,
Output: with clusters
% of
Select from randomly
While
For 1
Calculate the modified distance
,
Find minimum of
Assign the cluster number to point
End for
Calculate
End while
Calculate the average of the calculated clusters to find new centers
Use the whole dataset
While
For 1
Calculate the modified distance
,
Find minimum of
Assign the cluster number to point
End for
Calculate
End while

Fig. 3. Fast and Slow stages of the movement of one coordinate during the clustering
116 R. Salman et al.

Fig. 4. Fast and Slow stages of the movement of the second coordinate during the clustering

Fig. 5. Three center movement during the fast stage clustering


Two-Stage Clustering with k-Means Algorithm 117

A more detailed description is shown in the following figures in which the fast
stage shows the squares and the slow stage shows the diamond symbol:

Fig. 6. Fast and slow stages of the first cluster center movements

Fig. 7. Fast and slow stages of the second cluster center movements
118 R. Salman et al.

Fig. 8. Fast and slow stages of the third cluster center movements

As can be seen from the above diagrams, that the centers have moved many steps
during the fast stage, this has been achieved in fast response. The diamond shapes
shows the slow stage of iteration. The number of iterations of the slow stage is much
less than the fast stage. Also the movements of the centers are very small. In this case
the required calculation would be reduced from many steps to only couple of full step
(for all dataset). This of course will save some time and reduce expenses.
To be more specific about the proposed method Table 1 shows the creation of
clusters in different iterations for three dimensional data.

Table 1. Distribution of points and centers during the fast and the slow stages of clustering

Iter Points in
Clusters Old Centers New Centers Points
No. Clusters
C1 8 4 4 4.867 3.267 1.567 30,38,44
53,58,72
1 86,88,93
C2 4 4 4 6.16 2.85 4.68
113,114
138,145
Fast 15
C1 4.867 3.267 1.567 4.867 3.267 1.567 30,38,44
53,58,72
2 86,88,93
C2 6.16 2.85 4.68 6.16 2.85 4.68
113,114
138,145
Two-Stage Clustering with k-Means Algorithm 119

Table 1. (continued)
1-50,58
C1 4.867 3.267 1.567 5.015 3.318 1.636 61,82,94
99
51-57,59-
1 60
62-81
C2 6.16 2.85 4.68 6.323 2.901 4.987
83,93
95-98
100-150
1-50,54,58
60-61,70
C1 5.015 3.318 1.636 5.06 3.226 1.897
80-82,90
94,99,107
51-53,55-
57
2 59,62-69
71-79
C2 6.323 2.901 4.987 6.396 2.933 5.071 83-89
91-93
95-98
100-106
108-150
1-50,54,58
60-61
63
C1 5.06 3.226 1.897 5.083 3.205 1.956 65,70,80-
82
Slow 90,94 150
99,107
51-53,55-
3 57
59,62,64
66-69,71-
79
C2 6.396 2.933 5.071 6.409 2.942 5.1
83-89,91-
93
95-98
100-106
108-150
1-50,54,58
60-
61,63,65
C1 5.083 3.205 1.956 5.083 3.205 1.956
70,80-
82,90
94,99,107
51-53,55-
57
4
59,62
64,66-69
71-79
C2 6.409 2.942 5.1 6.409 2.942 5.1
83-89
91-93,95-
98
100-106
108-150
120 R. Salman et al.

The two stages are clearly indicating the formation of clusters at each stage. The
centers of the slow stage are the same as the centers of the end of the fast stage. The
fast stage has taken only 10% of the whole dataset. Although the number of iterations
of the slow stage is 4, in bigger dataset this can be reduced by increasing the iterations
of the fast stage.

5 Speed Up Analysis
The speed of the normal -means is shown in blue while the speed of the modified -
means is shown in red. Two different computers were used of 32bit and 64bit
Operating Systems. Regardless, of the speed of the computer used the validation of
the modified -means always consistent as indicated by Fig. 9. The data used for the
fast stage clustering is only 10%of the whole data which is randomly selected. The
dataset used in this example is “Synthetic” which is 100,000 samples with 10
dimensions. The speed of the modified -means is almost twice the speed of normal
-means. This is due to the fact that 2-stage -means clustering uses less full data
iterations. The speed up is very clear in the high accuracy when the required µ is 10
or less, where µ is the stopping criteria or the required accuracy. This is always
important when you try to find good clustering results.

Fig. 9. Comparison in the speed of the modified -means and normal -means with different
computers

The speed up of the modified -means comparing with the normal -means is
varying according to the accuracy. For the lower range of accuracy the speed up of
Two-Stage Clustering with k-Means Algorithm 121

clustering is ranges from (1-9) times. This would reduced for the higher accuracy for
example from 10 to 10 . Figure 9 shows clearly that the speed up is settled for
the higher accuracy within 2 times. On the other hand the range of the random data
selected to archive the fast clustering is also fluctuating. The best range is between
10%-20%. In the normal situation we require a good accuracy for the clustering to
archive the full clustering to all data. This would be between 10%-20% of the data
and accuracy between 10 to 10 as shown in Table 2.

Table 2. Speed up of clustering with the modified k-means using different dataset sample
percentage of the total data

10% 15% 20% 30% 40%


10 1.9 1.8 1.8 1.7 1.5
10 3.8 3.5 3.4 3 2.5
10 4.7 8.9 3.1 7 4.3
10 1 1.7 1.1 3 8.5
Accuracy

10 2.9 1.6 2.2 2.1 2.4


10 2 1.9 2.6 2.3 2.4
10 2 1.4 2.4 2.3 1.6
10 2 1.4 2.4 2.3 1.6
10 2 1.4 2.4 2.3 1.6
10 2 1.4 2.4 2.3 1.6

The proper range of the sample data is between 10%-20%. Carrying out the required
time for running the normal -means and the modified -means for 9 different data
samples shows that the best range is 10%-20% to get less time in the calculation of
the two algorithms as shown in Table 3.

Table 3. Calculation time for normal kmeans and modified kmeans

Fast + Slow Normal


k-means (sec) k-means (sec)
10% 4.81 14.3
Percentage of the data

20% 9.93 14.3


30% 14.94 14.3
40% 19.95 14.3
50% 25.17 14.3
60% 30.45 14.3
70% 36.62 14.3
80% 42.01 14.3
90% 47.66 14.3
122 R. Salman et al.

6 Conclusion
A simple proposal for achieving high speed of -means clustering for ultra dataset has
been presented in this paper. The idea has two folds. The first is the fast calculation of
the new centers of the -means clustering method. A small part of the data will be
used in this stage to get the final destination of the centers. This of course will be
achieved in high speed. The second part is the slow stage in which the -means will
start from well positioned centers. This stage may take couple of iteration to achieve
the final clustering. The whole dataset will be used for the second stage.
In normal -means algorithm if the initial centers are exactly located at the means
of the clusters of the data, then the algorithm requires only one step to assign the
individual clusters to each data point. In our modified -means we are trying to get to
that stage of moving any initial centers to a location which is either the locations of
the means or near it. The big the difference between these locations will decide on
how many times the normal -means required to run to assign all data to their
clusters. Our algorithm will move the centers fast to the locations which are near the
means. Future work is required to find out the effect of different locations of the
clusters on the speed up.

References
1. Arhter, D., Vassilvitskii, S.: How Slow is the kMeans Method? In: SCG 2006, Sedona,
Arizona, USA (2006)
2. Elkan, C.: Using the Triangle Inequality to Accelerate K –Means. In: Proceedings of the
Twentieth International Conference on Machine Learning (ICML-2003), Washington DC
(2003)
3. Pakhira, M.K.: A Modified k-means Algorithm to Avoid Empty Clusters. International
Journal of Recent Trends in Engineering 1(1) (May 2009)
4. Dude, R.O., Hart, P.E., Stork, D.G.: Pattern Classification. Wiley-Interscience Publication,
Hoboken (2000)
5. Har-Peled, S., Sadri, B.: How fast is the k-means method? Algorithmica 41(3), 185–202
(2005)
6. Bradley, P.S., Fayyad, U.M.: Refining Initial Points for Kmeans Clustering. Technical
Report of Microsoft Research Center. Redmond,California, USA (1998)
7. Wu, F.X.: Genetic weighted k-means algorithm for clustering large-scale gene expression
data. BMC Bioinformatics 9 (2008)
8. Khan, S.S., Ahmed, A.: Cluster center initialization for Kmeans algorithm. Pattern
Recognition Letters 25(11), 1293–1302 (2004)
9. Hodgson, M.E.: Reducing computational requirements of the minimum-distance classifier.
Remote Sensing of Environments 25, 117–128 (1988)
An Energy and Delay-Aware Routing Protocol
for Mobile Ad-Hoc Networks

Jihen Drira Rekik, Leïla Baccouche, and Henda Ben Ghezala

RIADI-GDL laboratory, ENSI National school of computer sciences


Manouba University, 2010 Manouba, Tunisia

Abstract. A mobile ad-hoc network (MANET) is an autonomous system of


mobile nodes which are free to move randomly thus forming a temporary
network. Typical applications of MANET are in disaster recovery operations
which have to respect time constraint needs. However, it is very difficult to
guarantee any quality of service to a real-time flow in such network because it
must take into account the specificities of these networks. This paper introduces
the Energy Delay aware based on Dynamic Source Routing, ED-DSR. ED-DSR
efficiently utilizes the network resources such as the node energy and the node
load in order to balance traffic load. It ensures both timeliness and energy
efficiency by avoiding low-power node and busy node. Simulation results,
using NS-2 simulator, show that the protocol prolongs the network lifetime (up
to 66%), increases the volume of packets delivered while meeting the data
flows real-time constraints and shortens the end-to-end delay.

Keywords: efficient energy, mobile ad-hoc network, quality of service, real-


time packet, routing protocol.

1 Introduction
A Mobile Ad-hoc NETwork (MANET) has several advantages such as their
autonomic and infrastructure-less properties. Mobile nodes can move and access data
randomly at anytime and anywhere. There is no need for fixed infrastructure; it can be
easily deployed anywhere and anytime. Mobile nodes in MANET such as PDA,
laptops or Smartphone are connected by wireless links and each node acts as a host
and router in the network. They are characterized by their reduced memory, storage,
power and computing capabilities. Mobile nodes are classified into two groups: Small
mobile hosts (SMH) which has a reduced memory, storage, power and computing
capabilities and large mobile hosts (LMH) equipped with more storage, power,
communication and computing facilities than the SMHs. Mobile ad-hoc networks
have become increasingly popular due to their autonomic and infrastructure-less
properties of dynamically self-organizing, self-configuring, self-adapting. However, a
number of challenges like resource constraints, dynamic network topology are posed.
MANETs cover a large range of applications from military operations, natural
disaster and search-and-rescue operation where common wired infrastructures are not
directly reachable to provide communication due to limited provision of this facility

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 123–134, 2011.
© Springer-Verlag Berlin Heidelberg 2011
124 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala

in those settlements. We focus especially on real-time applications where a number of


them, including defense applications, have to respect time constraint in order to
update positions of wounded soldiers or enemies or find medical assistance.
Currently, most MANET research has focused on routing and connectivity issues
[1] [5] in order to cope with the dynamism of such networks. Just solving the problem
of connectivity is not sufficient for using MANETs. Since MANET comprises of
resource limited nodes, these nodes demand utilization of data, services and
cooperation of other nodes to perform tasks on time. How to guarantee the data
exchange without exceeding its real-time constraints or wasting resources? What are
the appropriate metrics combining timeliness on the one hand and on the other hand
choosing the correct route without depleting resources? Based on dynamic source
routing (DSR) [3], we introduce the Energy and Delay-aware Dynamic Source
Routing protocol (ED-DSR) for MANET. ED-DSR is a routing protocol which uses
information from the physical layer and the MAC layer in choosing routes, focusing
on the energy efficiency, delay guarantee and the overall network performance.
Simulation results show that ED-DSR outperforms the traditional routing protocol,
DSR, in providing longer network lifetime and lower energy consumption per bit of
information delivered. In addition, it minimizes the end-to-end delay and upgrades the
rate of packets delivered. The rest of the paper is organized as follows: in the second
section, we present the related work in QoS routing protocols. In the next section, we
describe the proposed Energy Delay-aware Dynamic Source Routing (ED-DSR)
protocol. Detailed analysis in performance difference is performed in next sections.

2 QoS Routing Protocols: An Overview


The performance of the ad-hoc mobile network highly depends on the lifetime of
mobile hosts. The network partition may lead to interruptions in communications, as
in such conditions mobile nodes need to deliver their packets through intermediate
nodes in order to intend destinations. Therefore, the lifetime of intermediate mobile
nodes should be prolonged by conserving energy either at each node and for each
connection request, too. In MANET, the mobile nodes are power limited and require
energy for computing as well as routing the packets. Moreover applications in this
environment are time-critical which require their flows to be executed not only
correctly but also within their deadlines. In the literature lot of QoS aware routing
protocols have been proposed [4], [6], [8], [9]and [10]. QoS routing is to compute
routes for traffic flows with QoS requirements. To determine a route, QoS routing
considers QoS requirements of the flow and resources availability, too.

2.1 Energy-Aware Multipath Routing Protocol, EMRP

EMRP is an energy-aware multipath source routing protocol derived from Dynamic


Source Routing (DSR) [9]. It makes changes in the phases of Route Reply, Route
Selection and Route Maintenance according to DSR. EMRP utilizes the energy and
queuing information to select better routes. In route response, each intermediate node
will stamp its current status in the RREP packet. Finally, the routing agent at the
source node will collect the RREP. In routes selection, EMRP chooses the working
An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc Networks 125

set of routes from all available routes according to the following rules. First of all,
EMRP calculates the cost of each available route according to the following equation:
∑ . (1)
Where is the cost of the route and , are the costs of node i
considering the energy and queue length respectively. and are the costing factors
which normalize and . A route is selected based on minimum values
of . is a function depending of the distance and remaining energy of node i
and the next-hop node. depends on the queue length along the current route.
Critics: The above solution proposes multipath routing protocol. It provides routes
that reduce the intermediate mobile nodes power consumption, alleviating the
network partitioning problem caused by the energy exhaustion of these nodes.
However, the exhaustible energy battery is not the only indicator for route selection
and a power control scheme. The number of packets in each node’s queue, along the
route, doesn’t reflect the local processing time. In fact, each packet has its proper
execution time which varies. Thus, the packet handling will inevitably suffer a longer
delay and therefore the energy exhaustion of these nodes; while there are other nodes
with less energy but where their queues require less time to be treated. The route
selection should be done according to energy and more queuing information, in terms
of queue length and local processing time of each previous flow, too.

2.2 Real-Time Dynamic Source Routing, RT-DSR

RT-DSR is based on the expiration delay to deadline [10]. It makes changes in the
phases of routes discovery and reply. In routes discovery, a route request RREQ is
broadcasted with the expiration delay to deadline. The route request is accepted for a
new flow only if the new packet can reach the destination before the expiration delay.
0. (2)
Where is the remaining time of the expiration delay to deadline, for the traffic k,
received from the node (i-1). is the local processing time of any message; is
the transmission time between two neighboring nodes in the worst case remaining
times. The delay of each real-time flow in the queue, already admitted, shouldn’t be
altered by the newest one.
,1 , 0. (3)
Where res is the number of real-time flows already admitted in the node.
In routes reply, each intermediate node reserves the resources, saves the remaining
time to deadline and sends the confirmation to the next node until reaching the source.
Critics: RT-DSR purpose is to reserve resources in order to meet the deadlines but
it must also take care that the resources are exhaustible. Indeed, choosing the same
route to transfer all packets of real-time data through the reserved route may exhaust
the energy of these nodes leading to the network partitioning problem. Moreover, the
route selection criteria should consider that in MANET there are other traffics
generated and they could take some joint nodes. The rules, under which packets are
126 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala

assigned to route, should improve the system performance in terms of real-time


constraint and energy efficiency too.

3 The Proposed Energy Delay-Dynamic Source Routing Protocol


The proposed routing protocol considers packet deadline (real-time constraint),
energy of the forwarding nodes and load at intermediate nodes to deliver real-time
traffic. Each packet should be transmitted from the source to the destination within
the deadline. The basic working of our proposed protocol is as follows. Each node,
before starting the transmission of real-time data, selects a suitable route between the
source and the destination. The selected route should satisfy delay requirements,
preserve energy consumption and avoid overloaded nodes. Energy delay-dynamic
source routing, ED-DSR, protocol is based on DSR. In DSR, the routes are stored in
without any constraint on quality of services. The delay requirement is not considered
to ensure that packets will reach their destinations before the deadlines. Furthermore,
DSR doesn’t contribute to reduce the power consumption of mobile nodes. However,
DSR is an on demand protocol ensuring the freshness of constructed route which is
more suitable for the real-time flow. Therefore, we opt to DSR as based protocol in
our work. DSR discovers a route between two nodes, only when required which
reduce the number of packets control. DSR is simple and flexible [2] which facilitates
the implementation of our extension. Also, a route response packet sent back to the
source can be used to incorporate real-time and energy constraints. The choice of the
suitable route to transfer the real time data in ED-DSR is conditioned by three factors:
the residual energy of nodes belonging to the route, the delay requirements of the real-
time flow and the load of the node’s queue.
Routes discovery: When transmitting a new real-time data, the source node checks
its route cache first to see whether there are available routes to the destination node. If
routes are available, the protocol selects the suitable route according to the rules,
which will be presented in next sub-section. Otherwise, the source node goes into the
route discovery phase to request available route.
Routes reply: When a destination node receives a RREQ, it returns back a Route
REPly (RREP) packet to the source node. Different from DSR, in ED-DSR, while an
RREP packet is being sent back to the source node, each intermediate mobile node
will stamp its current status in the RREP packet. Finally, at the source node, the
routing agent collects the RREP. This status information is shown in Table 1, in
which i is the index for the mobile nodes.

Table 1. Information fields of RREP packets

Information fields Contents


Distance to this node provided by the physical
layer
Current length of queue, provided by the network
layer.
Current remaining energy of this node, provided
by the physical layer.
An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc Networks 127

ED-DSR calculates the cost of each available route according to the equation (4):
∑ . (4)
Where is the cost of the route and , are the costs of node i
considering the energy and queue length respectively. , and are the factors
which normalize , and . is calculated as follows:

. (5)

is a function depending of the distance and remaining energy of node i. More


remaining energy and shorter distance indicate less . is given below:
1 . (6)
where is the queue length at node i. equation is calculated in the same
manner as [9]. It is relative to the queue length along the current route.
If there are more packets in the queues along the route, the transmission will
inevitably suffer a longer delay. increases rapidly with .
. (7)
where is the queue length at node i, is the local processing time of any
message in node i; is the transmission time between two neighboring nodes in the
worst case remaining times and is the number of hops.
depends on the queue length and the local processing time of each packet
along the current route.
Each packet should verify if it can reach the destination before the expiration delay
(10). Otherwise, the node discards the route.
∑ . (8)
Where is the worst case execution time for the packet k.
Routes selection: In ED-DSR, the source node waits a certain period of time to
collect RREP messages from the destination nodes along various routes. Among
selected routes, the source node selects one based on minimum value of .

4 The Simulation Model


We have used the Network Simulator, NS-2 in our simulations. NS-2 is an object-
oriented, event driven simulator. It is suitable for designing new protocols, comparing
different protocols and traffic evaluations.

4.1 Simulation Environment

We simulated a MANET with 10-100 nodes in a 1500m×500m. With a rectangle area,


longer distances between the nodes are possible than in a quadratic area, i.e. packets
are sent over more hops.
128 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala

Each node is equipped with an IEEE 802.11 wireless interface in a priority queue
of size 50 that drops packets at the queue end in case of overflow. A traffic load
between pair of source-destination (SMH-LMH) is generated by varying the number
of packets per second on the constant bit rate - CBR. Each packet is 512bytes in size.
We defined two groups of mobile nodes according to their resource capacity SMH
and LMH. At the beginning of simulation, SMH nodes started with a starting energy
of 50 joules and LMH with 100 joules. Since we did not address the problem of
consumed energy in idle state, we have only considered energy consumed in
transmission and reception modes. As values, we have utilized 1.4 W for transmission
mode and 1 W for reception mode. The mobile nodes move around the simulation
area based on the RWP mobility model, with a maximum speed of 2 m/s and a pause
time of 10 seconds for SMH, which model a soldier mobility pattern and speeds of up
to 20 m/s for LMH, which corresponds more to vehicular movements.
All results reported here are the averages for at least 5 simulation runs. Each
simulation runs for 1000 s. During each run, we assume that the node 0 wants to send
real-time traffic to last node with an expiration delay equals to 15 seconds (firm real-
time flow) and 25 seconds for higher expiration delay (soft real-time flow). Then, we
observe the behavior of the nodes.

4.2 Performance Criteria

Five important performance metrics are evaluated. They are used to compare the
performance of the routing protocols in the simulation:
- Real-time packet delivery in time ratio: the ratio of the real-time data packet that
are delivered in time to the destination to those generated by CBR sources.
- Real-time packet delivery ratio: the ratio of the real-time data packets delivered to
the destination to those generated by CBR sources.
- Mean end-to-end delay: the mean end-to-end delay is the time of generation of a
packet by the source up to data packets delivered to destination.
- Network lifetime The network lifetime corresponds to the first time when a node
has depleted its battery power.
- Energy consumption per bit delivery is obtained by dividing the sum of the
energy consumption of the network by the number of successfully delivered bits.

5 Results and Discussions


Several simulations are performed using NS-2 network simulator and using
parameters shown in table 2. NS-2 generates a trace files analyzed using a statistical
tools developed in AWK. The performance study concerns two versions of routing
protocol DSR: DSR which refers to the classic DSR protocol [3] and ED-DSR which
refers to our QoS protocol for two expiration delays 15s and 25s, which reflect
respectively firm and soft real-time streams.
An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc Networks 129

5.1 Impact of Traffic Load

We propose here to study the impact of traffic load between pair of source-destination
(SMH-LMH) by varying the number of packets per second on the CBR streams. The
following figures show performance evaluation of DSR and ED-DSR protocols
related to {5, 9, 10, 12, 15, 20} p/s on the CBR streams for 50 mobile nodes.

5.1.1 Network Performance


The network performance is evaluated with three metrics, namely, the rate of real-
time packets that are delivered in-time (where the deadline constraint is respected),
the rate of real-time packets delivered and the end-to-end delay.
Real-time packet delivery: Firstly, we observe and compare the variation of the ratio
of all delivered packets regardless of compliance with the real-time constraints and
the ratio of delivered packets in time, which respect the real-time constraint, while the
data rate of the CBR flow is increased.

DSR D=15s ED-DSR D=15s ED-DSR D=25s

120
Packet delivery (%packets)

100
80
60
40
20
0
5 9 10 12 15 20

Packet rate of CBR (packets/sec streams)

Fig. 1. Real-time packets delivery ratio

DSR D=15s ED-DSR D=15s ED-DSR D=25s

100
Real-time packet delivery in-

80
60
time (%packets)

40
20
0
5 9 10 12 15 20

Packet rate of CBR (packets/sec streams)

Fig. 2. Real-time packets delivery in time ratio


130 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala

The figure 1 proves that DSR provides better performance. However, DSR’s
packet deliver ratio includes all packets that have reached the source node and where
the deadline is not guaranteed for all packets received, as shown in figure 2. The ED-
DSR packet delivery ratio reflects the packets that have respected their real-time QoS
constraint and will be handled in time.
In both figures 1 and 2, the ratio of real-time packet delivery at source node is
same. In fact, with ED-DSR, the real-time packets that have expired their deadlines
are discarded by the intermediate nodes. In fact, each intermediate node verifies if the
route response packet RREP respects or not the real-time constraint before reaching
the source node. Thus, the MANET will avoid the network overloading with packets
that have expired their deadline in order to reduce energy consumption and alleviate
network load through intermediate nodes. However, with DSR, the real-time
constraint is not guaranteed especially as the packet rate value increases.
With firm real-time constraint, where D=15s, we note that packet delivery ratio in
time decreases but stills stationary and better than DSR. The ratio of the packets sent
within the compliance of its real-time constraint is over 50%. ED-DSR offers best
performance for delivering real-time packets in time with soft real-time constraint.
End-to-end delay guarantee: Another commonly used metric is the end-to-end
delay. It is used to evaluate the network performance. As shown in figure 3, for low
traffic approximate to 5packets/sec, the packet end-to-end delay results experienced
by both protocols are comparable. It implies that the delay is respected when the
communication load is low. When the communication load increases, a number of
packets are dropped, the route discovery is restarted and the packet delay increases
with DSR. It indicates that packet delay is sensitive to the communication load and is
basically dominated by queue delay. However, with ED-DSR, the end-to-end delay
stills low. The network overloading is avoided by discarding the packets that have
expired their deadline and thus alleviate the load of mobile node queue.

DSR D=15s ED-DSR D=15s ED-DSR D=25s

5
End-to-end packet delay(s)

4
3
2
1
0
5 9 10 12 15 20

Packet rate of CBR (packets/sec streams)

Fig. 3. End-to-end packet delay

Our proposed protocol selects different routes depending on the cost function,
thereby balancing the traffic in the network. This balancing helps to avoid overloaded
An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc Networks 131

intermediate nodes in the network and reduces the delay for packets. Thus for high
network traffic (up to 9packets/sec), our protocol gives much improved performance.
We, also, note that the end-to-end delay is better for lower deadline (D=15s, firm
real-time constraint). In fact, ED-DSR selects routes which reduce the transmission
delay in order to respect the deadline.

5.1.2 Energy Efficiency


In this section, we focus especially on the impact of our proposed protocol ED-DSR
on energy efficiency guarantees. Two metrics, namely, the network lifetime and the
energy dissipation are used. We study the impact of traffic load between pair of
source-destination (SMH-LMH) by varying the number of packets per second on the
CBR connection for 50 mobile nodes.
Network lifetime: Firstly, we observe the variation of network lifetime while the data
rate of the CBR flow is increased. Figure 4 shows the simulation results on small
mobile host lifetime comparing ED-DSR and DSR under various traffic loads, while
the data rate of the CBR flow are increased.

DSR D=15s ED-DSR D=15s ED-DSR D=25s

100
Lifetime of SMH(%)

80
60
40
20
0
5 9 10 12 15 20

Packet rate of CBR (packets/sec streams)

Fig. 4. The network lifetime of SMH nodes

We can see that networks running ED-DSR live longer than those running DSR,
especially for high network traffic (up to 9packets/sec).
As evident by the graph, our ED-DSR is little bit as efficient as DSR with low
connection rate and much better in high traffic load.
By avoiding the network overloading with packets that have expired their
deadlines and selecting routes that minimize energy cost, ED-DSR alleviates network
load and reduces energy consumption, too.
DSR network lifetime was low in approximately all cases in comparison to ED-
DSR since DSR generates typically more routing overhead than ED-DSR.
Energy dissipation: Figure 5 demonstrates the average energy consumption per bit
delivery reflecting the global energy consumption in the network.
132 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala

We see that ED-DSR outperforms DSR under different traffic loads, which is
mainly due to the benefit of power control in the MAC layer. The excess packets
inevitably introduce more collisions to the network, wasting more energy. ED-DSR
chooses alternative routes, avoiding the heavily burdened nodes, thus alleviating the
explosion in average energy consumption.

DSR D=15s ED-DSR D=15s ED-DSR D=25s

1.5
Average energy consumption

0.5
(J)

0
5 9 10 12 15 20

Packet rate of CBR (packets/sec streams)

Fig. 5. The average energy consumption per bit

ED-DSR average energy consumption was lower than DSR average energy
consumption under all packet rate conditions (over 9packets/sec) because ED-DSR
selects path that minimize cost function.
Changing expiration delay for different packet rate had not a significant impact on
average energy consumption of ED-DSR.

5.2 Impact of Network Density

In this section, we study the impact of network density on the ad-hoc routing
protocols performance. This criteria is simulated varying the number of network
nodes between 10 to 100: {10, 20, 30, 50, 70, 100} with 10 packets per second on the
CBR streams. We focus especially on the impact of our proposed protocol ED-DSR
on energy efficiency guarantees.
Network lifetime: We observe the variation of network lifetime while the number of
nodes is increased. Figure 6 shows the simulation results on small mobile host
lifetime comparing ED-DSR and DSR.
SMH, lifetime diminution according to node density augmentation is justified by
the increase of generated routing overhead. Although the generated routing overhead
had also increased in DSR, but this did not lead to an augmentation of its network
lifetime. Nevertheless, DSR network lifetime was low in approximately all cases in
comparison to ED-DSR since DSR generates typically more routing overhead than
ED-DSR. In fact, in route selection, our proposal algorithm utilizes the network
An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc Networks 133

DSR D=15s ED-DSR D=15s ED-DSR D=25s

100
Lifetime of SMH(%) 80
60
40
20
0
10 20 30 50 70 100

Number of nodes

Fig. 6. The network lifetime of SMH nodes

resources in terms of energy and load in order to balance traffic load. It ensures
energy efficiency, up to 66%, by avoiding low-power node and busy node.
Energy dissipation: Figure 7 gives an idea about the global average energy
consumption in the network for both protocols DSR and ED-DSR. Increasing node
density leads to an augmentation of collisions risk (consequently to more
retransmission attempts) and to a growth in number of exchanged control packets. All
those factors cause more energy dissipation for both protocols. ED-DSR average
energy consumption is lower than DSR average energy consumption under all density
conditions because ED-DSR selects path that minimizes cost function. Thus, its
global energy consumption remains lower than DSR one.

DSR D=15s ED-DSR D=15s ED-DSR D=25s

1.5
Average energy consumption

0.5
(J)

0
10 20 30 50 70 100

Number of nodes

Fig. 7. Average energy consumption per bit

Changing expiration delay for different node densities has not a significant impact
on average energy consumption of ED-DSR.
134 J. Drira Rekik, L. Baccouche, and H. Ben Ghezala

6 Conclusions and Future Work


There is a growing demand that mobile nodes should provide QoS to mobile users
since portable devices become popular and applications require real-time services. In
this paper, an energy delay-aware routing protocol for mobile ad hoc networks is
proposed. ED-DSR is a routing protocol which allows the packets of real-time flows
to be routed from the sender to the receiver before the expiration delay to deadline. In
addition, the route selection is done according to energy consumption and queue load
of intermediate nodes, too. Cost function is defined based on residual energy, queue
length, processing and transmission time of intermediate nodes. The route is selected
based on minimum value of cost function.
Simulation results prove the performance of our proposal routing protocol. They
indicate that ED-DSR prolongs network lifetime and achieves lower energy
dissipation per bit of data delivery, higher volume of packets delivered and lower end-
to-end delay. In the future, we plan to integrate weighting factor to the cost function
and study their effects on the system in order to appropriate QoS service to user
needs: which factor to privilege (energy, delay or node load).

References
1. Das, S., Castañeda, R., Yan, J.: Simulation-Based Performance Evaluation of Routing
Protocols for Mobile Ad-hoc Networks. Mobile Networks and Applications 5(3), 179–189
(2000)
2. Hu, Y.C., Johnson, D.B.: Implicit Source Routes for On-Demand Ad Hoc Network
Routing. In: ACM MobiHoc (2001)
3. David, B.J., David, A., Maltz, B.J.: DSR: The Dynamic Source Routing Protocol for
Multi-Hop Wireless Ad-hoc Networks. In: Perkins, C.E. (ed.) Ad-hoc Networking, ch. 5,
pp. 139–172. Addison-Wesley, Reading (2001)
4. Frikha, M., Maamer, M.: Implementation and simulation of OLSR protocol with QoS in
Ad-hoc Networks. In: Proc. of the 2nd International Symposium on Communications,
Control and Signal Processing (2006)
5. Huang, J., Chen, M., Peng, W.: Exploring Group Mobility for Replica Data Allocation in a
Mobile Environment. In: Proc. Twelfth international conference on Information and
knowledge management, pp. 161–168 (2003)
6. Kuo, C., Pang, A., Chan, S.: Dynamic Routing with Security Considerations. IEEE
Transactions on Parallel and Distributed Systems 20(1), 48–58 (2009)
7. Maleki, M., Pedram, M.: Power-Aware On-Demand Routing Protocols for Mobile Ad-hoc
Networks. In: Piguet, C. (ed.) Low Power Electronics Design, The CRC Press, Boca Raton
(2004)
8. Mbarushimana, C., Shahrabi, A.: Congestion Avoidance Routing Protocol for QoS-Aware
MANETs. In: Proc. of International Wireless Communications and Mobile Computing
Conference, pp. 129–134 (2008)
9. Meng, L., Lin, Z., Victor, L., Xiuming, S.: An Energy-Aware Multipath Routing Protocol
for Mobile Ad Hoc Networks. In: Proc of Sigcomm Asia Workshop, Beijing, China,
pp. 166–174 (2005)
10. Ouni, S., Bokri, J., Kamoun, F.: DSR based Routing Algorithm with Delay Guarantee for
Ad-hoc Networks. JNW 4(5), 359–369 (2009)
Energy-Aware Transmission Scheme for
Wireless Sensor Networks

Abdullahi Ibrahim Abdu and Muhammed Salamah

Computer Engineering Department


Eastern Mediterranean University
KKTC, Mersin 10, TURKEY
[email protected],[email protected]

Abstract. In this paper, we proposed a technique to extend the network lifetime


of a wireless sensor network, whereby each sensor node decides whether to
transmit a packet or not and with what range to transmit the packet. A sensor
node makes this decisions based on its own energy resource and the information
contained in each packet. The information content in each packet is determined
through a system of rules describing prospective events in the sensed
environment, and how important such events are. While the most important
packets are propagated by virtually all sensor nodes and with different
transmission ranges depending on their battery life, low importance packets are
propagated by only sensor nodes that have high energy reserves and with
greater transmission ranges due to high reserves. The result show that by
adjusting the transmission ranges based on energy reserves, a considerable
increase of lifetime is achieved.

Keywords: Energy-aware; Wireless sensor networks; Transmission range


adjustment; Priority balancing.

1 Introduction
A wireless sensor network (WSN) typically consist of a number of small,
inexpensive, locally powered sensor nodes that communicate detected events
wirelessly through multi-hop routing [1]. Typically, a sensor node is a tiny device that
includes three basic components: a sensing subsystem for data acquisition from the
physical surrounding environment, a processing subsystem for local data processing
and storage, and a wireless communication subsystem for data transmission. In
addition, a power source supplies the energy needed by the device to perform the
programmed task. This power source often consists of a battery with a limited energy
budget. In addition, it could be impossible or inconvenient to recharge the battery,
because nodes may be deployed in a hostile or unpractical environment [2]. WSNs are
being used in a wide variety of critical applications such as military, health-care
applications [3], health care [4], environmental monitoring [5], and defense [6]. A key
research area is concerned with overcoming the limited network lifetime inherent in
the small, locally powered sensor nodes [1]. To improve this limited network life
time, new and modified routing algorithms were proposed.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 135–144, 2011.
© Springer-Verlag Berlin Heidelberg 2011
136 A.I. Abdu and M. Salamah

In this paper, we proposed a technique to extend the network lifetime of a wireless


sensor network; referred to as IRT or IDEALS|RMR|TRA (Information manageD
Energy aware Algorithm for sensor networks with Rule Managed Reporting and
Transmission Range Adjustments). The extension in the network lifetime is achieved
at the possible sacrifice of low importance packets and adjustment of transmission
ranges based on nodes energy resource. One big advantage of this technique is that,
nodes do not have to transmit packets with their maximum transmission ranges all the
time. They take into consideration their energy resource and adjust their transmission
range accordingly. Nodes also maintain full connectivity by making their minimum
transmission range cover at least one sensor node.
The rest of this paper is organized as follows: Section 2 presents related work.
Section 3 presents our proposed research. Section 4 gives the performance analysis
(simulation results and discussions). Section 5 provides conclusion and future work.

2 Related Work
The energy management technique IDEALS|RMR [7] extends the lifetime of a
wireless sensor network, whereby a node with high energy reserve act for the good of
the network by forwarding all packets that come to it and by generating its own
packets. However, a node with low energy reserve acts selfishly by only generating or
forwarding packets with high information content. In addition, IDEALS|RMR uses a
single-fixed transmission range for each sensor node regardless of whether its energy
resource is high or low and this causes redundancy in energy consumption as lots of
areas are covered by several sensors.
Authors in [8] developed a power saving technique by combining two methods:
scheduling sensors to alternate between active and sleep mode method, and adjusting
sensors sensing range method. They combined both methods by dynamic
management of node duty cycles in a high target density environment. In their
approach, any sensor schedules its sensing ranges from 0 to its maximum range,
where 0 corresponds to sleep mode. Adding the system of information control
proposed in this paper could significantly save energy.
Authors in [10] try to deal with the problem of energy holes (unbalance
distribution of communication loads) in a wireless sensor network. This means that,
energy of nodes in a hole will be exhausted sooner than nodes in other region. As,
energy holes are the key factors that affects the life time of wireless sensor network,
they proposed an improved corona model with levels for analyzing sensors with
adjustable transmission ranges in a WSN with circular multi-hop deployment.
Additionally, the authors proposed two algorithms for assigning the transmission
ranges of sensors in each corona for different node distributions. These two
algorithms reduce the searching complexity as well as provide results approximated
as optimal solution.
M. Busse et al. [11] maximize the energy efficiency by proposing two forwarding
techniques termed single-link and multi-link energy efficient forwarding. Single-link
forwarding sends a packet to only one forwarding node; multi-link forwarding
exploits the broadcast characteristics of the wireless medium. This leads to efficiency
because if one node doesn’t receive a packet, another node will receive the packet and
Energy-Aware Transmission Scheme for Wireless Sensor Networks 137

performs the forwarding process. There is however a tradeoff of delivery ratios


against energy costs.
Based on extensive survey on Wireless sensor networks so far, we believe that
energy management information control of [7] coupled with transmission range
adjustment in [8] was never considered, hence in this paper, we find it worth
considering. Our proposed IRT system extends the network lifetime for packets with
high information content by losing packets of less important just as IDEALS|RMR
does. However, transmission range of a sensor is adjustable in IRT, thus allows the
sensor more choice to reduce its energy consumption, hence prolong the lifetime of
WSN.

3 The Proposed IRT Scheme


Researchers are continuously developing new and modifying existing energy
management techniques in order to improve the network life time of WSNs. This is
because radio communication is often the most power-intensive operation in a WSN
device. For that reason, we modified the IDEALS|RMR energy management scheme
to improve the network life time. The main contributions of this study are:
- Coupling IDEALS|RMR with transmission range adjustment (TRA).
- Performing a detailed analysis by simulating IRT, IDEALS|RMR and
tradition case to prove that IRT is the most energy efficient technique.
The operation of IRT can be seen in figure 1. When a sensor senses a data, it passes
the data to the controller, which sends a value (e.g. temperature) to RMR (Rule
Management Reporting) unit. RMR is a technique which determines if an event worth
reporting has occurred, and how important such an event is. The value is received by
the Rule Compliance Testing. This rule compliant testing’s responsibility is to
determine if an event worth reporting has occurred. It does that by checking the
sensed value against the rules in the Rule Database (getting history information about
the previously sensed values), at the same time, updates the history with the current
information of packets and sensed value. Rules may be fulfilled or not, any rules
which are fulfilled are passed to the Message Priority Allocation to determine how
important the content of the packet is. It does that by assigning message priorities
(MP) to each fulfilled rule. In this work, five different MPs are used (MP1-MP5).
MP1 related to most important packet. (For example, temperature is higher than
normal and requires urgent attention). In the contrary, MP5 relates to the least
important packet (for example, a normal temperature packet, to indicate everything is
fine).
Any number of predefined rules can be entered by the designer, and describing
different events that can be detected in the sensed environment, examples of possible
rules are
1. Threshold rules (report when the sensed value crosses a preset value).
2. Differential rules (report when the change in the sensed value is larger or
smaller than a preset value).
3. Routine rules (report is a packet of that importance or higher has not been
sent for a preset period) [7].
138 A.I. Abdu and M. Salamah

Fig. 1. The proposed IRT system diagram

Afterwards, the MP obtained from message priority allocation is passed to the


IDEALS unit. Its responsibility is to decide if the node should transmit a packet or
not, and it’s done by Priority Balancing. The node’s energy resource is characterized
by power priority allocation, which assigns a power priority (PP) based on the state of
the battery. The highest power priority is PP5, and it’s allocated to a node with the
highest energy reserve, while the lowest power priority is PP1 and it’s allocated to the
node with the lowest energy reserve. When priority balancing receives MP and PP, it
compares them and if PP ≥ MP, then a packet will be transmitted.
Finally, when a node decides to transmit a packet, PP is passed to transmission
range adjustment (TRA) unit. Its purpose is to decide with what range a sensor node
will transmit a packet, which is done by Suitable Transmission Range. Suitable
transmission range gets power priority (PP) from power priority allocation and
coordinates from reachable sensors. These reachable sensors are the entire sensors in
the maximum transmission range of a sending sensor node. Now, based on the value
of the power priority and the coordinates of the sensors in the maximum transmission
range of the sending sensor node, a suitable transmission range is determined and
passed to the controller to successfully transmit the packet with the new range. In this
work, five different TRs are used (TR1-TR5), where TR1 is the minimum
transmission range and TR5 is the maximum transmission range.
There is a one-to-one mapping of the power priority to the transmission ranges.
When a packet is ready to be transmitted, meaning that PP≥MP, the transmission
range will be mapped to the value of PP. The priority allocation, balancing process
and transmission range adjustment can be seen in figure 2. For example, when we
have a full battery PP5, we will transmit all packets regardless of their message
priority MP1 to MP5 with the maximum transmission range TR5. However, if our
Energy-Aware Transmission Scheme for Wireless Sensor Networks 139


”ƒ•‹••‹‘ƒ‰‡•‘™‡””‹‘”‹–›‡••ƒ‰‡”‹‘”‹–›
ȋȌȋȌȋȌ
 ͷ ͷ  ͷ
ƒšǤƒ‰‡ —ŽŽ„ƒ––‡”› ‘™ ˆ‘Ǥ

Ͷ Ͷ Ͷ

͵ 
͵ ͵

ʹ

ʹ ʹ

ͳ
‹Ǥƒ‰‡ ͳ  ͳ
‹‰Š ˆ‘Ǥ

Ͳ
’–›
„ƒ––‡”›

Fig. 2. Priority Balancing with Transmission Range

battery decreases to the minimum PP1, we will have the chance to transmit only
packets with the highest message priority MP1 and with the lowest transmission range
TR1.
Priority balancing and transmission ranges can also affect routing process-if a
node’s residual energy level does not warrant sending a packet of a certain priority, it
will not participate in routing. Data deemed not to be significant enough (considering
the state of the network) can be dropped at a number of stages: event generation (if a
change in the data does not trigger a rule, an event will not be generated), local
priority balancing (if the PP<MP, the packet will not be created from the generated
event), and routing (if no route exists across the network where PP≥MP due to loops,
the packet will not reach its destination).

4 Performance Analysis
We performed our simulation using C programming, where we compared the data sets
of tradition case, IDEALS|RMR, and IRT. Repetitive simulations were perfumed for
IDEALS|RMR, and IRT to verify our simulation results provided in figure 5. IRT
system is not suited to an application where all data are equally important.

4.1 Simulation Setup

Initially, all sensor nodes have the same initial energy of 100 Joules [7], the equation
for energy required to transmit a packet (1), where Eelec[J] is the energy required for
the circuitry to transmit or receive a single bit, Eamp[J] is the energy required for the
transmit amplifier to transmit a single bit a distance of one meter, d is the separation
140 A.I. Abdu and M. Salamah

distance in meters and l is the length of the packet 1000bits. As it can be seen in
figure 4, we used 20 sensors nodes, distributed them randomly in a 70×70 meters area
and each node has the same maximum transmission range of 20 meters. The
coordinate of the sensors is saved in a file and given as input to the program.
Therefore, the distances to each of the sensors in the maximum transmission range of
a sending sensor is determined using the distance formula (2). Other simulation
parameters are listed in table 1 as shown below.

Table 1. Simulation parameters

Simulation area 70×70 meters dimension


Number of nodes 20 nodes
Packet length 1000 bits
Initial node energy 100 Joules
Simulated Node Id node-08
Minimum transmission range 13.038405 meters
Maximum transmission range 20 meters
Simulated node Coordinate (x = 38 , y = 37)

Etx(l,d) = Eelecl + Eampld2 . (1)

d x x y y . (2)
First, the user has to create a file, and provide the coordinates of sensors in it; the
program then outputs (sending node id, its coordinates, the node id’s in its maximum
transmission range and their distance to the sending node), for all sensor coordinates
provided. One sensor is now chosen for the simulation as the remaining sensors are
assumed to be identical. The chosen sensors id and the distance to its closest sensor
are given as inputs, the sensor senses data and our IRT algorithm is perfumed as
illustrated in figure 3. Since the maximum transmission range (TR5) is fixed for every
sensor, five different transmission ranges can be calculated by considering the
minimum transmission range (TR1) as the distance to the closest sensor in the sending
sensor’s maximum transmission range. So the ranges between TR1 to TR5 are
calculated by successively adding the ΔTR = (TR5-TR1)/4. That is, TR(i) = TR(i-1) +
ΔTR, for i=2,3,4. For example, adding ΔTR to TR1 gives TR2, and so on. The reason
we took TR1 as the distance to the closest sensor in the sending sensor’s maximum
transmission range is because it covers at least one sensor so that in the worst case
(PP1), we have full connectivity (packets can be delivered to the sink node).
All nodes except the sink node (final destination of packets), performs multi-hop
routing of packets by using flooding algorithm. Our program is so dynamic that
different coordinates from the ones used in our simulation can be entered and any
node can be chosen for the simulation. Figure 4 shows a snap shot of randomly
Energy-Aware Transmission Scheme for Wireless Sensor Networks 141

 Start




Enter Sensor Id, and the distance

 to its nearest sensorǤ
 
 



 Calculate the five transmission
 ranges of the sending sensor




 Sensor Senses Data
 




 No Check sensed data against

ƒ‹–ˆ‘”ͷ‹Ǥ each rule in database.
Rule(s) fulfilled?



Yes
 Power Priority Allocation
Message Priority
 Allocation assigns MP to
assigns PP to Residual
 Energy Level.
fulfilled rules.


 No
 PP≥MP?
 

Yes

    
      TR=PP
    


 Transmit Packet
      with new TR

      
      Decrease
 Residual   
      
Energy    
          
     
  
 Packet Received






No Residual

 Energy≤0?



      
Yes

 Stop
     

Fig. 3. Flowchart of IRT


142 A.I. Abdu and M. Salamah

Fig. 4. A snap shot of randomly distributed nodes used in the simulation

distributed nodes used in the simulation. Circles represent the maximum transmission
range of sensors and lines represent possible communication link [7]. We chose node-
8 as it’s located in the middle. We assumed packets are transmitted every 5 minutes.

4.2 Simulation Results

Our simulation was conducted to show how the network life time can be improved by
using IRT technique proposed in this paper. The data generation in our simulation is
not so important, what is important is whether rules are fulfilled or not, and the power
priority of the residual energy. Node-08 was use in this simulation due to its location;
any node could be taken as well.
Node energy Depletion Times: Figure 5 shows the time it takes for a technique
(traditional, IDEALS|RMR, IRT) to deplete its energy reserve. ‘100’ means nodes
energy is full, ‘0’ means nodes energy is depleted. It can be seen that in the tradition
case that node-8 depletes its energy reserve after around 10 hours, as it is sending
packets every 5min. without taking into account the information contents, and energy
levels. In the case of IDEALS|RMR, packets are not transmitted every 5min., as the
packet importance are considered before transmission. Hence, the node lifetime
significantly increases. Finally, in the IRT case, packets are also not transmitted every
5min., as the importance of packets are considered before transmission. Unlike
IDEALS|RMR which uses one fixed transmission range, IRT can adjust its
Energy-Awaare Transmission Scheme for Wireless Sensor Networks 143

F 5. Node energy depletion times


Fig.

transmission range based on n nodes energy level, thus allows the sensor more choice to
reduce its energy consum mption. As a result, our proposed IRT scheme show ws a
i node life time compared to the other two cases. As it can
significantly high increase in
be seen from the figure, th he attained improvement of IRT over IDEALS|RMR and
traditional schemes reachess 80% and 530% respectively.
It can be noticed from fiigure 5 that the energy level of the IDEALS/RMR and IIRT
schemes drops suddenly an nd then becomes constant, this process continues until the
battery is depleted. The sud dden dropping of energy level represents continues paccket
transmission because PP≥M MP (battery level is high enough to allow a node to transsmit
a packet of that importan nce) while the constant energy level represents PP< <MP
(battery level is not high en
nough to allow a node transmit a packet of that importannce,
therefore no transmission occurs).In
o a nutshell, if a packet is not transmitted duee to
PP<MP, the same battery level will be maintained until a packet arrives in whhich
PP≥MP, as can be seen in figure
fi 2.

5 Conclusions
In this paper, we proposed
d an IRT scheme, which operates upon a combinationn of
information management reeporting (determining the information contents of a paccket
and how important such an information is, through a system of rules), eneergy
management (balancing th he residual energy level with the packet importance) and
144 A.I. Abdu and M. Salamah

transmission range adjustment (determining a suitable transmission range for a node


based on its residual energy level) which we believe has not be considered before.
Simulation was done using c programming where a single node was simulated to
show the operation of our algorithm and display the results. The result shows that by
adjusting the transmission range of a sensor node based on its battery life, the nodes
battery life is extended significantly compared with the other two methods
(Traditional and IDEALS|RMR).
We are currently working on a more intelligent technique to determine the
transmission range, which will not be based on the residual energy alone, but on the
message importance as well. Moreover, analysis of network connectivity (the measure
of the ability of any node in the network to successfully transmit a packet) and packet
success (the packet that were transmitted by the simulated node and successfully
receive by the sink node) can be added.

References
1. Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E.: Wireless sensor networks: a
survey, Comp. A Survey, Comp. Netw. 38, 393–422 (2002)
2. Anastasi, G., Conti, M., Francesco, M.D., Passarella, A.: Energy conservation in wireless
sensor networks: A survey. Ad Hoc Networks 7, 537–568 (2009)
3. Elrahim, A.G.A., Elsayed, H.A., Ramly, S.E.L., Ibrahim, M.M.: An Energy Aware WSN
Geographic Routing Protocol. Universal Journal of Computer Science and Engineering
Technology 1(2), 105–111 (2010)
4. Lo, B.P.L., Yang, G.-Z.: Key technical challenges and current implementations of body
sensor networks. In: Proceedings of the Second International Workshop Wearable and
Implantable Body Sensor Networks (BSN 2005), London, UK (April 2005)
5. Werner-Allen, G., Lorincz, K., Ruiz, M., et al.: Deploying a wireless sensor network on an
active volcano. IEEE Internet Computing 10, 18–25 (2006)
6. Simon, G., Maroti, Ledeczi, A., et al.: Sensor network-based countersniper system. In:
Proc. Conf. Embedded Networked Sensor Systems, Baltimore, MD, pp. 1–12. Baltimore
(2004)
7. Merrett, G.V., A‘l-Hashimi, N.M., White, N.R.: Energy managed reporting for wireless
sensor networks. Sensors and Actuators A142, 379–389 (2008)
8. Mingming, L., Jie, W., Mihaela, C., Minglu, L.: Energy-Efficient Connected Coverage of
Discrete Targets in Wireless Sensor Networks. International Journal of Ad Hoc and
Ubiquitous Computing 4, 137–147 (2009)
9. The Distance Formula,
http://www.purplemath.com/modules/distform.htm
10. Song, C., Liu, M., Cao, J., Zheng, Y., Gong, H., Chen, G.: Maximizing network lifetime
based on transmission range adjustment in wireless sensor networks. Computer
Communications 32, 1316–1325 (2009)
11. Busse, M., Haenselmann, T., Effelsberg, W.: Energy-efficient forwarding in wireless
sensor Networks. Pervasive and Mobile Computing 4, 3–32 (2008)
PRWSN: A Hybrid Routing Algorithm with Special
Parameters in Wireless Sensor Network

Arash Ghorbannia Delavar1, Javad Artin1, and Mohammad Mahdi Tajari2


1
Payam Noor University, Tehran, Iran
[email protected], [email protected]
2
Islamic Azad University, Mashhad, Iran
[email protected]

Abstract. We will present a new Hybrid Routing Algorithm with Special


Parameters in Wireless Sensor Network for network with many sensors. This
algorithm will select the cluster heads (CH) based on the scale of average local
energy and the density surrounding each node. In the presented algorithm a type
of mechanism was used in which it performs cluster formation in special
conditions with regard of the neighborhood principle and local information of a
node and its neighbors. Also in PRWSN the data of each cluster is sent to BS
via a hybrid method. In networks with high density which use multi-hop
methods, the energy of nodes close to BS will be discharged with a higher
speed while in single-hop methods the energy of nodes which are far from BS
will be diminished earlier. To overcome these problems, we use a combination
of the single and multi-hop methods for increasing the lifetime of the network.
In the presented algorithm, parameters such as the distance to the Base Station
and energy are used to choose the next step in the hybrid method. Finally, with
the results of multiple simulations we were able to show that PRWSN, in
comparison with the previous Clustering Algorithm has increased the lifetime
of sensor network, and reduced the amount of node energy consumption by
balancing the use of energy between nodes, therefore resulting to a more
suitable distribution of clusters in the sensor network. Hence, this algorithm is
more effective compared to the previous algorithms.

Keywords: Wireless sensor network, energy balancing, energy efficiency,


routing, clustering.

1 Introduction
During the Twenties century, man has used sensors for the means of monitoring his
surroundings. As a result of the advances in wireless communication and electronics
technologies, wireless sensors are getting smaller, cheaper, and more powerful. The
development of these miniaturized wireless sensors enables to use sensor networks for
many applications such as military surveillance, environmental monitoring,
infrastructure and facility diagnosis, and other commercial applications [1, 2, 3, 4].
These sensors monitored their environment and transformed the received information
into an electrical signal. The signal processing method has a close relationship with

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 145–158, 2011.
© Springer-Verlag Berlin Heidelberg 2011
146 A.G. Delavar, J. Artin, and M.M. Tajari

the event type and the subject under review. Sensors present in the environment send
their data to a data center or base station (BS) for review and further decisions [5].
Despite proper performance and high efficiency levels have a number of limitations in
high-scale development. Limitations of the sensors can be grouped in one of the
following forms: low energy power levels, and the lack of battery replacement in
most cases, limitation of their bandwidth and short radio range. Managing a large
number of nodes with these limitations can provide many challenges [6]. Energy
limitation of the nodes has caused that the reduction of energy consumption in all
layers of sensor network design, be considered as one of the main cases. One of the
most important layers in this case is the network layer in which the routing process is
done. The routing notion in sensor networks is distinguished from other wireless
communication networks because of some intrinsic characteristic and has placed more
challenges in the path of the design. Some of its intrinsic characteristic includes: lack
of a broad IP creation for every node and in result the inability of execution of the
many common network routing algorithms, which result to an increase in data traffic
in these networks and also limitations in the energy of message transmission,
limitations in the power present in each node, and limitations in the calculation
potency and the memory on nodes.
Regarding the mentioned cases, a lot of routing methods were created for WSNs
which can be divided into three group's base on the most common categorization:
Data–centric Algorithms, Location Base Algorithms and Hierarchical Algorithms [6].
Data-centric protocols are query-based and depend on the naming of desired data,
which helps in eliminating many redundant transmissions. Location-based Algorithms
utilize the position information to relay the data to the desired regions rather than the
whole network. Hierarchical Algorithms aim at clustering the nodes so that cluster
heads can do some aggregation and reduction of data in order to save energy [6].
Cluster based methods benefit from a few characteristics: the first characteristic is that
they divide the network into several parts and every part is directed by one cluster
head. This characteristic causes the cluster based methods to be of a higher scalability
level. The second characteristic is that a cluster head receives the data of its nodes and
sends it BS after gathering data, which results in substantial reduction in data
redundancy. We will provide a clustering algorithm, which uses a new distributed
method, and a local threshold detector to perform clustering. Also in this algorithm,
we use a combination of the single and multi-hop methods to send the data to BS in
order to increase the lifetime of the network. By comparing PRWSN to previous
algorithms we will evaluate it.

2 Related Work
Grouping of SNs into clusters has been widely used as an energy-efficient
organization of nodes in WSNs [7]. In each cluster, one of the member nodes, the
cluster head, acts as a local coordinator of the basic operations within the cluster,
namely communication as well as data aggregation operations. Clustering protocols
are well suited for aggregation operations since nodes in the same cluster are in close
proximity, and thus, data sensed by these nodes are correlated and can be effectively
aggregated. [8]
PRWSN: A Hybrid Routing Algorithm 147

One of the most famous clustering algorithms is LEACH [9]. The operation of
LEACH is divided into rounds and each round separated into two phases, the set-up
phase and the steady-state phase. In the set-up phase, each node decides whether or
not to become a cluster head for the current round. This decision is based on the
threshold T (n) given by:
⎧ p
⎪ if n ∈ G ,
1

T ( n) = ⎨1 − p ∗ (r mod p
)
(1)

⎪0 otherwise

Where p is the predetermined percentage of cluster heads (e.g., p = 0.05), r is the


current round, and G is the set of nodes that have not been cluster heads in the last 1/p
rounds. Cluster head broadcasts an advertisement message to the other nodes.
Depending on the signal strength of the advertisement messages, each node selects the
cluster head it will belong to. The cluster head creates a Time Division Multiple
Access (TDMA) scheme and assigns each node a time slot. In the steady-state phase,
the cluster heads collect data from sensor nodes, aggregate the data and send it to the
base station. Since the decision to change the CH is probabilistic, there is a good
chance that a node with much low energy gets selected as a CH. When this node dies,
the whole cell becomes dysfunctional. Also, the CH is assumed to have a long
communication range so that the data can reach the base-station from the CH directly.
This is not always a realistic assumption since the CHs are regular sensors and the
base-station is often not directly reachable to all nodes due to signal propagation
problems. [7]
HEED [10] provides balanced cluster heads and smaller sized clusters. They use
two radio transmission power levels; one for intra-cluster communication and the
other for inter-cluster communication. HEED does not select cluster head nodes
randomly. Sensor nodes that have a high residual energy can become cluster head
nodes. But the cluster heads election uses complex iterative algorithm, and considers
only the remaining energy situation of some nodes. HEED will not play a significant
role in evening energy consumption of cluster heads for the entire network.
PEGASIS [11] adopts strategy to ease the issue of rapid consumption of sensor
nodes energy caused by direct communicating with the base station. PEGASIS is
limited to communicate with adjacent nodes. A cluster head is randomly selected to
communicate with base station at each round, which decreases data traffic. But it
increases the data delay. At the same time, in PEGASIS there exists serious "hot
zone" problem, resulting in the imbalance of energy consumption. “Hot zone”
problem is the phenomenon that the energy of nodes near base station is quickly
consumed as transferring other clusters’ data in multi-hop routing [12].
Energy Residue Aware (ERA) [13] clustering algorithm is another energy-aware
hierarchical approach. It is also improved from LEACH by including the
communication cost into the clustering. The communication cost includes residual
energy, communication energy from the CH to the sink and communication energy
from the cluster members to the CH. There is a difference from HEED: ERA uses the
same CH selection scheme as LEACH but provides an improved scheme to help
148 A.G. Delavar, J. Artin, and M.M. Tajari

non-CH nodes choose a ‘‘better” CH to join by calculating the clustering cost and
finding CH according to maximum energy residue.
PEBECS [14] focusing on the hot spot problem, PEBECS presents the solution by
dividing a WSN into several partitions with equal area and then grouping the nodes
into unequally sized clusters. The shorter the distance between the partition and the
sink, the more clusters are created within the partition. Further, to select the CH,
PEBECS uses the node’s residual energy, degree difference and relative location in
network. PEBECS mitigates the hot spot problem by grouping nodes in smaller
clusters to save more energy on their intra-cluster communication. As the result,
PEBECS achieves longer network lifetime by better balancing node energy
consumption.
In previous work we proposed a Distributed Balanced Routing Algorithm with
Optimized Cluster Distribution RCSDN [15]. In which the formation of clusters is
locally done by a distributed method and through calculation of the average of energy
in each node. After gathering the data in CH, they will be sent to BS using the single-
hop method. Now by using the presented algorithm we can use a new selection
conditions for creating clusters which reduces node energy consumption, and balances
node energy consumption by the appropriate distribution of cluster head in the
network; and create better conditions compared to previous methods.

3 System Model

3.1 Network Model

The network model of the PRWSN which is under study contains the following
characteristics:
1. The base station and all sensor nodes are stationary after deployment.
2. The basic energy of nodes is different.
3. Sensor nodes do not require GPS-like hardware. So, they are not location
aware.

3.2 Energy Model

Generally, sensors consume energy when they sense, receive and transmit data [16].
Our energy model for the sensor network is based on the first order radio model as
used [9]. In this model, the transmitter has power control abilities to dissipate minimal
energy to send data to the receiver. In order to achieve an acceptable signal-to-noise-
ratio (SNR), the energy consumption of the transmitter is given by:
⎧ ETx ( n , d ) = n ( E elec + ε fs d 2 ) d < d0

⎨ (2)
⎪ ETx ( n , d ) = n ( E elec + ε mp d ) d ≥ d0
4

Where, n is the number bit of the message and d is the distance. Eelec is the energy
dissipated per bit to run the transmitter or the receiver circuit, and Ԑfs , Ԑmp is the
energy dissipated per bit to run the transmit amplifier depending on the distance
PRWSN: A Hybrid Routing Algorithm 149

between the transmitter and receiver. If the distance is less than a threshold d0 , the
free space (FS) model is used; otherwise, the multipath (MP) model is used.
The energy consumption of the receiver is given by:

ERx (n) = n( Eelec ) (3)

4 Description of the PRWSN Algorithm


PRWSN is created based on rounds in which each round contains two phases: (1) set-
up and (2) steady-state. In the Set-up Phase, the CHs are determined and the cluster
structures are formed. In Steady-state Phase the nodes send the data they’ve received
from the environment to the corresponding CH and after gathering data in the cluster
head, data will be sent to the BS.
The Set-up Phase starts by sending a start message via BS with a specified range R to
the environment. After a node receives the start message from the BS, it provides a
relative estimate of its distance from the BS through the intensity of the received signal.
Then it broadcasts a message for its neighboring nodes including ID, the distance to BS,
count of neighbors, and the level of remaining energy. Nodes bound in the radio range
of this message, receive it and set this node as a neighbor node, and register its ID and
energy level in their memory; Again they proceed to estimate their distance with the
neighboring node by calculating the intensity of the received signal and finally calculate
their distance from the BS. This is the done by all nodes in the network.
Set-up phase contains two steps: 1.Cluster formation: In this step the CHs are
selected and the structure of clusters is formed. 2. Route discovery: In this step, each
CH, selects the next CH to transfer its data to BS.

4.1 Cluster Formation

In the beginning of each round all of nodes have a normal state. In PRWSN we use a
local threshold detector (TD) so that only nodes having appropriate energy participate
in the competition for CH selection. This threshold detector is locally calculated in
each node to prevent the lack-of-candidates problem in some areas because of the
central selection. The following qualification function is used to prevent this problem:


ncount ( S i )
E re ( S k )
TD (S ) = α ×
i
k =1 (4)
k
Where ncount (Si) is equal to the number of neighbors of the node “i”. Ere (Sk) is the
remaining energy of the neighbor “k”. And α ϵ [0.5, 1.5] is a coefficient which
determines the candidate threshold; the larger this number is, the lesser number of
nodes become candidates. Each node decides to become a candidate or not, based on
the following relation:
if Ere (Si) > TD (Si)
(5)
state (Si) = candidate
150 A.G. Delavar, J. Artin, and M.M. Tajari

After distributing the start message based on the following algorithm which is
implemented in each node, the proper CHs are selected and clusters are formed. In
which Sn is the collection of neighbor nodes in radio range of each node and is
defined as:

S n ( S i ) = {S j | d ( S i , S j ) ≤ R ( S i )} (6)

Also Scn , is the collection of the neighboring nodes of a node which its remaining
energy is equal to or more than TD.

S cn ( S i ) = {S j | S j ∈ S n ( S i ) ∧ E re ( S j ) ≥ T D ( S i )} (7)

Algorithm 1. Cluster formation


1. calculate TD ( S i )
2. if Ere (S i ) > TD (S i )
3. state ( S i ) = candidate-CH
4. create S cn ( Si )
5. end if
6. Initialize T
7. While ( state ( S i ) = candidate-CH OR state ( S i ) = normal ) AND timer < T
8. if state ( S i ) = candidate-CH AND (
( ∀ S j ∈ S cn ( S i ) : n count ( S i ) > ncount ( S j ) ) OR
( ∀ S j ∈ S cn ( S i ) : n count ( S i ) = n count ( S j ) ⇒ E re ( S i ) > E re ( S j ) ) )
9. state ( S i ) = CH
10. broadcast a CH( Id ( S i ) ) message
11. break
12. end if
13. if received a CH( Id ( S j ) ) message
14. if state ( S i ) = normal
15. state ( S i ) = cluster-member
16. CH ( S i ) = S j
17. break
18. else if state( Si ) = candidate-CH
19. state ( S i ) = cluster-member
20. CH ( S i ) = S j
21. broadcast a Abort ( Id ( S i ) ) message
22. break
23. end if
24. end if
25. if received a Abort ( Id ( S j ) ) message
PRWSN: A Hybrid Routing Algorithm 151

26. remove S j from S n ( Si )


27. calculate TD ( S i )
28. if state ( S i ) = normal AND E re (S i ) > TD (S i )
29. state ( S i ) = candidate-CH
30. create S cn ( S i )
31. else if state ( S i ) = candidate-CH
32. recreate S cn ( Si )
33. end if
34. end if
35. end while
36. if state ( S i ) = candidate-CH OR state ( S i ) = normal
37. state ( S i ) = CH
38. broadcast a CH( Id ( S i ) ) message
39. end if

In this algorithm, each node performs a reversed timer regarding its remaining
energy level. If this timer concludes and no message of cluster formation is received
from other nodes or the node has not been set as a CH, it will introduce itself as a CH
and broadcast a CH formation message including its ID.
First by applying TD, the nodes with suitable energy will be chosen as candidates.
Then if a candidate node has the most neighboring number among its local
neighboring candidates (Scn(Si)) or has an equal number of neighbors with another
node and its remaining energy is more than the node, it will introduce itself as a CH
via message broadcast. Because usually nodes of a local region will detect similar
data, and the more nodes a cluster has, the number of clusters will be reduced and less
data will be sent to BS. As a result, the energy consumption will be reduced and
lifetime of the network will be increased.
When a node receives the CH message, if it has a normal state, it will immediately
joined the chosen CH, and change its state to cluster-member. But if it has the
candidate-CH state, it will perform the following actions:
A. Change its state to cluster-member.
B. Create an abort message containing its ID and broadcast it to its neighbors.
When a node receives an abort message from its neighbors, if the state of the node is
set to normal or candidate-CH, it will delete the node which sent the message from its
neighbors list (Sn(Si)) and proceed to recalculating the threshold detector. If the state
of a node is candidate, the general collection of candidate node (Scn(Si)) will be gained
regarding the new amount of TD. But if the state of a node is normal, again it
compares its remaining energy to the threshold, and it’s possible that a node that used
to be in a normal state, to turn to a candidate-CH state; this process of CH selection
guarantees full network coverage. Remember that if in PRWSN, a node receives
multiple CH messages; it will joins a CH which is closest to it. After this stage, each
node will have one of the two states: CH or cluster-member.
152 A.G. Delavar, J. Artin, and M.M. Tajari

4.2 Route Discovery

After the clusters are formed, we should determine the suitable path for transferring
data in each cluster to BS. In algorithms like LEACH [9] which use single-hop
method for transferring data to BS, the energy of nodes farther from BS will be
discharged. Also as we said in related work section, in algorithms like PEGASIS [11]
which use multi-hop method, the energy of nodes close to BS will be discharged with
a higher rate because of transferring the data of farther nodes. In PRWSN we use a
combination of the mentioned methods for exploiting the advantages of both of them.
When a node is selected as CH, at first it chooses its next step as BS and during Route
discovery step, specifies the optimized route to BS. Then broadcasts a message as
"Route discovery" along with its ID, the amount of its remaining energy and distance
to BS with a double R Radius (inter-clustered Radius) to make aware its neighbor CH
of its existence. Each node performs the following algorithms after receiving a "Route
discovery" message and chooses the next-CH for transferring its data to BS:

Algorithm 2. Route discovery


1. if received a Route-discovery ( Id (S j ) ) message
2. if
d ( S i , S j ) + d ( S j , BS ) < d ( S i , Next − CH ( S i )) + d ( Next − CH ( S i ), BS )
AND E re ( S j ) > (( E re ( S j ) + E re ( S i )) / 2 ) × β )
3. Next − CH ( Si ) = S j
4. end if
5. end if

In this algorithm, each CH compares the overall collection of its CH distance to itself
and its CH to BS with the overall distance of its previous chosen Next-CH after receiving
a "Route discovery" message from one CH, A CH will be chosen for transferring its data
to BS if the expected amount is less and the CH energy is more than its determined
threshold. In PRWSN at first data will be sent in multi-hop method to BS. But after a
while the node energies close to BS will become less compared to further nodes and it's
better that farther nodes send their data in single-hop to BS .We may do this by applying a
threshold (in line 2) in which β ϵ [0.4, 1.4] is a coefficient which specifies the difference
of acceptable energy between CH and its next CH for transferring the data to BS. This
process of creating route, balances the energy consumption between nodes. Then each
node sends its data to its corresponding CH, which after receiving and gathering the data
of its cluster members, will send them to a BS.

5 Algorithm Implementation and Performance Evaluation


We will analyze the presented algorithm in MATLAB. The parameters used in
stimulation, are as following; in which the basic node energy is a random amount
between 0.5 and 1; and the nodes are distributed randomly in a quadrangle square
perimeter.
PRWSN: A Hybrid Routing Algorithm 153

Table 1. Simulation Parameters

Parameter Value
Network size 500 × 500 m
Number of Nodes 500
Base station location 250,250 m
Initial energy for node rand [0.5,1] J
E elec 50nJ/bit
ε fs 10pj/bit/ m2
ε mp 0.0013pj/bit/m4
Data aggregation energy 5nj/bit/signal
d0 87m

5.1 Comparison of PRWSN, RCSDN and LEACH

We have compared the presented Algorithm with the LEACH [9] and RCSDN [15]
method. We will use the value of α = 1.05 and β = 0.9 to compare our algorithm to
RCSDN and LEACH.

The number of alive nodes

Figure 1 shows the total number of nodes alive through simulation time. The figure
suggests that in PRWSN, the nodes have longer lifetime than that in LEACH and
RCSDN. PRWSN reduces energy consumption and then prolong network lifetime.
The cause of this is the appropriate distribution of clusters in the network and the
consideration of the local state of the node and its neighbors in cluster formation.

Network lifetime with different number of nodes

We have compared PRWSN in a network with a fixed size of (500×500) with a


different number of nodes with the previous algorithms. As figure 2 shows the
network lifetime (both the time until the first node dies and the time until 30% nodes
die) in PRWSN is considerably more compared to the LEACH and RCSDN. This
accounts for using a combined method of single and multi-hop for transferring CH
data to BS and using a local threshold detector in the candidate selection.

The average of energy consumption in each node per round with different
number of nodes

We have gained the average of energy consumption in different rounds to get the first
dead account in the network. As figure 3 shows, the energy consumption in PRWSN
is less than other algorithms. This accounts for using the number of neighbor criterion
in selecting CH. Since the nodes which are more in the number of neighbors will be
chosen as CH and as a result, the number of clusters will be reduced and less similar
data will be sent to each area of BS.
154 A.G. Delavar, J. Artin, and M.M. Tajari

Fig. 1. Total number of alive nodes

Fig. 2. Network lifetime with different number of nodes

The number of clusters in different rounds

We have compared the number of clusters in different rounds of the network lifetime
with LEACH in a network with a fixed size of (200×200) with 200 nodes. As the
figure 4 shows the number of clusters in LEACH method does not have a special
balance, and in some rounds this number is very low or very high; but in our
presented algorithm the number of clusters in its distribution throughout the network
has a good balance, which is because of using local threshold detector, which results
in the balance of node energy consumption and increased lifetime of the network.
PRWSN: A Hybrid Routing Algorithm 155

Fig. 3. The average of energy consumption in each node per round

Fig. 4. Total number of clusters in different round

5.2 The Effect of α and β Coefficient in Algorithm Efficiency

We have investigated the effect of α and β coefficient in algorithm efficiency. As


figure 5 shows, the more the α is in number, the more number of nodes will be chosen
candidates, and we may perform a better job for selecting the best clusters based of
the criterion of the count of the neighbors. But with the increasing number of
candidate nodes, the number of controlling messages exchanged will be increased and
as a result the energy consumption of the energy will be increased. We can see that
for α=1.05, an optimal value of the network lifetime can be obtained.
156 A.G. Delavar, J. Artin, and M.M. Tajari

Fig. 5. The effect of α coefficient in number of alive nodes

The more we reduce the coefficient β, the accepted threshold in energy difference
of CH and the next CH will be reduced and also the performance of algorithms will
be like multi-hop methods. As a result the energy of nodes close to BS will be
discharged with a higher rate. On the other hand, the more we increase the coefficient
β, the harder it will be increased, and the performance of algorithm will be close to
single-hop method. As a result, the nodes staying away from BS will be dying with a
higher rate. In both states, the lifetime of the network will be reduced. We can see that
for β=0.9, an optimal value of the network lifetime can be obtained.

Fig. 6. The effect of β coefficient in number of alive nodes


PRWSN: A Hybrid Routing Algorithm 157

6 Conclusions
In this paper we have presented a novel algorithm to form clusters in wireless sensor
networks. We have shown that it is possible to create an efficient method for creating
clusters in sensor networks by using the average of local energy in each node and a
count of their neighbors. Also we can increase the lifetime of the network to a
substantial amount by combining single and multi-hop methods. This causes the
reduction of loading on nodes which are away from BS or those which are close to
BS. We have demonstrated the presented algorithm in an efficient fashion and have
compared it with the LEACH and RCSDN methods in cluster formation; in which the
results show a higher efficiency level of the PRWSN in node energy reduction and
cluster distribution.

References
1. Jeong, W., Nof, S.Y.: Performance evaluation of wireless sensor network protocols for
industrial applications. Journal of Intelligent Manufacturing 19(3), 335–345 (2008)
2. Sohrabi, K., et al.: Protocols for self-organization of a wireless sensor network. IEEE
Personal Communications 7(5), 16–27 (2000)
3. Min, R., et al.: Low power wireless sensor networks. In: Proceedings of International
Conference on VLSI Design, Bangalore, India (January 2001)
4. Rabaey, J.M., et al.: PicoRadio supports ad hoc ultra low power wireless networking. IEEE
Computer 33(7), 42–48 (2000)
5. Akyildiz, I.F., et al.: Wireless sensor networks: a survey. Computer Networks 38(4),
393–422 (2002)
6. Akkays, K., Younis, M.: A Survey on Routing Protocols for Wireless Sensor Networks.
Elsevier Ad Hoc Network Journal 3(3), 325–349 (2005)
7. Abbasi, A.A., Younis, M.: A survey on clustering algorithms for wireless sensor networks.
Computer Communications 30, 2826–2841 (2007)
8. Konstantopoulos, C., Mpitziopoulos, A., Gavalas, D., Pantziou, G.: Effective
Determination of Mobile Agent Itineraries for Data Aggregation on Sensor Networks.
IEEE Transaction On Knowledge and Data Engineering 22(12) (December 2010)
9. Heinzelman, W.R., Chandrakasan, A., Balakrishnan, H.: Energy efficient communication
protocol for wireless sensor networks. In: Proceedings of the 33rd Hawaii International
Conference on System Science, vol. 2 (2000)
10. Younis, O., Fahmy, S.: Heed: a hybrid, energy-efficient, distributed clustering approach
for ad hoc sensor networks. IEEE Trans. Mobile Comput. 23(4), 366–379 (2004)
11. Lindsey, S., Raghavendra, C.S.: PEGASIS: Power efficient gathering in sensor
information systems. In: Proc of IEEE Aerospace Conference, IEEE Aerospace and
Electronic Systems Society, Montana, pp. 1125–1130 (2002)
12. Ai, J., Turgut, D., Boloni, L.: A Cluster-Based Energy Balancing Scheme in
Heterogeneous Wireless Sensor Networks. In: Proceedings of the 4th International
Conference on Networking, Reunion, France, pp. 467–474 (2005)
13. Chen, H., Wu, C.S., Chu, Y.S., Cheng, C.C., Tsai, L.K.: Energy residue aware (ERA)
clustering algorithm for leach-based wireless sensor networks. In: 2nd International
Conference ICSNC, Cap Esterel, French Riviera, France, p. 40 (August 2007)
158 A.G. Delavar, J. Artin, and M.M. Tajari

14. Wang, Y., Yang, T.L.X., Zhang, D.: An energy efficient and balance hierarchical unequal
clustering algorithm for large scale sensor network. Inform. Technol. J. 8(1), 28–38 (2009)
15. Ghorbannia Delavar, A., Artin, J., Tajari, M.M.: RCSDN: a Distributed Balanced Routing
Algorithm with Optimized Cluster Distribution. In: 2011 3rd International Conference on
Signal Acquisition and Processing, ICSAP (2011)
16. Wang, Q., Yang, W.: Energy consumption model for power management in wireless
sensor networks. In: 4th Annual IEEE communications society conference on sensor, mesh
and ad hoc communications and network, SECON 2007 (2007)
Cone Tessellation Model for Three-Dimensional
Networks

Gözde Sarışın and Muhammed Salamah

Computer Engineering Department


Eastern Mediterranean University
KKTC, Mersin 10, Turkey
[email protected], [email protected]

Abstract. Wireless terrestrial networks are usually designed in 2D plane, but in


real life they form 3D space. In these networks, node placement strategy is one
of the most important design problems. The idea is to deploy a number of nodes
in an effective way to achieve communication between them. The volumetric
quotient, which is the ratio of the transmission range to the sensing range of
each node, is used as the main measure of the placement strategy. Researchers
use polyhedrons to model 3D networks. As the volumetric quotient increases,
we need less number of nodes for full coverage. In this paper, we proposed a
cone model which gives a higher volumetric quotient than polyhedrons. The
inspiration comes from satellite foot-print. For example, the number of nodes
for truncated octahedron placement strategy is found to be 46.35% higher than
the cone placement strategy. We also achieved full coverage with cone
tessellation.

Keywords: Modeling, 3D networks, tessellation, Kelvin’s Conjecture, Kepler’s


Conjecture, Sensor Networks.

1 Introduction

In a terrestrial sensor network, the height of the network is usually negligible as


compared to its length and width, and as a result a terrestrial network is generally
modeled as a two-dimensional (2D) network where it is assumed that all nodes reside
on a plane [1]. This assumption may no longer be valid if a network is deployed in
space, atmosphere, or ocean, where nodes of a network are distributed over a 3D
space. Although such a scenario may not be common at present, applications are
being developed that will make three-dimensional networks increasingly common in
the near future [2]. Nodes of an underwater sensor network can be deployed at
different depths of the ocean. For example, ocean column monitoring requires the
nodes to be placed at different depths of the water, thus creating a three dimensional
network [3]. Additionally, underwater acoustic ad hoc and sensor networks have
generated a lot of interest among the researchers [1], [4], [5], [6]. Weather forecasting
and climate monitoring can also benefit if three-dimensional networks can be
deployed in the atmosphere [2]. That means we need a good strategy for deploying

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 159–169, 2011.
© Springer-Verlag Berlin Heidelberg 2011
160 G. Sarışın and M. Salamah

the nodes in 3D space where we need to sense the environment. In this paper, we
focus on the coverage and connectivity issues of three-dimensional networks, where
all the nodes have the same sensing range and the same transmission range.
In 3D networks, the coverage area of a node forms a sphere. Kelvin’s Conjecture
and Kepler’s Conjecture have been used for finding the most efficient shape to fill the
sphere. Previous researches used Kelvin’s conjecture to place nodes at the center of
polyhedron shapes which are created by Voronoi tessellation in 3D space. Space
filling property is very important to cover a sphere and best space-filler regular
polyhedrons are cube, dodecahedron, icosahedron, octahedron and tetrahedron [2].
Most of the previous works depends on convex polyhedrons like cube, hexagonal
prism, rhombic dodecahedron and truncated octahedron to achieve full coverage and
connectivity. Motivated from models like cube, hexagonal prism, rhombic
dodecahedron and truncated octahedron, and by assuming the same sensing range (R)
and same transmission range, we proposed a Cone model to achieve better coverage
and connectivity for 3D networks. However, we placed nodes on vertices of cones
based on satellite footprint idea.
Our contributions, results, and conclusions of this paper can be summarized as
follows:
1) We used volumetric quotient approach, which is the ratio of the volume of a
shape to the volume of its circumsphere. We show that the volumetric
quotient of cone is 1, much higher than other possible space-filling
polyhedron (volumetric quotient should be less than 1 for any polyhedron).
2) We show how to place nodes using any of these placement strategies. For
each placement strategy, we define a new u,v,w-coordinate system, where a
node should be placed each integer coordinate of this new system. Relation
of this new u,v,w-coordinate system with the original given x,y,z- coordinate
system has been provided in equations (5), (6),(7) ,(8) and (10) in terms of
the sensing range R and the location of an arbitrary node in the original x,y,z-
coordinate system (cx,cy,cz). Strategies require only a constant number of
arithmetic operations to compute the location of each node and hence is
computationally very efficient [2]. We find that cone placement strategy
requires that the ratio of transmission range to the sensing range must be at
least 2.2360 in order to maintain connectivity among nodes.
The rest of this paper is organized as follows: Section 2 presents background
information and related work. Section 3 presents our proposed research. Section 4
gives the performance analysis and comparisons. Section 5 provides conclusion and
future work.

2 Background Information
A main objective in wireless sensor networks is to find the best deployment strategy
with minimum number of nodes while 100% coverage is guaranteed [7]. In 2D
cellular networks regular hexagon covers the circle, with most efficient way (with
fewer gaps), in addition radius of each hexagon is equal to maximum range of a base
station. For sensor networks, sensing coverage is very important. Any of the selected
Cone Tessellation Model for Three-Dimensional Networks 161

point in the range should be within the sensing range of at least one sensor. Many
algorithms [8], [9], [10], [11] developed to get full sensing coverage in 2D network.
Lifetime of a network is another important issue, to increase the lifetime energy
harvesting can be used for sensor networks. Also many energy conservation protocols
[12], [13], [14], [15] are developed. For a specific time period, only a subset of nodes
are active to sense the environment. The effect of sensing coverage on performance
was studied for 2D wireless sensor networks in [16], and only [17] for rhombic
dodecahedron, and [18] for hexagonal prism studied the 3D cellular networks. Also in
[2], they investigated the required number of nodes for truncated octahedron and
maximum of the minimum transmission range. In this paper, cone is used to model
the shape of cell, and for 3D space we achieved 46.35% fewer nodes than truncated
octahedron model.
Definition: For any polyhedron, if the maximum distance from its center to any vertex
is R, and the volume of that polyhedron is V, then the volumetric quotient of the
polyhedron is given as [2]
V
4
3
which is the ratio of the volume of a polyhedron to the volume of its circumsphere.

2.1 Volumetric Quotients for Polyhedrons

2.1.1 Cube
ƒ length of each side of cube is .
ƒ radius of its circumsphere is √3 /2.
ƒ volumetric quotient = = 0.36755
√ /

2.1.2 Hexagonal Prism


ƒ length of each side of hexagon is .
ƒ height of hexagonal prism is h.
ƒ radius of circumsphere of hexagonal prism is /4.


ƒ volumetric quotient = = = 0.477

Fig. 1. Hexagonal Prism [2]


162 G. Sarışın and M. Salamah

2.1.3 Rhombic Dodecahedron


ƒ length of each edge of rhombic dodecahedron is √3 /2.
ƒ total volume of rhombic dodecahedron is 2 .
ƒ circumradius of a rhombic dodecahedron is .
ƒ volumetric quotient = = = 0.477

Fig. 2. Rhombic dodecahedron [2]

2.1.4 Truncated Octahedron


ƒ length of each edge of truncated octahedron is .
ƒ volume of truncated octahedron is 8√2 .
ƒ radius of circumsphere of truncated octahedron is √10/2.
ƒ volumetric quotient = √ = = 0.68329
√ √

Fig. 3. Truncated Octahedron [2]

More information can be found in [2] for cube, hexagonal prism, rhombic
dodecahedron and truncated octahedron.
Cone Tessellation Model for Three-Dimensional Networks 163

2.2 Placement Strategies for Polyhedrons

In this section, we explained the results for the placement of a node in the coordinate
system briefly. Details can be found in reference [2]. Cube, hexagonal prism, rhombic
dodecahedron and truncated octahedron placement can be achieved from the below
formulas:
For cube = , , (1)
√ √ √

For hexagonal prism = , 2 , (2)


√ √

For rhombic dodecahedron = 2 , 2 , (3)


√ √

For truncated octahedron = 2 , 2 , (4)


√ √ √

The real distances between any two nodes for polyhedrons with coordinates ( , , )
and ( , , ) is as follows:
For cube = √
(5)
For heaxagonal prism =

= √2 (6)

For rhombic dodecahedron =


√2 (7)

For truncated octahedron =

4 3
(8)
√5 4

Figure 4 shows tessellation for hexagonal prism, rhombic dodecahedron and truncated
octahedron. More details can be found in reference [2]. They assumed nodes are
placed at the center of each node.

3 The Proposed Cone Model


Assume all nodes have the same sensing range R. Radius of the sphere is R, and
sensor nodes are placed on vertex. Neighbor node should be placed on vertex also.
Boundary effects can be negligible. Any point in the 3D space should be within the
sensing range R from at least one node. If R is given, we can find the number of
nodes. Placement strategy for cone is used to find the minimum number of the
transmission range in terms of the sensing range R. (All nodes must be connected to
their neighbors). We used volumetric quotient formula idea to find the 3D shape to fill
the sphere with less gap.
164 G. Sarışın and M. Salamah

(a) (b)

(c) (d)

Fig. 4. Tessellation for rhombic dodecahedron (a), hexagonal prism (b), truncated octahedron
(c), and for cube (d) [2]

Recall that Volumetric quotient is always less than 1 for any polyhedron. Our
model can achieve the highest volumetric quotient which is 1, without using any
polyhedron. Finding the optimal shape is very hard in 3D, it can take many years to
prove like Kepler’s conjecture because it still has 99% certain of the correctness (we
can accept it as a theorem). We compared our model with four polyhedron shapes and
cone has much higher volumetric quotient than others. So, cone needs less nodes than
other space filling polyhedrons for coverage in 3D network. Lastly, we developed a
Cone Tessellation Model for Three-Dimensional Networks 165

placement strategy for cone and then we worked on connectivity issue for finding the
minimum transmission radius needed to achieve connectivity between neighboring
nodes in the placement strategy.

ƒ optimal height for cone is h =


ƒ volume of cone is
ƒ circumsphere of cone is equal to R=h
ƒ volumetric quotient approach = = =1

Fig. 5. Cone

Based on satellite footprint idea, we found optimal location for cone is its vertex
and when we tile the space when vertices are intersected we eliminate one of the node
and it helped us with volumetric quotient to use less number of nodes. And also cones
does tile a plane in 2D as shown below:

Fig. 6. Elimination of the two duplicated nodes in the same coordinates

Nodes placed at vertex, then we calculated the location of the node according to
x, y and z axis.
Suppose that the coordinate system is defined by three axes : , and , which are
parallel to the x, y and z axes, respectively. For a node, unit distance in u direction is
2R, v axis is R and w axis is 2 which is equal to 5R. Node is placed at
166 G. Sarışın and M. Salamah

2 , , 5 (9)
Optimal height for cone to achieve highest volumetric quotient is h/2. R is the sensing
range and it is equal to h for cone (R=h). The real distance between two points with
coordinates , , and , , in the u, v, w- coordinate is
= 4 5 (10)
There is a tessellation model for better understanding the node placement strategy and
it is done by 3DMax. More nodes are needed to cover the area if network size
increases. However for same network size, cone needs less number of nodes to
achieve full coverage. Figure 7 shows the node placement for cone which is done by
3DMax.

Fig. 7. Tessellation for the cone model

4 Performance Analysis
In 2D, there is no shape that can fill the plane without gaps, therefore volumetric
quotient approach can never be exactly 1. But we have an advantage in 3D. The cells
can fill gaps when we deploy the cells carefully (to have a full filled space). Figure 6
can give an idea about our node deployment strategy. If we have a constant sensing
range, cone needs less cells to fill a specific 3D space.
If we consider all models, cone gives the best volumetric quotient value according
to our approach. As we mentioned before volumetric quotient is characteristic issue
for determining number of nodes. Cube needs 1⁄0.36755 2.7207 times that of cone.
Cone Tessellation Model for Three-Dimensional Networks 167

For hexagonal prism and rhombic dodecahedron it is 1⁄0.477 2.0964 and for
truncated octahedron it is 1⁄0.68329 1.4635. Table 1 shows the comparisons
according to cone model. The achieved saving ratios are shown in the last column.

Table 1. Volumetric Quotients of Models and Number of Nodes Compared to Cone


Model Volumetric Number of Nodes Saving Ratio
Quotient Needed Compared to Cone Compared to
Cone
Cube 0.36755 272.07 172%
Hexagonal Prism 0.477 209.64 110%
Rhombic 0.477 209.64 110%
Dodecahedron
Truncated 0.68329 146.35 46%
Octahedron
Cone 1 100 0%

Minimum transmission range is important to achieve connectivity between neighboring


nodes and it depends on the choice of the model. The distance between two neighboring
nodes for cube is 2R√3, then the transmission range must be at least 1.1547R. For
hexagonal prism this value is √2R=1.4142R along the axes u and v, and 2R/√3=1.1547R
along the w axis. For rhombic dodecahedron, the minimum transmission range is
√2R=1.4142R for both axes. If the truncated octahedron is used, the transmission range
must be at least 4R√5=1.7889R along u and v axes, and for w axis this value is 2√3/√5
=1.5492R. Finally, for cone the transmission range must be at least 2R for u axis, R for v
axis and R√5= 2.2360 R for w axis. Table 2. shows the minimum transmission range for
these different models. It is clear from the table that the proposed cone model manifests its
superiority in terms of transmission range as well.

Table 2. Comparison of Minimum Transmission Ranges for Different Models


Model Minimum Transmission Maximum of the Minimum
Range Transmission Range
u- y- w-
axis axis axis

Cube 1.1547R
1.1547R 1.1547R 1.1547R

Hexagonal Prism 1.41 1.41 1.15 1.4142R


42R 42R 47R

Rhombic 1.41 1.41 1.41 1.4142R


Dodecahedron 42R 42R 42R

Truncated 1.78 1.78 1.54 1.7889R


Octahedron 79R 79R 92R

Cone 2R R 2.23 2.2360R


60R
168 G. Sarışın and M. Salamah

5 Conclusion
In this paper, we proposed a new model to place nodes in 3D space, unlike today’s
networks (where they assume nodes are placed on 2D plane). Deployment of the
nodes is not very easy in 3D. For 2D networks, hexagonal tiling is the best strategy
for placing the base stations, so the covered area is maximized with fixed radius base
stations. Here, the problem for 3D space is filling the empty spaces between nodes.
Related works on this topic just have the polyhedron shapes to achieve space-filling
property in 3D. We used the idea of volumetric quotient, which is the ratio of the
volume of a polyhedron to the volume of its circumsphere, to compare different
models. The proposed cone model results in the highest volumetric quotient which is
1. This shows with cones, one can cover the sphere better than polyhedrons.
Consequently, the number of nodes required for coverage is changed. For example, if
we apply truncated octahedron placement strategy, it needs 46% more nodes than the
cone placement strategy to cover same network size. From other related models like
cube, hexagonal prism, rhombic and dodecahedron, the achieved saving in terms of
the number of nodes are 172%, 110% and 110% respectively.
After finding the optimal placement strategy, we investigated the connectivity
issues and we found that the best placement strategy is with our cone model which
requires the transmission range to be at least 2.2360 times the sensing range in order
to maintain full connectivity. For cube, hexagonal prism, rhombic dodecahedron and
truncated octahedron transmission ranges are 1.1547, 1.4142, 1.4142 and 1.7889
respectively. We believe that our model can be used in many research areas for 3D
networks.

References
[1] Alam, S.M.N., Haas, Z.: Coverage and Connectivity in three-dimensional underwater
sensor networks.Wireless communication and mobile computing (2008),
http://www.interscience.wiley.com
[2] Alam, S.M.N., Haas, Z.: Coverage and Connectivity in three-dimensional networks. In:
Proceedings of ACM MobiCom (2006)
[3] Akyildiz, I.F., Pompili, D., Melodia, T.: Underwater Acoustic Sensor Networks:
Research Challenges. Ad Hoc Networks Journal (Elsevier), (March 2005)
[4] Heidemann, J., Ye, W., Wills, J., Syed, A., Li, Y.: Research Challenges and Applications
for Underwater Sensor Networking. In: IEEE Wireless Communications and Networking
Conference. IEEE, Las Vegas (2006) (p. to appear)
[5] Kong, J., Cui, J., Wu, D., Gerla, M.: Building Underwater Ad-hoc Networks and Sensor
Networks for Large Scale Real-time Aquatic Applications. In: IEEE Military
Communications Conference (MILCOM 2005), Atlantic City, New Jersey, USA, October
17-20 (2005)
[6] Vasilescu, I., Kotay, K., Rus, D., Dunbabin, M., Corke, P.: Data Collection, Storage, and
Retrieval with an Underwater Sensor Network. In: SenSys 2005, San Diego, California,
USA (November 2–4, 2005)
[7] Rappaport, T.S.: Wireless Communications: Principles and Practice. Prentice-Hall,
Englewood Cliffs (2002)
Cone Tessellation Model for Three-Dimensional Networks 169

[8] Couqueur, T., Phipatanasuphorn, V., Ramanathan, P., Saluja, K.K.: Sensor deployment
strategy for target detection. In: Proceeding of the First ACM International Workshop on
Wireless Sensor Networks and Applications, pp. 169–177 (September 2002)
[9] Chakrabarty, K., Iyengar, S.S., Qi, H., Cho, E.: Grid coverage for surveillance and target
location in distributed sensor networks. IEEE Transactions on Computers 51(12),
1448–1453 (2002)
[10] Meguerdichian, S., Koushanfar, F., Potkonjak, M., Srivastava, M.B.: Coverage problems
in wireless ad-hoc sensor networks. In: INFOCOM 2001, pp. 1380–1387 (2001)
[11] Zhang, H., Hou, J.C.: Maintaining sensing coverage and connectivity in large sensor
networks. Wireless Ad Hoc and Sensor Networks: An International Journal 1(1-2),
89–123 (2005)
[12] Tian, D., Georganas, N.D.: A coverage-preserved node scheduling scheme for large
wireless sensor networks. In: Proceedings of First International Workshop on Wireless
Sensor Networks and Applications (WSNAm 2002), Atlanta, USA, pp. 169–177
(September 2002)
[13] Wang, X., Xing, G., Zhang, Y., Lu, C., Pless, R., Gill, C.D.: Integrated coverage and
connectivity configuration in wireless sensor networks. In: Sensys (2003)
[14] Yan, T., He, T., Stankovic, J.A.: Differentiated surveillance for sensor networks. In:
SenSys 2003: Proceedings of the 1st international conference on Embedded networked
sensor systems (2003)
[15] Ye, F., Zhong, G., Lu, S., Zhang, L.: Peas: A robust energy conserving protocol for long-
lived sensor networks. In: 23rd International Conference on Distributed Computing
Systems, ICDCS 2003, pp. 169–177 (May 2003)
[16] Xing, G., Lu, C., Pless, R., Huang, Q.: On Greedy Geographic Routing Algorithms in
Sensing-Covered Networks. In: Proc. of MobiHoc 2004, Tokyo, Japan (2004)
[17] Carle, J., Myoupo, J.F., Semé, D.: A Basis for 3-D Cellular Networks. In: Proc. of the
15th International Conference on Information Networking (2001)
[18] Decayeux, C., Semé, D.: A New Model for 3-D Cellular Mobile Networks. In:
ISPDC/HeteroPar (2004)
Post Disaster Management Using Delay
Tolerant Network

Sujoy Saha1, Sushovan2, Anirudh Sheldekar2, Rijo Joseph C.1,


Amartya Mukherjee2, and Subrata Nandi2
1
Department Of Computer Application ,
2
Department of Computer Science and Engg
National Institute of Technology, Durgapur,
Durgapur-713209, India
{sujoy.ju,bubususpatra,anisheld,
mail2rjc,mamartyacse1,subrata.nandi}@gmail.com

Abstract. Delay-tolerant Networking (DTN) is an attempt to extend the reach


of traditional networking methods where nodes are intermittently connected and
an end-to-end path from source to destination does not exist all the time. Real
networks like military, various sensors, post disaster management, deep space
communication, Vehicular ad-hoc (VANETs) networks, are some examples of
DTN. Our work mainly concentrates on the applicability of different flooding
based routing scheme of DTN in post disaster scenarios. Cluster mobility
model which maps human mobility more realistically rather than any other
mobility in the context of disaster scenario has been considered. Further we
have customized cluster mobility model according to the disaster like scenario
and performed the simulation for delivery probability with respect to various
constraints like buffer-size, transmission range, speed and density of nodes in
ONE SIMULATOR. We also analyze the effect heterogeneous nodes in
delivery probability.

Keywords: Disaster Management, Cluster Mobility Model, Heterogeneous


Network, Delivery Probability, Overhead Ratio, Average Latency.

1 Introduction
In disaster affected areas the existing communication infrastructures like WLL, GSM
or PSTN may get disrupted or destroyed. Thus, there exists a strong need for rapid
deployment of communication networks that would provide much needed
connectivity and communication capabilities for rescue-workers and survivors of a
disaster affected zone to restore normalcy through properly co-ordinate resource
management.
For managing a post disaster situation, the prime requirement is to establish
communication among disaster management groups or agencies. There will be
different teams working together for managing the distribution of necessary
commodities for the affected population in disaster-affected regions [1][2].
Information must be relayed and reveled in the shortest amount of time possible in

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 170–184, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Post Disaster Management Using Delay Tolerant Network 171

order to co-ordinate and perform required activities. Disaster response network is one
kind of delay tolerant network [3].
In a disaster scenario like a fire burst or a natural calamity, the communication
between the nodes no longer remains organized in the original infra-structural setting.
The original assembly of nodes changes with the nodes moving in groups of people
helping for the cause. In these kinds of networks traditional Ad-Hoc routing protocols
fail to transfer messages from source to destination. A delay tolerant network differs
from Ad-Hoc network due to the simple fact that message would be transferred to the
destination node even if the source has no end-to-end connectivity with the
destination at the time when that message is sent. So delay tolerant routing strategies
are employed for efficient packet delivery among the nodes of such networks.
A disaster environment could be modeled as a specialized mobility model, since
disaster management always takes place amongst groups of people. Consider some
disaster scenarios like Cyclone in some specific area, earth-quake, burst of fire etc.
Let the place of the accident be termed as Activity Point. Now there would be various
groups of people moving around the activity point like Medical Staff, Police, people,
etc. Thus, a group-based movement model would be a good choice for such a scenario
where the mobile nodes exists in groups and communication takes place within the
group as well as between the groups.
Now, in such scenarios, the movement of node groups will be restrained to fixed
local sites like Hospital, Police station, Activity point, etc. Thus, we can consider the
scenario as one with different clusters of nodes that restrain to particular sites.
Vehicles that move across these sites like police jeeps, ambulances and other relief
vehicles can be carrier nodes between the clusters. The Cluster Mobility Model [4]
can be used to model the movements of node for this type of scenario.
In the next section of this paper, we summarize some other mobility models such
as Random Waypoint, Random Walk, Shortest Path Map Based and Working Day
movement models in order to justify our choice of Cluster Mobility Model as the
movement model for the scenario. In Section 3 we summarize about the different
routing strategies that exists for DTN. The most challenging issue in the post disaster
environment is the rate of transmission of critical information.
To enhance the packet delivery ratio we require intelligent DTN routing strategies.
In Section 4 we have described and analyzed the simulation results of delivery
probability that has been carried out for various routing algorithms on cluster mobility
model for post disaster scenario with respect to buffer-size, transmission range, speed
and density of nodes in the network. The effect of the heterogeneous nodes in delivery
ratio in the context of DTN is also explored. The constraints are so chosen as to derive
an optimal configuration for the nodes to be deployed for communication in post-
disaster scenarios.

2 Mobility Model Overview


Mobility model helps to emulate closely the real life scenario of mobile nodes. All
mobility models are based on some basic parameters like starting location, ending
point, velocity of mobile node, movement direction. Works have been carried out on
mobility models seeking to increase their realism in simulations by gathering
172 S. Saha et al.

information on existing scenarios to provide insights of node mobility and how they
affect the performance of routing algorithms.
Significance: In scheduled or predictable contacts it is possible to predict the future in
terms of the time for which contacts will be available and how long they will last.
However, in disaster recovery networks, it is almost impossible to predict the future
location of the nodes. Communication is to be enabled in such networks using those
unpredictable contacts between the nodes which are also known as intermittent or
opportunistic contacts. It is extremely important in DTN to understand the mobility of
the relay nodes that carry messages from source to destination [4]. Mobility models
establish relationship among individuals and help us to study their movements in real
life.
It is extremely important in DTN to understand the mobility of the relay nodes that
carry messages from source to destination [4]. Even if few nodes in the network are
mobile and others are static, then they might block the flow of data from source to
destination. If majority of the nodes in the network are mobile, then the routing
protocols will have more opportunities to deliver the message to the destination by
exploring the mobility of the relay nodes. An example of this type of network is a
vehicular network where the cars, trucks are all mobile nodes. Since real life
experiments are not feasible, we resort to simulation experiments which give us real-
like results. Mobility models establish relationship among individuals and help us to
study their movements in real life.
Mobility models can be broadly classified into Entity-Based mobility model and
Group-based mobility models [10]. In the former model, the nodes move individually
and their movement is not influenced by the other nodes whereas the in the latter the
movement of nodes is influenced by that of the member nodes. Entity Based models
generate results that are more non-human like. On the other hand, group mobility
model provide results which are more real, as human mobility occurs mainly in
groups.
Random Waypoint [5][8 ] model is a very common Entity-Based mobility model in
which each mobile node randomly selects one point as its destination and travels
towards this destination with constant velocity chosen uniformly and randomly from
[0, Vmax ]. Upon reaching the destination, the node stops for a duration defined by the
‘pause time’ parameter Tpause. After this duration, it again chooses another random
destination and moves towards it.
Random Walk [6] [8] is another Entity-Based movement model and can be
considered as a type of Random Waypoint model with zero pause time. In Random
Walk model, nodes change their speed and direction after a time interval. Each and
every node randomly and uniformly chooses its new direction θ(t) from [0, 2π ] for
every new interval t. Similarly, a new speed, v(t), is chosen from [0, Vmax] uniformly.
Thus, during any time interval t, a node moves with the velocity vector (v(t).cosθ (t),
v(t).sin θ (t)). If a node moves and touches the boundary of the simulation area, it gets
bounced back to the simulation area with an angle of θ(t) or π − θ(t).
Shortest Path Map Based [8] mobility model is a map based movement model that
uses algorithms like Dijkstra's algorithm to find shortest path between two random
map points. This model is also an Entity-Based movement model.
Working day mobility [9] model is a Group-based movement model [10]. This
model basically is the technical resultant of different sub-models of node mobility
Post Disaster Management Using Delay Tolerant Network 173

during the whole day. This model involves activities that are the most common and
capture most of a working day for the majority of people. However, the activities of
nodes differ from each other. These sub-models repeat every day, resulting in periodic
repetitive movement.
Cluster Mobility Model: As the name suggests this mobility model classifies the
whole network in number of clusters. Depending upon the applicability and mobility,
literature of cluster mobility model categorizes the nodes in two different ways. The
nodes responsible for carrying data from one cluster to another or maintaining inter
cluster relationship are known to be Carrier nodes. Other than Carrier nodes all the
other nodes present inside the cluster are treated as internal nodes. Movement of the
internal node is defined around a particular point within the cluster which is known as
Cluster Center and move around this cluster center. Cluster mobility model falls
under the umbrella of Group based mobility model which unlike Random mobility
model try to establish a social relationship between nodes within the network based
on their activities to define the cluster first.

Fig. 1. Snapshot of Cluster Mobility Model from ONE simulator

Due to social status, relationship, profession, and friendship human does have a
tendency to move in group. Secondly this mobility model certainly makes sense in
disaster and defense activities. From the theoretical point of view cluster mobility
model certainly outperforms other mobility models in the context of mapping the
human mobility in disaster scenario where human moves in a group. That actually
motivates our work to simulate routing strategies cluster mobility model and explore
the future directions.
A post-disaster scenario can be easily modeled in cluster mobility model. Groups
of people could be considered as clusters and the node movements could be modeled
as movement of these people within and across the clusters. For example, consider a
point in a city where a disaster strikes. The fire-station that involves in the post-
disaster management can be mapped as a cluster and the firemen with communicating
devices could be matched to the nodes of that cluster. A hospital could be considered
as another cluster with doctors, nurses and other supporting staff matched as nodes of
174 S. Saha et al.

that cluster. A police station could be another cluster of nodes with policemen
matched to nodes. The point in the city where the disaster has struck or hospital
would soon become a cluster of nodes with rescuers and relief-teams including
firemen, policemen, doctors, nurses and others who would rush towards the spot for
post-disaster activities, thus making those as Activity Points.

Fig. 2. Activity points as clusters in a sample city-like scenario

The nodes involved in these rescue activities will start moving within the clusters
as well as across them. It can be noted that at any point of time, majority of the nodes
will be moving within some cluster with lower speeds and only a few nodes will be
moving across the clusters and that too with higher speeds. Such a scenario basically
resembles the Cluster Mobility Model rather than any other traditional mobility
models.

3 Routing Protocol Overview


In DTN literature, routing protocols are broadly categorized as Forwarding based or
Flooding based depending upon whether or not the protocol creates message-replicas
(copies of the same message) or not. Routing Protocols that use only a single copy of
the message are called as Forwarding Based routing protocols. On the other hand
routing protocols that do create more than one copy of the message are called as
Flooding Based [10] protocols. Further, Flooding based routing algorithms [13] can
be classified as Direct contact, Tree-based flooding, Exchange based flooding and
Utility based flooding.
Owing to the dynamicity of DTN one has to choose the suitable routing algorithm
for message delivery. With the help of simulations, we attempt to study, analyze and
discuss the performance of different routing schemes in cluster mobility model which
maps human mobility in the best possible way in a post disaster perspective. Here, we
will be considering only the flooding based routing protocols and we are only
Post Disaster Management Using Delay Tolerant Network 175

bothering about successful timely delivery of the message rather than concentrating
on the overheads incurred.
Flooding Families [16]: Routing protocols that belong to these families make use of
replication technique. In our work we are taking the flooding algorithms like
Epidemic Routing, PRoPHET, Spray & Wait, Spray & Focus and MaxProp.
Epidemic routing [11], guarantees that through sufficient number of exchanges, all
nodes will eventually receive the message. The nodes maintain a Summary Vector that
will keep track of the messages they generate or receive during message delivery
using unique message IDs. When two nodes meet they exchange their summary
vectors and request the exchange of the messages they do not have. Extreme flooding
in this routing technique leads to heavier resource consumption [2][11].
In PRoPHET [12] when two nodes meet, they exchange Summary Vectors which
also contain the delivery predictability information stored at the nodes. Nodes make
use of this information to update their internal delivery predictability vector. The
information is also used to find which messages are to be requested from the other
node. A node forwards a message to another node or multiple nodes, if the delivery
predictability is higher than a fixed threshold value [4] [12].
MaxProp [13] routing algorithm is knowledge based flooding routing algorithm. It
also works similar to Epidemic by trying to replicate and transfer message copies to
whomever coming in contact. However, each node maintains a delivery likelihood
vector, obtained by doing incremental averaging. When two nodes meet, these vectors
are also exchanged. With the help of this vector each node can calculate the shortest
path to the destination. Another specialty of MaxProp is its use of acknowledgments
to remove the delivered messages from the buffers of all nodes thereby preserving
resources for the use of undelivered messages. In MaxProp the nodes maintain a list
of previous relays too in order to prevent data getting relayed for a second time to the
same node.
In Spray and Wait [14] the number of copies of a message in the network is limited
in order to reduce the overhead of extensive flooding in message forwarding. It has
two phases in routing: Spray Phase and Wait Phase. When a new message gets
generated at the source and needs to be routed to a given destination, Spray and Wait
algorithm first enters the “Spray phase” for this message. When a message is
generated at the source it also creates L forwarding tokens for this message.
Whenever two nodes encounter, they exchange those messages that the other node
does not have based on number of forwarding tokens left for each message. Thus n
copies of message m are spread to n distinct nodes in this phase. In Wait phase, each
of n nodes carrying copy of message m waits for a chance to perform a direct delivery
of message to the final destination.
Spray and Focus [15] is an extension of Spray and Wait. Spray Phase in Spray and
Focus algorithm is same as that in Spray and Wait Routing algorithm. When a relay
has only one forwarding token for a given message, it switches to the “Focus phase”.
Unlike Spray and Wait, where messages are routed using Direct Transmission
[16][17] in the Wait phase, in the Focus phase of Spray and Focus a message can be
forwarded to a different relay according to a given forwarding criterion.
176 S. Saha et al.

4 Simulation Result
Simulation has been carried out in ONE simulator version 1.4.1. Five routing
algorithms namely Epidemic, PRoPHET, Spray and Wait, MaxProp and Spray and
Focus were simulated in the post-disaster scenario modeled on Cluster mobility. This
section explains the environment modeling parameters and performance analysis
metrics that were chosen and also analyses of the results of the simulations.

4.1 Environment Model

Parameters of Simulation, Routing Algorithms and Mobility Model are specified in


Table1, Table2 and Table3.
Simulations were run for 24hrs with an update interval of 1s. Nodes have a 500MB
buffer. Since scan interval is taken as 0s, nodes continuously scan for neighbors.
Speed of cluster nodes is kept as 1.8kmph – 5.4kmph (pedestrian speed) and wait-
time as 0min – 2min in order to mimic the movement of rescuers in the scenario.
Similarly, the carrier nodes have a speed of 18kmph – 54kmph and wait-time of

Table 1. Simulation Parameters considered for ONE Simulator

Parameter Value
Simulation Time 86400s = 24hrs
Update Interval 1s
120
No. of nodes ((25nodes × 4clusters) +
20carrier_nodes)
Buffer size of nodes 500MB
0.5mps – 1.5mps =
Cluster Nodes
Sp 1.8kmph – 5.4kmph
eed 5mps – 15mps = 18kmph
Carrier Nodes
– 54kmph
Scan interval of nodes 0s
Cluster 0min – 2min
Wait-
Carrier
Time 0min – 10min
Nodes
Message TTL 240min = 4h
MAC Protocol 802.11, 802.15.1
Bluetoo Range 10m
th Data rate 2Mbps
Range 40m
Wi-Fi
Data rate 18Mbps
Message Creation
25s – 120s
Interval
Message Size 50KB – 1MB
15.3 sq.km (4.5km x
Simulation Area Size
3.4km)
Post Disaster Management Using Delay Tolerant Network 177

Table 2. Parameters of Routing Algorithms

Routing Parameter Val


Algorithm ue
N/
Epidemic N/A
A
Seconds In Time
PRoPHET 30s
Unit
ProbSet maximum
MaxProp 50
size
No. of Copies 3
Spray And
Wait TR
Binary Mode
UE
No. of Copies 3
Spray And
Focus TR
Binary Mode
UE

Table 3. Parameters of Mobility Model

Parameter Value
No. of clusters 4
Cluster Radius 800m
No. of nodes in a
25
cluster
No. of carrier nodes 20

0min – 10min. Wait-time is the time for which a node waits or pauses on reaching its
destination.
In all the simulations nodes uses Bluetooth interface with a range of 10m and data
rate of 2Mbps, except in heterogeneous network scenario where some percent of
nodes have Bluetooth interface and others have Wi-Fi interface with a range of 40m
and data rate of 18Mbps.
After every 25s – 120s any one node generates a message of size 50KB – 1MB, to
be delivered to any other node in the network.
In PRoPHET, if a pair of nodes does not encounter each other in a while, the
delivery predictability values age. The aging equation is shown below:

where γ є [0, 1) is the aging constant, and k is the number of time units that have
elapsed since the last time the metric was aged. In the simulations for PRoPHET 30s
of simulation time makes one time unit, as given in Table2.
In the simulations for MaxProp each node can estimate and maintain delivery
likelihood values for a maximum of 50 neighbors, as given in Table2.
178 S. Saha et al.

Spray and Focus and Spray and Wait operates in binary mode and the number of
copies of a message is limited to 3, a near to optimal value considering the number of
nodes in each cluster.

4.2 Performance Metrics

The metrics that are chosen to analyze the performance of the routing algorithms are
Delivery probability, Overhead ratio and Average latency.
Delivery probability is the ratio of number of delivered messages to that of created
messages, making it a good metric to measure the efficiency of routing algorithms in
delay tolerant scenarios.

Overhead ratio is calculated as the difference of relayed and delivered number of


messages upon number of delivered messages. Overhead ratio thus gives a measure of
the overhead incurred by the routing schemes in delivering messages.

Latency of a message delivery is the time elapsed from the creation of a message at
source to its successful delivery at the destination. Thus Average latency is the
average of latencies of all those successful message deliveries.

4.3 Results and Discussion

Simulations were performed with varying constraints of buffer size, transmission


range, Bluetooth interface density, Carrier node speed and Message size. Buffer size
and transmission range were chosen in order to check the dependency of the routing
algorithms on the factors that are device-dependent. Message size was chosen in order
to study its effect on the bandwidth and buffer usage. Analysis on carrier node speed
was done to find the effect of indirect delays in message delivery resulting from the
speed variations of carrier nodes. Bluetooth interface density was chosen to study the
effect of introducing heterogeneity in the scenario.

4.3.1 Delivery Probability and Overhead Ratio with Respect to Buffer Size
From the simulation results plotted in Fig. 3, it can be seen that Spray and Wait does
not produce higher delivery probability although it manages to set a lower benchmark
in overhead ratio than the other flooding schemes. Low overhead and less delivery
probability of Spray and Wait is a resultant effect of Wait Phase mainly. On the other
hand Spray and Focus put up effective delivery probability with less overhead ratio in
smaller buffer size. But as the buffer size increases the number of message relayed in
Spray and Focus also increases which boosts up the overhead ratio. Epidemic and
PRoPHET, two basic flooding schemes, start with higher overhead ratio. PRoPHET
manages to outperform Epidemic in both parameter and set up higher benchmark in
delivery probability than all other flooding schemes due to restricted flooding as well
as probability based message delivery.
Post Disaster Management Using Delay Tolerant Network 179

Fig. 3. Performance of routing algorithms on varying Buffer size

Even though MaxProp shows best performance at lower buffer sizes, PRoPHET
outperforms it at higher buffer sizes. The performance of MaxProp owes to the
dynamic delivery probability calculation, application of Dijkstra’s algorithm and
other complimentary mechanism. Its starts with very high overhead ratio due to
transformation of the entire message destined for neighbors, relays of routing
information vector to other nodes in the network as well as generating
acknowledgement for all delivered message. However, it can be seen that above
60MB, the overhead incurred by MaxProp is slightly less than that of Epidemic itself.

4.3.2 Delivery Probability and Overhead Ratio with Respect to Transmission


Range
In a post-disaster scenario, the constraint of transmission range of nodes can be a real
barrier to achieve good delivery ratio. Higher transmission ranges trades for higher
power consumption which cannot be much tolerated by mobile nodes, especially in
this scenario. In cluster mobility model we can relate both of these two terminologies
called: Transmission range and Node Density. Both of these are products of increment
of number of nodes within the network. So increment of transmission range for each
of the node will cause identification of larger number of neighbors. On the other hand,
node density severely affects the sparse nature of the network. All the flooding
schemes in our simulation produce much better delivery probability with the
increment of transmission range. But over head ratio differs a lot depending upon the
number of copies made by particular routing strategies in order to ensure successful
delivery of the message.
From the simulation results plotted in Fig. 4, it can be seen that Epidemic,
PRoPHET and MaxProp performs quite well as number of identified neighbors in
single scan is large which is technically equivalent to increasing the number of copies.
But these flooding schemes have shown tendency to produce huge overhead ratio
with the gradual increment of transmission range. Spray and Wait scheme achieves
lowest over head ratio because it does not deliver the single copy of the message at
Wait Phase until there is a direct contact with the destination. But this wait for direct
180 S. Saha et al.

Fig. 4. Performance of routing algorithms for varying Transmit range

contact makes Spray and Wait vulnerable in the context of delivery probability. Spray
and Focus is challenged by the initial time it takes to calculate the utility function and
difficulties it might face to explore the network due to sudden identification of huge
number of nodes. MaxProp achieves the highest deliver probability at high transmit
ranges. It has shown optimum result when transmission range was kept 20-30 meters.
It almost achieves .85 to .90 of delivery probability. But with the increment in
transmission range it shows inclinations towards higher overhead ratio. As the
number of internal nodes as well as carrier nodes does not increase generally, Spray
and Focus also is a good enough routing algorithm to count on.

4.3.3 Delivery Probability and Overhead Ratio in Heterogeneous Network


Structure
Here one of the most realistic environments is chosen where we have varied the
number of nodes with Bluetooth interface and gateway nodes which have both the
interfaces of BT and Wi-Fi. Initially all the nodes are Wi-Fi interface enabled and we
have increased this value until all the nodes are only having Bluetooth interface.
Hence this scenario is much more practical than the previously discussed scenarios.
As Wi-Fi interface does really mean increment of Transmission range and data
rate, all the Flooding and Spraying Schemes achieves higher delivery probability
when all the node are having Wi-Fi interface as can be seen in Fig.5. We have seen
before that overhead ratio of Epidemic, PRoPHET and MaxProp are directly
proportional with the transmission range. Here also, as Wi-Fi interface results in
higher transmission range, overhead ratio increases for all of the above mentioned
schemes. On the other hand overhead ratio is inversely proportional with the
transmission range in case of both of the Spraying Schemes here it has shown exactly
same result.
Post Disaster Management Using Delay Tolerant Network 181

Fig. 5. Performance of routing algorithms for varying Bluetooth interface percentage

4.3.4 Delivery Probability and Overhead Ratio in Carrier Nodes Speed


Mobility of nodes is exploited in DTNs for relaying the message from source to
destination. Speed of the nodes has got a lot to do with the timely delivery of message
to the destination, which is of extreme importance in post-disaster scenario. Node
Speed is very important issue in time of Post Disaster Management. Here we take
realistic human walking of 1-5 Km/hr and varying the Carrier node speeds. The key
thing to observe from the graphs in Fig.6 is that performance (delivery probability)
differs substantially among the routing algorithms in cluster mobility model. Here we
observed that the overhead ratio and the average latency decreased when we increased
the carrier node speeds in comparison to other relative parameters like buffer size,
transmit range etc, and it goes to constant except Spray and Focus routing Algorithm.
Due to the high speed of carrier nodes, packets are brought in very short time to the

Fig. 6. Performance of routing algorithms for varying carrier node speed


182 S. Saha et al.

adjacent cluster. However, carrier nodes pause for a wait-time when these nodes are
inside a cluster. Atan optimal speed of 5-10 m/s all the routing algorithms gives very
good delivery probability with lower Average latency and Overhead Ratio.

4.3.5 Delivery Probability and Overhead Ratio in Message Size


Message size is a challenging issue in the context of Social Network Structures.
Increment of the Message Size is functionally dependent on sparse nature of the
network as well as scalability of the network.

Fig. 7. Performance of routing algorithms for varying message size

As can be seen in the graph of Fig.7, the performance of all the routing strategies is
severely challenged by the increment of message size above 500KB. The lower data
rate (2Mbps) along with the reduced contact times of nodes can be a reason for this
drop in performance. Since the messages has to be passed atomically in store-and-
forward message switching, successful node-to-node transfer of large sized messages
is much difficult to achieve within the constraints of reduced contact times and low
data rates.
Since TTL value of the messages is taken as 4hrs, the buffer size limit of 500MB
will not affect the performance much at lower message sizes. But when the message
sizes are sufficiently big, the limited buffer size can also contribute to the drop in
performance. In order to accommodate newer messages into their buffers nodes may
drop older ones, magnifying the effect of increased message sizes on the performance
of routing schemes.
One interesting fact that can be noted from the results is that the overhead ratio is
higher for Spray and Focus in most of the cases. This can be a side-effect of the
forwarding technique used by the algorithm to focus the message to the destination in
the focus phase. From the simulations it was noted that messages are getting carried
away through longer relay-transfers in Spray and Focus than any other routing
Post Disaster Management Using Delay Tolerant Network 183

algorithm and many messages were even relayed through cyclic paths, thereby
increasing the number of relayed messages.

5 Conclusion
In this paper we have addressed Delay Tolerant Networking for monitoring disaster
strike areas where infrastructure-based as well as Ad-Hoc networks fail to
communicate owing to the unavailability of end-to-end connectivity and fully
connected network. We simulated flooding and spraying based DTN Routing
Algorithms where PRoPHET and MaxProp outperformed all other routing algorithms
in cluster mobility model. Our work seems to be the first time to include Cluster
mobility model for use in real life application like post disaster management. As the
dimension of human communications and mobility are getting dynamic day by day,
there are greater scopes to explore and modify the mobility model mentioned here.
Disaster scenarios of Cyclone and Earthquake prone zones, coastal areas where
transport communication system is quite different from city like environment, offer
new challenges to merge the usability of infrastructure based network and DTN. This
is a new dimension of research which we have kept for future works.

References
[1] Mazumdar, C., Das, J., Saha, S., Upadhyay, M., Saha, S.: Rapidly Deployable Wireless
data Communication Network (RDWCN) for Disaster Management- An Experiment. In:
20th Indian Engineering Congress, Kolkata, West Bengal, December 15-18 (2005)
[2] Das, J., Saha, S., Kundu, A., Upadhyay, M., Chatterjee, K., Saha, S.: Rapidly Deployable
Decentralized Disaster Management System and Information Network for Rural Areas.
Presented at 37th IETE Mid – Term Symposium on Information Communication
Technology – Initiative for Rural Development (ICTIRD 2006), Kolkata, West Bengal
(April 2006)
[3] Patra, S., Balaji, A., Saha, S., Mukherjee, A., Nandi, S.: A Qualitative Survey on Unicast
Routing Algorithms in Delay Tolerant Networks. In: Proc. of AIM2011S, Nagpur (2011)
[4] Uddin, Y.S., Nicol, D.M.: A Post-Disaster Mobility Model For Delay Tolerant
Networking. In: Rossetti, M.D., Hill, R.R., Johansson, B., Dunkin, A., Ingalls, R.G. (eds.)
Proceedings of the 2009 Winter Simulation Conference (2009)
[5] Romoozi, M., Babaei, H., Fathy, M., Romoozi, M.: A Cluster-Based Mobility Model for
Intelligent Nodes at Proceeding ICCSA 2009. In: Proceedings of the International
Conference on Computational Science and Its Applications: Part I (2009)
[6] Broch, J., Maltz, D.A., Johnson, D.B., Hu, Y.-C., Jetcheva, J.: A performance comparison
of multi-hop wireless ad hoc network routing protocols. In: Proceedings of the Fourth
Annual ACM/IEEE International Conference on Mobile Computing and
Networking(Mobicom 1998), ACM, New York (1998)
[7] Camp, T., Boleng, J., Davies, V.: A Survey of Mobility Models for Ad Hoc Network
Research. In: Wireless Communication and Mobile Computing (WCMC): Special issue
on Mobile Ad Hoc Networking: Research, Trends and Applications, vol. 2(5),
pp. 483–502 (2002)
[8] A Survey Of Mobility Models in Wireless Adhoc Networks Fan Bai and Ahmed Helmy
University of Southern California, USA
184 S. Saha et al.

[9] Kumar, S., Sharma, S.C., Suman, B.: Mobility Metrics Based Classification & Analysis
of Mobility Model for Tactical Network. International Journal of Next-Generation
Networks (IJNGN) 2(3) (September 2010)
[10] Ekman, F., Keränen, A., Karvo, J., Ott, J.: Working Day Movement Model. In: 1st
SIGMOBILE Workshop on Mobility Models for Networking Research, Hong Kong
(May 2008)
[11] Camp, T., Boleng, J., Davies, V.: A Survey of Mobility Models for Ad Hoc Network
Research. In: Wireless Communication & Mobile Computing(WCMC): Special issue on
Mobile Ad Hoc Networking: research. Trends and Applications, vol. 2(5), pp. 483–502
(2002)
[12] Evan, P.C., Jones Paul, A.S.: Ward, “Routing Strategies for Delay Tolerant Networks”,
Submitted to Computer Communication Review (2008)
[13] Lindgren, A., Doria, A., Schelen, O.: Probabilistic Routing in intermittently connected
networks, vol. 3126, pp. 239–254 (2004)
[14] Burgess, J., Gallagher, B., Jensen, D., Levine, B.N.: MaxProp: Routing for Vehicle-
Based Disruption-Tolerant Networks
[15] Spyropoulos, T., Psounis, K., Raghavendra, C.S.: Proceedings of the ACM SIGCOMM
workshop on Delay-tolerant networking (2005)
[16] Spyropoulos, T., Psounis, K., Raghavendra, C.S.: Spray and Focus: Efficient Mobility-
Assisted Routing for Heterogeneous and Correlated Mobility. In: Proceedings of the Fifth
IEEE International Conference on Pervasive Computing and Communications
Workshops (2007)
The Performance Comparison between Hybrid and
Conventional Beamforming Receivers in a Multipath
Channel

Rim Haddad and Ridha Bouallegue

Laboratory research in telecom systems 6’Tel@ SUP’COM


High School of Communication of Tunis
Route de Raoued, Km 3,5 2083 Ariana, Tunisia
[email protected],
[email protected]

Abstract. The performance in term of Bit Error Rate (BER) of smart antenna
receivers calls for some simplification of the interference reduction capability.
Obviously, the receiver performances are strictly related on the efficiency of
MAI reduction. In order to gain from the enhancements of both: multiuser
detection and adaptive antenna , we propose in this paper a hybrid scheme of
diversity and smart antennas called Hierarchical Beamforming (HBF), to jointly
combat fading and MAI. Our analysis is based on modeling the HBF receiver
and the description of the simulation strategy employed to simulate its
performance. Moreover, we compare the performance of HBF receiver with
Conventional Beamforming (CBF) one. The proposed model conforms the
benefits of adaptive antennas in reducing the overall interference level
(intercell/intracell) and to find an accurate approximation of the error
probability.

Keywords: Beamforming, Hierarchical Beamforming (HBF), Conventional


Beamforming (CBF), Angle of Arrival (AoA), Rayleigh fading.

1 Introduction
Smart antennas and associated technologies are expected to play a significant role in
enabling broadband wireless communication systems. The demand for increased
capacity in wireless communication networks has motivated recent research activities
toward wireless systems that exploit the concept of smart antenna and space
selectivity.
The deployment of smart antennas at cellular base station installations has gained
enormous interest because it has the potential to increase cellular system capacity,
extend radio coverage, and improve quality of services [1,2].
Smart antennas may be used to provide significant advantages and improved
performance in almost all wireless communication systems.
In a typical mobile environment, signals from users arrive at different angles to the
base station and hence antenna arrays can be used to an advantage. Each multipath of

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 185–196, 2011.
© Springer-Verlag Berlin Heidelberg 2011
186 R. Haddad and R. Bouallegue

a user may arrive at a different angle, and this angle spread can be exploited using an
antenna array [3,4].
The Bit Error Rate (BER) is considered to be one of the most important
performance measures for communication systems and hence it has been extensively
studies. The exact analytical evaluation of the probability of error in DS-CDMA, is
still an open subject.Hence in this paper, we will describe the HBF receiver and the
simulation strategy to simulate its performance. We propose a novel approach to
evaluate the average probability of error by considering an approximation of the
spatial filter. Hence, we will derive an analytical model for evaluating the mean BER
of HBF and CBF receivers.
The analysis is performed assuming Rayleigh fading multipath environments. We
assume to make a comparison between two types of smart antenna receivers: the HBF
receiver and CBF receiver. An analytical model provides rapid and accurate
assessment of the smart antenna system performance under a variety of active users
and channel scenarios.
We organize the rest of the paper as follows: In section 2, we introduce the system
model, followed by the smart antenna receiver model in section 3. The general
simulation assumptions and simulation results are provided in section 4 and section 5
respectively. We conclude in section 6.

2 System Model

2.1 System Model of Conventional Beamforming

We consider K the total number of active Mobile Stations (MS) in the system, which
are randomly distributed in the azimuthal direction, along the arc boundary of the
sector cell in the far field of the array. For simplicity, the conventional encoder and
interleaver are ignored (this approach is widely used [5] for wireless communication
systems employing multiple antennas).
In fact, the signals, transmitted by the K users, pass through a multipath channel
and are received by the BS array antenna. The location of each MS is identified by its
Angle of Arrival (AoA) θ , which is conventionally measured from the array
broadside. The BS receiver is equipped with a conventional Maximum Signal to
Noise Ratio beamformer followed by an L finger non-coherent RAKE combiner [6].
The resultant signal goes into the in-phase (I) and quadrature (Q) channels
simultaneously.The transmitted signal s of the k user can be written as [7]:

( ) () ( ) ( )
s (t) = W (t)a (t) cos(ω t) W (t T )a (t T ) sin(ω t) (1)
( )
Where q = 1,2, … , Q, W (t) is a Hadamard-Walsh function of dimension Q which
represents the q orthogonal signal of the k user’s long code sequence, a (t) is the
() ( )
k user’s long code sequence, a (t) and a (t) are the in-phase and quadrature
phase pseudo-noise (PN) sequences, T = T⁄2 is the delay for OQPSK signals.
The power of each user is assumed unity (perfect power control). To simplify our
study the PN codes are presented as follows:
The Performance Comparison between Hybrid and CBF Receivers 187

() ()
a (t) = a , (t) p(t T) (2)

( ) ( )
a (t) = a ,
(t) p(t T) (3)

() ( )
Where a , and a , are i.i.d variables taking the values 1 with equal probability and
p(t) is the chip pulse shape which is assumed to be rectangular.
The equation (1) can be written as follows:

( ) ( ) ( )
s (t) = W (t)a( ) (t) jW (t T )a (t T) e
(4)
s (t) = s (t)e
() ( )
Where s (t) = S (t) jS (t) is the complex low pass equivalent of the
transmitted signal.
The k user propagates through a multipath channel with (AoA) θ . The complex
equivalent representation of the channel impulse response between the l multipath
of the k user and the n element of array antenna is presented as follows:

, ( )
h ,, (t) = β , e δ t τ ,
(5)
h ,, (t) = β , e ,, δ t τ ,

where β , , Φ , and τ , are the path gain, phase and delay respectively, φ , , is the
overall phase which includes the path phase and the difference in propagation delays
between the antennas. In this case of transmitter we assume that path gains follow the
Rayleigh and Ricean distributions respectively.
To simplify our work, we assume that multipath channel parameters β , (t) and
φ , , (t) remain constant in the duration of Walsh symbol [8], so β , (t) = β , and
φ , , (t) = φ , , for t 0, T , where T is the Walsh symbol period.

2.2 System Model of Hierarchical Beamforming

We consider a BS serving a single 120° angular sector. It is assumed that the BS is


equipped with F co-linear sub-beamforming arrays. The number of array elements in
each sub-array is B. That’s why the total number of array elements is = .
The inter-element spacing in each sub-array is = /2, while the spacing between
the adjacent sub-beamforming arrays ( ), is assumed large enough ( = 20 or
more) to uncorrelated fading. The extreme case of = 1 and = corresponds to
the conventional Beamforming.
As the required spacing between sub-arrays for space diversity is much smaller than
the sector radius, this AoA is assumed to be the same at each sub-array [9].
188 R. Haddad and R. Bouallegue

In this section, we consider that the BS is equipped with a hierarchical Beamforming


receiver. Each sub array employs the functional block diagram of OQPSK receiver
model.

2.2.1 Transmitted Signal


We assume that the MS transmitter of each user employs offset Quadrature Phase
Shift Keying (OQPSK) M-ary orthogonal modulation.
The transmitted signal of the user can be written as [10]:
( ) ( ) ( ) ( )
( )= ( ) ( ) ( ) cos( ) ( ) ( ) (
) sin( ) (6)

( )
where is a Hadamard-Walsh function of dimension which represents the
orthogonal signal ( = 1,2, … , = 64) of the user, ( ) and ( ) are the in-phase
and quadrature phase pseudo-Noise (PN) sequences, ( ) is the user long code
sequence, is the half chip delay for OQPSK signals, =2 and is the carrier
frequency.

2.2.2 Channel Model


We assume in the following sections that the transmitter signal propagates over
Rayleigh fading multipath channel.
The complex equivalent representation of the channel impulse response between
the multipath of the the user and the the antenna in the sub-array is
given as:
( )
( ) ( )
,, ( )= ,
,,
,
(7)

( ) ( )
Where , is the path amplitude, , , is the overall path phase and , is the path
delay respectively. To simplify our work, we assume that multipath channel
( ) ( )
parameters , and , , remain constant in the duration of Walsh symbol.In vector
( )
notation, the spatial signature or channel response vector , ( ) is given by:

( ) ( ) ( ) ( )
, = ,, ,, … ,,
(8)

2.2.3 The Received Signal


At the receiver, the total received signal for the sub-array can be written in vector
notation as:

( ) ( ) ( )
( )= , ( ) ( )
, (9)
The Performance Comparison between Hybrid and CBF Receivers 189

where , = + , , is the random delay of the user due to the effect of


asynchronous transmission, ( ) is the noise which is assumed to be Additive White
( )
Gaussian Noise (AWGN) and , ( ) the channel response vector given in (2.2.2).

3 Smart Antenna Receiver Model

3.1 The CBF Receiver Model

The receiver is divided in four main blocks which can be identified as follows: (1) the
array antenna block, (2) the PN despreading, (3) the Beamforming and (4) Walsh
correlation and demodulation. We will explain the function of each block:
The first step of the receiver is to obtain the quadrature components at each
antenna. We multiply the received waveforms by cos(ω t) and sin(ω t) respectively
and then Low Pass Filtering (LPF) to remove the double frequency components that
results from multiplication [11]. The output of the I-channel and Q-channel low pass
filter is given by:
ሺ୍ሻ
”୩ǡ୪ǡ୬ ሺ–ሻ ൌ ൣ”୩ǡ୪ǡ୬ ሺ–ሻ …‘•ሺɘୡ –ሻ൧୐୔୊ 
 ሺ୯ሻ ሺ୍ሻ …‘• ɔ୩ǡ୪ǡ୬
ൌ ൜Ⱦ୩ǡ୪ ୩ ൫– െ ɒ୩ǡ୪ ൯ƒ୩ ൫– െ ɒ୩ǡ୪ ൯
ʹ (10)
ሺ୯ሻ ሺ୕ሻ
൅ Ⱦ୩ǡ୪ ୩ ൫– െ ଴ െ ɒ୩ǡ୪ ൯ƒ୩ ൫– െ ଴
•‹ ɔ୩ǡ୪ǡ୬
െ ɒ୩ǡ୪ ሻ ൠ ൅ Ʉሺ୍ሻ ሺ–ሻ
ʹ

ሺ୕ሻ
”୩ǡ୪ǡ୬ ሺ–ሻ ൌ ൣ”୩ǡ୪ǡ୬ ሺ–ሻ •‹ሺɘୡ –ሻ൧୐୔୊
ሺ୯ሻ ሺ୕ሻ …‘• ɔ୩ǡ୪ǡ୬
ൌ ൜Ⱦ୩ǡ୪ ୩ ൫– െ ɒ୩ǡ୪ ൯ƒ୩ ൫– െ ଴ െ ɒ୩ǡ୪൯
ʹ (11)
ሺ୯ሻ ሺ୍ሻ
 െ Ⱦ୩ǡ୪ ୩ ൫– െ ଴ െ ɒ୩ǡ୪൯ƒ୩ ൫–
•‹ ɔ୩ǡ୪ǡ୬
െ ɒ୩ǡ୪ ሻ ൠ ൅ Ʉሺ୕ሻ ሺ–ሻ
ʹ

ሺ୍ሻ ሺ୕ሻ
”෤୩ǡ୪ǡ୬ ሺ–ሻ ൌ ”୩ǡ୪ǡ୬ ሺ–ሻ ൅ Œ”୩ǡ୪ǡ୬ ሺ–ሻ (12)

The complex low pass of the received signal can be written as:

( )
r ,, (t) = r ( ,), (t) jr ,, (t) (13)

After filtering, each path is detected by one of the fingers immediately following the
radio-frequency stages.
The complex low pass equivalent of the post PN-despread signal is given as
yk,l,n(t) :

() ( )
yk,l,nt=y ,, (t) jy ,, (t) (14)
190 R. Haddad and R. Bouallegue

The despreading sequences are denoted as [12]: a(t) = a( ) t τ , ja


( )
t T τ , .
We can also write as follows:
()
y ,, (t) = a(t), r ,, (t)
() () ( ) ( ) (15)
= r ,, (t)a t τ , r ,, (t)a t T τ ,

( )
y ,, (t) = a(t), r , , (t)
() ( ) ( ) () (16)
= r , , (t)a t T τ , r ,, (t)a t τ ,

Where (a, b) = a · b the product between complex numbers.y ,, can be written in


vector notation as:

Y , = y ,, ,y ,, ,…,y ,,
(17)

In the next step, the signal after PN despreading is combined by the beamformer. In
the Beamforming operation, the signals received by antenna elements are weighted by
complex weights and then summed up.
The smart antenna output is given by:

Z , = W , Y ,
(18)

() ( )
Z , (t) = Z , (t) jZ , (t) (19)

Where W , is the Beamforming weight vector given by:

W , = W ,, ,W ,, ,…,W ,, (20)

To simplify our work, we assume that the weights are set as W , = h , and these
vector channel coefficients are assumed to be perfectly known. This provides the best
case system performance.
The last step is the correlation of the smart antenna output with stored replicas of
the Walsh functions to form the decision variable for demodulation.
The output of the q Walsh correlator (q = 1,2, … , Q) for single antenna is:

() 1 ,
() ()
Z , (q) = Z , W( )
t τ , Z , W( )
t T τ , dt (21)
T ,

( ) 1 ,
( ) ( ) ( ) ( )
Z , (q) = Z , W t τ , Z , W t T τ , dt
T , (22)
The Performance Comparison between Hybrid and CBF Receivers 191

The decision variable for the l multipath of the k user is obtained from the
previous values:

() ( )
u , (q) = Z , Z ,
(23)

The overall decision variable is obtained by Equal Gain Combining (EGC) of all the
decision variables from the L multipaths as [13]:

() ( )
u (q) = u , (q) = Z , Z ,
(24)

Finally, the receiver makes a hard decision on the q symbol of the k user by using
the Maximum Likelihood Criteria rule as:
q = arg ,…, max u (q) (25)

3.2 The HBF Receiver Model

The HBF receiver is divided in four main blocks which can be identified as follows:
(1) the sub-array antenna blocks (2) the PN dispreading, (3) the Beamforming and (4)
Walsh correlation and demodulation.
The received signal at each sub-array antenna is first down converted. Each
resolvable path is then detected by one of the RAKE fingers. To detect the l path,
the signal at the different sensors is dispread using the sequence of the respective
mobile and synchronized to the delay of the l path. The post PN-despread signal
vector is:

() () () ()
Y , = y ,, y ,, …y ,,
(26)

In the next step, the signal after PN dispreading is combined by the Beamforming
process. The Beamforming output is given by:

() () ()
z , (t) = W , Y ,
(27)

()
Where W , is the Maximum SNR Beamforming weight vector given by:

() () () ()
W , = W ,, W ,, …W ,,
(28)
192 R. Haddad and R. Bouallegue

To simplify our work, we assume that the weights are set equal to the channel
response vector for the desired user. This provides a lower bound on the system
performance.
The last step is the correlation of the beamformers with stored replicas of the
Walsh functions and then the overall decision variable is obtained by Equal Gain
Combining (EGC) of all the decision variables from the multipath signals for the f
sub-array. The overall decision is then made by selecting the decision outcomes from
the respective sub-beamforming array with the best channel state [9].

4 General Simulation Assumptions


The performance of HBF array antenna systems is evaluated by means of Montecarlo
simulations runs over the variable of interest ( / or M). The figure of merit used
in this work is the mean Bit Error Rate (BER). This is the mean BER taken over the
set of channel Rayleigh fading parameters.
The performance metric is collected and averaged over = 100drops. A drop is
defined as a simulation run for a given number of MS. During a drop, the MS’s AoA
increases or decreases linearly with angle change ∆ to crossover the entire sector
azimuth range [-60°,60°]. During a drop, the channel undergoes fast fading according
to the motion of the MS’s. To simulate the MS mobility, we assume that the snapshot
rate is equal to the Walsh symbol rate and the angle change between snapshots is
∆ = 0,01° per snapshot (MS travelling at 300km/h at only 100m from the BS, this
value is widely used in simulations).
For clarity of investigations, the main parameters for HBF simulation assumptions
are discussed below:

a) Number of Antenna elements: To make the comparison between HBF and CBF, it
is merely assumed that the number of antenna elements M is the same for both
cases.
b) Number of HBFbranches:We consider in simulations that the BS is equipped with
F=2 co-linear sub-beamforming arrays. This choice of sub-arrays is motivated by
practical array size considerations and is relevant to a BS serving three sectors,
each covering 120° in azimuth.
c) Channel:The channel considered is Rayleigh fading with L=1,2 paths/user
respectively.
d) Pdf in AoA:We assume a Gaussian pdf in AoA. The angular distribution of the
waves arriving at the BS in azimuth is described by the pdf in AoA.
e) Angle Spread:The values of angle spread used in simulations lie in the range 5°-
15° which corresponds to urban macrocellular areas.

5 Simulation Results
The performance of HBF is determined by the interaction of a number of factors. These
include: Beamforming gain via closely spaced antenna elements within each sub-array
beamforming, space diversity gain via widely separated sub-arraysbeamforming,
The Performance Comparison between Hybrid and CBF Receivers 193

additional space diversity gain via angle spread and temporal diversity gain via the
multipaths. We present in the following sections the impact of each parameter in the
performance of HBF and we will make a fair comparison between HBF and CBF.

5.1 Effect of Varying Noise Level

First of all, we study the performance of HBF and CBF for the case of a single user
(K=1).Obviously, there is no MAI for the case of one user. We can notice from Figure
1 that both CBF and HBF for different number of antennas show a considerable
improvement in mean BER compared to the conventional receiver (super imposed as
reference). Besides, the improvement in mean BER increases with / .It is very
clear from the figure that the performance of HBF is superior to CBF, e.g for a BER
threshold of 10-2, M=4 antennas, and / of about 5dB is required for CBF, but
only 2.5dB is required for HBF.The performance of HBF is superior to CBF due to
space diversity gain offered by the widely separated sub-arrays, which is dominant
factor (in the absence of MAI) for the case of a single user.

Fig. 1. Mean BER versus Eb/N0 for K=1 user, L=2 paths Rayleigh fading channel, σAoA=0°

5.2 Effect of Varying Angle Spread

We can notice from Figure 2 that, both CBF and HBF improve the performance as the
angle spread increases from 5° to 10°.It is obvious from the figure, that for low
/ , CBF is slight better than HBF. But, as / gets higher, diversity gain
becomes dominant and HBF becomes better than CBF.
194 R. Haddad and R. Bouallegue

Fig. 2. Mean BER versus Eb/N0 for K=1 user, L=2 paths, M=6 antennas

5.3 Effect of Varying Number of Antennas

It is noticed from the Figure 3, that for = 0°, HBF is better than CBF due to
diversity gain provided by array architecture. Moreover, there is no much
improvement in performance for both CBF and HBF, by doubling the number of
antennas from 4 to 8.If we want to compare angle spread scenarios, for = 5°,
HBF is better than CBF, but for larger angle spreads for = 10° and 15°, both
array architectures show a similar performance for the number of users considered in
simulations.

Fig. 3. Mean BER versus number of antennas M, K=15 users, L=1path/user

5.4 Effect of Varying Number of Multipaths

It can be observed from the figure that for = 0° and 5°, HBF is better than CBF.
But for = 10° and 15°, we notice that CBF outperforms HBF because the
additional diversity gain from spatial fading becomes dominant with the increase of
The Performance Comparison between Hybrid and CBF Receivers 195

Fig. 4. Mean BER versus number of antennas M, K=15 users, L=2paths/user

number of antennas M and in the presence of path diversity, the MAI becomes the
dominant factor.

5.5 Effect of Varying the Number of Users

Finally, we examine in Figure 5 the performance of both HBF and CBF by varying
the number of users K. Also in Figure 8, we re-confirm the trends identified in
Figures 1,2 and 3. It can be observed from the Figure 8 that, for = 0° and 5°,
HBF yields better mean BER results than CBF. However, for larger angle spread
= 10° only for small number of users, HBF outperforms CBF. The behaviour
of both schemes becomes different for larger number of users when MAI
becomes the dominant factor, and to combat interference it is better to use CBF
scheme.

Fig. 5. Mean BER versus number of users K for Eb/N0=10dB, M=6 antennas, L=2paths/user
and σAoA=0°,5°,10° respectively
196 R. Haddad and R. Bouallegue

6 Conclusion
In this paper, we have reported on the performance of hybrid scheme of diversity and
Beamforming. Furthermore, its performance is compared with conventional
Beamforming with moderate values of the system parameters such as angle spread
number of antennas, number of multipath and number of users. It has be shown that
while assuming zero angle spread, the performance of HBF is superior to CBF due to
space diversity gain afforded by the well separated sub-arrays.The inclusion of angle
spread produces spatial fading across the array, which results in additional diversity
gain and improves the performance of both CBF and HBF schemes. For the case of
moderate or large angle spread, when path diversity is present and the system is
heavily loaded, CBF yields better mean BER results than HBF. All these results are
based on the assumption of perfect channel estimation, that’s why the choice of
optimum receiver architecture is dependent on the channel conditions.

References
1. Bellofiore, S., et al.: Smart antenna system analysis, integration and performance for Mobile
Ad-Hoc Networks (MANET’s). IEEE Trans. AntennasPropagat. 50, 571–581 (2002)
2. Ho, M., Stuber, G., Austin, M.: Performance of switched-beam smart antennas for cellular
radio systems. IEEE Trans. Vehic. Technol. 47, 10–19 (1998)
3. Haddad, R., Bouallègue, R.: BER Performance in Space-Time Processing receiver using
Adaptive Antennas over Rayleigh Fading Channels. In: Proc. IEEE International Conference
on signal Processing and Communication, November 2007, pp. 1483–1486 (2007)
4. Haddad, R., Bouallègue, R.: BER Performance of Smart Antenna Systems Operating over
Rayleigh fading Channels. In: Proc. IEEE Wireless Days 2008, November 2008, pp. 1–5
(2008)
5. Bjerke, B.A., Zvonar, Z., Proakis, J.G.: Antenna diversity combining aspects for WCDMA
systems in fading multipath channels. IEEE Transactions on Wireless Communications 3(1),
97–106 (2004)
6. Roberts, M.A., Thomas, M.: Introduction to Adaptive Arrays. Sc Tech Publishing (2004)
7. Lee, Y.H., et al.: Performance Analysis of conventional coded DS/CDMA System in
Nakagami Fading Channels. In: Telecommunication Systems Journal
8. Jalloul, L.M., Holtzman, J.M.: Performance analysis of DS/CDMA with non-coherent M-
ary orthogonal modulation in multipath fading channels. IEEE Journal on Selected Areas
in Communications 12(5), 862–870 (1994)
9. Bjerke, B.A., Zvonar, Z., Proakis, J.G.: Antenna diversity combining aspects for WCDMA
systems in fading multipath channels. IEEE Transactions on Wireless
Communications 3(1), 97–106 (2004)
10. Roberts, M.A., Thomas, M.: Introduction to Adaptive Arrays. Sc Tech Publishing (2004)
11. Rappaport, T.S.: Wireless Communications: Principles and Practice, 2nd edn. Prentice-
Hall, Englewood Cliffs (2002)
12. Stuber, G.L.: Principles of Mobile Communication, 2nd edn. Kluwer Academic Publishers,
Dordrecht (2001)
13. Iskander, C.D., Mathiopoulos, P.T.: Performance of multicode DS/CDMA with M-ary
orthogonal modulation in multipath fading channels. IEEE Transactions on Wireless
Communications 3(1), 209–223 (2004)
A Qualitative Survey on Multicast Routing in Delay
Tolerant Networks

Sushovan Patra1, Sujoy Saha2, Vijay Shah1, Satadal Sengupta1,


Konsam Gojendra Singh1, and Subrata Nandi1
1
Department of Computer Science and Engg,
2
Department of Computer Application National Institute of Technology,
Durgapur, 713209, India
{bubususpatra,sujoy.ju,vjsah27,satadal.sengupta.nit,
konsamsingh,subrata.nandi}@gmail.com

Abstract. Delay Tolerant Networks (DTNs) are a class of networks that make
communication in stressed and challenging environments possible. DTN is
characterized with a number of unique features by virtue of which a working
environment is achieved in situations where traditional networking paradigms
fail to deliver satisfactorily or entirely. The utility of multicasting in DTNs
extends to numerous potential DTN applications i.e., crisis environments,
battlefield situations, deep space communications, dynamic data size
management, etc. In this paper, we propose taxonomy for the different multicast
routing strategies and thereafter, we present a comprehensive up to date survey
of these strategies. Further, we perform a qualitative comparison between the
different multicast strategies with respect to important performance issues in
DTN. We also highlight some unexplored areas in DTN multicasting that could
inspire research in the near future.

1 Introduction
Personal communication devices like as cellular phones have made voice and data
communications possible by achieving global connectivity through infrastructure
networks such as cellular and WLAN [1]. Additionally, local connectivity can be
achieved through ad-hoc networks since mobile devices are nearly always turned on
and possess the necessary attributes to act as routers. The classic TCP/IP-based
communications necessarily require end-to-end connectivity. However, sparse ad-hoc
networks do not support this due to frequent disruptions and partitions caused due to
node mobility. Delay tolerant networks (DTNs) are a class of emerging networks that
experience frequent and long-duration partitions. There is no end-to-end path between
some or all nodes in a DTN [2]. These networks have a variety of applications in
situations that include crisis environments like emergency response and military
battle-fields, deep-space communication, vehicular communication, and non-
interactive internet access in rural areas.
Multicast involves the distribution of specific data to a group of users. While
multicasting in the Internet and mobile ad hoc networks has been studied extensively,
multicasting in DTN is a considerably different and challenging problem. It not only

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 197–206, 2011.
© Springer-Verlag Berlin Heidelberg 2011
198 S. Patra et al.

requires new definitions of multicast routing algorithms but also brings new issues to
the design of routing protocols. According to the best of our knowledge, our
qualitative survey on multicasting in DTN is the first of its kind, and it includes even
the most recently proposed multicast strategies.
The remainder of our paper has been structured as follows. Section 2 discusses
about the importance of multicasting in DTN and associated challenges. In section 3,
we discuss the basis of our classification. Section 4 presents the proposed taxonomy
tree by classifying various routing strategies. Section 5 concludes our paper and
focuses on future work.

Multicast Routing Strategies in DTN

Multicast Tree Based Probability Intelligent


Flooding Multicast Based Multicast Multicast

Unicast Group Static Dynamic Encounter Context Forwarding SMART A-SMART RelayCast
Based Based Tree Tree Based Aware Group
Routing Routing Based Based Multicast Multicast Based
(UBR) (GBR) Multicast Multicast Routing Routing Routing
(EBMR) (CAMR) (FGBR)

Dynamic Tree On-demand


Based Routing Situation aware
(DTBR) Multicast
(OS Multicast)

Fig. 1. Classification of Multicast routing strategies based on a new taxonomy

2 Challenges and Applications of Multicasting in DTN


Unicasting in DTNs has been researched upon to a large extent as opposed to
multicasting. As mentioned before, multicast routing in DTN is a relatively fresh
topic; however, the massive range of its applications makes its study an important
one. Besides, because of its fundamentally different working principle with respect to
unicast, multiple challenges are encountered while making headway with this topic.
Some of the applications and challenges have been discussed below:

2.1 Identical Challenges between Unicast and Multicast in DTN

While implementing multicasting in DTNs, due to large transfer delays, group


membership of a particular multicast group may change during a message transfer,
introducing ambiguity in multicast semantics. Under these situations, it is necessary to
make a distinction between group members and the intended receivers of a message,
i.e., endpoints to which the message should be delivered. Group members may change
A Qualitative Survey on Multicast Routing in Delay Tolerant Networks 199

with time as endpoints join and leave the group. The intended receivers, on the other
hand, should be fixed for a message, even though they are defined based on group
membership. In order to overcome the aforesaid challenges, various multicast routing
strategies have been introduced by researchers, which we have tried to classify taking
into consideration their working principles.

2.2 Applications of DTN Multicasting

Multicast service supports the distribution of data to a group of users. Many potential
DTN applications operate in a group-based manner and require efficient network
support for group communication. For example, in a disaster recovery scene, it is vital
to disseminate information about victims and potential hazards among rescue workers.
In a battlefield, soldiers in a squad need to inform each other about their surrounding
environment. Although group communication can be implemented by sending a
separate unicast packet to each user, this approach suffers from poor performance. The
situation is especially acute in DTNs where resources such as connectivity among
nodes, available bandwidth and storage are generally severely limited. Thus efficient
multicast services are necessary for supporting these applications.

3 Classification of Multicast Routing Strategies


We have attempted to classify the proposed multicast routing strategies in DTNs on
the basis of their basic working mechanisms. Multicasting can be implemented in
DTNs in a variety of ways (as in Fig. 1). We classify them as follows: 1) Messages are
flooded throughout the network, 2) Messages are forwarded along a multicast tree that
stores node information leading to the destinations, 3) A probabilistic approach is used
which employs history of encounters to select the best route, 4) An intelligent
combination of flooding and forwarding techniques is used to make better use of
available resources. Each of these techniques can be further classified into more
specific ones (Fig. 1): multicast flooding can be achieved by using unicast transfer [3]
[4], or by the broadcast strategy; tree-based multicast can be accomplished by using a
static tree or dynamic tree to decide the shortest path to a destination; probability-
based multicast can be implemented using the encounter-based technique that records
history of node encounters to decide best route or by using the context-aware
multicast-routing (CAMR) [11] which allows for excess power usage in extremely
sparse networks; intelligent multicast can be achieved by segregating the entire
message delivery process into two segments, each implementing either the flooding or
the forwarding technique to achieve better performance, as in case of the forwarding
group-based, SMART, A-SMART [12], and RelayCast [13] routing strategies. We
discuss the above mentioned strategies in detail in the section that follows.

4 Proposed Taxonomy
Based on the above mentioned bases of classification, we propose taxonomy for the
various multicast routing strategies (as shown in Fig. 1). Each routing strategy has
200 S. Patra et al.

been discussed in brief and probable conclusions have been drawn on their
performances.

4.1 Multicast Flooding

Multiple copies of the messages are flooded into the network so that the message gets
transferred to the intended receivers of the multicast group. The techniques that fall
under this category are as follows.

4.1.1 Unicast-Based Routing (UBR)


This can be considered to be the simplest way of implementing multicast in DTN.
Here, the source sends multicast bundles to the destination through multiple unicast
operations [6], [7]. Any existing DTN unicast scheme can implement this strategy by
modifying its bundle header to include group information. Unicast routing schemes
like Epidemic Routing [18] and Spray-and-Wait algorithm [15] already implement
this strategy to achieve multicasting. Apparently, this strategy accomplishes least
implementation overheads [7]; however, as number of receiver nodes in a multicast
group increases, there is a chance that an intermediate node will forward the same
bundle several times, thus decreasing delivery efficiency dramatically.

4.1.2 Broadcast-Based Routing (BBR)


BBR [14] or Epidemic Routing [18] uses the technique of flooding in disruption-
tolerant networks. In this routing scheme, flooding of messages throughout the
network is carried out with the intention of reaching intended receivers [14]. BBR
performs better when it has access to long-term information about the network
topology, i.e., average interval between node contacts, etc. BBR generates redundant
messages, a property which renders it inefficient in mobile networks where power
supply for individual nodes is limited.
It is probably safe to say that flooding based routing should work better in Random
Walk/Waypoint models since node movement predictability is negligible. Delivery
ratio must be very high with significantly low latency, although buffer overhead will
be quite large.

4.2 Tree Based Multicast

In tree-based multicast routing, a DTN graph is considered which consists of all the
nodes present in the network [14]. The messages are forwarded along a tree in this
DTN graph that has the source as its root and is connected to all the receivers in the
network. The message passing technique is essentially forwarding, as messages are
duplicated at a node of the tree if and only if it has more than one outgoing paths [4],
[6], [7]. Tree-based multicast can be categorized into the following two strategies:

4.2.1 Static Tree Based Multicast


As discussed earlier, a multicast tree is created at the start of a multicast session, with
its root at the source [7]. The source first gathers information about discovered routes
to all the intended receivers and then constructs a smallest cost tree using Djikstra’s
algorithm based on this information [14]. As we can understand from the name, the
A Qualitative Survey on Multicast Routing in Delay Tolerant Networks 201

topology of the intermediate nodes of this tree does not change until the multicast
session is complete. Bundles are replicated according to the number of downstream
neighbours, i.e., number of messages coming out of a node equals the number of its
downstream neighbours. Its demerit comprises of the fact that it loses flexibility of
adjusting multicast routing decision according to variations in the topology during the
course of a particular multicast session. This strategy is most appropriate where
disruptions happen periodically in a scheduled pattern, e.g., data communication via
LEO satellite. We can intuitively conclude that this strategy is supposed to work best
in the Working Day mobility model where the node mobility follows a periodic
pattern.

4.2.2 Dynamic Tree Based Multicast


Contrary to the static tree, dynamic tree based multicast allows for dynamic
adjustment of the multicast tree to incorporate changes in the network topology during
the course of a particular multicast session. In this strategy, each bundle has an
associated tree [7] that may change hop-by-hop depending upon up/down variations of
DTN links. Each node having a bundle performs the three common steps: collection of
information regarding availability of DTN links, computation of smallest cost tree and
forwarding bundles using discovered multicast tree [14]. In addition, this strategy can
take advantage of newly available routes to receiver nodes and can avoid forwarding
messages through links that are now disconnected due to outward movement of nodes.
Though this strategy is characterized with high overheads, it is better adaptive to
topology variations in DTNs. We discuss two variations of this strategy in the text that
follows.

4.2.2.1 Dynamic Tree Based Routing (DTBR). Each DTN node has knowledge
oracle containing schedule or statistical summary of link up/down information in
DTN overlay and thus the source computes a multicast tree for each bundle and
forwards the current message along the tree [7]. Based on this, source computes a
multicast tree for each bundle and forwards current message along tree. Thus, once a
message leaves the source for a destination node, the strategy remains static virtually
since it does not incorporate the changes in the topology thereafter. This will fail to
work efficiently in networks where disruptions are random and frequent.

4.2.2.2 On-Demand Situation-Aware Multicast (OS-Multicast). It also builds up a


dynamic multicast tree hop-by-hop for each copy of bundle [9]. However, contrary to
DTBR, it doesn't rely on any global knowledge of network such as node position, or
link up/down schedule. It assumes that underlying networks is able to record
discovered routing information and report current availability of outgoing links to
DTN multicast agent. It contains full list of intended receivers and thus each
intermediate node that has a bundle is responsible for delivering multicast message to
all receivers. This improves on DTBR since the intermittent topology changes are
evaluated dynamically, thus optimizing performance. However, delivery latency is
quite high.
202 S. Patra et al.

4.3 Probability Based Multicast

Here nodes deliver messages to the other nodes only when its delivery predictability is
higher than the certain threshold value.

4.3.1 Encounter Based Multicast Routing (EBMR)


It is a scheme that is purely based on node encounters. EBMR scheme is built on top
of PRoPHET Scheme [8]. Each node doesn’t pass bundle to a next hop node unless
the next hop node has delivery predictability higher than a certain delivery threshold
(Pthresh) value [10]. For multicast delivery each node will pick as many nodes as
needed with highest delivery predictability to each of the multicast receivers.

4.3.2 Context Aware Multicast Routing (CAMR)


Nodes are allowed to use high power transmission when locally observed node density
drops below a certain threshold. Each node maintains 2-hop neighbourhood
information and hence can deliver traffic without invoking a route discovery process if
all receivers are within its 2-hop neighbourhood [10] [11]. Its advantage constitutes of
the fact that it can achieve higher multicast delivery ratio than DTBR and OS-
multicast. However it still relies on route discovery process and ability to control node
movement. CAMR can be considered a special case of multicast routing where power
resources can be exploited to achieve high delivery ratio in very sparse networks.

4.4 Intelligent Multicast

Here dynamic intelligence is used by the algorithm to decide between flooding and
forwarding techniques of delivering messages to the receivers. This strategy is based
on a two-phase algorithm with each phase implementing flooding or forwarding to
achieve optimal performance. Flooding technique is implemented to achieve high
delivery ratio and low latency since all the intermediate nodes receive single or
multiple copies of the message thus increasing the chances of message delivery to an
intended receiver. Forwarding, on the other hand, achieves better efficiency and works
with a significantly reduced buffer space since message replication is not allowed
beyond the number of intended receivers. Intelligent multicast is able to take
advantage of the merits of both these techniques.

4.4.1 Forwarding Group Based Routing (FGBR)


FGBR implements the concept of a forwarding group [4] within which the message is
flooded. The forwarding group is created by computing a shortest path tree (as in case
of tree based multicast) to the intended receivers. The group consists of those nodes
which are present in the shortest path tree, including the receiver nodes. Within this
forwarding group, the message is flooded, thus decreasing latency and increasing
delivery ratio. Performance of this strategy is better than in cases where only flooding
is implemented.

4.4.2 SMART
SMART uses travel companions of the destinations to increase the delivery
opportunities. Here, routing is divided into two phases: 1) a fixed number of copies of
A Qualitative Survey on Multicast Routing in Delay Tolerant Networks 203

the message are injected into the network to propagate the message to the companions
of the destination by Binary Spray algorithm [15], and 2) a companion of the
destination only transmits the message to other companions of the destination until the
message is delivered to the destination.

4.4.3 A-SMART
In A-SMART, companion nodes are organized to form an anycast group [12] and
periodically broadcast its group identifiers and hops to build the routing table. Routing
is divided in two phases: 1) an anycast scheme is used to forward the message the
companion node of the destination; 2) the companion node only transmits the message
to other companions of the destination until the message is delivered to it.
Anycast is virtually a unicast, for the reason that source node just sends the
message to any one member of a destination group which is the best receiver
according to the current environment. In addition, the message will be routed to an
alternative member of the destination group when the previous path to a member
disappeared, so anycast is a more reliable routing mechanism.

4.4.4 RelayCast
RelayCast [13] is a routing scheme which extends 2-hop relay algorithm used in
unicast to multicast in DTNs. In this strategy, a source forwards a single message to
all the relay nodes, each of which in turn transmits the message to all intended
multicast receivers. Mathematical analysis shows that the throughput achieved is
better than in case of conventional multi-hop relay. Thus, RelayCast is able to achieve
maximum throughput bound of DTN multicast routing.
FGBR and A-SMART seem to perform well in most mobility models due to an
efficient balance between flooding and forwarding techniques. Due to the partial
flooding, delivery ratio and latency are taken care of, whereas buffer usage is
somewhat controlled by the partial forwarding character. Recent reports show that use
of multicast tree results in poor scaling behaviour which is efficiently dealt with using
RelayCast algorithm.

Table 1. Performance Comparison among Multicast Routing Strategies based on Performance


Metrics

Performance Metrics
Algorithms
Strategies
Routing

Routing

Remarks
Delivery Ratio Delivery Latency Buffer Usage

Higher delivery ratio


Multicast Flooding

is achieved at the cost


UBR

Lower than
Low Highest of high buffer
BBR
Based

overhead and low


efficiency. Should
work well in Random
BBR

High Low Highest Walk/Waypoint


mobility models.
204 S. Patra et al.

Table 1. (continued)

Performance Metrics

Algorithms
Strategies
Routing

Routing

Remarks
Delivery Ratio Delivery Latency Buffer Usage
Based
Static

Higher than
Tree
Multicast Forwarding Based

Less than GBR Less usage


UBR
Buffer usage reduced
significantly; however,
DTBR

Higher than delivery ratio and


Less than GBR Less usage latency are
UBR
compromised with.
Higher than Compatible with most
Multicast

DTBR when Higher than mobility models.


OS-

Less usage
network is DTBR
sparse
Very high when Ideal for networks
EBMR

where node mobility is


Probability Based

node mobility is High Medium


predictable periodic and/or
predictable. CAMR
Highest, 8 times Low, almost compromises heavily
CAMR

more than identical to with power usage.


Medium Should work best with
DTBR or OS- DTBR and OS-
Multicast Multicast Working Day mobility
model.
FGBR

More than Tree


High Medium
Based

Slightly lower
SMART

compared to Highly efficient; uses


Higher than A-
Low multicast
Intelligent Multicast

SMART intelligent
flooding combination of
techniques flooding & forwarding
techniques to achieve
A-SMART

optimal performance;
Higher than Lower than
High Designed to work well
SMART SMART
with most mobility
models.
RelayCast

Higher than Comparable


High
EBMR to A-SMART

5 Conclusion and Future Work


Multicasting in DTNs is a fresh area of research and there is a limited amount of
research information on it. The information, however, is growing in volume as
researchers realize the importance of multicast routing in challenging environments.
A Qualitative Survey on Multicast Routing in Delay Tolerant Networks 205

In this paper, we have tried to identify the reasons of considering multicasting an


essential tool for routing in disruption-tolerant networks. We have presented a
classification comprising the multicast routing schemes that have been proposed and
have performed a comparative survey on their performances. The advantages and
otherwise of each of the strategies have been studied with an eye for novelty.
Though research in the field of DTN multicasting has made some headway in the
recent past, there are many important areas that remain unexplored. We highlight
some of those areas that can prove to be fodder for future research work. Firstly,
security in DTNs is an area of huge concern, especially in those cases where the
networking deals with personal information (such as in social networking) or
classified information (such as in the battle-field scenario). Major practical
contributions regarding security are yet to come up. Secondly, efficient usage of
power is another aspect that needs to be considered. More power usage will lead to
higher cost, which is both impractical and unsustainable. Another area of significant
importance could be dynamic buffer management in DTNs. Data packets can range in
size from a few KBs (such as text files) to some GBs (such as multimedia files).
There is a need to provide for dynamic addition and reduction of buffer space in
nodes depending upon the size of the data packet at being transmitted at a particular
instant of time. This provision could contribute significantly in the reduction of buffer
usage and thus make routing in DTN more sustainable. Last but certainly not the
least; we should focus on the issue of scalability in DTN environment, i.e.,
sustainability of a particular routing strategy with increasing node density. The
practicality of a strategy will depend hugely on its scalability.

References
1. Keränen, A., Ott, J., Kärkkäinen, T.: The ONE Simulator for DTN Protocol Evaluation. In:
Simutools 2009 Proceedings of the 2nd International Conference on Simulation Tools and
Techniques, Belgium (2009)
2. Fall, K.: A Delay Tolerant Network Architecture for Challenged Internets. In: Proc. ACM
SIGCOMM, pp. 27–34 (2003)
3. Jones, E.P.C., Ward, P.A.S.: Routing Strategies for Delay Tolerant Networks. In: Proc.
WDTN 2005 Proceedings of the 2005 ACM SIGCOMM workshop on Delay-tolerant
networking, ACM, New York, USA (2005)
4. Santiago, J., Casaca, A., Pereira, P.R.: Multicast in Delay Tolerant Networks using
Probabilities and Mobility Information. Ad-hoc and Sensor Wireless Networks, An
International Journal 7(1-2), 51–68 (2009)
5. Narmawala, Z., Srivastava, S.: MIDTONE: Multicast in Delay Tolerant Networks. In:
Proceedings of Fourth International Conference on Communications and Networking in
China (CHINACOM 2009), Xi’an, China, pp. 1–8 (August 26-28, 2009)
6. Santiago, J., Casaca, A., Pereira, P.R.: Non-Custodial Multicast over the DTN-Prophet
Protocol. In: International Federation for Information Processing Digital Library, Wireless
Sensor and Actor Network
7. Ye, Q., Cheng, L., Chuah, M., Davison, B.D.: Performance comparison of different
multicast routing strategies in disruption tolerant networks. Journal Computer
Communication 32(16), 1731–1741 (2009)
206 S. Patra et al.

8. Xi, Y., Chuah, M.: Performance Evaluation of An Encounter-Based Multicast Scheme for
DTN. In: 5th IEEE International Conference on Mobile Ad-hoc and Sensor System,
pp. 353–358 (2008)
9. Bae, S.H., Lee, S.J., Su, W., Gerla, M.: The design, implementation, and performance
evaluation of the on-demand multicast routing protocol in multi-hop wireless networks.
IEEE Network 14, 70–77 (2000)
10. Chuah, M., Xi, Y.: An Encounter-Based Multicast Scheme for Disruption Tolerant
Networks. Journal Computer Communications 32(16) (April 1955); Butterwoth-
Helnemann, Newton, MA, USA (October 2009)
11. Yang, P., Chuah, M.: Context-Aware Multicast Routing Scheme for DTNs. In: Proc. Of
ACM Workshop on PE-WASUN (August 2006)
12. Wu, J., Wang, N.: A-SMART: An Advanced Controlled-Flooding Routing with Group
Structures for Delay Tolerant Networks. In: Second International Conference on Networks
Security, Wireless Communications and Trusted Computing (2010)
13. Lee, U., Oh, S.Y., Lee, K.W., Gerla, M.: RelayCast: Scalable Multicast Routing in Delay
Tolerant Networks. In: IEEE International Conference on Network Protocols (ICNP 2008),
Orlando, FL (October 2008)
14. Zhao, W., Ammar, M., Zegura, E.: Multicasting in Delay Tolerant Networks: Semantic
Models and Routing Algorithms. In: WDTN 2005 proceedings of 2005 ACM SIGCOMM
workshop on Delay-tolerant Networking, USA. ACM Press, New York (2005)
15. Spyropoulos, T., Psounis, K., Raghavendra, C.S.: Spray and Wait: An Efficient Routing
Scheme for Intermittently Connected Mobile Networks. In: WDTN 2005 Proceedings of
the 2005 ACM SIGCOMM workshop on Delay-tolerant networking, USA, ACM Press,
New York (2005)
16. Cerf, V., et al.: Delay Tolerant Network Architecture, IETF, RFC 4838 (April 2007)
17. Scott, K., Burleigh, S.: Bundle Protocol Specification, IETF, RFC 5050 (November 2007)
18. Vahdat, A., Becker, D.: Epidemic Routing for partially-connected ad hoc networks. Duke
Technical Report CS-2000-06 (July 2000)
Integrating RFID Technology in Internet Applications

Simon Fong

Faculty of Science and Technology,


University of Macau, Macau
[email protected]

Abstract. Radio Frequency Identification (RFID) which is a mature


identification and tracking technology recently is picking up its momentum
with the emergency of a highly hyped "Internet of Things" (IOT). The ultimate
goal of IOT is to let human and objects seamlessly talk to each other via the
Internet. It finds great impacts on our lifestyles in various applications such as
supply chain management, access control security, mobile health-care, etc. In
response to this technology trend and market demands, a high level
infrastructure called EPC (Electronic Product Code) network with Object
Naming Service has been proposed that rides on the future IPv6 Internet. In
order to enable the operation of EPC network, auxiliary mechanisms such as
privacy and security protection, context-aware capabilities, middleware and
interoperable data semantics are needed. In this paper we propose a prototype of
wireless communication system incorporated with Internet capability, namely
Internet RFID. In particular, this paper shows the preliminary design,
implementation and testing of the Internet RFID prototype in a client-server
environment. As an experiment, we implemented a typical RFID system with
the additional feature of distance finding that can track and monitor access
control, and at the same time a database located remotely in a Web Server is
updated. Users can query the Web database server in real-time about the
location of the client. The hardware module consists mainly of the construction
of two micro-controller systems: one for the user card and the other one for the
station transceiver controller. Recommendations are provided at the end of the
paper for future development.

Keywords: Wireless communication, Internet applications, RFID.

1 Introduction

Internet has evolved in the past decades from “Internet of Information” that hyperlinked
information over disparate websites in the 80’s, “Internet of Services” with the bloom of e-
Commerce in the 90’s, “Internet of People” as forms of social network and collaborative
forums over the Millennium, to “Internet of Things” (IOT) [1] in year 2010 and beyond.
IOT is tightly coupled with ubiquitous computing in which Radio Frequency
Identification (RFID) technology plays a central part in auto-identifying and tracking of
not just humans, but things like artifacts that can be tagged. The power of IOT as we can
see is founded from the tracking and communication among humans-to-humans, humans-
to-objects and objects-to-objects [2], etc.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 207–216, 2011.
© Springer-Verlag Berlin Heidelberg 2011
208 S. Fong

The underlying support communication network is essentially important, for those


“things” talk to one another. A lot of research works have emphasized on the RFID
networks such as Mobile RFID network [3] and Wireless RFID network [4]. Mobile
RFID network refers to using a mobile phone as a card reader; the information
collected from a stationary tag in a fixed location (of course it can be moved) to a
mobile phone that is equipped with a built-in RFID reader is sent to the network for
tracking. The supporting network would be a mix of telecommunication GSM
network and others. Examples are users who use a mobile phone to obtain detailed
information from a product (a suit) in a departmental store. The price, origin of
manufacturing, materials info, availability etc. would appear on the mobile phone
screen. The other type of support network would be a set of local client-server radio
network systems interconnected via Internet, generally known as just Wireless RFID
network or Internet RFID in short. In this case the tags are referred to the
identification objects that the users are wearing or holding. The tag holders (clients)
move and their location information are being tracked by a wireless RF controller that
usually connects to a computer (server). One example is micro-chips injected in the
bodies of animals, so their particulars can be identified and their whereabouts can be
traced in real-time. For human users this usually would assume a secure environment
installed with sensors where the identification of the personnel and their access
patterns matter. Induction from their movement data reveal whether they belong to
normal or suspicious patterns. There are ample business opportunities for this kind of
Internet RFID despite of applications of security and access controls. For instances,
cargos and postal articles are being traced for logistics optimization; locations of
supermarket products and trolleys are monitored for shoplifting prevention and for
revealing shoppers behaviors; visitors who are wearing RFID badges are located in
real-time for proactively providing them information of the exhibits near them or
recommending to them the next show-time at their ear-phones. On a larger scale,
Internet RFID applications can transfer the location information of users across the
Internet, even cross-countries, without boundary. This is the focus of this paper, about
a wireless client-server local platform for detecting the presences of tags/users, and
the information can connect to another wireless client-server system via Internet.
The primary objective of this project is to integrate hardware and software (to build
a wireless system that can communicate through the Web) together, so that the system
can operate through the Internet. The hardware consists of interfacing the RF modules
with the microcontroller, allowing the microcontroller to control the operation of the
RF modules. As could be observed from Figure 1, the whole architecture concept can
be segregated clearly into global and local. The global architecture concerns about the
messaging across Internet, such as checking EPC codes with the registry databases
and the database maintenance, interoperable message semantics possibly using XML,
messages privacy and security protection, etc., which are beyond the scope of this
paper. Our focus is to propose a wireless client-server platform that acts as a part of
RFID application across Internet (as indicated in the dotted rectangle in Figure 1.).
We assume the messages that sent/received across Internet would be encrypted and
the RFID EPC/TRE meta-data supports and middleware functions are already in
place. The local Internet RFID system mainly then contains three main portions,
namely:
Integrating RFID Technology in Internet Applications 209

Fig. 1. Architectural view of the Internet RFID (Source: Courtesy of csie.ndhu.edu.tw)

• The Microcontroller System Design: This comprises the microcontroller (Intel


8051) and the RF modules.
• The Client Design: This is made up of the user interface screen and it is where the
user can communicate with the web server and the microcontroller.
• The Web Server Design: This is where the customer database is stored and the
various CGI files are stored.
The three components work in synchronization so that the whole Internet RFID system
operates smoothly. The main challenge is the integration of each component. The
operation of the Internet RFID system is described as follows. Let us consider a scenario
where the client computer and the web server are situated far away from each other and
they communicate through Internet protocol. For the client, one side is connected to the
Web server via Internet connection (ADSL/Broadband, e.g.). On the other side of the
client, the client is connected to a microcontroller system based setup through an interface
I/O port (e.g. USB or RS-232 link). The microcontroller system is then used to control the
function of the transceiver. The preprogrammed user ID from the RFID card is received
remotely at the receiver when the user was detected within the range of the transceiver
station. Upon receiving the ID the microcontroller will send the information to the client
computer through the I/O port. Then the client computer will send a query to the web
server, providing it with the obtained user ID. This will invoke the CGI program running
the web server to perform a search on the database. If the visitor’s particular is found in the
database, the CGI program will return a positive result to the client computer for display
on the screen. Otherwise, an invalid entry is flagged on the screen.

2 Hardware Design
Each of the client station will be equipped with a receiver-transmitter pair (or station
transceiver controller) to receive the user ID of the bypassing user. The user card
constantly emits the user ID wirelessly and the microcontroller in the station
210 S. Fong

transceiver picks up this information, and transfers it to the client computer via the
I/O interface. The working range of the transceiver pair is in the popular 902-928MHz
band. With the inclusion of an antenna, the transceiver pair is capable of transmitting
and receiving digital information over distances in excess of quarter mile. Intel 8051
series of controller is used for the controlling portion, because of its simple design and
interfacing. The design at the user card consists of the 8051 controller and interfaces
with the RF module. The schematic diagram of the user card is shown Figure 2.

Fig. 2. The schematic design of the user card Fig. 3. The schematic design of the Station
Transceiver Controller

The design of the station transceiver controller is similar to the user card but have some
extra circuitry. Since 8051 uses multiplexed address and data bus concept, a
74HC373(U2) latch is used to facilitate the proper functioning of the whole circuit. At the
first part of the execution cycle, the address is released by the microcontroller, and this is
indicated by the activation of the Address Latch Enable (ALE) signal. The ALE signal
will cause the 74HC373 to latch in the valid address and hold it stable for the rest of the
execution cycles. Meanwhile the microcontroller will output the data to be sent on the
second part of the current execution cycle. The outstanding part of this logic is to enable
the interface of the microcontroller with the outside world and at the same time maintain a
minimum pins package so as to reduce production and design cost. The purpose of the
74HC138 (U3: 3-to-8 decoder) is to enable the controller to generate a suitable chip select
Integrating RFID Technology in Internet Applications 211

signal so that at only time, only one device can output information onto the data bus. The
schematic design of the station transceiver controller is shown in Figure 3.

3 Software Design
The controlling portion is driven by the assembly language program that resided in
the EPROM of the 8751 microcontroller. It is divided into two parts, namely the user
card and the station transceiver controller. Hence, the user card program will act as a
standalone program, controlling the behavior of the user card. For the station
transceiver module, the program will continue to receive and transmit the user ID
through the receiver and transmitter repeatedly. Apart from that, it will also be in
charge of the sending of received user ID to the client PC, and at the same time
receiving the new programmed ID from the PC. Thus, it has to handle a two-sided
communication with the card and the client PC simultaneously. The logics of the
programs for the user card and the station transceiver controller are shown below.

Start Start

Program Initialization
Program Initializtion

On Transmitter
Off Receiver On Receiver
Off Transmitter

Transmit "***" and User


ID

"**"? Yes Receive User ID Send User ID to Screen

Programming No
Connect No
Mode?

Yes Connect No Program Mode?

Off Transmitter
On Receiver Yes

Off Reveiver
On Transmitter
Receive and program
new user ID
No

Transmit "***" and new


Last byte of data? User ID

Yes
No
No
Normal Mode?
Normal Mode?

Yes
Yes

On Transmitter
On Receiver
Off Reciever Off Transmitter

End End

Fig. 4. General flow of the user card algorithm (Left). General flow of the station transceiver
controller algorithm. (Right)
212 S. Fong

The primary functions of the client software are listed as follows:


• To provide an easy-to-use user interface
• To enable the communication of the client computer with the microcontroller of
the receiver module via I/O port.
• To enable user to query about user's particular.
• To allow for the programming of new card.
• To allow location setting.
• To allow searching of the database.
• To establish connection with the Web server.
The client side software program is written in MS Visual Basic that allows
communication through the COM port and at the same time provides Internet control
protocol for the communication with the Web server. The following shows the highly

Fig. 5. State transition diagram of the client software


Integrating RFID Technology in Internet Applications 213

simplified state transition diagram of the main program that runs on the PC client. The
logic of the programs for the user card and the station transceiver controller are shown.
On the Web server, there are seven CGI scripts that do the server processing. The
CGI programs are written in C for efficient performance, and low-level control over
the system. The database is located in the Web Server computer as well. When a
request or query is sent to the Web Server from the client, the program to be invoked
will be specified in the request. The following CGI programs stored in the directory
cgi-bin handle the request accordingly.

Table 1. List of CGI scripts for Web server processing

enquire.cgi for handling enquiry request from the clients.


inupdate.cgi for updating the particular record upon user entry.
outupdate.cgi for updating the particular record upon user exit.
program.cgi for updating the new card ID into the particular user record.
programinfo.cgi return user information to the requesting client.
search.cgi for searching the database for the requested string in a first level search.
searchagain.cgi for searching the database for the requested string in a 2nd level search.

4 Accuracy of Transmission
From the RF module, there are 8 binary selectable reception frequencies available for
operation. This means that at any one time, up to 8 users using different frequencies
can access the system simultaneously. For example, we let the sensing distance be
200 meters, and a cardholder be travelling at a speed of 0.5 meter/sec. 200 meters will
take 400 sec to cover, assuming that the round trip response time through the Internet
is negligible. Since the server takes about 400msec to process a user ID, within a
period of 400sec there can be 1000 transmissions for each channel. If all the 8
channels are available, the whole system is able to handle 8000 transmissions for a
period of 400 seconds theoretically. An experiment is conducted to test the accuracy
of transmission, and the result is plotted in Figure 7. The x-axis represents the number
of time in transmitting an arbitrary string by the client repeatedly, and the y-axis is the
number of erroneous reception in percentage. By sending some data repeatedly, we
simulate the workload generated for the Web server. The errors reported are the
reception errors that may be due to the external interference from the environment and

Fig. 6. RF Modules reception accuracy


214 S. Fong

Signals

RF Analog
-To- Digital
8751 μC RS-232C Interface To
Receiver Analog RSSI Converter
Data Bus and Client
with RSSI Signal Control Signals

Data Bus and


Control Signals

MA
X 233 UART MAX
NS16550 233

Fig. 7. Block diagram of the new circuit for the station transceiver controller

the deterioration of the battery power during the testing period. The distance of the
testing device remains fixed at a distance of 50 meters and the voltage level of the
system are constantly check to ensure sufficient power. The results show that the error
is kept less than 10% in most cases.

5 Distance Finding and Wireless Audio Card Paging


One feature of the Internet RFID system is the ability to track object without line-of-
sight restriction. With the help of Internet, the exact locations of the users can be
tracked. It serves as a cheaper alternative to globe positioning system using satellites.
In order to implement this distance finding facility, a number of amendments to the
existing system are needed: 1) Additional of ADC circuit to the station transceiver
controller, 2) Calibration of the RF receiver modules for measurement of signal
strength, and 3) Software amendment to the station transceiver controller and the
client.
The additional circuitry is shown in the dotted area in the above figure. The ADC
(e.g. National Semiconductor ADC0801) circuit is included so that the analog RSSI
(Receive Signal Strength Indicator) signal can be converted to its digital equivalent
and be read by the microcontroller. The RSSI signal will fluctuate with the strength of
the receive signal and this will in turn determine how far the transmitter is away from
the receiver. Upon the reception of the digital information, the microcontroller will
compare it with pre-stored value in a lookup table and compute the actual distance. In
order to accurately measure the incoming signal strength, the RSSI circuit in the RF
module must be calibrated. Using a signal generator, inject a –40dBm unmodulated
carrier into the receiver and measure the RSSI voltage. Repeat the same for an input
signal level of –100dBm. This is known as a two-point “slope” calibration. To
determine the slope of the RSSI response, use the following equation:

M=60 / (V2-V1) where M = slope in dB/volts


V1 = the voltage measured at –100dBm
V2 = the voltage measured at – 40dBm
Integrating RFID Technology in Internet Applications 215

Using this slope, the signal strength of any RSSI voltage can be determined:
SS = M * (V1- Vm) + 100dBm where SS = signal strength in dBm
M = previously determined slope
Vm = measured RSSI voltage
The obtained SS value is then proportional to a certain distance. Hence, a lookup
table is formulated to store a set of SS values versus distance, so that every time a SS
value is needed, the lookup table can be checked to obtain the equivalent distance.
The major amendment is on the assembly program running in the microcontrollers.
The station transceiver controller needs to control the ADC to convert the analog
signal into digital format, and at the same time process the information before passing
it to the client software.
From the Figure 8, when a client terminal is trying to locate a particular user
holder, it can do so by locating him/her within its radius of operation. The efficiency
of the distance measurement operation will largely depend on the range of the RF
modules used. As it can be observed, the limitation of a single client environment is
that when locating a user, the system can only tell how far the user is away from the
client. The direction of the user cannot be determined, as the area of sensitivity (or
coverage) of the RF modules is circular. A clear advantage of such system is the
simple implementation and cost saving. The main disadvantage is the inability to
exactly pinpoint the location of a user.
This problem however can be solved by making use of at least two clients (multi
client environment) to determine the location of a user. See Figure 9. The clients must
reside in the same environment, and the range of coverage must overlap each other.
When a request is made to locate a particular user, the clients in the environment may

Circle of a
Particular
Signal
Strength

Fig. 8. General flow of distance finding Fig. 9. Distance finding using multiple clients
algorithm for the microcontroller
216 S. Fong

begin to sense for the RSSI of the user. The interception of radio waves not only tells
the distance but also the direction of the user. The principle underlying this technique
is more difficult and it requires all the clients in the same environment to work in
synchronization in order to locate a user.
Another mod will be Wireless Audio Card Paging: With the advancement in
microelectronics integration, manufacturers are able to produce components that are
smaller in size but better function, hence equipment are also made smaller. The HP
series modules are capable of transmitting or receiving a wide range of analog signals
with minimal distortion. The transmitter is equally adept at transmitting complex
waveform such as voice. Analog signals ranging from 50Hz to 25KHz may be applied
to the data input pin. One can use this facility to send voice signal to a particular user
wirelessly. This feature allows the paging of a cardholder within the reach of an
Internet without the use of public announcement system like confidential paging. The
figure below demonstrates a setup to transmit voice.

Channel Selection Signal


Transmitter μC 8751
Digital Data
RS-232
Interface
Analog
Data Output
Multiplexer Audio Signal

Fig. 10. Setup of transmitter to transmit analog and digital data

6 Conclusion
With the arrival of The Internet of Things (IOT), billions of wireless identifiable
“objects” could communicate and interact with one another as an ecosystem. RFID is
an enabling technology for IOT that allows easy gathering identification information
physical objects from a distance. The communication platform will be an EPC
Network whose design has already been proposed. In order to support this network,
RFID system needs to be integrated into Internet. This paper proposed a relatively
simple solution in hardware and software for integrating RFID into Internet.

References
1. Harrison, M.: The ’Internet of Things’ and Commerce. XRDS: Crossroads, The ACM
Magazine for Students 17(3), 19–22 (2011)
2. Fong, S., Zhuang, Y.: A Security Model for Detecting Suspicious Patterns in Physical
Environment. In: IEEE The Third International Symposium on Information Assurance and
Security (IAS 2007), UK, pp. 221–226. IEEE Press, Manchester (2007)
3. Michael, M.P.: Architectural Solutions for Mobile RFID Services on Internet of Things,
Master Thesis, University of Helsinki, pp. 1–95 (2007)
4. Liu, H., Bolic, M., Nayak, A., Stojmenovic, I.: Taxonomy and Challenges of the
Integration of RFID and Wireless Sensor Networks. In: IEEE Network, pp. 26–32. IEEE
Press, Los Alamitos (2008)
BPSO Algorithms for Knapsack Problem

Amira Gherboudj and Salim Chikhi

Computer Science Department, MISC Laboratory,


Mentouri University, Constantine Algeria
{gherboudj,chikhi}@ umc edu.dz

Abstract. Particle Swarm Optimization (PSO) is an evolutionary metaheuristic.


It was created in 1995 by Kennedy and Eberhart for solving optimization
problems. However, several alternatives to the original PSO algorithm have
been proposed in the literature to improve its performance for solving
continuous or discrete problems. We propose in this paper 4 classes of binary
PSO algorithms (BPSO) for solving the NP-hard knapsack problem. In the
proposed algorithms, the velocities and positions of particles are updated
according to different equations. To verify the performance of the proposed
algorithms, we made a comparison between algorithms of the 4 proposed
classes and a comparison between the proposed algorithms with the Standard
PSO2006 and the Standard BPSO. The comparison results showed that the
proposed algorithms outperform the Standard PSO2006 and the Standard BPSO
in terms of quality of solution found.

Keywords: PSO, BPSO, knapsack Problem (KP).

1 Introduction

The Particle Swarm Optimization (PSO) is one of population-based solution


metaheuristics inspired by an analogy with the ethology. It was created in 1995 by
Kennedy and Eberhart [3]. PSO mimics the collective behavior of animals living in
groups such as bird flocking and fish schooling. Simplicity and performance of this
method have attracted interest of several communities of researchers who have
conducted studies on optimization and application of this metaheuristic for solving
several optimization problems. In this paper, we propose 4 classes of Binary PSO
algorithms (BPSO) for solving the knapsack problem.
The knapsack problem (KP) is a NP-hard problem [1,2]. It can be defined as
follows: Assuming that we have a knapsack with maximum capacity C and a set of N
objects. Each object i has a profit pi and a weight wi. The problem is to select a subset
of items from the set of N objects to maximize the value of all selected objects
without exceeding the maximum capacity of the knapsack. KP can be formulated as:

Maximize ∑ i xi (1)
Subject to ∑ ixi C (2)

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 217–227, 2011.
© Springer-Verlag Berlin Heidelberg 2011
218 A. Gherboudj and S. Chikhi

1 If the object i is selected


xi= (3)
i=1, ……,N
0 Otherwise

The remainder of this paper is organized as follows: the principle of the PSO is
described in section 2. The third section concerns PSO variants. In the fourth section
we describe the algorithms of each class. Comparison and experimental results are
provided in section 5 and a conclusion is provided in the sixth section of this paper.

2 PSO Principle
The PSO method involves a set of agents for solving a given problem. This set is
called swarm, each swarm is composed of a set of members, they are called particles.
Each particle is characterized by position xid= (xi1, xi2,…, xid,…, xiD) and velocity
vid= (vi1, vi2,…, vid,…, viD) in a search space of D-dimension. During the search
procedure, the particle tends to move towards the best position (solution) found. At
each iteration of the search procedure, the particle moves and updates its velocity and
its position in the swarm based on experience and the results found by the particle
itself, its neighbors and the swarm. It therefore combines three components: its own
current velocity, its best position pbestid= (pbesti1, pbesti2,…, pbestid,…, pbestiD) and the best
position obtained by its informants. Thus the equations for updating the velocity and
position of particles are presented below:

vid(t)= vid (t-1) + c1 r1 (pbestid (t-1) - xid (t-1)) + c2 r2 (gbestd (t-1) - xid (t-1)) (4)

xid (t)= xid (t-1) + vid (t) (5)

(xid (t), xid (t-1)), (vid (t), vid (t-1)): Position and Velocity of particle i in dimension d at
times t and t-1, respectively. pbestid (t-1), gbestd(t-1) : the best position obtained by the
particle i and the best position obtained by the swarm in dimension d at time t-1,
respectively. c1, c2: two constants representing the acceleration coefficients. r1, r2:
random numbers drawn from the interval [0,1[. vid (t-1), c1 r1 (pbestid (t-1) - xid (t-1)), c2
r2 (gbestd(t-1) - xid (t-1)): the three components mentioned above, respectively.
The position of particle i represents a solution of the addressed problem. The value
of the objective function (or fitness) of the particle i is denoted by f (xid). To estimate
the quality of particle i, it is necessary to calculate its fitness. This one is calculated
using a special function for the addressed problem. In the knapsack problem, the
fitness is calculated according to equation (1).
The PSO algorithm begins by initializing the size of the swarm and the various
parameters. Assign randomly to each particle an initial position and velocity. Initialize
pbestid, then calculate the fitness of particles in order to calculate the best position
found by the swarm (gbestd). At each iteration, particles are moved using equations (4)
and (5). Their objective functions are calculated and pbestid, gbestd are updated. The
process is repeated until the satisfaction of stopping criterion. A pseudo PSO
algorithm is presented below:
BPSO Algorithms for Knapsack Problem 219

Particle Swarm Optimization Algorithm


1. Initialization :
• Parameters and size of the swarm (S);
• Randomly initialize particles positions and velocities;
• For each particle, pbestid = xid;
• Calculate f (xid) of each particle;
• Calculate gbestd; // the best pbestid
2. While (termination criterion is not met) {
For (i = 1 to S) {
• Calculate the new velocity using equation (4);
• Calculate the new position using equation (5);
• Calculate f (xid) of each particle;
• If (f (xid) >f (pbestid)) pbestid = xid; // Maximization case
• If (f (pbestid) >f (gbestd)) gbestd = pbestid;
}
}
3. Show the best solution found gbestd;

3 PSO Variants
The idea of the pioneers of PSO algorithm: Kennedy and Eberhart [3] has sought the
attention of several researchers who have conducted studies in the aim of improving
the performance of the proposed method (PSO) which is not a global convergence-
guaranteed optimization algorithm [5].
In 1996, Eberhart and al [15] proposed to limit the velocity of the particles in
[-Vmax, Vmax] to avoid the problem of deviation of the search space during the
movement of particles. The role of the new parameter Vmax is to control the movement
of particles.
In 1998, Shi and Eberhart [4] proposed to apply the inertia coefficient ω, to control
the particles velocities as follows:

vid(t)= ω vid (t-1) + c1 r1 (pbestid (t-1) - xid (t-1)) + c2 r2 (gbestd (t-1) - xid (t-1)) (6)

ω is an inertia coefficient. It is used to control the influence of particle velocity on his


next move to keep a balance between exploitation and exploration of the search space.
On the other hand, Clerc and Kennedy [9] proposed an alternative of equation (4).
Their solution is to add a constriction coefficient K in the aim of controlling the speed
of the particles to escape the divergence problem of the swarm that causes premature
convergence of the algorithm. The proposed equation is:

vid (t)= K [vid (t-1) + c1 r1 (pbestid (t-1) - xid (t-1)) + c2 r2 (gbestd (t-1) - xid (t-1))] (7)

Where K= ;With = c1+ c2 and ; c1 = c2 = 2.05, K=0.729844.

To ensure the diversity of the swarm, Hi et al [7] proposed to update the particle
velocity according to equation (8):
220 A. Gherboudj and S. Chikhi

vid (t)= ω vid (t-1) + c1 r1 (pbestid (t-1) - xid (t-1)) + c2 r2 (gbestd(t-1) - xid (t-1) ) + c3 r3
(Prid (t-1) - xid (t-1)) (8)

Prid is the position of a particle i of swarm in the dimension d of the search space, this
particle is selected randomly at time (t-1). The role of the component (Prid (t-1) - xid
(t-1)) is to ensure the diversity of the swarm based on the value of the coefficient c3.

4 BPSO Algorithm
The first version of BPSO algorithm (The Standard BPSO algorithm) was proposed in
1997 by Kennedy and Eberhart [11]. In the BPSO algorithm, the position of particle i
is represented by a set of bit. The velocity vid of the particle i is calculated from
equation (4). vid is a set of real numbers that must be transformed into a set of
probabilities, using the sigmoid function as follows:

(9)

Where S (vid) represents the probability of bit xid takes the value 1.
To avoid the problem of the divergence of the swarm, the velocity vid is generally
limited by a maximum value Vmax and a minimum value -Vmax, i.e. vid [-Vmax, Vmax].
The position xid of the particle i is updated as follows:
1 if r < S (vid)
xid = (10)
r [0, 1[
0 Otherwise
In addition to the version of the Standard BPSO algorithm they exist other versions of
BPSO algorithm, such as those proposed in [8, 12, 13, 14].

4.1 Representation

To represent the positions and velocities of the particles we used binary vectors of
size D. The representation of position of particle i is as follows:

xid = [xi1, xi2,…, xid,..., xiD]

1 If the object is selected


xid=
0 Otherwise

4.2 Velocity and Position Update

To represent the PSO principle, we need a number of operations and operators which
are defined in [6].
BPSO Algorithms for Knapsack Problem 221

4.3 Proposed Classes

In the aim of solving the KP, we have proposed four classes of BPSO algorithm. In
each class, we have proposed four algorithms with different equations and parameters.
4.3.1 The First Class. In the first class we adapt and use the PSO version with
inertia coefficient ω, proposed in 1998 by Shi and Eberhart [4]. In the algorithms of
this class, the position of particles is updated according to equation (5).
1) BPSO6: It is an adaptation of the Standard PSO2006. In BPSO6, the velocity of
particles is updated using the following equation:

vid(t)= ω ×vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) (11)
lbestd (t-1) is the best position found by the particles in dimension d of a given
neighborhood. c1 and c2 are chosen randomly at each iteration. But in contrast to the
standard PSO2006, The size of the swarm is equal to the dimension of the problem.
2) BP3: In BP3, the velocity is updated using Equation (11). c1 and c2 are constants.
3) BP2: In BP2, the velocity is updated according to equation (12) defined below:
vid (t)= ω ×vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) + r 3
c3× (gbestd(t-1) - xid (t-1)) (12)
c1, c2 and c3 are constants.
4) BP1: To provide greater diversification within the swarm, we were inspired by the
PSOPC algorithm [7] and we proposed to update the velocity of particles in BP1
algorithm using the following equation:
vid(t)= ω ×vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) + r 3 c3×
(gbestd(t-1) - xid (t-1)) + r4 c4× (Prid (t-1) - xid (t-1)) (13)
Where c1, c2, c3 and c4 are constants. Prid is the position of a particle i of swarm in the
dimension d of the search space, this particle is selected randomly at time t-1.
4.3.2 The Second Class. In the second class we drew mutation factor used in the
C3DPSO algorithm proposed by Zhong and Zhang [8] and we proposed a new
acceleration coefficient F that we used to update particle position.
1) BFP6: In the BFP6 algorithm, the position of particles is updated according to
equation (14) defined below:
xid (t)= rF×xid (t-1) + vid (t) (14)

The velocity of particles is updated according to equation (11).


2) BFP3: In BFP3, position and velocity of particles are updated according to
equation (14) and (11), respectively. But c1 and c2 are constants.
3) BFP2: In BFP2, the position of particles is updated according to equation (14) and
the velocity is updated according to the equation (12).
4) BFP1: In BFP1, the position of particles is updated according to equation (14). The
velocity is updated according to equation (13).
222 A. Gherboudj and S. Chikhi

4.3.3 The Third Class. In the third class, we adapted and used the PSO version
proposed in [9], because we noticed that the PSO algorithm with constriction
coefficient K is not widely used in the literature. To our knowledge, there is no paper
that addresses the KP using PSO algorithm with constriction coefficient. In the
algorithms of this class, the position of particles is updated according to equation (5).
1) BCP6: In the BCP6 algorithm, the velocity of particles is updated using the
following equation:
vid (t)= K×[vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1))] (15)
c1 and c2 are chosen randomly at each iteration.
2) BCP3: In the BCP3 algorithm, the velocity of particles is updated using the
equation (16), but c1 and c2 are constants.
3) BCP2: In BCP2 algorithm, the velocity of particles is updated using the following
equation:
vid (t)= K×[vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) + r 3
c3× (gbestd(t-1) - xid (t-1))] (16)
c1, c2 and c3 are constants.
4) BCP1: In BCP1 algorithm, we proposed to update the velocity of particles using
the following equation:
vid (t)= K× [vid (t-1) + r1c1× (pbestid (t-1) - xid (t-1)) + r2 c2× (lbestd (t-1) - xid (t-1)) + r3
c3× (gbestd(t-1) - xid (t-1)) + r4 c4× (Prid (t-1) - xid (t-1))] (17)

Where c1, c2, c3 and c4 are constants; K=0.7.


4.3.4 The Fourth Class. This class includes algorithms defined in the third class
with application of the new acceleration coefficient F. The position of particles is
updated according to equation (14).
1) BFCP6: In the BFCP6 algorithm, the velocity of particles is updated according to
equation (15).
2) BFCP3: In the BFCP3 algorithm, the velocity of particles is updated according to
equation (15), but c1 and c2 are constants.
3) BFCP2: In the BFCP2 algorithm, velocity of particles is updated according to
equation (16).
4) BFCP1: In the BFCP1 algorithm, velocity of particles is updated according to
equation (17).

5 Comparison and Experimental Results

To verify and compare the performance of the algorithms of the 4 proposed classes, 7
instances with different numbers of items were generated. In the first instance the
number N of objects is equal to 120, in the second instance N = 200, in the third one
BPSO Algorithms for Knapsack Problem 223

N = 500 then N = 700, 900, 1000 and 2000 in the fourth, fifth, sixth and seventh
instances respectively.
Initially, we conducted a comparative study between the proposed algorithms of
the four classes. Then we compared the proposed algorithms with the Standard
PSO2006 [10] that we have adapted to the binary representation used. We also
compared the proposed algorithms with the Standard BPSO [11].
The algorithms are coded in Java. Each algorithm is executed 125 times.
The capacity of the knapsack is calculated using the following formula:

The weights wi and profits pi of objects were selected randomly. For the algorithms
of each class, the size of the swarm is equal to the number of items. In the 1st and 2nd
classes, ω = 0.7. In the 3rd and 4th Classes, K was not calculated from the formula
defined by Clerc and Kennedy i.e. K= , but it was set at 0.7.

The values of the parameters c1, c2, c3, c4 and F are equal to 0.3, 0.4, 0.6, 0.1, and
0.9 respectively. Exceptionally in BPSO6, BFP6, BCP6 and BFCP6, the parameters
c1 and c2 are drawn randomly from [0, 1[.
The positions of particles were randomly initialized for each execution. The
velocities were initialized with the value 0. The number of iterations in each run is
chosen equal to 15 and is used as stopping criteria for each run.
Concern the parameters of the standard PSO2006, we kept the same parameters
defined in [10], but with binary representation of positions and velocities of particles.
About the Standard BPSO, we followed the equations, representation and
parameters defined in [11], except that the values of c1 and c2 are equal to those used
for testing the proposed algorithms, i.e. c1, c2 = 0.3, 0.4, respectively.

Fig. 1. Comparison of average computation time of the proposed algorithms with the Standard
PSO2006 and the Standard BPSO
224 A. Gherboudj and S. Chikhi

Fig. 1 shows a comparison of average computation time with 1000 objects,


estimated by seconds for the proposed algorithms, the Standard PSO2006 (SPSO2006
in the figure) and the Standard BPSO (SBPSO in the figure).
In terms of computing time, Fig.1 shows that:
- The BCP3 algorithm is the best one and the BFCP1 algorithm is the worst one
among the proposed algorithms.
- The B*P2 and B*P3 algorithms (i.e. BP2, BFP2, BCP2, BFCP2, BP3, BFP3,
BCP3 and BFCP3) converge faster than the Standard BPSO algorithm.
- The Standard PSO2006 converges faster than the proposed algorithms.
Tables 1 and 2 show the experimental results of algorithms of each class, classes 1
and 2 in Table 1 and Class 3 and 4 in Table 2. First column of each table represents
the instance i.e. the number of items. The second and third column (Class 1 and Class
2 in the first table and Class 3 and Class 4 in the second table) represent the best
solutions and averages found for each instance by the algorithms of the relevant class.
Table 3 completes the tables 1 and 2. It represents the experimental results of the
proposed algorithms, the Standard PSO2006 and the Standard BPSO for each instance
during 125 executions. The first column represents the instance. The second column
represents the best values of best and averages obtained by the proposed algorithms of
the 4 classes. The third and fourth columns represent the bests and Averages obtained
by the Standard BPSO and the Standard PSO2006 respectively. For each instance in
tables 1, 2 and 3, the first row represents the best solution and the second row
represents the average.

Table 1. Comparison results of the proposed algorithms of Class 1 and Class 2

Class 1 Class 2
Instance
BPSO6 BP1 BP2 BP3 BFP6 BFP1 BFP2 BFP3
4439 4469 4552 4457 4463 4489 4497 4564
120
4180,8 4130,4 4136 4236,4 4203,2 4140,4 4137,4 4236,4
7559 7522 7642 7490 7491 7339 7648 7624
200
7104,4 6989,9 6938 7169,8 7108,6 6972,2 6979,8 7168,4
17776 17647 17682 18058 17810 17642 17647 17974
500
16949 16848,2 16598,4 17224 17094,2 16864,8 16564,2 17175,8
24678 24407 24101 24431 24809 24407 24469 24563
700
23252,6 23335,6 23019,4 23867,6 23767,6 23368,4 23027,8 30507,4
31428 30898 31215 31686 31192 31018 31525 31276
900
29659,4 29833,8 29369 30509,8 30391,2 29841,6 29330 30507,4
34654 34319 34213 35019 34847 34273 33999 34596
1000
32912,2 33065 32558,6 33810,6 33637 33023 32543,2 33882,4
68857 66605 66546 68548 67914 67110 67507 67829
2000
63232,75 65030,6 63754,6 66478 66185,2 65037 63725 66716,6
BPSO Algorithms for Knapsack Problem 225

Table 2. Comparison results of the proposed algorithms of Class 3 and Class 4

Class 3 Class 4
Instance
BCP6 BCP1 BCP2 BCP3 BFCP6 BFCP1 BFCP2 BFCP3
4543 4497 4545 4533 4552 4538 4512 4487
120
4226,2 4216,2 4204 4242,4 4229,8 4230,4 4207 4257,4
7506 7614 7474 7556 7531 7646 7681 7555
200
7139,4 7126,2 7110,4 7183 7151 7133,6 7097 7203,6
17922 17983 17810 17906 17642 17838 17731 18332
500
17069,2 17093,8 17159,6 17265,4 17175,8 17192,4 17129,4 17268
24651 24603 24558 24729 24540 24634 24326 24951
700
23589,6 23637,4 23787,2 23926,8 23876 23835 23772,6 23934,6
31488 31295 31105 31240 31324 31448 31082 31478
900
30111 30063 30439,2 30537,6 30448 30504,6 30455,2 30495,2
34680 34606 34863 35897 34934 34745 34510 34717
1000
33291,6 33384,8 33819,6 33910,8 33879,4 33882,4 33776 33863
66703 68266 67856 67995 68784 68378 67645 67689
2000
65275,2 66656,8 66615 66779,75 66322,8 66740 66682,4 66630,8

Table 3. Comparison of best values obtained by the proposed algorithms, the Standard
PSO2006 and the Standard BPSO

Best Standard Standard


Instance
Known BPSO PSO2006
4564 4296 4331
120
4257,4 3840,8 4027
7681 7456 7391
200
7203,6 5703 6819,4
18332 13116 17618
500
17268 12471,2 16244,4
24951 18276 23893
700
30537,6 17097,4 22400,2
31686 22857 30770
900
30537,6 21736,6 28574,2
35897 24933 34025
1000
33910,8 24050 31682,2
68857 47674 67006
2000
66779,75 46538,8 63265,8
226 A. Gherboudj and S. Chikhi

Tables 1, 2 and 3 show that:


- The use of PSO algorithm version with constriction coefficient gives good
averages compared to the PSO version with inertia coefficient.
- In most cases, the application of the acceleration coefficient F on the algorithms
of the first class (which gave birth to algorithms of the second class) has improved
their results in terms of averages.
- The use of the acceleration coefficient F in the algorithms of the third class
improves their results.
- In most cases, the application of acceleration coefficient F on the version of PSO
algorithm with constriction coefficient gives good averages compared with its
application to the version of PSO algorithm with inertia coefficient ω.
- Best averages are obtained by B*P3 i.e. BP3, BFP3, BCP3 and BFCP3.
- In most cases, best values are obtained by B*P3 i.e. BP3, BFP3, BCP3 and
BFCP3.
- The performance of the 16 proposed algorithms exceed those of the Standard
PSO2006 and the Standard BPSO in terms of best solution found and average.

6 Conclusion
PSO is a recent metaheuristic. It has sought the attention of several research
communities. PSO has proved its simplicity of implementation and effectiveness.
Several variants to the original PSO algorithm have been proposed in the literature to
improve its performance. In this contribution, we drew some works and applications
of the PSO algorithm presented in the literature, and we proposed 4 classes of BPSO
algorithms with different equations for updating velocities and positions of particles.
We have grouped the proposed algorithms into four classes: in the first class, we
adapted and used the PSO version with inertia coefficient [4]. The new acceleration
coefficient F is used in the second class for updating the particles positions. F was
applied on the algorithms proposed in the first class which has given birth to the
second class of algorithms. In the third class we adapted and used the PSO version
with constriction coefficient [9] because we noticed that few studies use this version.
In the fourth class, we used the acceleration coefficient F for the update of particles
positions and the constriction coefficient for the update of particles velocities. We
applied the proposed algorithms for solving the NP-hard knapsack problem using
multiple instances (120, 200, 500, 700, 900, 1000 and 2000 objects).
To verify the performance of the proposed algorithms, we conducted a comparative
study between the proposed algorithms of the four classes and a comparison of the
proposed algorithms with the Standard PSO2006 [10] and the Standard BPSO [11].
Comparative studies of the proposed algorithms show performance improvements
with the use of the new acceleration coefficient F for the updating of position and the
application of the constriction coefficient K for the updating of velocity. In terms of
average and best solutions, experimental results show that the proposed algorithms
outperform the Standard PSO2006 and the Standard BPSO. In terms of average, best
solutions and computation time, experimental results show that the B*P2 and B*P3
algorithms (i.e. BP2, BFP2, BCP2, BFCP2, BP3, BFP3, BCP3 and BFCP3)
outperform the Standard BPSO.
BPSO Algorithms for Knapsack Problem 227

References
1. Xie, X., Liu, J.: A Mini-Swarm for the quadratic Knapsack Problem. In: IEEE Swarm
Intelligence Symposium (SIS), Honolulu, HI, USA, pp. 190–197 (2007)
2. Pisinger, D.: Where are the hard knapsack problems? Computers and Operations
Research 32(9), 2271–2284 (2005)
3. Kennedy, J., Eberhart, R.C.: Particle Swarm Optimization. In: Proc. IEEE Int. Conf. On
Neural Networks, WA, Australia, pp. 1942–1948 (1995)
4. Shi, Y., Eberhart, R.: Parameter Selection in Particle Swarm Optimisation. In: Proceedings
of the 7th Annual Conference on Evolutionary Programming. LNCS, vol. 1447,
pp. 591–600. Springer, Heidelberg (1998)
5. Wang, J., Zhou, Y.: Quantm-behaved Particle Swarm Optimization with Generalized
Local Search Operator for Global Optimization. In: Advanced Intelligent Computing
Theories and Applications With Aspects of Artificial Intelligence, pp. 851–860. Springer,
Heidelberg (2007)
6. Gherboudj, A., Chikhi, S.: Algorithme d’OEPB pour Résoudre le Problème du Sac à Dos.
In: Laouar, M.R. (ed.) Proceedings of the 1st International Conference on Information
Systems and Technologies, ICIST 2011, Tebessa, Algeria, pp. 460–466 (2011) ISBN: 978-
9931-9004-0-5
7. He, S., Wu, Q.H., Wen, J.Y., Saunders, J.R., Paton, R.: A Particle Swarm Optimizer with
Passive Congregation. Biosystems, 135–147 (2004)
8. Zhong, W., Zhang, J., Chen, W.: A Novel Discrete Particle Swarm Optimization to Solve
Traveling Salesman Problem. In: IEEE Congress on Evolutionary Computation, CEC
2007, pp. 3283–3287 (2007)
9. Clerc, M., Kennedy, J.: The Particle Swarm: Explosion, Stability, and Convergence in
Multidimensional Complex Space. IEEE Transactions on Evolutionary Computation 6,
58–73 (2002)
10. Standard PSO2006, http://www.particleswarm.info/Programs.html
11. Kennedy, J., Eberhart, R.C.: A discrete binary version of the particle swarm algorithm. In:
Proceedings of the World Multiconference on Systemics, Cybernetics and Informatics,
Piscatawary, NJ, pp. 4104–4109 (1997)
12. Afshinmanesh, F., Marandi, A., Rahimi-Kian, A.: A novel binary particle swarm
optimization method using artificial immune system. In: Proccedings of IEEE international
conference on computer as a tool, pp. 217–220 (2005)
13. Liao, C., Tseng, C., Luarn, P.: A discrete version of particle swarm optimization for
flowshop scheduling problems. Computers & Operations Research 34(10), 3099–3111
(2007)
14. Zhan, Z.-h., Zhang, J.: Discrete particle swarm optimization for multiple destination
routing problems. In: Giacobini, M., Brabazon, A., Cagnoni, S., Di Caro, G.A., Ekárt, A.,
Esparcia-Alcázar, A.I., Farooq, M., Fink, A., Machado, P. (eds.) EvoWorkshops 2009.
LNCS, vol. 5484, pp. 117–122. Springer, Heidelberg (2009)
15. Eberhart, R.C., Simpson, P., Dobbins, R.: Computational PC Tools, ch. 6, pp. 212-22, AP
Professional (1996)
Systematic Selection of CRC Generator Polynomials to
Detect Double Bit Errors in Ethernet Networks

Behrouz Zolfaghari1, Hamed Sheidaeian1, and Saadat Pour Mozafari2


1
Engineering Department, Islamic Azad University, Garmsar Branch, Garmsar, Iran
[email protected], [email protected]
2
Department of Computer Engineering, AmirKabir University of Technology, Hafez Street,
Tehran, Iran
[email protected]

Abstract. CRC (Cyclic Redundancy Check) is used as an error detection code


in Ethernet frames. This method attaches the residue of a modulo-2 division to
the message in the sender side and recalculates the residue in the receiver side.
The agreed-upon divisor is called the generator. The range of detectable errors
in this method is determined by the properties of the generator. In this paper a
systematic approach is proposed to identify all proper generators which can be
used in Ethernet networks in order to detect double bit errors which invert a pair
of bits in the message.

Keywords: double bit errors; generator polynomials; OZO polynomials.

1 Introduction and Basic Concepts


In our previous work [1], we developed a systematic scheme to select proper generator
polynomials which can help detect burst errors in Ethernet frames by CRC. In this
paper, we will augment our previous work by developing another method to select
generators able to detect double bit errors. Let us shortly examine the CRC method
before discussing the proposed approach.
CRC works as follows. Whenever the sender has a message M to send, it first
concatenates n zero bits to the right of the massage, converting it to M .2 n ( n is the
length of an agreed-upon string called the generator subtracted by one It is also the
length of the CRC. Especially, the CRC used by Ethernet is 32 bits long [10]). The
sender divides the produced string ( M .2 n ) by the generator ( G ) in the next step and
calculates the residue ( R = ( M .2 n ) ModG ). Then the residue is replaced for the n
zero bits. The string is now converted to M ' = MR = M .2 n + ( M .2 n ) ModG . The
string M ' = MR is transmitted instead of M .Figure 1 shows these steps.
The addition, multiplication and division operations are performed modulo-2 here.
Since addition and subtraction are the same in modulo-2 computations [1], we can
think of M ' as M ' = MR = M .2 n − ( M .2 n ) ModG which is obviously divisible
by G .

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 228–235, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Systematic Selection of CRC Generator Polynomials 229

The receiver divides what it receives by G again and calculates the residue. If the
receiver gets exactly the string transmitted by the sender, the residue will obviously be
equal to zero. Figure 2 shows this process.

Fig. 1. The transmitter side CRC Fig. 2. The Receiver side CRC Process
Process

But if an error has occurred through the channel, we can model the error as a string
E added to M ' [1]. In such a case, the receiver receives M '+ E instead of M ' .
Since M ' is divisible to G , the calculated residue in this case will be equal
to ( M '+ E ) Mod G = E Mod G .
The message, the generator string, the residue and the error vector are commonly
represented in the form of polynomials. In the polynomial form of a bit string, 1s are
shown by the exponents of a variable such as x . Such polynomials appear in the form
of ∑a x i
i
. Each a i (being 0 or 1) represents the corresponding bit in the string. For
example the bit string 11101 can be represented by the
polynomial x + x + x + 1 . If a string contains n bits it is of degree n − 1 .An
4 3 2

obvious result is that strings with odd lengths are presented by polynomials of even
degrees and vice versa. In this paper, we use the terms string and polynomial
interchangeably. Readers are referred to [10] for more details regarding these concepts.
If E (called the error vector) is divisible to G , the receiver will come to zero as the
residue and interpret s this situation as error-free reception of the message. Thus, CRC
cannot detect errors whose vectors are divisible to the generator. Therefore the
generator must be selected in a way that it does not have any multiples equal to the
error vectors which commonly occur in the system.
Applications of CRC [2, 4, 5, and 9] as well as developing methods for improving
its efficiency [3, 6, 7, and 11] have been research focuses in recent years.
In this paper we will propose a systematic method based on modulo-2 mathematics
to list all 33-bit strings (polynomials of degree 32) which can detect double bit errors if
used as generator polynomials. The rest of this paper is organized as follows. Section 2
present Preliminary discussions, section 3 explains the proposed method and section 4
is dedicated to conclusions and suggesting further works.
230 B. Zolfaghari, H. Sheidaeian, and S.P. Mozafari

2 Preliminary Discussions
A double bit error is an error that inverts two distant bits of the message. Such an error
has a vector like 00…010…0100…0. The substrings bounded between the two 1s
(10….01) are called OZO (One-Zero-One) strings in this paper. An OZO string
consists of two 1s in the right and the left. The equivalent polynomial form of an OZO
string is like x n + 1 . We also refer to every polynomial that has an OZO multiple as an
ODP (OZO Dividing Polynomial). Especially, every ODP of degree 32 is called an
ODP32. It is obvious that ODP32 generators cannot detect double bit errors.
Strings representing double bit error vectors can be shown by polynomials
containing two exponents of x like x n + x m where n is the degree of the polynomial
and m is the number of 0s in the right side of the string.
As we will see later, OZO polynomials have divisors having all bits equal to 1 (like
111…11). Such strings are called ALO (All One) strings. ALO polynomials represent
burst errors which change a number of consecutive bits in the message [1]. Every
ALO polynomial of an even degree is called an even ALO polynomial and every
ALO polynomial of an odd degree is called an odd ALO polynomial. An ALO
strings is represented by a polynomial of the form: n x i in which n is the degree of

i =0

the polynomial.
OZO polynomials of odd degrees are referred to as odd OZO polynomials and those
which have even degrees are called even OZO polynomials in this paper. The case is
similar for even and odd ALO polynomials.

3 The Method
Before explaining the proposed method, we need some lemmas presented below. Some
of these lemmas appear without proof. Readers are referred to [1] for the proofs of
these lemmas.
Lemma 1: Every generator polynomial having a constant term (representing strings
having a 1 bit at the right) can detect every single bit error.
In order to exploit the above lemma, all standard CRC systems use generator
polynomials which have constant terms (1s at the right). Standard generator
n
polynomials of degree n also include x (the corresponding bit strings have 1s in the
left).Therefore, in the rest of this paper, we assume that all generator strings have 1s in
their left and right sides.
Lemma 2: Every generator polynomial of degree m can detect all burst errors whose
non-zero parts have degrees less than m . The non-zero part of an error vector is
defined as the substring located between the first and the last 1 bit.
The above Lemma states that we can focus on error vectors whose non-zero
substrings have degrees larger than that of the generator (32 in Ethernet).
Lemma 3: If the vector of a double bit error is divisible by the generator G , then its
OZO substring is divisible by G .
Systematic Selection of CRC Generator Polynomials 231

Proof: Let us represent the error vector as x n + x m = x m ( x n−m + 1) . Since x m cannot


be divided by G , the other term ( x n −m + 1 ) should be divisible by G . The latter term is
the OZO substring of the error vector.
The above lemma reduces our problem (finding generators able to detect double bit
errors) to the problem of finding generators having OZO multiples. In other words, in
order to detect double bit errors by CRC in Ethernet frames, the selected generator
should not be an ODP.
According to lemma 3, the main idea behind our proposed method is finding all
ODP32 generators an excluding them from the list of possible generators of degree 32.
The remaining generators have the ability to detect double bit errors.
Therefore, in the rest of this paper, we attempt to find a solution to the problem of
generating ODP32s. Separating ODP32s from all possible generators of degree 32 will
determine generators which can detect double bit errors.
Lemma 4: Every generator including an even number of 1s can detect every odd error.
An odd error is an error that changes an odd numbers of bits in the message.
Lemma 4 states that in order to detect errors which change odd numbers of errors,
we should simply select generators having even numbers of 1s. Thus, we should focus
on even errors which change even numbers of bits. Thus the main challenge in
designing CRC systems is the selection of generators which can cover even errors.
Lemma 5: Every odd ALO polynomial of degree 2 k + 1 can be factored as the
product of an OZO polynomial of degree k + 1 and an ALO polynomial of degree k .
The following lemma clears how to factor OZO polynomials of even degrees.
Lemma 6: Every OZO polynomial of degree 2 k is the square of an OZO polynomial
of degree k .

Lemma 7: Every OZO polynomial of degree k + 1 can be factored to x + 1 and an


ALO polynomial of degree k .
Now we can prove a useful lemma that helps factor every OZO polynomial.
Lemma 8: Every OZO polynomial is reducible to the product of an exponent
of x + 1 and an exponent of an even ALO polynomial.
Proof: First notice that every OZO polynomial of degree m can be factored as
follows.
m −1
x m
+ 1 = ( x + 1 ). ∑i= 0
x i
(1)

Now if m − 1 is odd it can be written as 2 k + 1 and we will have


m −1 k

∑ ∑
k k
x i
= (x k +1
+ 1 ). x i
= ( x + 1 ). ∑
i= 0
x i .∑
i= 0
x i

i= 0 i= 0
232 B. Zolfaghari, H. Sheidaeian, and S.P. Mozafari

k
= ( x + 1 )( ∑
i= 0
x i) 2
(2)

In this case, we will have:


k
x m
+ 1 = ( x + 1 ) 2 .( ∑i= 0
xi) 2 (3)

Again, if k is odd, ∑k x i will be factorable and this factoring can be continued


i= 0

until there remain only exponents of x + 1 and ALO even polynomials. At the
end of the factoring process, we will have:
Or
t −1
1+ ∑ 2 i
2 r
+ 1 = ( x + 1) ∑
t
m
x i= 0
.( xi) 2
(4)
i= 0

Equation 4 can be rewritten as follows.


2 r
+ 1 = ( x + 1) ∑
t t
m
x 2
.( xi) 2
(5)
i= 0

Where 2 t.2 r + 2 t
= 2 t .( 2 r + 1 ) = m
Now we can write:
2 r
2 t .( 2 r + 1 )
+ 1 = ( x + 1) ∑
t t
2
x .( xi)2 (6)
i= 0

Again, equation 6 can be written in the following form.


2 r +1
= (x + 1)
t
2 r 2
2 t .( 2 r + 1 )
+ 1 = (( x + 1 ). ∑
t
i 2
x x )
i= 0 (7)
Equation 7 states that we can factor any OZO polynomial of degree m , by dividing
its degree by 2 (for t times) until there remains an odd number 2 r + 1 and
2 r +1
+ 1)
t
2
then writing the polynomial as ( x . It is obvious that If m is
odd, t will be equal to 0.
Considering the fact that x + 1 is a prime polynomial, lemma 8 reduces the
problem of selecting generators for the detection of double bit errors into prime
factorization of even ALO polynomials.
Lemma 8 exploits previous lemmas and gives the straightforward way to produce
ODP32s using x + 1 and even ALO polynomials.
Considering the fact that x + 1 is a prime polynomial, the above lemma reduces the
problem of prime factorization of all ALO polynomials to that of even ALO
polynomials.
Systematic Selection of CRC Generator Polynomials 233

An obvious result of lemma 8 is that For each m , n , r ∈ N ∪ {0 }, if


2 r
2 r . m + n > 0 then ( x + 1 ) n .( ∑
i= 0
x i ) m will be an ODP32. The
equation 2 r . m + n = 32 has 56 sets of answers If it is solved for 2 r ,
m and n . It is obvious that the greatest possible value for 2 r can be 32. Thus, we
continue by prime factoring ALO polynomials of degrees 2 r ∈ [0 ,32 ] . Table 1 shows
the prime factorizations of the mentioned polynomials.

Table 1. Prime factorizations of even ALO polynomials

Poly Prime Factorization Polyl Prime Factorization


0 18
Prime Prime
∑i= 0
x i

i= 0
x i

2 Prime 20
(x6 + x5 + x4 + x2 + 1).(x6 + x4 + x2 + x +1)
∑ x i
∑ x i
2
.( x 3 + x 2 + 1).( x 3 + x + 1).∑ x i
i= 0 i= 0

i=0
Prime ( x + x + x + x + x + x 2 + 1)
4 22 11 10 6 5 4
∑ x i
∑ x i

i= 0 i= 0
.( x11 + x 9 + x 7 + x 6 + x 5 + x + 1)
( x + x + 1).( x + x + 1)
6 3 2 3 24 4

∑ x i

i= 0
x i
( x 20 + x 15 + x 10 + x 5 + 1). ∑ x i
i= 0 i=0
8 2 26 2
∑i= 0
x i
( x 6 + x 3 + 1). ∑ x i ∑
i= 0
x i
( x18 + x 9 + 1).( x 6 + x 3 + 1).∑ x i
i=0 i=0
10 28
Prime Prime
∑i= 0
x i

i= 0
x i

12
Prime 30
(x5 + x4 + x3 + x +1).(x5 + x4 + x3 + x2 +1)
∑ x i
∑ x i

i= 0 i= 0 .(x5 + x4 + x2 + x +1).(x5 + x4 + x2 + x +1)


.( x 5 + x 3 + 1).( x 5 + x 2 + 1)
14 2 32
( x10 + x9 + x5 + x + 1).(x10 + x7 + x5 + x3 + 1)
∑ x i
∑ x .( x
i =0
i 4
+ x 3 + 1).( x 4 + x + 1). ∑ ∑ x i
2 10
.∑ x i .∑ x i
i i= 0
i= 0

i =0 i =0
16 ( x 8 + x 7 + x 6 + x 4 + x 2 + x + 1)
∑i= 0
x i

.( x 8 + x 5 + x 4 + x 3 + 1)

The factorizations listed in Table 1 have been obtained from a program written in
C. This program first generates and stores prime polynomials of degree 2
( x 2 + x + 1 and x 2 + 1 ). Then generates all third degree polynomials and divides each
of them to the stored prime polynomials. If a polynomial is divisible to none of the
stored polynomials, it is stored as a new prime polynomial. Higher degree prime
polynomials are detected and stored in a similar way. This program produces ALO
234 B. Zolfaghari, H. Sheidaeian, and S.P. Mozafari

polynomials of different degrees and divides each of them by each of the stored prime
polynomials in the next phase. This phase gives the prime factorization of each of the
ALO polynomials.
Now can exploits the factorizations showed in the above table in order to solve the
factorization problem. For example, let us solve the equation for 2 r = 6 . In this case,
6
must be an ALO polynomial. We can
( x + 1) 2 −1

t t
i 2
.( x )
i= 0
6
replace ( x 3 + x 2 + 1).( x 3 + x + 1)
for ∑ i= 0
x i
using table 1. This replacement shows that

( x + 1 ) 2 − 1 .(( x 3 + x 2 + 1 ).( x 3 + x + 1 )) 2 must be an ALO polynomial. An


t t

immediate result is that for every x , y , z ∈ N ∪ {0 } ,


( x + 1 ) .( x + x + 1 ) .( x + x + 1 ) is an ODP32 if a + b + c = 32 . Thus, every
a 3 2 b 3 c

answer to the equation a + b + c = 32 (considering a , b , c ∈ N ∪ {0 }) gives an


ODP32.
As another example, Let us solve the factorization problem for 2 r = 18 . In this
18


18
case, ( x + 1 ) 2 −1
∑ x i ) 2 must be an ALO polynomial. But since is
t t i
.( x
i= 0 i= 0

not reducible, we conclude that 18


must be an ALO polynomial.
( x + 1) 2 −1

t t
.( xi)2
i= 0

Thus for every a , b ∈ N ∪ {0 }, 18


is an ODP32 if x + y = 32 . This,
( x + 1 ) a .( ∑ i= 0
x i)b

every answer to the equation a + b = 32 (considering a , b , c ∈ N ∪ {0 }) gives an


ODP32 in the form ( x + 1 ) a .( 18 x i ) b .Through a similar process, we can solve

i= 0

the equation for 2 r = 0 , 2 , 4 ,..., 32 . This way, we will find 3809 ODP32s.
Now let us calculate the number of polynomials that can detect double bit errors in
Ethernet frames. We know that there 2 33 different polynomials of degree 32. Half of
them ( 2 32 ) include even numbers of 1s and 1 of this polynomials ( x 30 ) include
4
x and 1 . Since there are 3809 polynomials unable to detect double bit errors, the
32

result is that there are 2 30 − 3809 polynomials of degree 32 that can be used as CRC
generators in order to detect double bit errors in Ethernet frames.

4 Conclusions and Further Works


This paper proposed a systematic non-exhaustive method based on modulo-2
mathematics to list all polynomials of degree 32 which can be used in order to detect
double bit errors in Ethernet frames. The method proposed in this paper eliminates the
need for time-consuming exhaustive searches and finds the considered polynomials in
a short time. It was demonstrated that there are 2 30 − 3809 such polynomials. This
work can be continued by proposing methods for simplifying CRC computation with
such generators.
Systematic Selection of CRC Generator Polynomials 235

References
1. Zolfaghari, B., Mozaffari, S.P., Karkhane, H.: A Systematic Approach to the Selection of
CRC Generators to Detect Burst Errors in Ethernet Networks. In: Proceedings of the IEEE
International Conference on Intelligent Network and Computing (ICINC 2010), Kuala
Lumpur, Malaysia (November 2010)
2. Deng, I., Rong, M., Liu, T., Yuan, Y., Yu, D.: Segmented Cyclic Redundancy Check: A
Data Protection Scheme for Fast Reading RFID Tag’s Memory. In: Proceedings of IEEE
Wireless Communications & Networking Conference (WCNC 2008), March 31- April 3,
pp. 1576–1581. IEEE Computer Society Press, Las Vegas (2008)
3. Mathys, W.: Pipelined Cyclic Redundancy Check (CRC) Calculation. In: Proceedings of
16th International Conference on Computer Communications and Networks, ICCCN 2007,
pp. 365–370 (1963)
4. Ahmad, A., Hayat, L.: Algorithmic Polynomial Selection Procedure for Cyclic
Redundancy Check for the use of High Speed Embedded Networking Devices. In:
Proceedings of International Conference on Computer and Communication Engineering
2008 (ICCCE 2008), Kuala Lumpur, Malaysia, pp. 13–15 (2008)
5. Pana, Y., Ge, N., Dong, Z.: CRC Look-up Table Optimization for Single-Bit Error
Correction. Tsinghua University Journal of Science & Technology 12(5), 620–623 (2007)
6. Assaf, R., Shmuel, T.: The EasyCRC Tool. In: Proceedings of 2007 International
Conference on Software Engineering Advances (ICSEA 2007), pp. 25–31 (August 2007)
7. Young, M.: The Technical Writer’s Handbook. University Science, Mill Valley (1989)
8. Dongliang, X., Jianhua, L., Chunlei, L., Bingli, J.: A Perturbation Method for Decoding
LDPC Concatenated with CRC. In: Proceedings of Wireless Communications and
Networking Conference (WCNC 2007), pp. 667–671 (March 11-15, 2007)
9. Zhanli, L., Xiao, L., Chunming, Z., Jing, W.: CRC-Aided Turbo Equalization For MIMO
Frequency Selective Fading Channels. Journal of Electronics(China) 24(1), 69–74 (2007)
10. Tanenbaum, A.S.: Computer Networks, 3rd edn. Prentice Hall, Englewood Cliffs (1996)
11. Sudha, R., Wilson, G.S., Yalamarthy: Near-ML Decoding of CRC Codes. In:
Proceedinggs of 41st Annual Conference on Information Sciences and Systems, pp. 92–94
(March 14-16, 2007)
Security Analysis of Ultra-lightweight Protocol for
Low-Cost RFID Tags: SSL-MAP

Mehrdad Kianersi, Mahmoud Gardeshi, and Hamed Yousefi

Dep. Communication and Information Technology, IHU


Tehran, Iran
{Mehrdad_3264,Mgardeshi2000,Hamed.yousefi}@yahoo.com

Abstract. In this paper, we analyze the security vulnerabilities of SSL-MAP, an


ultra-lightweight RFID mutual authentication protocol recently proposed by
Rama N, Suganya R. We present two effective attacks, a de-synchronization
attack and a full-disclosure attack, against this protocol. The former
permanently disables the authentication capability of a RFID tag by destroying
synchronization between the tag and the RFID reader. The latter completely
threats a tag by extracting all the secret information that are stored in the tag.
The de-synchronization attack can be carried out in three round of interaction in
SSL-MAP while the full-disclosure attack is accomplished across several runs
of SSL-MAP. We also discuss ways to counter the attacks.

Keywords: RFID, Mutual authentication, Low-cost RFID Tag, SSL-MAP.

1 Introduction
Radio Frequency Identification (RFID) systems offer improved efficiency in inventory
control, logistics, and supply chain management. As such, they are of great interest to
enterprises intensively reliant on supply chains, particularly large retailers and
consumer product manufacturers. The long-term goal of these organizations is to
integrate RFID on the retail level. Without proper protection, widespread adoption of
retail RFID could raise privacy concerns for everyday consumers.
RFID systems consist of three main components: tags, readers and back-end databases.
Tags are radio transponders attached to physical objects. Each tag contains a microchip
with a certain amount of computational and storage capabilities and a coupling element.
Such devices can be classified according to memory type and power source. Another
relevant parameter is tag price, which creates a broad distinction between high-cost and
low-cost RFID tags. Radio transceivers, or readers, query these tags for some (potentially
unique) identifying information about the objects to which tags are attached. Although
readers are often regarded as a simple conduit to a back-end database, for simplicity we
treat a reader and a back-end database as a single entity.

2 Related Works
In [13], Chien proposed a tag classification mainly based on which were the
operations supported on-chip. High-cost tags are divided into two classes:

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 236–245, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 237

“full-fledged” and “simple”. Full-fledged tags support on-board conventional


cryptography like symmetric encryption, cryptographic one-way functions and even
public key cryptography. Simple tags can support random number generators.
Likewise, there are two classes for low-cost RFID tags. “Lightweight” tags are those
whose chip supports a random number generation and simple functions like a Cyclic
Redundancy Code (CRC) checksum, but not cryptographic hash function. “Ultra-
lightweight” tags can only compute simple bitwise operations like XOR, AND, OR,
etc. These ultra-lightweight tags represent the greatest challenge in terms of security,
due to their expected wide deployment and very limited capabilities. In 2006, Peris et
al. proposed a family of Ultra-lightweight Mutual Authentication Protocols
(henceforth referred to as the UMAP family of protocols). Chronologically, M2AP [4]
was the first proposal, followed by EMAP [5] and LMAP [6]. These protocols are
based on the use of pseudonyms to guarantee tag anonymity. Specifically, an index-
pseudonym is used by an authorized reader to retrieve the information associated with
a tag (tag identification phase). Additionally, a key-divided in several sub-keys is
shared between legitimate tags and readers (back-end database). Both readers and tags
use these sub-keys to build the messages exchanged in the mutual authentication
phase. In continue of their real processing capabilities, tags only support on-board
simple Operations. Indeed, these protocols are based on bitwise XOR, OR, AND and
addition mod 2m. By contrast, only readers need to generate pseudorandom numbers;
tags only use them for creating new messages in the protocol.
In the UMAP family of protocols, the proposed scheme consists of three stages.
First, the tag is identified by means of the index-pseudonym. Second, the reader and
the tag are mutually authenticated. This phase is also used to transmit the static tag
identifier (ID) securely. Finally, the index-pseudonym and keys are updated (the
reader is referred to the original papers for more details). Since publication of the
UMAP family of protocols, their security has been analyzed in depth by the
researchers. In [7, 8] a de-synchronization attack and a full-disclosure attack are
presented. These require an active attacker and several incomplete run executions of
the protocol to disclose the secret information on the tag. Later, Chien et al. proposed
a attack based on the same attack model, more efficient from full-disclosure attack
[9]. Additionally, B´ar´asz et al. showed how a passive attacker (an attack model that
may be, in certain scenarios, much more realistic) can find out the static identifier and
particularly secret information shared between reader and tag after eavesdropping on
a few consecutive rounds of protocol [10, 11]. In 2007 Hung-Yu Chien proposed a
very interesting ultra-lightweight authentication protocol providing Strong
Authentication and Strong Integrity (SASI) for very low-cost RFID tags [13].
However, In 2009 Hernandez-Castro et al. have showed that the protocol was not
carefully designed [14]. Indeed, a passive attacker can obtain the secret static
identifier of the tag (ID) after observing several consecutive authentication sessions.

3 Review of SSL-MAP
The protocol comprises three stages: Tag identification, mutual authentication, and
updating as shown in Fig. 1.
238 M. Kianersi, M. Gardeshi, and H. Yousefi

, ,
, ,
,
, ,
, ,
,
, ,
, ,
Where c = 0x3243F6A8885A308D313198A2

Fig. 1. SSL-MAP Protocol

3.1 Tag Identification

The reader sends a “hello” message to the tag. The tag responds with index-
pseudonym (IDS). The reader uses this ID as a reference number to search for the
shared keys of the tag in its database. If the database has an entry associated an IDS,
next phase starts, otherwise the reader requests for older IDS to identify the tag.

3.2 Mutual Authentication

With IDS, the reader acquires private information linked to the tag from the database.
Then the reader generates pseudonyms n1 and n2, constructs three concatenated public
messages ‖ ‖ and sends them to the tag. Where c is a 96 bit length constant. The
tag in reply sends a public message D or an error message depending on successful
reader authentication. So we have two authentications as follow:
1. Reader Authentication: From messages A and B, the tag extracts pseudonyms n1
and n2 respectively. Then it computes n3, k1*, k2*, and builds a local version of
message C as C′. This is compared with the received value C. If both values are
same, the reader is authenticated.
2. Tag Authentication: Finally, the tag sends message D to the reader. On receiving
D, this value is compared with a computed local version. If they are same, the tag
is authenticated; otherwise the protocol is abandoned.

3.3 Updating

After successfully completing the mutual authentication phase between the reader and
the tag, both locally update IDS and keys k1, k2 as follows:
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 239

MixBits n , n (1)
n ,n ,n (2)
n ,n , (3)
, , (4)

4 Security Analysis
Security analysis of SSL-MAP protocol result that following attacks are possible to
carry out.

4.1 De-synchronization Attack

The tag updates its values irrespective of whether the reader has received message D
and verified it or not whereas, the reader updates its values only after receiving and
verifying message D. This causes a difference between the storage of the tag and the
reader in case that message D does not received by the reader. To avoid this de-
synchronization, in Gossamer, the tag is considered to be keeping the older values of
IDS and keys in memory. So in such case that a de-synchronization occurs the reader
can ask for the older IDS (not updated) and both can be in synchronization again.
However, a de-synchronization attack can still be launched successfully using
following procedure [3]:
1. Suppose a tag keep the synchronized value as:
1. =
2.
3.
This tag now communicates with a reader. The attacker records the corresponding
message as Ax, Bx, Cx (being public messages and under the assumption that
communication between the reader and the tag is not secure). Now the attacker
interrupts message Dx and does not allow it reaches to the reader. The tag does not
know whether the reader has verified D or not and updates its value as:
1. 2. 3.
4. 5. 6.

2. Next, the attacker allows the tag and the reader to run the protocol without
intervening. As IDSy is not recognized by the reader (did not update its value as D
was not received), so it asks the tag for the older values. The tag sends IDSx which
is recognized by the reader and they complete the protocol. After completion, the
tag updates its values as:

1. 2. 3.
4. 5. 6.
240 M. Kianersi, M. Gardeshi, and H. Yousefi

3. Now, the attacker intervenes and sends a ”hello” message to the tag. The tag
responds with IDSz. The attacker pretends that it cannot identify IDSz and asks for
the older values. The tag responds with IDSx. Attacker has already copied Ax, Bx,
Cx, which are legitimate sub-messages against IDSx and n1x, n2x generated during
step1. Protocol is completed and tag has the following values in memory:

1. 2. 3.
4. 5. 6.
Whereas, the reader has the following values in its database:
1. 2. 3.
4. As a consequence, the synchronization between them is failed. Since, reader has
IDSz, k1z, k2z in its database, and does not recognize both triple IDSx, k1x, k2x and
IDSy, k1y, k2y. The tag is unable to establish an association with reader, the next
time that they communicate.

4.2 Full-Disclosure Attack

Here we establish another attack that leads to disclosure of all secret information on
tag. In this attack we need observe several rounds of protocol. This attack works if the
following condition is satisfied: n1, n2 mod 96 = 0. In this case because
0,0 0, n3, , all becomes Zero.
, 96 0
0 96 , 0 96 0 96
, , (5)
, , (6)
(7)
Then (8)
(9)
Then (10)
(11)
Then (12)
(13)
By using the equations (11) and (13) we have:
(14)
(15)
(16)
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 241

Now, attacker observes the exchanged public messages, if two consecutive run of
protocol satisfy equation (6), then attacker results that n1, n2 mod 96 = 0. Now, he/she
finds k1, k2, by solving system of equations (5), (11). These values are k1n and k2n.
2 2 (17)
, , (18)
n n n n+1 n+1 n+1
Now the attacker has the values of IDS , k1 , k2 , IDS , k1 , k2 . He/she continues
the attack as follows. In next session, the tag sends IDS for reader and receives
‖ ‖ from it. Now, the attacker Using this messages and secret values that he/she
gained, computes n1, n2 and lets them in D for calculating Y. It’s apparent that
computing , n3, k1*, k2* values is easy. Now attacker constructs a system of 12
equation 12 unknown using values n1, Y and calculates ID.

(19)

(20)

(21)

(22)

(23)

(24)

(25)

(26)

(27)

(28)

(29)

(30)
242 M. Kianersi, M. Gardeshi, and H. Yousefi

5 Proposed Solutions
In this section we propose efficient countermeasures for existence attacks:

5.1 A Countermeasure for De-synchronization Attack

To address this vulnerability, we propose a simple solution. In our countermeasure,


both old and new keys and IDS will be stored in the reader side as the tag side. In this
case reader and tag have at least one common triple (IDS, k1, k2) to authenticate each
other. We launch the same attack as discussed above on this extended protocol at
follows. If we suppose that the initial values of tag and reader are:
Tag : , ,
Reader : , ,

Step 1- The attacker interrupts message D, so the tag updates its values but the reader
doesn’t:

Tag : ,k , k
,k ,k
Reader : ,k ,k
Step 2- The tag and the reader run protocol completely:
Tag : , k ,k
, k ,k
Reader : , k ,k
, k ,k
Step 3- The attacker and the tag negotiate together:
Tag : , k , k
,k ,k
Reader : , k ,k
,k ,k
In this case even though the attacker has successfully completed all the steps, the
tags and database are still synchronized since valid communication can take place
using the old values of the keys.

5.2 A Countermeasure for Full Disclosure Attack

MixBits function in SSL-MAP guarantees that if both of its two inputs are zeros mod
96, its output will be zero mod 96. Hence modifying MixBits function [3] as shown in
below guarantee that in case of its two inputs is zeros mod 96; its output will not be
zero mod 96. Then this modification will enhance the security of the protocol. The
extra countermeasures are modifying the structure of some messages or internal states
as follows:
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 243

Z=MixBits(X,Y)
Z=x
for (i=1:i<32:i++)
Z=(Z+i)+Z+Z+Y
And other parameters modifies as follows:
, , (31)
, , (32)
, (33)
, , (34)
, , (35)
, (36)
, , (37)
, , (38)
, (39)
, , (40)
, (41)
, , (42)
Analyzing the security and performance of the proposed protocol shows that these
modifications enhance security.
, 96 0
, , (43)
, , (44)
, (45)
, (46)
, (47)
, (48)
, , (49)
, , (50)
, (51)
, , (52)
244 M. Kianersi, M. Gardeshi, and H. Yousefi

, (53)
, , (54)

6 Conclusion
SSL-MAP is an ultra-lightweight Gossamer-based mutual authentication protocol
proposed by Rama N and Suganya R. In this paper we showed vulnerability of this
protocol by launching two attacks such as de-synchronization and full-disclosure. In
de-synchronization attack we destroyed the synchronization between the tag and the
reader using an active attack, in three rounds of protocol and in full-disclosure attack,
we gained all of secret information shared between tag and reader by eavesdropping
several rounds of protocol and analyzing the acquired data. Then, we proposed profit
countermeasures and showed that those are efficient against aforementioned attacks.

Acknowledgment
This work is supported by the Education & Research Institute for ICT, Tehran, Iran.

References
1. Rama, N., Suganya, R.: SSL-MAP: A More Secure Gossamer Based Mutual
Authentication Protocol for Passive RFID Tags. International Journal on Computer
Science and Engineering 02, 363–367 (2010)
2. Peris-Lopez, P., Hernandez-Castro, J.C., Tapiador, J.M.E., Ribagorda, A.: Advances in
Ultralightweight Cryptography for Low-cost RFID Tags: Gossamer Protocol. Journal of
Information Science and Engineering 25(1), 33–57 (2009)
3. Gamal, E.A., Shaaban, E., Hashem, M.: Lightweight Mutual Authentication Protocol for
Low-cost RFID Tags. International Journal of Network Security & Its Applications
(IJNSA) 2(2) (2010)
4. Peris-Lopez, P., Hernandez-Castro, J.C., Estevez-Tapiador, J.M., Ribagorda, A.: M2AP: A
minimalist mutual-authentication protocol for low-cost RFID tags. In: Ma, J., Jin, H.,
Yang, L.T., Tsai, J.J.-P. (eds.) UIC 2006. LNCS, vol. 4159, pp. 912–923. Springer,
Heidelberg (2006)
5. Peris-Lopez, P., Hernandez-Castro, J.C., Tapiador, J.M.E., Ribagorda, A.: LMAP: A real
lightweight mutual authentication protocol for low-cost RFID tags. Hand. of Workshop on
RFID and Lightweight Crypto (2006)
6. Peris-Lopez, P., Hernandez-Castro, J.C., Estevez-Tapiador, J.M., Ribagorda, A.: EMAP:
An Efficient Mutual-Authentication Protocol for Low-Cost RFID Tags. In: Meersman, R.,
Tari, Z., Herrero, P. (eds.) OTM 2006 Workshops. LNCS, vol. 4277, pp. 352–361.
Springer, Heidelberg (2006)
7. Li, T., Deng, R.: Vulnerability analysis of EMAP an efficient RFID mutual authentication
protocol. In: Proc. of AReS (2007)
8. Li, T., Wang, G.: Security analysis of two ultra-lightweight RFID authentication protocols.
In: Proc. of IFIP-SEC 2007 (2007)
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags 245

9. Hung-Yu, C., Chen-Wei, H.: Security of ultra-lightweight RFID authentication protocols


and its improvements. SIGOPS Oper. Syst. Rev. 41(4), 83–86 (2007)
10. Bárász, M., Boros, B., Ligeti, P., Lója, K., Nagy, D.: Breaking LMAP. In: Proc. of
RFIDSec 2007 (2007)
11. Bárász, M., Boros, B., Ligeti, P., Lója, K., Nagy, D.: Passive Attack Against theM2AP
Mutual Authentication Protocol for RFID Tags. In: Proc. of First International EURASIP
Workshop on RFID Technology (2007)
12. Tagra, D., Rahman, M., Sampalli, S.: Technique for Preventing DoS Attacks on RFID
Systems. In: International Conference on Software, Telecommunication and Computer
Networks, softCOM (2010)
13. Chien, H.-Y.: SASI: A New Ultralightweight RFID Authentication Protocol Providing
Strong Authentication and Strong Integrity. IEEE Transactions on Dependable and Secure
Computing 4(4), 337–340 (2007)
14. Hernandez-Castro, J.C.,Tapiador, J.M.E., Peris-Lopez, P., Ribagorda, A.: Cryptanalysis of
the SASI Ultralightweight RFID Authentication Protocol. IEEE Transactions on
Dependable and Secure Computing (2008)
File Distribution Algorithm from Multiple Road Side
Units in Vehicular Networks

Saleh Yousefi, Amin Amini Maleki, and Reza Hashemi

Computer Engineering Department


Faculty of Engineering, Urmia University
Urmia, Iran
[email protected], {aminamini.m,reza.hashemi.110}@gmail.com

Abstract. In this paper we propose an algorithm for distributing files among


moving vehicles through multiple Road Side Units (RSUs). It is assumed that
the RSUs are connected and are under the management of a central
administration. Thus all RSUs have all the files. Our approach includes two
scheduling algorithms: intra-RSU and inter-RSU. The former handles broadcast
scheduling of files inside each RSUs coverage area and the latter handles
resumable broadcasts from other RSUs. Therefore, it is possible to resume
downloading file(s) from other RSUs when the file(s) can not be downloaded
completely from a RSU. Furthermore, all files are encoded by means of
Fountain Coding techniques meaning that all packets have the same value and
there is no need of receiving packets in-order. Consequently, we are able to
distribute files with a low overhead and without need of reliable and ACK-
based transport protocols such as TCP. Using extensive simulation study we
have evaluated the effect of using fountain coding, vehicles’ speed, file size and
number of RSUs on the performance of the proposed algorithm.

Keywords: vehicular ad hoc networks; roadside stations; scheduling; file


distribution; fountain coding.

1 Introduction

Recent advances in wireless technology make the idea of 'communication anytime


and anywhere' more reachable. Inspiring from this idea, there is growing belief that
embedding wireless radios into vehicles may be quite advantageous in keeping life
safety of passengers as well as their comfort. During the last decade, in order to
substantiate such a thought, there has been a joint effort of academic, industrial and
standardizing communities. The major push toward this idea was allocation of 75
MHz of spectrum in the 5.9 GHz band for Dedicated Short Range Communication
(DSRC) in the US [1]. As a part of DSRC standard, IEEE 802.11p [2] improves IEEE
802.11 to deal with vehicular environment which includes data exchange between
high-speed vehicles and between the vehicles and the roadside infrastructure.
Furthermore this issue is investigated in many inter-national and national projects like
COMeSafety project [3] in Europe.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 246–255, 2011.
© Springer-Verlag Berlin Heidelberg 2011
File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks 247

The ad hoc networks formed between vehicles together and/or between vehicles
and Road Side Units (RSUs) are often called VANETs (Vehicular Ad hoc
NETworks). VANETs have many distinctive characteristics and communication
challenges as described in [4]. According to the FCC frequency allocation one can
categorize two main classes of applications for vehicular ad hoc networks. The first
category is considered to improve the safety level of passengers in roads, i.e., safety
applications. In this case, VANETs can be seen as a complementary to the current
Intelligent Transportation Systems (ITS) [5], in order to enhance the coverage and
performance. The second class of applications is commercial services i.e., comfort
applications. Applications in this class offer commercial services like internet access
on roads, multimedia download, car navigation, etc.
Vehicular networks exist in two different architectures. In Vehicle to Vehicle
(V2V) case which is essential for safety applications, a pure ad hoc network between
moving vehicles is established. On the other hand, in Vehicle to Infrastructure (V2I)
case, vehicles and road-side infrastructure construct a hybrid ad hoc network. The
latter is suitable mostly for comfort applications even though there are also some
safety applications relying on V2I architecture. Due to their business profit, comfort
applications are predicted to take popularity in the future. It should be stressed that
safety applications are assigned priority. Therefore, comfort applications do not
intervene in the exchange of safety related application provided that efficient channel
assignment techniques are adopted. A big category of comfort applications normally
demand files with various sizes to be exchanged. In this paper we focus on a file
distribution mechanism form multiple RSUs which can be taken advantage in such
comfort applications.
Recently vehicle to RSU communications are studied in a few works. In [6] the
authors studied scheduling problem in which vehicles in a junction can download
(upload) data from (to) a single RSU. A similar problem is also has been studied in a
few works [7, 8] even though the context is not VANETs. However the case of
multiple RSUs is not considered in these works. Later in [9] the author proposed an
algorithm for on-demand file download from multiple RSUs. In this work each
vehicle must send a request message to the RSU prior to the transmission. Our work
is different form [9] in that it is based on broadcasting of files and thus it is more
scalable when the number of files and vehicles is large. Furthermore, we have made
use of an application layer coding called Fountain Coding in order to improve
throughput of downloading and to facilitate reliable broadcast file transmission.

2 Problem Definition and Related Works


We consider a V2I architecture in which several RSUs are based in an urban or
highway environment. The RSUs act as servers and send some files to several
vehicles that play the role of clients. The RSUs are assumed to be connected to each
other and to the central administration of the system through a wired (or wireless)
network. The central administration is in charge of managing the overall system and
file (e.g., advertisements) provisioning form various content providers (e.g., business
corporations). Although a RSU is able to exchange data with each individual vehicle,
for the aforementioned architecture and the anticipated applications (i.e., comfort),
248 S. Yousefi, A.A. Maleki, and R. Hashemi

support of broadcasting is critical. The reason is that broadcast of files is more


scalable and efficient for numerous vehicles. However, a reluctant vehicle may decide
not to receive a file. This article focuses on some aspects of design and
implementation of such architecture. In the following we mention the main challenges
which have been addressed in this paper.
The main problem is that vehicles stay in the RSU’s coverage area only for a short
period of time. Thus the vehicle may not be able to complete their download from one
RSU. Therefore as an important capability the proposed mechanism should provide
the facility of resuming downloads from other RSUs. On the other hand, by increasing
the number of vehicles (and so requests) the bandwidth limitation is an important
challenge. Therefore, it is important to use a scheduling policy to maximize the
number of served requests. Besides, some requests which have higher priority should
be taken higher priority of service. To aim at the above-mentioned goals there should
be both Intra-RSU scheduling and Inter-RSU scheduling algorithms. The former
addresses scheduling of file distributions inside a RSU taking into account size and
priority of files. The latter concentrates on scheduling between RSUs to address issues
related to resumable downloads. Moreover, legacy file transferring applications like
FTP which is resorted in conjunction with TCP are not applicable due to several
limitations including unicat nature and re-transmission requirement of TCP.
The rest of this paper is organized as follows. In section 3 we explain different
parts of the proposed mechanism in detail. In section 4 we evaluate the proposed
algorithms based on the results of extensive simulation study. Finally, section 5
concludes the paper.

3 Proposed Scheduling Algorithm


To address the challenges mentioned in section II we explain our proposed
mechanism and algorithms in this section. As shown in Fig. 1, each RSU holds five
queues which contain pre-encoded files. Each file contains several packets and its
transmission is done in packet by packet basis. The coding technique taken advantage

Fig. 1. Structure of File Storage inside a RSU


File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks 249

is a sample of Fountain Coding [10] like LT [11] and Raptor [12]. The queue Q1 is
dedicated for files with size of 1MB or less, Q2, Q3 and Q4 are for files with size of 2
MB, 3 MB and 4 MB respectively. Finally, Q5 is dedicated for files with size of 5
MB or more. The proposed approach contains two main algorithms: inter-RSU
scheduling and inter-RSU scheduling.

3.1 Fountain Coding

The main challenge for supporting resumable downloads is the fact that a RSU should
exactly track the remained parts of file(s). In other words, due to nature of file
downloading application, all file’s packets should be received in-order. To free such
limitation, in this paper, similar to [13] we make use of Fountain Coding technique
along with UDP in the transport layer. Our aim is to achieve high throughput along
with reliability as is desirable in the comfort application of VANETs (in particular
those are based on file exchange).
The term fountain implies that for being able to reconstruct the original input symbols
(packets), the receiver needs to receive a minimum number of any output symbols
(packets). Let k be the original number of packets of the file and let n be the total number
of packets whose reception is enough to decode the original content. We have n
k 1 , where , termed the decoding efficiency, ranges typically between 10 and
100% ( normally in the range of 5 or 10 percent), depending on the specific
implementation. Please note that when the receiver receives the n symbols, decoding is
successful with a probability equal to 1 δ where δ is upper-bounded by 2 . This
means that larger file sizes and/or higher values of make the decoding probability even
larger. As of complexity, it may be as low as linear in the number of coded symbols.
Note that the sufficient amount of packets for successful encoding is just slightly
larger than the amount of actual file packets. But there is no need to receive packets in
a special order and under strict synchronization. In other words, all packets have
equivalent value for the receiver vehicle. In the following subsections along with
explanation of algorithms we also clarify the effect of Fountain Coding on each part
of the proposed mechanism.

3.2 Intra-RSU Scheduling

The goal of this algorithm is to efficiently distribute the given files inside of each
RSU’s coverage area. At the beginning, the files are allocated to the queues according
to their size. Then first RSU starts operation and sends files of Q1 according to the
predefined and optional order (here different queuing policies can be taken into
account). When all files were sent in Q1, Q2 starts to send its files and likewise all
files of other queues are sent in a Round Robin (RR) order. In other words, inside of
each queue one can use any priority policy but between individual queues the RR
policy is utilized. Furthermore, there is a flag variable for each file which is set to
TRUE by the time the file is sent. It should be noted that all flags are set to FALSE at
the beginning of the algorithm or whenever the cycle of file distribution is restarted
(i.e., when all files of Q5 were sent). A given file in Qi is sent only if all files of Qj (j
< i) and previous files in Qi have the flag value of TRUE. Fig. 2 shows pseudo-code
of proposed algorithm.
250 S. Yousefi, A.A. Maleki, and R. Hashemi

IntraRSU_Scheduling (RSU_ID: RSUId, Message: msg)


//Message includes information about Highway average speed or files’ priorities
{
For i ← 1 to Number_of_Queues // for example 5
While ( !Event(msg) ) //priority conditions
//If there is any file in Queue[i] to be transmitted
If( !Test_Queue_IsEmpty(RSUId.queues, i) )
//The ID of the first file with a FALSE flag is assigned to fileId ; If there is no such a file then NULL is
returned to fileId
fileId ← Extract_File_From_Queue(RSUId.queues,i)
If(fileId != NILL)
//If file’s transmission can be completed during the time vehicles are in its coverage area then

If((RSUId.Timer+File_Broadcast_Duration(fileId,Bandwidth))
<= Rsu_RangeEnd_Time(RSUId.Timer, msg.Ave_Speed))
//begin to broadcast file from the specified time(RSUId.Timer)
BroadCast(fileId, RSUId.Timer)
//update RSU’s internal Timer by adding time that takes to send that file with the available bandwidth

Update_Timer(RSUId.Timer, fileId, Bandwidth)


else
//calculate next RSU Timer (timing offset)
Timer←Calculate_Timer(…)
//send info to next RSU for resuming transmision
InterRSU_Scheduling (RSU.Next, fileId, Timer)
else
Break;
}

Fig. 2. Psudo-code of Intra-RSU scheduling algorithm

The proposed algorithm is able to support incomplete file downloads. Assume a


vehicle receives a 1 MB file from a RSU partially (e.g., 70%). This situation is
handled by Event(msg) function shown in Fig.2. In this function the related flag of the
file is set to FALSE even if it was already set to TRUE, thus, transmission of the file
can be resumed again by the next RSU. This is possible if the next RSU is able to
have the new values of flags. On the other hand, as mentioned in section 2, RSUs are
connected to each other thus they are aware of whether files have been completely
sent form RSUs and set their flags accordingly. This task is done by the second part of
scheduling algorithm (see the next subsection).
It should be stressed that using Fountain coding improves the throughput of the
intra-RSU scheduling algorithm which may be hindered due to possible packet losses
caused because of wireless impairments. As mentioned before the reason is that all
packets distributed by the RSU have the same value for the vehicles thus there is no
need for re-transmission of lost packets.

3.3 Inter-RSU Scheduling

This part of proposed approach is responsible for inter-RSUs communications. A part


of related pseudo-code is given in Fig. 3. Each RSU keeps a timer which is set to the
File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks 251

time by which vehicles with average speed stay under its coverage. Whenever this
timer is expired before finishing of all files in all queues the current RSU has to
announce this issue to the next RSU. So that the next RSU is aware of some
incomplete download(s) from the previous RSU and tries to resume their
transmission. The information which is exchanged between adjacent RSUs include: id
of the incompletely downloaded file (s), queue-id of the file (s) and the percentage of
downloaded file(s) (in terms of packet number). In addition to this information the
next RSU should be aware of the time by which the vehicles are entered into its
coverage area. This time offset is also sent to the next RSU by the current RSU. To
calculate this time, the average speed of vehicles at that time (average speed is
different at different hours of a day) and the coverage range of the RSUs and that of
vehicles are considered. Moreover, the out-of-coverage distance between RSUs which
may be existed should be taken into account. Consequently, next RSU resume
sending files (it only sends remaining packets of the files). One may criticize that due
to differences in vehicles’ speed, the time offsets exchanged between RSUs may not
be exact for all vehicles (since it is computed based on average speed). Although this
consideration is correct but using Fountain coding (as explained in the next
paragraph) relaxes our algorithm from being dependent to strict time synchronization
between RSUs.

InterRSU_Scheduling (RSU_ID: RSUId, FILE_ID: fileId,


Time: Timer)
{
//set RSU timer to time offset which is calculated and sent by previous
RSU
RSUId.Timer ←Timer
//set files flags before fileId to TRUE value in this RSU to indicate
that files before fileId have been sent already by other RSUs
SetTrue_files_Befor(fileId);
//Continue BroadCasting file from calculated timer
IntraRSU_Scheduling( RSUId)
}

Fig. 3. Psudo-code of Inter-RSU scheduling algorithm

As one can understand form the inter-RSU scheduling algorithm, it is relied on


time synchronization between RSUs. However, it is possible that timing
synchronization between adjacent RSUs is lost due to the fact that vehicles’ speed is
not necessarily equal to the average road’s speed. Thus the base of time which is used
for resume of downloads is missed. However, applying Fountain Coding is also useful
here because vehicles can take advantage of all packets independent of their order
even if they have not received previously transmitted packets.

4 Simulation
The proposed algorithm has been evaluated by means of GloMoSim library 2.03[14].
In the simulated scenario, a one-way highway is considered in which 10 RSU are
252 S. Yousefi, A.A. Maleki, and R. Hashemi

placed with 1Km distance. The radio range of RSUs is 250 meter so that between
every two RSU there is 500 meter gap (out-of-coverage area). Propagation path loss
model of the wireless channel is TWO-RAY GROUND. In order to simulate the loss
incurred due to environmental obstacles and larger vehicles (e.g., trucks) a loss rate of
1% is assumed. Channel bandwidth is 2Mbps and IEEE 802.11 protocol is used in the
MAC layer (compatible with DSRC standard). In the application layer, a typical one
hop broadcast protocol is implemented using which RSUs send files to the vehicles.
The transport layer protocol is UDP which is used in conjunction with Fountain
Coding to evade the TCP’s limitation in VANETs. We assume that the original file is
recovered by an overhead of 20% (note that current Fountain algorithms are able to
achieve the overhead of 5% easily). The implementation of coding and decoding
algorithm for a special type of fountain codes is out of scope of this paper. Therefore
in the implemented scenario, the RSU sends out a sequence of packets to the vehicles.
Whenever the receivers get 120% of original file packets (distinctive 1 KB packets),
no matter whether the order is preserved or not, the download is complete. 30 vehicles
are considered which are moving in four constant velocities including: 72, 90, 108
and 126 kmph. We continue simulation until the last vehicle passes the coverage
range of the last RSUs thus the simulation duration is different in various scenarios.
Three 1MB files and two 2MB files are given to the central distribution to be
distributed among these 30 vehicles. If it is not explicitly mentioned, the average
speed of highway is taken 108 kmph.
Normally we might have compared the performance of our algorithm with the
previous works in the literature. But as reviewed in section II the previous works are
dealt with intra-RSU scheduling or they are on-demand. Thus the comparison is not
significant. Albeit the case of intra-RSUs are a subset of our approach when the
number of RSU is one. However due to very poor performance we do not show
results related to less than 3 RSUs. The obvious reason of such a poor performance is
that the vehicles move on the road and thus they do not stay in the coverage of a
single RSU’s to download all files.
First we evaluate the percentage of files which are downloaded completely. This
metric is very important because only completely downloaded files are beneficial for
vehicles. As it follows from Fig.4 by increasing the number of RSUs the percentage
of completely downloaded files is increased. As expected, this result confirms the
benefit of resuming downloads which is possible due to proposed inter-RSU
scheduling. Furthermore, using Fountain Coding in the proposed scheduling
algorithm improves the percentage of completely downloaded files noticeably. This
issue can be justified by that in the Fountain case there is no need for in-order
reception of packets and re-transmission of any specific packet.
Another metric which can be relied on in performance evaluation of the proposed
approach is the percentage of vehicles which are able to download all files
completely. In fact this metrics can be translated to business profit of the file
distribution system. This metric is illustrated in Fig.5 where one can observe that
increasing the number of RSUs leads to improve the metric. However in the case of
Fountain the percentage of vehicles which are able to download all files is much
higher than the case of without Fountain such that after 8 RSUs all vehicles are able
to receive all files completely. As on can conclude from Fig. 5, when Fountain
Coding is not utilized very few vehicle are able to completely download all files.
File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks 253

Fig. 4. Percentage of completely downloaded files in terms of the number of RSUs

Fig. 5. Percentage of vehicles which downloaded all the files in terms of number of RSUs

Fig. 6. Percentage of completely downloaded files versus speed


254 S. Yousefi, A.A. Maleki, and R. Hashemi

Due to characteristics of vehicular network it is necessary to evaluate the effect of


vehicles’ speed on the algorithm. As it follows from the Fig. 6 by increasing vehicles’
speed the percentage of completely downloaded files is reduced. Moreover, by using
Fountain coding a noticeable improvement on the performance of the algorithm is
resulted. Besides, the preliminary results show that in case of Fountain when the
number of RSUs is increased the desperate effects of high vehicles’ speed is more
smoothed. Our simulation also shows that the same trend is observed for the number
of vehicles which downloads all files completely.
We further investigated the effect of file size on the percentage of vehicles which
download all files completely. The results show that small files are easier to be
downloaded with a few RSUs. But by increasing the number of RSU, the proposed
algorithm gives more time to large files and behaves in favor of those files. The
related curves are omitted due to lack of space.

5 Conclusions
In this paper we have proposed an algorithm for file distribution from multiple RSUs.
The algorithm takes into account both intra-RSU and inter-RSU scheduling issues.
That is, if a file can not be fully received through a RSU, the rest can be received
from other RSUs. We have also used an application layer coding based on Fountain
Codes to improve the throughput. We have used two performance metrics for
evaluation of the algorithm: 1) number of vehicles which are able to download all
files, and, 2) the number of completely downloaded files. Our results show that the
proposed algorithm shows significant improvement in comparison to the case in
which there is no inter-RSU cooperation. Moreover, by increasing the number of
RSUs, the algorithm shows better performance in terms of aforementioned metrics.
Besides using Fountain Coding alleviates desperate effects of increasing vehicle’
speed and increase of file sizes.

References
1. ASTM E2213-03, Standard Specification for Telecommunications and Information
Exchange Between Roadside and Vehicle Systems — 5 GHz Band Dedicated Short Range
Communications (DSRC)Medium Access Control (MAC) and Physical Layer PHY)
Specifications. In: ASTM International (July 2003)
2. IEEE, IEEE Standard 802.11p Draft Amendment. Wireless LAN Medium Access Control
(MAC) and Physical Layer (PHY) Specifications:Wireless Access in Vehicular
Environments (WAVE) (2005)
3. The COMeSafety Project, http://www.comesafety.org/
4. Yousefi, S., Mousavi, M.S., Fathy, M.: Vehicular Ad Hoc Networks (VANETs):
Challenges and Perspectives. In: IEEE Proceedings of 6th International Conference on ITS
Telecommunications (ITST 2006), China, pp. 761–766 (2006)
5. Andrisano, O., Nakagawa, M., Verdone, R.: Intelligent transport ation systems: the role of
third generation mobile radio networks. IEEE Communication Magazine, 144–151
(September 2000)
File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks 255

6. Zhang, Y., Zhao, J., Cao, G.: On Scheduling Vehicle-Roadside Data Access. In: Proc. of
ACM VANET 2007, in conjunction with Mobicom 2007, Montreal, Canada (September
2007)
7. Gandhi, R., Khuller, S., Kim, Y., Wan, Y.: Algorithms for minimizing response time in
broadcast scheduling. Algorithmica 38(4), 597–608 (2004)
8. Su, C., Tassiulas, L.: Broadcast scheduling for information distribution. In: Proceeding of
Infocom 1997 (1997)
9. Shahverdy, M., Fathy, M., Yousefi, S.: Scheduling Algorithm for Vehicle to Road-side
Data Distribution. In: ICHCC-ICTMF 2009, China. CCIS, vol. 66, pp. 30–38. Springer,
Heidelberg (2010)
10. MacKay, D.J.: Information Theory, Inference, and Learning Algorithms. Cambridge
University Press, Cambridge (2003)
11. Luby, M.: LT Codes. In: IEEE-FOCS, pp. 271–282 (2002)
12. Shokrollahi, M.A.: Raptor Codes. IEEE Transaction on Information Technology (2006)
13. Yousefi, S., Chahed, T., Moosavi, M., Zayer, K.: Comfort Applications in Vehicular Ad
Hoc Networks Based on Fountain Coding. In: IEEE WiVec 2010, Taipei (May 2010)
14. GloMoSim Network Simulator,
http://pcl.cs.ucla.edu/projects/glomosim/
SMART-IP: A Multi-Agent System for Network Analysis
and IP Addressing Resolution

Samia Boucherkha1,2 and Mohamed Nadjib Djeghri2


1
LIRE Lab, Systems Architecture group
2
Computer Science Department
Mentouri University of Constantine, Algeria
[email protected]

Abstract. With the progressive expansion of computer networks and their


increasing complexity, it becomes considerably difficult for administrators to
ensure the maintenance of these networks with reasonable efforts and in
acceptable times.
In this paper, we investigate the potential use of mobile agents in networks
management problem. To this end, we propose the use of a multi-agent system
(MAS) to solve problems related to improper configuration of IP addressing.
This will provide a desirable autonomy in terms of self management to the
network reducing considerably human intervention.
For the implementation of our MAS we use the JADE platform which
provides classes in the form of a set of behaviors ready to use. The simulation
of the prototype is done in an Ethernet environment context, where the bus is
configured with four nodes concentrated on a single switch. We show through
numerous screenshots the feasibility of such a solution.

Keywords: Networks, TCP/IP, IP addressing, Multi-agent systems.

1 Introduction

Computer networks are now ubiquitous and indispensable in any economic or social
sector. The number of network services and distributed applications has increased
considerably. The complexity of these interconnected systems is so large that it is
difficult to control all aspects of their security and reliability. The task of network
administrators is getting complicated. Indeed, to manage a computer network, it is
often necessary to detect the origin of a malfunction and resolve many addressing and
connecting problems.
Many efforts are being invested to develop elements of management and diagnosis
that fulfill correctly their roles to assist the network administrator in a task being more
and more complex [4].
In this work we propose the use of a multi-agent system to assist the human
administrator in managing a local network and discharge him from repetitive tasks
that will be dedicated to a battery of interactive agents.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 256–265, 2011.
© Springer-Verlag Berlin Heidelberg 2011
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution 257

Agents are an emerging technology that has great potential to represent and solve
complex and distributed problems. They are very useful especially in applications
requiring the distribution of tasks between autonomous entities in order to rapidly
achieve their goal in an optimal way [9].
The advantages of using a MAS in networks management are numerous:
• Agents are autonomous and do not require the intervention of an omnipresent
administrator. They perform the task without overloading the media and thus
reduce the cost and time.
• When a terminal or an intermediary machine requires intervention,
unlike the mobile agents that travel across the network, the administrator
must physically go to the machine, especially in the case where the Telnet
or RDP services are unusable.
• Control decentralization: A migration of analysis and resolution modules
enables the management of a complex network, and thus provides a scalable
system that operates on various architectures (JVM/LEAP).
• Of course there exist network services specifically designed for solving
various problems and networks malfunctions. For example, Telnet and RDP
enable a remote control and configuration of a machine, but without
security, with a significant overload of media, an exaggerated latency and
also require the availability of a manager, throughout the process,
intervening on one node at a time.

The Multi-Agent System we propose will be responsible for remote resolution of


problems related to improper configuration of network addressing. The system has
two main features:
• Network analysis,
• Resolution of addressing problems.
The context within which we stand is an Ethernet local area network environment
concentrated on a switch and working at the layer 2 of the OSI protocol suite. It is
based on the analysis of frames maintained by the Ethernet, ARP and IP protocols. In
the second section of this paper we review briefly the Ethernet, IP and ARP protocols.
The third section presents the system’s functionalities and the fourth section the
development environment. Section 5 describes the operation of the system and the
last section concludes the paper.

2 Ethernet, IP and ARP Protocols


Ethernet is a family of frame-based computer networking technologies defined by
IEEE 802.2 and 802.3 standards. It is the most widespread wired LAN technology
actually. Ethernet standards define both the OSI layer 2 protocols and OSI Layer 1
technologies. When the source device transmits a message to an Ethernet network, the
header information of the destination MAC address is attached. Each NIC of the
network access this information to determine if the MAC address corresponds to its
physical address. In absence of matching, the NIC discards the frame [1].
258 S. Boucherkha and M.N. Djeghri

The IP protocol provides the functions required to transfer a packet from a source
to a destination through an interconnected system of networks. Addressing is the main
function of IP. All devices belonging to a network must be uniquely identified. At the
network layer, the packets must be identified by source and destination addresses of
systems on both sides. Internet Protocol Version 4 (IPv4) provides a hierarchical
addressing of packets carrying the data [1]. There are three types of address:
- The network address that refers to the network,
- The broadcast address, used to send data to all hosts on the network.
- The host addresses assigned to end devices.
The developed system uses broadcast addresses for address recovery and logical
topology identification of the bus.
The ARP process (Address Resolution Protocol) is a major element in the network
analysis operation conducted by our system. The ARP protocol provides two basic
functions:
• resolution of IPv4 addresses to MAC addresses,
• preservation of mappings in the cache memory.

For each frame placed on the LAN’s support corresponds a destination MAC address.
When a packet is sent to the data link layer to be encapsulated in a frame, the node
refers to a table in his memory to find the corresponding address to the destination
IPv4 address. This table, called ARP cache, is stored in the RAM of the device. Each
entry in the ARP cache consists of two values: an IP address and a MAC address [1].
When a host wishes to send an Ethernet frame to another host of which he knows the
IP address, he puts his request on hold and makes a broadcast ARP request. All hosts
on the segment will receive the request but only the machine with that address will
respond by sending an ARP reply containing its MAC address to the issuing machine.
It creates then an entry in its ARP cache from the data contained in the ARP
request it just received. The machine behind the ARP request receives the answer,
updates its ARP cache and can send the message she queued to the relevant machine.

3 System Functionalities

3.1 Network Analysis

This functionality is implemented in a system component that we call « Analyzer


Agent ». Its task is to identify the nodes addressing on the broadcast domain by
sending ARP requests and ICMP echos. It can hence establish an ARP table of
physical and logical addresses that it updates regularly. It also identifies the logical
topology of the bus and identifies the nodes unable to communicate relying on data
collected in response to broadcast requests. It then rectifies the addressing by giving a
correct address from the host machine or the DHCP pool (Fig. 1).
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution 259

Fig. 1. Analyser Agent action

3.2 IP Addressing Resolution

Addressing resolution consists in assigning an adequate IP address to a remote PC


that is unable to communicate normally in the network. This function is relegated to
an agent we call « Resolver Agent » which performs it in two stages (Fig. 2):
• Changes the IP address of the machine containing the system to be in the same
network address as the target PC,
• Migrates to the target machine and then executes the appropriate code to
reconfigure the static IP address and enables it to regain its ability to communicate on
the broadcast domain. In addition, it sends a report on the status of the procedure.

3.3 Other System Components

Besides Analyzer Agent and Resolver Agent, we also need two other agents, Informer
Agent and Interface Agent.

• Informer Agent is an agent collecting the data gathered by Analyzer Agent and
address information entered by the user (the administrator) in order to provide
Resolver Agent with parameters for destination and address correction.
• Interface Agent is the manager of the GUI (Graphical User Interface), displaying
messages and graphic objects. Hence, it constitutes a mediator between the real world
and the agent’s world.

Informer Agent can be seen as a kind of table (a blackboard), that stores all
information received from Analyzer Agent as well the parameters provided by the
administrator via the GUI. It can be consulted at any time by Interface Agent for the
display settings (number of PCs, address ....), and by Resolver Agent for the
parameters of cross-platform migration and remote IP reconfiguration. It also
provides drawing data to Interface Agent (display of graphical objects), such as the
number of machines on the domain, those who are properly configured etc...
260 S. Boucherkha and M.N. Djeghri

Fig. 2. Resolver Agent action

4 Development Environment
To test the action of our mobile agents on a communication network, we took four
computers Intel Pentium 4 M 1.73 GHz DDR2 of a 512 MB RAM with Windows XP
operating system. The four machines are mounted on an Ethernet bus centered on a
single switch.
For implementation of mobile agents we chose the platform JADE (Java Agent
Development Framework). JADE is a platform for developing multi-agent systems
fully implemented in Java language. It simplifies the implementation of multi-agent
systems by providing a full set of services that comply with the FIPA
specifications (Foundation for Intelligent Physical Agents) and a set of graphical
tools that supports debugging and deployment [5]. The configuration can be changed
at run-time by moving agents from one machine to another one, as and when required.
This allows agents located on different servers to communicate. The FIPA standard
defines the content of messages exchanged between agents as strings or sequences of
bits. The Java language has thus imposed itself for achieving our software. The
object-oriented programming tools it includes, in particular the mechanisms of
inheritance and data encapsulation, will facilitate the development of individual
agents' behavior.
At each start of the JADE platform three main modules are immediately available:
• DF "Directory facilitator", which saves the agents descriptions and the services
they offer. It represents therefore a directory service for the other agents;
• ACC "Agent Communication Channel ": Provides the path for basic interactions
between agents within and outside the platform;
• AMS "Agent Management System: It controls the access and the use of the Agents
Communication Channel, maintaining a list of all agents residing on the platform;
The JADE platform provides a set of behaviors and sub-behaviors ready to use in the
form of classes that it can execute in a predefined scheme. All predefined classes
inherit from the abstract class Behavior. The identity of an agent is contained in an
agent identifier (AID), and his name is constructed by concatenating the name of the
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution 261

platform to a pseudo defined by the user. The agents’ addresses are inherited by the
platform, and each address corresponds to an end point where FIPA-compliant
messages can be sent and received.
The proposed system is implemented through four major classes, each representing
an agent of the system, knowing that the GUI is itself an agent, called RMA (Remote
Monitoring Agent).
Analyzer Agent class and Resolver Agent class are inherited from the Agent class
of JADE defined in the package jade.Core.Agent. The code of this agent consists of a
single class, which contains all the attributes and methods (behavior) needed to
instantiate it.
Informer Agent is a class inherited from the Agent class of JADE defined in the
package jade.Core.Agent. It contains matrices where it saves the received parameters.

Behavior example of Analyser Agent

public static int ARPTIMEOUT = 4000;


public static int ICMPTIMEOUT = 4000;
public static void main(String[] argv){
System.out.println(new Ping().ping(argv[0]));
}
public boolean ping(String dst_ip){
return new PacketSender().ping(dst_ip);
}
public boolean ping(String dst_ip, int timeout){
ARPTIMEOUT = timeout;
ICMPTIMEOUT = timeout;
return new PacketSender().ping(dst_ip);
}

Fig. 3. Hello Agent Mobility

JADE also provides a service called AMS (agent mobility service) that implements
mobility offering agents the ability to move between platforms. In our case this will
ensure the migration of a mobile agent from the server platform to another platform of
the target machine. The RMA allows the lifecycle control of the platform and all the
262 S. Boucherkha and M.N. Djeghri

agents that compose it. We propose the use of two JADE platforms and a mobile
agent called "Hello Agent" whose goal is to migrate to the target machine and display
the simple message ''Hello'' (Fig. 3).
The agent’s movement between the two platforms is ensured by the method
"doMove()" via the agents transport mechanism of IPMS, after the serialization of the
agent into a .jar file. JADE also provides two complementary methods:
• beforeMove (): called to the source location before the agent displacement;
• afterMove (): called to the destination as soon as the agent is arrived.
To ensure the platform-to-platform mobility, we use the cross-platform mobility
service IPMS, a feature not available with conventional JADE, nor integrated into the
AMS. The idea is to use the displacement of agents on other platforms within FIPA
ACL messages. These messages are exchanged between the AMS agents of source
and target platforms following the rules imposed by FIPA Interaction protocols.
To create Hello Agent we first create an agent with a unique identifier, assign it a
particular behavior then proceeds to its migration for displaying "Hello" on a target
machine. It means that our agent should have the method afterMove () implemented
in its behavior, and must be registered with the AMS.
To rebuild the jar file, the AMS must decompress it. The service can then be
constructed using the tool provided inside the package folder where the build.xml is
located. The file is then compiled and the method afterMove () is executed.

4.1 System Initialization

• The system sends a request to the JADE platform;


• JADE creates a main container,
• JADE creates the AMS, DF, and RMA;
• The system sends a request to the RMA for creating a GUI;
• A request is sent to the platform to create Hello Agent;
• The system sends a query to the GUI to display the agent;
• The agent is displayed.

4.2 Hello Agent Migration

• The system sends a request to the platform 1;


• The platform sends a doMove () request to the Intra-PMS;
• The Intra-PMS asks the settings;
• The platform1 sends the settings (Platform ID);
• The Intra-PMS sends the jar file to the Inter-PMS after serialization;
• The Inter-PMS delivers the agent to the platform 2.

4.3 Hello Agent Execution

• The AMS "de-serializes" the .jar file;


• The platform asks the AMS to create Hello Agent;
• The AMS creates the agent;
• The Hello Agent is moved to the main container;
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution 263

• The afterMove () method is enabled;


• The agent displays "Hello".
In mobility between containers, only the agent data are sent to the destination
container, class files are transferred on demand. This approach is effective in terms of
amount of data transferred, but the problem is that the agent execution is highly
dependent on the reliability of network connections. If the connection to the receiving
container is lost while running the agent, one could not know whether a needed class
was successfully downloaded from the source container or not. The solution we
adopted in our implementation is to apply a "one-shot strategy”, where all the data as
well the code that the agent will need are transferred. The migrant agent passes the
Intra-platform filter that will generate the .jar file. In case of local destination the
agent is directly moved else, in case of a cross platform destination it is transferred to
the Inter-Service Platform.
When an agent wants to move, a message is constructed in the ACL code. The
remote platform uses this information to execute and inform the agent of the origin
platform if the agent has been properly restored or if an error occurred. In the latter
case the migration process is canceled and the agent execution is restored in the host
platform.

5 Operation of the System


At system start, Interface Agent displays the GUI and waits for user intervention. The
analysis module (Analyzer Agent) performs the network analysis by sending multiple
requests and forwards the result to the Blackboard (Informer Agent). Interface Agent
draws the topology and the nodes of the broadcast domain, as well as their ability to
communicate regarding the data collected by Informer Agent.

Fig. 4. Screenshots of analysis interface before( left) and after (right)

The user may choose to reconfigure a remote non-communicating machine showed


by a cross in the interface (Fig. 5, left). Resolver Agent is then started and sent with
the Blackboard parameters (automatic) or user parameters (manual configuration).
264 S. Boucherkha and M.N. Djeghri

Resolver Agent performs its task and reports the result. If the user has choose the
automatic resolution, Analyzer Agent, after completing its analysis, initializes
Resolver Agent which migrates towards the target and reconfigures the addressing
(Fig. 4, right).
Following this, Analyzer Agent will attempt to contact Resolver Agent on the other
platform through an ACL message based on HTTP-MPT protocol. In case where
Resolver Agent succeeds his mission, he orders him to destroy itself.

Fig. 5. Screenshots of resolution interface before (left) and after (right)

6 Conclusion
In this paper, we showed that it is possible to consider network management and
resolution of addressing problems through a multi-agent system.
The proposed system enables an intelligent and autonomous IP addressing
correction which is ensured by the intervention of logical agents, greatly reducing the
human efforts and response times.
The prototype of the proposed MAS was developed and tested by numerous
simulations. Four PCs connected via a 10 Mb/s TCP/IP Ethernet network have been
used to simulate a 4-nodes bus centered on a single switch. The system responded to
all testing scenarios.
The use of JADE as a development platform facilitated the implementation of the
agents. In addition to its rich library, it provides very effective control.
Future work concerns more simulation regarding time and resources requirements
of the system’s operation, as well as about the system’s stability.

References
1. Comer, D.: TCP/IP- Architecture, protocols & applications, 5th edn. Pearson Education
Editions, London (2009)
2. Nordman, M., Lehtonen, M.: An agent concept for managing electrical distribution
networks. IEEE Trans. Power Delivery 20(2), 696–703 (2005)
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution 265

3. Choudhury, R., Krishna, P., Bandyopadhyay, S.: MARP: A Multi-Agent Routing Protocol
for Mobile Wireless Ad Hoc Networks. Springer Journal of Autonomous Agents and
Multi-Agent Systems 8(1), 47–68 (2004)
4. Subramanian, M., Gonsalves, T.A., Rani, N.U.: Network Management: Principles and
Practice. Pearson Education, India (2010)
5. JADE Platform: Java Agent Development Framework (2000),
http://jade.tilab.com/
6. Bellifemine, F.L., Caire, G., Greenwood, D.: Developing Multi-Agent Systems with
JADE. Wiley, Chichester (2007)
7. Griffin, D., Pavlou, G., Georgatsos, P.: Providing Customisable Network Management
Services Through Mobile Agents. In: Delgado, J., Mullery, A., Start, K. (eds.) IS&N 2000.
LNCS, vol. 1774. Springer, Heidelberg (2000)
8. Charpentier, M., Padiou, G., Quéinnec, P.: Cooperative mobile agents to gather global
information. In: 4th IEEE Int’l Symposium on Network Computing and Applications,
pp. 271–274 (2005)
9. Bouzeraa, F.: Agents Mobiles et Systèmes Distribués. Rapport interne, UFR Informatique,
UCB Lyon 1, Villeurbanne – France (2009)
10. Nagata, T., Sasaki, H.: A multi-agent approach to power system restoration. IEEE Trans.
Power Systems 17(2), 457–462 (2002)
11. Wright, T.: Naming Services in Multi-Agent Systems: A Design for Agent-based White
Pages. In: Proceedings of the Third International Joint Conference on Autonomous Agents
and Multi-agent Systems, New York, vol. 3, pp. 1478–1479 (2004)
Adaptive QoS Resource Management by Using
Hierarchical Distributed Classification for Future
Generation Networks

Simon Fong

Faculty of Science and Technology


University of Macau, Macau SAR
[email protected]

Abstract. With the arrivals of 3G/4G mobile networks, a diverse and new range
of applications will proliferate, including video-on-demand, mobile-commerce
and ubiquitous computing. It is expected a sizable proportion of these traffics
move along the networks. Resources in the networks will have to be divided
between voice support and data support. For the data support, multiple classes
of services from the new mobile applications that have different requirements
have to be monitored and managed efficiently. Traditionally Quality-of-Service
(QoS) resource management was done by manual estimation of resources to be
allocated in traffic profiles in GSM/GPRS environment. The resource
allocations parameters are adjusted only after some period of time. In this
paper, we propose a QoS resource allocation model that dynamically monitors
every aspect of the network environment according to a hierarchy of QoS
requirements. The model can derive knowledge of the network operation, and
may even pinpoint the cause, should any anomaly occurs or malfunctions in the
network. This is enabled by a hierarchy of classifiers or decision-trees, built
stream-mining technology. The knowledge from the classifiers is inferred by
using reasoning-of-evidence theory, and it is used for subsequent resource
allocation. By this way, the resources in the network will be more dynamically
and accurately adjusted, and responsive to the fluctuating traffic demands.

Keywords: QoS, Resource Management, Hierarchical Classifiers, Stream-


mining.

1 Introduction
In the advent of 3G deployments and convergence of 4G mobile and wireless
networks, a new breed of mobile applications emerged and their popularity increased
at exponential rate. By the time of September 2010, Apple’s App Store has reached
260,000 apps for iPhone (source: kenyarmosh.com). This diversity of mobile
applications demands on underlying resources from the networks. The demands shift
dramatically both in amount, and in distributed manner in spatial-temporal contexts.
Such demands are often tied with the term Quality-of-service (QoS) which is a
generic term referring to a range of parameters and mechanisms targeted at

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 266–278, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 267

provisioning network users with a satisfactory level or guarantee of consistency in the


delivery services they receive from the network. Supporting QoS for mobile users has
always been an important area of research in mobile networks. In the past, most of the
research efforts were focused on the connection level of resource allocations; areas of
traditional QoS support methods, for example, admission control [1], scheduled
resource allocation methods [2] and use of mobility and user characteristics [3] have
been studied. Issues of QoS with respect to 3G networks and optimum resource
allocation for multimedia traffic have been discussed by [4] and [5] respectively.
In particular, the authors [6] stressed that specific QoS metrics are needed to
represent adequately the ability of wireless networks to support mobile commerce
transactions. The need could be generalized to other resource-demanding applications
that generate and receive packet data in the network other than voice services. In
response to the challenging issue of managing QoS, we in our previous work [7] has
proposed a data-mining model which optimized the traffic profiles by analyzing the
collected traffic statistics from the network. Radio planners consult the data-mining
results for doing the optimization over the traffic profiles, such as how the proportion
between channels to be allocated to voice and data traffic usage should be, and Erlang
calculation for forecasting the anticipated loads etc.
In GSM UMT, resource allocation was programmed; adjustment was not on the
fly. Manual adjustment may be suitable for medium- or long- term network resource
management. Upon the arrival of 3G and 4G services, we desire to have the resources
be adjusted dynamically and more flexibly, in response to the actual situations of the
network environment and the ever-changing users’ workloads.
Resources in UMT are represented in specific parameters. The values of the
parameters, although being collected and monitored, may not have a clear connection
to the final perceived output of the users. In other words, a high level performance
parameter may be a result of composite variables which span across various levels of
technical communication structures. For example, a delay resulted from the
acknowledgement of an m-commerce transaction may due to a net of reasons, and
sometimes the reasons are implicit. Similarly a dropped call in the connection level
may be due to a composite set of reasons in the underlying network. It is therefore
desirable to string the QoS across the underlying layers of the protocols. So that more
specific reasons and causes could be known, that would be useful for troubleshooting.
Four QoS classes, conversational, streaming, interactive and background have been
defined in the Third Generation Partnership Project (3GPP) in order to meet the new
requirements. Another standard called ANWIRE grouping maps the user
requirements into system concepts, grouped together in the categories of 3G systems,
in a structural manner from user end-device to network and services [8]. Currently,
the QoS terms and standards made available up-to-date are represented by a static
structure. For example of ANWIRE has a static mapping of user requirements. User
requirements are grouped according to different perspectives and metrics – user
interface, access, security, contents, mobility and billing. The structure is layered and
hierarchical in nature. The layers are logically placed from high to low level, similar
to classical OSI protocol stack – requirements of user applications are on top, systems
and network-oriented requirements are in the middle, and those of the underlying
communication media are at the bottom. Those so-called QoS standards serve
268 S. Fong

however largely as references for implementers who want to design a QoS manager
over the network operations as well as the applications running on top.
In this paper, we propose a dynamic QoS management model that adapts to the
current situations of the network. The model is based on real-time parameters
currently being reflected from the network, which is an advantage over the other
models. The parameters are measured and collected from a net of sensors distributed
in various parts of the whole communication infrastructure. As a result negotiation of
QoS between layers can be more precise. We know also precisely which components
and where the network in the context of QoS structure deviate from the normal,
should anything was perceived inadequate in the top level applications.
Our model is composed of a hierarchy of classifiers, namely cascading classifiers,
for governing the QoS parameters in the entire communication network architecture.
The classifiers are constructed pertaining to each layer of the QoS communication
architecture. The most bottom layer of the classifiers intake the most specific
technical parameters in the lowest layer of the network. The individual classifiers
from all layers form a global classifier that can be viewed as a flat classifier. However
hierarchical classifiers have the advantages that different parts of the classifiers can be
operated independently, covering almost all the measurable metrics of the
communication network and services. In situations where a high level QoS
negotiation takes place that requires a set of underlying components to agree on the
service requirements the individual classifiers would serve as performance indicator
for decision supports.
The paper is organized in this way: The overall hierarchical QoS model is shown in
Section 2, depicting which network communication parameters would be grouped
together. Section 3 discusses about a framework for hierarchical classifiers as a
general model upon which actual network communication QoS can be mapped. Some
evaluation experiments were done under this the framework and the results are
presented in Section 4. A conclusion is drawn at the final section.

2 Hierarchical QoS Model

2.1 Resource Management in Mobile Network

Mobile networks rely on trunking to accommodate a large number of users in a


limited radio spectrum. The channels or circuits uses trunking theories to determine
the number of phone circuits that need to be allocated for fixed locations (office
buildings) with certain amount of telephones, and the same principle is used for
designing mobile network. In order to design an efficient trucked radio system that
can handle a specific capacity at a specific ‘grade-of-service’ (GOS) trunking theory
and queuing theories are used, and the performance would have to be constantly
monitored. GOS is a measure of the ability of user to access a trunked system during
the busiest hour. Radio planners need to forecast an upper limit of capacity and to
allocate certain number of channels so to meet the GOS. Traditionally GOS is defined
as the probability that a call would be blocked, or the chance of a call experiencing a
delay longer than the normal queuing time. Also radio frequency planner only uses a
constant GOS value such as 2% or 5% in planning the capacity of the radio network.
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 269

To embrace a new generation of network applications and their demanding


stringent resource usages, GOS that was a prime measure on the grade of service
perceived from a mobile network may no longer be sufficient. A more sophisticated
set of QoS such as ANWIRE as recently proposed would be needed to map over the
physical network. In the later section, a hierarchical QoS model is introduced that
covers through several layers of functions and parameters for referencing the current
performance of a mobile application service (including the supporting servers and
networks) as a whole.
In our previous paper [7], data mining techniques were used to find out what the
best design GOS value would be. The so-called best value of GOS for planning the
radio network capacity was calculated from a range of network performance variables
whose values were mined from the historical operational dataset. Using data mining it
can find a best fitted GOS, and the related TCH value which can maximize the radio
capacity and utilization while keeping the network in a healthy condition. For using
data mining as an optimization technique on performance estimation, an additional
server called Resource Management and Prediction Server (RRMPS) was added. The
goal of RRMPS is to optimize the system traffic loading for different radio channel
configurations in GSM cell sites.

2.2 The Concept of Layered Model

In our previous design, RRMPS was mainly responsible for taking care of the
resources in the context of the networking infrastructure. It helps answering questions
in the decision of system implementation, such as: How many channels or how much
resources are available for each site/system by the governance of RRMPS.
We expand this model further by incorporating the concept of hierarchy and a wide
coverage of performance parameters, for a complete QoS model (which is not only
centered at traffic channel or resource allocation). Conceptually the QoS model can be
viewed in three layers of performance indicators which are closely inter-related with
each other. For instance, the performance of a mobile commerce application is largely
supported and hence affected by the performance of the related m-commerce servers
as well as the network on which it operates.

Fig. 1. Three layered QoS model


270 S. Fong

Fig. 2. Mapping of the QoS groups on a network architecture

As shown in Figure 1, three groups of QoS parameters namely, QoSAL, QoSSL, and
QoSNIL are conceptually defined; each group of QoS concerns about the performance
metrics pertaining to the layer of functions. The boundary of the QoS groups are
drawn over the respective hardware and parts of network design (including the
RRMPS and mobile-payment server [9]) for illustrative purpose in Figure 2. QoSNIL
concerns the operations of the network as a whole infrastructure. QoSSL are measures
mainly based on the corresponding computer servers that includes both the hardware,
software, the operating systems and running processes) for supporting the user-level
applications whose QoS are defined in QoSAL.
With this layered hierarchy in place, the measurements of the corresponding
functions as QoS metrics can be grouped and shown in Figure 3. The list in Figure 3
by no means is thoroughly complete as it serves as a demonstrative guide rather than a
full reference, on how a hierarchical QoS model would look like.

3 Cascading Classifiers
For practical realization of the hierarchical QoS model which has the QoS metrics
divided in multiple layers, a variant of data mining technique called Cascading
Classifiers are needed. A classifier basically is a decision support mechanism that
classifies a set of testing data into one of the predefined classes. The predefined
classes are some nominal levels of quality that take values, e.g. Acceptable or
Unacceptable; Excellent, Average or Poor in terms of service performance.
Depending on the core classification algorithm to be chosen for implementing the
classifier (whether it is a decision-tree or neural network, e.g.), the output could be
either be in discrete nominal classes or a numeric continuous number. In essence, the
classifiers are first trained with historical data, and the trained model could be
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 271

subsequently updated, such that it remembers certain rules and tendency for making a
future prediction when new testing data are submitted upon. So when the classifiers
have been trained and readily put into operation in QoS monitoring, the classifiers
will be able to answer in real-time on whether a request from an upper level could be
fulfilled and will meet the service requirements, given the current conditions of the
network and servers.

Fig. 3. List of performance metrics displayed in a hierarchical QoS model


272 S. Fong

Fig. 4. A comparison of hierarchical classifier and a classifier with a flat hierarchy

Fundamentally, with all the performance metrics and the respective measurements
available, a global classifier can be easily built, which is similar to constructing a
single classifier in a flat hierarchy. By doing so, however, a single answer would be
outputted by the global classifier with the inputs of the all the measurements entered.
The single answer would be the prediction value of the net and final QoS, usually at
the most top level. This violates the concept of the hierarchical QoS model which was
defined in Section 2. It is desirable to know, instead of a singular final output, the
QoS measures and estimated results in each layer, and in each part of the hierarchical
network. Therefore, distributed QoS negotiation and management would be possible
in different places, and that could possibly be automated by using Agents technology.
Consequently this hierarchical QoS design and the cascading classifiers would enable
the blue-prints of the distributed QoS management by Agents and Middleware as
published in [10, 11, 12].
As shown in Figure 4, the shaded boxes represent the leaves of a decision tree
classifier that is a measured value to be inputted to the classifier. In our case, the
leaves are the individual measurement from the network, servers and applications.
The leaves are the nodes at the bottom level in a decision tree. In the flat hierarchy,
each of these leaves is used as inputs to the classifier. However, for hierarchical
classifier there are some intermediate nodes in white color as shown in Figure 4.
Some inductive reasoning technique is required to derive the values as prediction
output for these nodes given their immediate subordinate nodes and/or leaves.

4 Experiment
In order to overcome this technical challenge, techniques of abstraction and
aggregation in decision trees, as describe in [13] are used. A set of hierarchical
classifier sample data downloaded from UCL repository that is popular among
researchers for evaluating machine learning algorithms, is used in our experiment. We
constructed a small representative of hierarchical decision tree which is not meant to
be exhaustive but it elegantly embraces a hierarchy of certain depth with three typical
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 273

types of intermediate nodes (IN): IN nearest to the root and with direct leaves, IN
below another IN and with direct leaves, and IN between root and another IN. The
IN’s are labeled at N1, N2 and N3 as shown in Figure 5. Figure 5 shows an example
of a hierarchical classifier that has a typical layered structure, and the nodes of the
decision tree are taken from the QoS list for mobile network. This hierarchical
classifier though simple, can be heuristically constructed up into a large spanning
cascaded hierarchical classifier. In a cascaded hierarchical classifier, any hierarchical
classifier can consist of smaller hierarchical classifiers, and it can also be a part of a
larger classifier. In other words, it is scalable and it can potentially grow to infinite
number of layers should the requirements of QoS evolve when future applications and
technologies develop and become an integral part of the whole network. Readers who
are interested in the theoretical formulation and algorithms of building cascading
decision trees are referred to [14] for more details.

Fig. 5. A hierarchical classifier of mobile network QoS’s

In our example as above, the ultimate predicted output is QoSNIL. QoSNIL is a


composite metric that spans across the QOS hierarchy. It is composed of two major
QoS metrics that have been simplified for the sake of experimentation: Service
Integrity and Service Accessibility. These two are the service oriented metrics that in
turn being composed for further metrics, such as quality-of-call related measurements
and network accessibility related measurements respectively.
By the Dempster-Shafer theory which is popular in evidence reasoning, multiple
factors can be pieced together with certain inputs of evidence, contributing to the
certainty of a particular outcome [15]. For the root class as well as other IN’s in this
example, the predicted values are a range of ordinal data, namely Very good, Good,
Acceptable, and Unacceptable. These abstract classes generally imitate those QoS
classes of mobile network communication. When the “factors” which are the values
of the leaves here are being combined, their relative importance commonly called
weights are needed to be estimated. By the nature of decision tree, the weights of
factors towards the IN’s intuitively should be in consistency with those weights of
factors towards the overall output class – the root. The data distribution that
274 S. Fong

ultimately biased towards one of the predicted classes for the root should be the same
for the IN’s. Based on this assumption, we calculate the relative weights for the
factors for the whole decision tree as well as for the IN’s by applying popular feature
selection techniques such as Chi-squared, Information Gain, Gain Ratio feature,
ReliefF Ranking and Symmetrical Uncertainty Ranking. In general all these
techniques are for calculating the correlations between the attributes (the factors) and
the predicted class (the roots). The relative importances in terms of weights are
computed by the Dempster-Shafer theory for the IN’s along the direction of
abstraction in the spanning tree. The results are shown in the following Table.

Table 1. Results of weights at different level of nodes calculated by various methods

The results from Table 1 show that Call setup time/delay in general carries the
heaviest weight, followed by call blocking rate, call clarity and call interference. The
results are quite consistent across various correlation computation methods, with
deviation less than 15% in all cases. Chi-square technique is chosen for the
subsequent calculation for the belief that Chi-square is based on Pearson correlation
and is deemed suitable for handling nominal data which is the case in this experiment.
A recent research work [16] has successfully used Dempster-Shafer theory in a
cascading hierarchical classifier that was constructed by a spanning tree of neural
network. In our experiment, we geared towards a flexible QoS model hence several
classical machine learning algorithms for building the classifiers was attempted. The
algorithms are: RepTree, M5P, Multilayer Perception and Linear Regression. These
algorithms can be found from an open-source data mining package called Weka.
RepTree is a quick decision tree learner. It builds a decision tree using information
gain and prunes the resultant tree using back-fitting. In our experiment, RepTree
achieved the lowest prediction accuracy (hence the best accuracy performance)
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 275

among all. M5P, on the other hand, adds linear regression functions to a conventional
decision tree at the nodes. Our experiment results show that M5P can achieve a more
compact decision tree compared to RepTree.
Multilayer Perception is essentially a neural network algorithm with multiple
layers of neurons for learning non-linear data patterns. In our experiment setting, all
nodes including the root possess of linear class range (from very acceptable to
unacceptable), plus the data distribution might also be linear. It suffered a high
prediction error rate. Inclusion of Multilayer Perception is for the reason that to
demonstrate it is possible to replicate the model by [16] for mobile network QoS. A
lot of efforts however would be expected in fine-tuning the neural network settings
for better accuracy. Linear Regression is the worst performer in the comparison
because of the potentially high data dimensionality in the QoS framework, i.e., many
attributes might be used collectively to predict a higher QoS result.
Of all the algorithms, except Linear Regression, we can observe that generally a
high degree of correlation between the attributes and the prediction target was yielded
(ranging from 0.8969 to 0.9763). That means the distribution of the relative
importance among the attributes or factors is quite well. As the results shown in Table
2, we repeated the same prediction performance evaluation experiment for abstract
layers, n-1 and n-2. At level n which is the bottom level, all the leaves were used as
attributes in the classifier and the classifier would perform as if it was a global
classifier with a flat hierarchy. In level n-1, the attribute Call setup time, plus IN#1
Service Integrity and IN#2 Network accessibility, are used in the classification test. In
level n-2, the most abstract level in this case, IN#1 and IN#3 Service accessibility are
used in the classification test. All tests are pivoted at predicting the target class at the
root which is the overall QoS of the network layer. RepTree outperformed the others
for the classification tests at the abstract levels. Again, RepTree showed that the
correlation net values at the abstract level are 0.997 and 0.993 respectively. That
means the statistical relations between the attributes to the root target class are very
stable even in the case of using cascading classifiers.

Table 2. Classification tests by using different algorithms at different abstract levels

Lastly we want to test the performance of the individual classifiers in the QoS
hierarchy. Specifically, the individual classifiers are taken independently with the
IN#1, IN#2 and IN#3 as the root of the respective classifiers. For instance, we have a
separate classifier with the Service integrity as the target class with only the two
276 S. Fong

attributes Call clarity and Call interference. Likewise is for IN#2 and IN#3 where
only the intermediate sub-ordinate attributes or nodes are used as inputs. The purpose
of testing classifiers individually is to verify the hypothesis that the embedding
classifier within a hierarchical classifier still works well and can achieve high
classification accuracy.
For this round, the classification tests are repeated for individual decision trees
headed by IN#1, IN#2, and IN#3. The results are shown in Table 3. The accuracies
are relatively very high for the individual classifiers. In particular, Linear Regression
succeeded with error-free because the individual classifiers are small and have no
intermediate step. This set of tests shows embedding classifiers can possibly function
independently and individually. At the same time, it is possible too to apply them
operate collectively as building blocks for a larger hierarchical classifier. This is
important because in distributed QoS management environment, it may be desirable
to deploy local monitors at dispersed locations or spots of the network. Local QoS
monitors can function independently for checking their specific aspects of the QoS, at
the same time they can be jointly work together as a hierarchical classifier.

Table 3. Classification tests by using different algorithms at individual local classifiers

5 Conclusion
For the future generation of network applications, resource management becomes
more complex. The recent QoS specification by ANWIRE that maps a variety of
users requirement to technical operational parameters naturally possess a hierarchy of
functions. Hence a new breed of QoS monitoring and management framework would
preferably take the shape of hierarchy like a spanning tree that covers all the functions
in conceptual layers, from applications to underlying network communication. Such
that available resources and the conditions of the network would be known in real-
time, and QoS decisions could be made adaptively to the fluctuating demands of the
users. In this paper, a novel QoS model was proposed that was built on cascading
classifiers in a hierarchical tree. An example of QoS mapping was given as a
reference guide, also the performance of the classifiers both global and local
individuals were tested. The results show that it is computationally feasible to use this
hierarchical QoS classification model. To summarize, this paper has two main
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification 277

contributions. First, it presents a model of hierarchical classification, discussing the


main approaches and different techniques developed for solving the relevant
challenges. Second, it discusses how this model of hierarchical classification could be
applied to a very challenging and important problem in supporting mobile commerce
and 3G/4G new applications, namely the dynamic resource allocations via using QoS
classifiers for decision making.

References
1. Levine, D.A., Akyildiz, I.F., Naghshineh, M.: A Resource Estimation and Call Admission
Algorithm for Wireless Multimedia Networks Using the Shadow Cluster Concept.
IEEE/ACM Transactions on Networking (5) (1997)
2. El-Kadi, M., Olariu, S., Abdel-Wahab, H.: A Rate-based Borrowing Scheme for QoS
Provisioning in Multimedia Wireless Networks. IEEE Transactions of Parallel and
Distributed Systems (13) (2002)
3. Ye, J., Hou, J., Papavassiliou, S.: Comprehensive Resource Management Framework for
Next Generation Wireless Networks. IEEE Transactions on Mobile Computing 4(1),
249–264 (2002)
4. Maniatis, S., Nikolouzou, E., Venieris, I.: QoS Issues in the Converged 3G Wireless and
Wired Networks. IEEE Communications Magazine 8(40), 44–53 (2002)
5. Chen, H., Zeng, Q.-A., Agrawal, D.P.: A Novel Analytical Model for Optimal Channel
Partitioning in the Next Generation integrated Wireless and Mobile Networks. In:
Proceedings of the 5th ACM International Workshop on Modeling Analysis and
Simulation of Wireless and Mobile Systems, pp. 120–127 (2002)
6. Ahluwalia, P., Varshney, U.: A Link and Network Layer Approach To Support Mobile
Commerce Transactions. In: IEEE 58th Vehicular Technology Conference, vol. (5),
pp. 3410–3414 (2003)
7. Lai, E., Fong, S., Hang, Y.: Supporting Mobile Payment QOS by Data Mining GSM
Network Traffic. In: The 10th International Conference on Information Integration and
Web-based Applications & Services (iiWAS 2008), Linz, Austria, November 24-26,
pp. 279–285. ACM, New York (2008) ISBN:978-1-60558-349-5
8. User requirements for next generation networks, D1.1.1, IST-2001-38835 ANWIRE
(November 2002)
9. Fong, S., Lai, E.: Mobile mini-payment scheme using SMS-credit. In: Gervasi, O.,
Gavrilova, M.L., Kumar, V., Laganá, A., Lee, H.P., Mun, Y., Taniar, D., Tan, C.J.K. (eds.)
ICCSA 2005. LNCS, vol. 3481, pp. 1106–1116. Springer, Heidelberg (2005)
10. Kosuga, M., Yamazaki, T., Ogino, N., Matsuda, J.: Adaptive QoS management using
layered multi-agent system for distributed multimedia applications. In: International
Conference on Parallel Processing, Japan, pp. 388–394 (1999)
11. Ecklund, D.J., Goebel, V., Plagemann, T., Ecklund Jr., E.F.: Dynamic end-to-end QoS
management middleware for distributed multimedia systems. Special Issue on Multimedia
Middleware, Multimedia Systems 8(5), 431–442
12. Nguyen, X.T.: Agent-Based QoS Management for Web Service Compositions, PhD
Thesis, Swinburne University of Technology, Australia (June 2008)
13. Fong, S., Tang, A.: A Taxonomy-based Classification Model by Using Abtraction and
Aggregation. In: The 2nd International Conference on Data Mining and Intelligent
Information Technology Applications (ICMIA 2010), Seoul, Korea, November 30-
December 2, pp. 448–454 (2010)
278 S. Fong

14. García-Borroto, M., Martínez-Trinidad, J.F., Carrasco-Ochoa, J.A.: Cascading an


emerging pattern based classifier. In: Martínez-Trinidad, J.F., Carrasco-Ochoa, J.A.,
Kittler, J. (eds.) MCPR 2010. LNCS, vol. 6256, pp. 240–249. Springer, Heidelberg (2010)
15. Sentz, K., Ferson, S.: Combination of Evidence in Dempster-Shafer Theory. In: SAND
2002-0835, pp.3–96 (April 2002)
16. Fay, R., Schwenker, F., Thiel, C., Palm, G.: Hierarchical neural networks utilising
dempster-shafer evidence theory. In: Schwenker, F., Marinai, S. (eds.) ANNPR 2006.
LNCS (LNAI), vol. 4087, pp. 198–209. Springer, Heidelberg (2006)
0.18um CMOS Technology in Implementation of S
Box and a Modified S Box

K. Rahimunnisa1,*, K. Rajeshkumar2,*, and S. Sureshkumar3,*


1
Dept. of ECE, Karunya University
[email protected]
2
[email protected]
3
Dept of EEE, Karunya University
India
[email protected]

Abstract. Cryptographic algorithms are the most essential elements in


designing the system security. Though there are numerous encryption systems
used in security systems by various organizations, for the wider use, a particular
encryption method is used as a standard. The internationally accepted and
acclaimed algorithm is Advanced Encryption Standard. Here in this paper we
have implemented the Advanced Encryption Standard (AES) using hardware
descriptive language (HDL) and constructed a modified S-box. Area and power
of both S boxes are compared and their resistance to attack is also analyzed.

Keywords: Encryption, AES, HDL, SBox.

1 Introduction
The National Institute of Standards and Technology (NIST) is a measurement
standars laboratory of U.S federal agency. In order to establish Information Security,
NIST sets the encryption standards under Federal Information Processing Standards
(FIPS). On 26th November, 2001 NIST announced the Advanced Encryption Standard
(AES) in FIPS 197 [1]. AES adopted the Rijndael Cipher, which was proposed by
Joan Daemen and Vincent Rijmen as the algorithm for AES. Even till date AES is
one of the most popular algorithms used in symmetric key cryptography.
The Advanced Encryption Standard algorithm uses the Rijndael encryption
algorithm, but it uses the keys of varying length like 128, 192, 256 bits. AES
algorithm is a symmetrical encryption algorithm, which has the same encryption and
decryption key. The plain text input is 128 bits, and is processed in a 4 by 4 bytes
matrix, with few substitution, permutation and arithmetic operations in finite fields,
like, addition and multiplications in the Galois Field 28 (GF (28)). These sets of
operations in a particular format are named as a round. The number of rounds for
computation is based on the key size. It is 10, 12 or 14 times depending on, whether
the size of the key is 128, 192 or 256 bits. The coding process includes the
manipulation of a 128-bit data block through a series of logical and arithmetic
operations.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 279–287, 2011.
© Springer-Verlag Berlin Heidelberg 2011
280 K. Rahimunnisa, K. Rajeshkumar, and D.S. Sureshkumar

2 Recent Related Works


AES has been the standard Cryptographic algorithm commonly used across the
universe. This is possible only because of its authenticity and its security. Though
many research works have been done on this AES, very few focus on the Sbox of
AES, which acts as the heart of the algorithm. Hiroshi kudou et al.. in [5] presented a
new mutable nonlinear transformation algorithm for AES S-box to enhance the
complexity of the S-Box’s structure called M_S-box .To improve the complexity of
M_S-box’ algorithm, the M_S-box structure has used a dynamic nonlinear
transformation method and combined with linear function. The proposed M_S-box
also uses statistic linear transformations.
J. Mathew et al.. in [8] presents an overhead analysis for designing S-Box and
GF(p) arithmetic blocks. They have used a heuristic gate as well as word-level
synthesis and optimization technique for the analysis. M. M. Wong et al.. in [13]
gives a detailed study on constructing a high throughput minimal power composite
AES S-box. They have utilized a balanced composite field AES S-box (in terms of
area of implementation and critical path). Zine El Abidine Alaoui Ismaili et al.. in
[10] gives the proposed S-Box another option for hardware implementation other than
composite field to represent Subbyte transformation. It reduces the complexities of
hardware by avoiding the use of multiplicative inverse in Galois field. As compared
to the LUT and composite field, the S-Box resulted in smaller area with medium
delay. The work of Nabihah Ahmad et al.. in [14], is a novel heuristic common
subexpression elimination (CSE) algorithm for binary linear transformation was
presentation. It was demonstrated that CSE algorithm is capable of reducing nearly
half of the original complexity in the binary linear transformations of composite field
AES S-box. The rest of the paper is organized as follows. Section 3 gives the working
of AES and section 4 discusses the method to implement new S Box and linear
cryptanalysis and section 5 gives the power and area analysis of both S Boxes.

3 Methodology
For the AES algorithm, the number of bits to be processed at input, and the number of
bits at output and the intermediate states is 128 bits. This is represented as 4*32 bit
words. Here Nb = 4, where Nb is the number of 32-bit words in the State. The length of
the input Key, K is 128, 192, or 256 bits [5]. The key length is represented by Nk can
be either 4 or 6 or 8 based on the number of 32-bit words in the Cipher Key. As
mentioned earlier, the number of rounds to be performed during the execution of the
algorithm is dependent on the key size. The number of rounds is represented by Nr,
where Nr = 10 when Nk = 4, Nr = 12 when Nk = 6, and Nr = 14 when Nk = 8.
The following describes in detail the operation performed by the AES-128
encryption in each round. The input plain text contains the 128-bit data block to be
encrypted. Here the first the data block to be encrypted is split into an array of bytes.
This algorithm is based on round function, and for various bit lengths the number of
times the round function repeats is different. Each round function contains four steps:
SubBytes, ShiftRows, MixColumn and AddRoundKey transformation and each step
has its own particular functionality [10]. The precomputation which is before the first
0.18um CMOS Technology in Implementation of S Box and a Modified S Box 281

Table 1. Key-Block-Round Combinations

Key Number of
AES Block Size
Length Rounds
Version (Nb words)
(Nk words) (Nr)
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14

round has one addround key. Similarly the Nr th round does not have the mix column
operation. All the other rounds of operation has the same steps. This is applicable for
all the versions of AES algorithm.

3.1 Cipher

During the beginning of encryption, the input is copied to the State array. After an
initial Round Key addition, the State array is transformed by implementing a round
function,which consists of SubBytes, ShiftRows, MixColumn and AddRoundKey
transformation, 10, 12, or 14 times (depending on the key length). The final round is
differing slightly from the first Nr -1 rounds. The output of this state is the Cipher
text. The round function uses the key schedule that consists of a one-dimensional
array of four-byte words derived using the Key Expansion routine which is explained
later.

3.1.1 Subbytes Transformation


A 128 bit data input can be written as data blocks of 16 bytes. In this SubBytes
transformation each data byte is converted to another data by using a 8 bit substitution
box called the S-box. Designing the Sbox is the most complex design as it has to
satisfy nonlinearity conditions and is constructed basically by two transformations:
Taking the multiplicative inverse in Galois field and applying affine
transformation.
The Sbox thus formed has a 16 rows and 16 colums. Each value of Sbox is a
Hexadecimal value obtained as the output of affine transformation.

3.1.2 ShiftRows Transformation


Each block of the SBox is in AES is represented by 4 rows and 4 columns. In this
transformation the rows are shifted circularly as described. The first row is not shifted
and it remains as it is. The second row is shifted by 1 byte, left. The third row is
shifted by 2 bytes and the fourth row is shifted by 3 bytes left, circularly. This process
is simple wrapping of the data in the particular format. This ensures more complexity
to track back the data.

3.1.3 MixColumn Transformation


In MixColumns transformation, each column is considered as four-term polynomial.
over the finite field GF (28) and each column is multiplied by modulo x4 + 1 with a
fixed polynomial given by
282 K. Rahimunnisa, K. Rajeshkumar, and D.S. Sureshkumar

{03}x3+{01}x2+{01}x+{02}
Here the addition operation is the XOR function and the multiplication operation is
Galois multiplication.

3.1.4 AddRoundKey Transformation


In this step the output from the previous transformation is simply XORED with the
subkey or the round key. Each of these subkeys is obtained from the initial key after a
several rounds of key expansion or the key scheduling algorithm.

3.1.5 Key Expansion


Each round of AES has a particular operation called add round key. This key is
basically generated from the initial cipher key of 128 bits. This module concatenates
four 8 bit words to generate a 32 bit word W [i]. The steps for key expansion are
shown in Fig 1.

Fig. 1. Key expansion module

4 Creation of New s Box


Based on the various conditions to design a S-box[9], designing an Sbox is difficult
and the security analysis of Sbox becomes more complex. These variations are
possible by choosing one of the irreducible primitive polynomial x8 + x6 + x5 + x + 1.
Based on the work done by V. Ch. Venkaiah and Srinathan Kannan a new Sbox was
designed. The design steps are as follows.
It is designed by composing two transformations:[11]
1. Power of a primitive element in F*257. If the power of the chosen primitive
element is 256, it is treated as 00.
2. Multiplicative inverse in the finite field GF(28).
0.18um CMOS Technology in Implementation of S Box and a Modified S Box 283

A way of realizing this transformation by choosing 3 as the primitive element in F*257


is as follows:

1. Initialize the S – box with the integer values in ascending sequence row by
row. The first row contains {00}, {01}, {02}, …,{0F}; the second row
contains {10}, {11}, etc.; and so on. Thus the value of the byte at row x and
column y is {xy}.
2. Map each byte {xy} in the S – box to an element 3{xy} mod 257, an element
in F*257. For example, if {xy} = {32} then according to this map {32} gets
mapped to 3{32} mod 257 = 350 mod 257 = 18 (decimal) = {12}. But 3{80}
mod 257 = 3128 mod 257 = 256 (decimal) is treated as {00}[15].
3. Map each resulting byte in the S – box to its multiplicative inverse in the
finite field GF(28). {00} gets mapped to itself.
Steps 1 and 3 may be easily identified with the steps 1 and 2 of S – box
construction in [1]. These steps lead to the construction of a new S Box which
is different from the standard S Box.

5 Implementation of S-Box

A standard SBox and Modified S box are implemented in mentor graphics tool with
180 nm technology. The Sbox has the basic component as Multiplexer which is
constructed using CMOS pass transistor logic for its various advantages like low
power and low delay constraints. The implementation of standard S Box , using Pass
transistor logic is shown in Fig 2 and that of modified S Box is shown in Fig 3. It has
been found that the power consumption of these are comparatively lower than the
digital implementation.

Fig. 2. Normal S-box implementation using CMOS pass transistor


284 K. Rahimunnisa, K. Rajeshkumar, and D.S. Sureshkumar

Fig. 3. Modified S-box implementation using CMOS pass transistor

5.1 Analysis of S-Box

Linear cryptanalysis tries to take advantage of high probability occurrences of linear


expressions involving plaintext bits, "cipher text" and sub key bits.
Based on A Tutorial on Linear and Differential Cryptanalysis by Howard M. Heys,
a simple linear and cryptanalysis is done on the standard S box and the new one as
discussed below.
Normally a portion of the cipher is approximated with an expression linear. Here
the linearity stands for the mod 2 bit wise operation. Such an expression is of the
form:
Xi1⊕ Xi2⊕.....⊕ Xiu⊕Yj1⊕ Yj2⊕....⊕ Yjv = 0 (1)
Where Xi represents the i-th bit of the input X and Yj represents the j-th bit of the
output Y.
If randomly selected values for u + v bits are placed into the equation above, the
probability that the expression would hold would be exactly 1/2. The further away
that a linear expression is from holding with a probability of ½ (linear probability
bias), the better the cryptanalyst is able to apply linear cryptanalysis. If the
expression h a s a probability pL for randomly chosen plaintexts and the
corresponding cipher texts, then the probability bias is given by |pL – 1/2|. If this
value of probability bias is higher, better will be the cryptanalysis.
With the assumption that all the random binary variables are independent, the
probability that X1 ⊕ ... ⊕ Xn = 0 holds can be found by using the Piling-Up
Lemma.
0.18um CMOS Technology in Implementation of S Box and a Modified S Box 285

For n independent, random binary variables, X1, X2, ...Xn,

Pr (X1⊕….⊕ XN = 0) = ½ + 2n-1 (2)

or
n-1
1,2,…n = 2 i (3)

Where ε1,2,..,n represents the bias of X1 ⊕ ... ⊕ Xn = 0.


In developing the linear approximation of a cipher, the Xi v a l u e s will actually
represent linear approximations of the S-boxes.

5.1.1 Area Comparison


Fig. 4 gives the area comparison of the two S-boxes. The area of the normal and the
proposed S-Box has been compared and it has been seen that the normal S-Box
comprises of 16 ports, 498nets, 490 cells and 21 references as a total. It has area
occupied as 798 um2 and in the modified S-Box it has been seen that it has 16 ports,
478 nets, 470 cells and as a total it has total cell area of 765 um2.

Fig. 4. Area Comparison of Standard and modified S-Box

5.1.2 Power Comparison


Fig 5 shows the power comparison between normal S-box and modified S-box. The
Net Switching power and dynamic power of S-Box is 137.6804 uW and the modified
S-Box has 132.4501 uW. From the figure it is clear that the modified S-box utilizes
less power.
286 K. Rahimunnisa, K. Rajeshkumar, and D.S. Sureshkumar

Fig. 5. Power Comparison of Standard and modified S-Box

5.1.3 Security Analysis


From (1) and (2) the linear expression for the standard S – Box is
X7⊕Y2⊕Y3⊕Y4⊕Y5=0 or equivalently
X7 =Y2⊕Y3⊕Y4⊕Y5.
Here while examining we have given an input of 256 combination and found that
exactly 127 out of 256 combination are true for the above expression so the
probability bias can be stated as 127/256-1/2 = -1/256 where the minus sign indicate
the best approximation of an affine function.
Similarly from (1) and (2) the linear expression for modified S-Box is
X7⊕Y0⊕Y1⊕Y3⊕Y4⊕Y5⊕Y6=0 or equivalently
X7=Y0⊕Y1⊕Y3⊕Y4⊕Y5⊕Y6
Again in order to check the linear attack of modified S-box given an input of 256
combination and found that exactly 127 out of 256 combination are true for the above
expression so the probability bias can be stated as 127/256-1/2 = -1/256.Hence it is
found that both the modified and standard Sbox have the same resistance to
cryptanalysis.

6 Conclusions
In this paper a comparison has been carried out between standard S Box and the
modified S Box in terms of area and power .The implementations are carried out in
the FPGA platform using the Verilog® Hardware Description Language (HDL) and
the Spartan 2E. The synthesis is done using HDL Designer (Mentor Graphics). The
simulation shows that this design can run at 1.2GHz which is sufficient for online data
encryption. However, it has been seen that both the probability bias are same.
Therefore with same security complexity the area and power are improved
marginally. Analysis of area and power was calculated through Design Vision
0.18um CMOS Technology in Implementation of S Box and a Modified S Box 287

(Synopsys). In future Total AES should be implemented in transistor and layout level
to get out more accurate results.

References
[1] AES page, http://www.nist.gov/CryptoToolkit.4
[2] Lee, A.: NIST Special Publication 800-21, Guideline for Implementing Cryptographyin
the Federal Government, National Institute of Standards and Technology (November
1999)
[3] Gladman’s, B.: AES related home page,
http://fp.gladman.plus.com/cryptography_technology/
[4] Daemen, J., Rijmen, V.: AES Proposal: Rijndael. AES Algorithm Submission, September
3 (1999)
[5] Kudou, H., Nakayama, S.-I., Watanabe, A., Nagase, T., Yoshioka, Y.: A Reconfigurable-
Permutation Algorithm For M_S-Box. IEEE Computer Society, Los Alamitos (2009)
[6] Wang, M.-Y., Su, C.-P., Horng, C.-L., Wu, C.-W., Huang, C.-T.: Single- and Multi-core
Configurable AES Architectures for Flexible Security. IEEE Transactions On Very Large
Scale Integration (VLSI) Systems 18(4) (April 2010)
[7] Mozaffari-Kerman, M., Reyhani-Masoleh, A.: A Lightweight High-Performance Fault
Detection Scheme for the Advanced Encryption Standard Using Composite Fields. IEEE
Transactions On Very Large Scale Integration (VLSI) Systems 19(1) (January 2011)
[8] Mathew, J., Rahaman, H., Jabir, A.M., Mohanty, S.P., Pradhan, D.K.: On the Design of
Different Concurrent EDC Schemes for S-Box and GF(p). In: 11th Int’l Symposium on
Quality Electronic Design (2010)
[9] Stallings, W.: Cryptography and Network Security. Pearson Education, London (2004)
[10] Ismaili, Z.E.A.A., Moussa, A.: Self-Partial and Dynamic Reconfiguration Implementation
for AES using FPGA. IJCSI International Journal of Computer Science Issues 2, 33–40
(2009)
[11] Venkaiah, V.C., Kannan, S.: IIIT Hyderabad Publications (2006)
[12] Heys, H.M.: A Tutorial on Linear and Differential Cryptanalysis
[13] Wong, M.M., Wong, M.L.D.: A High Throughput Low Power Compact AES S-box
Implementation using Composite Field Arithmetic and Algebraic Normal Form
Representation. In: 2nd Asia Symposium on Quality Electronic Design (2010)
[14] Wong, M.M., Wong, M.L.D.: A New Common Subexpression Elimination Algorithm
with Application in Composite Field AES S-BOX. In: 10th International Conference on
Information Science, Signal Processing and their Applications, ISSPA 2010 (2010)
[15] Ahmad, N., Hasan, R., Jubadi, W.M.: Design of AES S-Box using Combinational logic
optimization. In: IEEE Symposium on Industrial Electronics and Applications (ISIEA
2010), Penang, Malaysia, October 3-5 (2010), Appendix: Springer-Author Discount
A Survey of Middleware for Internet of Things

Soma Bandyopadhyay, Munmun Sengupta, Souvik Maiti, and Subhajit Dutta

Innovation Lab
TATA Consultancy Services Ltd.
Kolkata, India
{soma.bandyopadhyay,munmun.sengupta,s.maiti,
subhajit.dutta}@tcs.com

Abstract. This paper provides a survey of middleware system for Internet of


Things (IoT). IoT is considered as a part of future internet and ubiquitous
computing, and it creates a true ubiquitous or smart environment. The
middleware for IoT acts as a bond joining the heterogeneous domains of
applications communicating over heterogeneous interfaces. Comprehensive
review of the existing middleware systems for IoT is provided here to achieve
the better understanding of the current gaps and future directions in this field.
Fundamental functional blocks are proposed for this middleware system, and
based on that a feature wise classification is performed on the existing IoT-
middleware. Open issues are analyzed and our vision on the research scope in
this area is presented.

Keywords: Internet of Things, middleware, semantic model, context-


awareness, ubiquitous computing.

1 Introduction
Internet of Things (IoT) is a combined part of future Internet and ubiquitous
computing. It comprises two definite components Internet and things. Internet is a
global network infrastructure with self configuring, scalable, dynamic expansion
capabilities based on standard and interoperable communication protocols whereas
“things” are physical objects/devices or virtual-objects/devices/information having
identities, physical attributes, and virtual personalities and use intelligent interfaces.
“Things” are heterogeneous in nature and seamlessly integrated into the information
network.
Developing middleware solutions in the domain of IoT is an active area of
research. There have been a lot of researches towards building up this middleware
addressing interoperability across heterogeneous devices serving diverse domains of
applications, adaptation, context awareness, device discovery and management,
scalability, managing a large data volumes and, privacy, security aspects of the said
IoT environment. Therefore there is a strong need to understand how the existing IoT-
middleware systems work and address the different requirements of ubiquity as well
as IoT [14] and [15], and most importantly the existing issues and gaps.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 288–296, 2011.
© Springer-Verlag Berlin Heidelberg 2011
A Survey of Middleware for Internet of Things 289

In this article focus has been given to study the existing IoT-middlewares. They are
categorized and compared as per the various features. The basic building blocks of
IoT-middleware are proposed and discussed. Based on this review existing issues and
gaps, and future research scope are analyzed and discussed.
The remainder of this article is organized as follows. First, the related work in IoT-
middleware is presented, followed by descriptions of the essential functional blocks
of the IoT-middleware system. The feature wise classification of theirs is described in
detail in the next section. The final section concludes this article with future research
scope, and analyzes the gaps of the existing IoT-middleware system.

2 Related Work
The common goal of all the middleware development initiatives is to develop a
framework which can enable an adaptation layer in a plug-n-play mode. In recent
past, there have been many reviews have been made on different middleware, and on
their basic features to support the important needs of the respective domains.
Various kinds of middlewares based on their supported functionalities like
adaptability, context-awareness and application domains like Wireless Sensor
Network (WSN), Radio Frequency Identification (RFID) are surveyed. The surveys
performed in [4] and [5] have studied the middleware based on context-awareness
feature. The survey in [4] is based on the architectural aspects and provides taxonomy
of the features of a generic context-aware middleware. Survey reported in [5]
evaluates several context-aware architectures based on some relevant criteria from
ubiquitous or pervasive computing perspective. In [6] middleware for WSN has been
reviewed and a detailed analysis of the approaches and techniques offered by the
middleware to meet the requirements of the WSN has been presented. It also
discusses generic components of the middleware and reference model of WSN based
middleware. In [7], middleware for WSN has been classified depending on their
approaches, which can be database oriented, tuple space approaches, event based and
service discovery based approaches [13]. It also narrates the challenges of WSN
middleware and provides some suggestions for solving them. In [8] middleware has
been surveyed from adaptability perspective. This review also presents taxonomy for
adaptive middlewares, their application domains and provides details for one of each
middleware categories.
The survey presented here lists the overall features supported by the existing
middleware in the IoT domain, with the proposal of the functional components IoT-
middleware supposed to have, whereas the rest of the surveys depict how efficiently a
particular feature is implemented in the middleware other than IoT domain. This is
the basic difference between the present and the rest of the works. The present survey
also analyses the issues and gaps on the existing middleware of IoT and explores the
way forward on research scope.

3 Functional Blocks
Middleware for IoT is required for various reasons. The summary of reasons is as
follows:
290 S. Bandyopadhyay et al.

• Difficult to define and enforce a common standard among all the diverse
devices belonging to diverse domain in IoT.
• Middleware acts as a bond joining the heterogeneous components together.
• Applications of diverse domains demand abstraction /adaptation layer.
• Middleware provides API (application programming interfacing) for
physical layer communications, and required services to the applications,
hiding all the details of diversity.
The above stated reasons generate the need for various functional components the
IoT-middleware must support. The functional components of the middleware as
proposed here are portrayed in the current section. The functional component of an
IoT-middleware is depicted in Fig. 1. The inner most circle shows the required
functional blocks. The second circle encompasses the further division of the
functional blocks, and the outermost circle shows the important modules interacting
with the various functional components, but not part of the middleware – example
context processing, data storage and knowledge database. The functional components
are as follows:
• Interoperation
• Context detection
• Device discovery and management
• Security and privacy
• Managing data volume

Fig. 1. Functional Components of IoT-Middleware

Functional components are discussed in the following subsections.


A Survey of Middleware for Internet of Things 291

3.1 Interoperation

Interoperation shares information and uses the same across diverse domains of
applications using diverse communication interfaces. It can be further classified under
three different categories like network, syntactic and semantics [11]. Network
interoperation defines protocols for exchanging information among the various things
across different communication networks, without considering the content of
information. It covers the basic connectivity issues in physical and data-link to
network, transport, session and sometimes application layer of TCP/IP stack.
Syntactic interoperation deals with the format and structure of the encoding of the
information exchanged among things. It includes the presentation and application of
TCP/IP stack. Semantic interoperation defines the rules for understanding the
meaning of the content of information, and creates a domain specific information
model, known as semantic model.
IoT-middleware exposes multiple APIs to perform these interoperation
functionalities. SOA-based architecture [9], [18] and Ubiquitous Service-Discovery
Service (ubiSD-S) [22] are some of the common approaches adapted by the available
IoT-middlewares for semantic interoperation whereas Home Audio/Video
Interoperability (HAVi) [3] addresses network interoperation.

3.2 Context Detection

Context is responsible for characterizing the situation of an entity where an entity can
be person, place, or object relevant to the interaction between a user and an
application, including the user and applications themselves. IoT-middleware must be
context aware for working into smart environments. Context awareness can be
achieved by context detection and context processing. Context detection collects data
and identifies the factors that have significant impacts on the response. Context
processing extracts the context data, processes it and performs or takes decision based
on that. Both these functional modules are depicted in Fig. 1. A knowledge database
is required for setting up a closed feedback path between these blocks to evaluate the
effectiveness of context-aware systems and make some possible improvements.
Among these, context-detection is a core component of IoT-middleware. The other
two functional blocks residing outside the core components of IoT-middleware are
mostly interacting with the IoT applications. Context detection and context processing
have been implemented in different ways in existing IoT-middlewares.
Each service supported by the middleware [9] can be registered with a context-
dependent identifier. The context-dependent identifier gets changed with the change
in end-point mobility. The network manager would maintain a data-structure like
IDTable with the information of identifiers [10].
The middleware described in [11] performs context detection by collecting
information from the sensor devices and extracts required context data by utilizing
available data mining algorithms.
Another approach towards context detection is incorporating semantic context-
aware multimodal visualization approach [1]. This will enable users not only to get
just raw data, but also information relevant to a particular context and also
292 S. Bandyopadhyay et al.

visualization in an adequate way. This type of framework contains context-aware


A2H (Agent-to-Human) interaction which is termed as 4i (For Eye) technology.
Optimized message communication between middleware users can be another
notion of context awareness [12] where any event-response can first understand the
intended recipient and can communicate among them.

3.3 Device Discovery and Management

Device discovery and management enables any device in the IoT network to detect all
its neighboring devices and make its presence known to each neighbor in the network.
Device ontology [26] is used for storing information about the heterogeneous devices.
From IoT perspective, these modules need to be reliable, fault-tolerant, adaptive and
optimized for resource consumption [21]. Few techniques adopted for device
discovery and management of device information are listed below:
The middleware described in [16], [8], [9], uses semantic Model Driven
Architecture (MDA) which describes device ontology (developed using Web
Ontology Language (OWL)) and its usage in design time and run time. It introduces
concept of semantic devices which are software representation of physical devices.
Mapping of physical devices to semantic devices can be one-to-one or many-to-one
depending on the application. Semantic device description includes information
regarding device capabilities, services, and device malfunction and security
properties. New devices can be included into the device ontology by adding sub-
classes depending on specialized concepts and new properties.
P2P (Point-to-Point) discovery is supported in various middleware systems.
Middlewares described in [1] and [16] adopt this technique. As described in [12],
peer-to-peer architecture is used in a system where devices support self-configurable
services and scalability from tiny embedded devices to heterogeneous P2P networked
systems.
Using device ontology, sensor nodes are abstracted as virtual sensor node in
middleware described in [2]. The virtual abstracted unit contains metadata used for
identification and discovery of sensor nodes. It also contains information regarding
the data stream, functional properties related to lifecycle management etc. Concept of
hardware abstraction layer which creates new adaptor when newer devices are added
to the network is described in [13].
Agent based architecture is used in middleware where it is assumed that agents
are associated with all devices in the network [1] and [11]. Here directory facilitator
node helps one agent to find other suitable agent/agents. Middleware in [11] includes
agents for managing the repository of roles and scenarios encoded in RDF (Resource
Description Framework)-based Semantic Agent Programming Language (S-APL)
[24]. Semantic adapter layer is a key feature of this middleware.
Service discovery based approach is used to find services available in the system
and then correspondingly binding to that target provider Middleware described in [22]
introduces a service discovery protocol called ubiquitous Service-Discovery Service
(ubiSD-S) which provides dynamic, interoperable, context-aware service discovery.
The middleware mentioned in [3] uses devices profile for Web Services (WS) which
includes WS-Addressing, WS-Discovery, WS-Metadata exchange, and WS-Eventing
for devices. The framework also includes device metadata management, and device
A Survey of Middleware for Internet of Things 293

lifecycle management containing information regarding the various devices in the


network.
The middleware described in [18] incorporates monitoring and inventory module
which includes discovery sub-module. Discovery sub-module helps to find devices
present on a network and retrieve information about them and their hosted services.
Monitoring and inventory module also includes device monitor for storing
information regarding the devices, device repository for storing type of devices, and
middleware historian for logging event archive, debug message archive, etc. in the
knowledge database.

3.4 Security and Privacy

Security and privacy are responsible for confidentiality, authenticity, and non-
repudiation. Security can be implemented in two ways – (i) secure high-level peer
communication which enables higher layer to communicate among peers in a secure
and abstract way and (ii) secure topology management which deals with the
authentication of new peers, permissions to access the network and protection of
routing information exchanged in the network.
Security has been considered in all the functional blocks of the existing IoT-
middleware, from the user level application to the various parts of the functional
blocks [12] with a view to build a trustworthy design [9] and [10]. Other approaches to
implement security and privacy in IoT-middleware are semantic ontology-based
approach to build a universal trust management system [11], device authentication
[18], integrity service and access control [2].

3.5 Managing Data Volumes

Managing data volumes is an integral part of IoT-middleware. It is believed that there


will be trillions of objects which will be part of this enormous network and hundreds
of Exabytes [20] will be stored or exchanged among the objects. In other words there
will be “Exaflood” or “Data deluge”, i.e. explosion of the amount of data collected
and exchanged. Therefore it is imperative to get novel methods to find, fetch, and
transfer data. Here challenges involve in querying, indexing, process modeling, and
transaction handling. These data can be identification data, positional data,
environmental data, historical data and descriptive data as presented in [23]. That is
why managing these voluminous data is an important module of IoT-middleware. In
addition storage and knowledge database plays an assistive role to the module as
depicted in Fig. 1. The data volume management of various IoT-middlewares is
discussed in the following sections.
In [10] and [19] the Storage Manager module realizes the persistent storage and
administration of information in the middleware. It can integrate any kind of storage
into the middleware, address those storages as virtual devices and stores the data as
string. The main constraint of this middleware is that the storage device should also
be running the same middleware. On the other hand, in [17] there is an existence of a
RDBMS (Relational Data Base Management System). The Information Sharing
Module of the middleware is responsible for collecting, filtering, storing and
extracting queried data from the database.
294 S. Bandyopadhyay et al.

The agents in middleware, as proposed in [11], acquire knowledge by utilizing


available data mining algorithms and dynamically reconfigure the data management
architecture on the basis of this knowledge. These agents infer (also collaboratively)
new configuration plan based on this acquired knowledge. Whereas in [2], storage
layer is in-charge of providing and managing persistent storage for data streams.
Query processing is done by the Query Manager (QM) which includes the query
processor and query repository for efficient management of the data. The notification
manager handles the delivery of events and query-results to the registered clients.

4 Classification of the IoT-Middleware


This section classifies the different IoT-middleware based on the various features like
interoperation, device management, platform portability, context awareness, security
and privacy. Table 1 depicts the classifications of various IoT-middleware systems.

Table 1. IoT-middleware comparison

Features of Middleware
IoT Security
Middleware Device Platform Context
Interoperation and
Management Portability Awareness
Privacy
HYDRA
ISMB
ASPIRE
UBIWARE
UBISOAP
UBIROAD
GSN
SMEPP
SOCRADES
SIRENA

All the listed middlewares support device discovery and management. Context
aware functionality is supported by HYDRA, UBIWARE, UBIROAD and SMEPP.
On the other hand, SOCRADES, SMEPP, GSN, UBIROAD and HYDRA are some
examples of middleware implementing security and user privacy in their architecture.
Based on platform portability, HYDRA, SMEPP and ASPIRE are OSGi compliant,
UBIROAD uses JAVA and XML, UBISOAP uses J2SE and J2ME, GSN uses XML
and SQL, SIRENA and SOCRADES use DPWS while SOCRADES also uses SAP
NetWeaver [25] platform and ISMB uses any JAVA compliant platform.

5 Conclusion
This paper has presented a survey on IoT-middleware system. It has proposed the
functional blocks of IoT-middleware, and discussed feature wise classifications
among the existing IoT-middleware.
A Survey of Middleware for Internet of Things 295

The current state-of-the-art of the middleware for IoT explores different


approaches to support some of the functionalities to operate in IoT domain. But no
one covers the full set of functionalities to meet the requirement of IoT-middleware as
analyzed here for any smart or ubiquitous environment.
Middlewares have several short comings or open issues. They are available for
respective domains separately. ASPIRE, WhereX, ISMB etc. address the RFID
domain. GSN addresses the sensor networks in general. UBIROAD addresses smart
vehicular systems. There exists no generic middleware which can be applicable across
all possible smart environments, including RFID domain, and can be customized as
per the domain specific requirements. It has been observed from this survey that to
resolve scalability issues IPv6 is proposed but not yet resolved completely. Support
for context detection and processing have not been achieved fully. Support of
semantic modeling and managing of data volumes also fall in the open issues. There
is a scope for research work in making a generic IoT-middleware system which is
applicable across all domains by making all the functional components reusable and
can be added as add-on to the middleware system. We are continuing to carry
researches on the above mentioned open issues to design and develop a layer based
IoT-middleware. One of the contributions of this paper consists in this discussion on
the open issues on middleware for IoT and that can be combined to define the future
research scope on IoT-middleware.

References
1. Katasonov, A., Kaykova, O., Khriyenko, O., Nikitin, S., Terziyan, V.: Smart Semantic
Middleware for the Internet of Things. In: 5th Intl. Conf. Informatics in Control,
Automation and Robotics (ICINCO 2008), vol. ICSO, pp. 169–178 (2008)
2. Aberer, K., Hauswirth, M., Salehi, A.: Middleware Support for the Internet of Things. In:
5th GI/ITG KuVS Fachgespr˝ach “Drahtlose Sensornetze", pp. 15–21 (2006)
3. Bohn, H., Bobek, A., Golatowski, F.: SIRENA - Service Infrastructure for Realtime
Embedded Networked Devices: A Service Oriented Framework for Different Domains. In:
International Conference on Systems and International Conference on Mobile
Communications and Learning Technologies (ICNICONSMCL 2006), p. 43. IEEE
Computer Society, Washington, DC, USA (2006)
4. Kjær, K. E.: A Survey of Context-Aware Middleware. In: 25th conference on IASTED
International Multi-Conference: Software Engineering, pp. 148–155. ACTA Press (2007)
5. Miraoui, M., Tadj, C., Amar, C.B.: Architectural Survey of Context-Aware Systems in
Pervasive Computing Environment. Ubiquitous Computing and Communication
Journal 3(3) (2008)
6. Wang, M.M., Cao, J.N., Li, J., Das, S.K.: Middleware for Wireless Sensor Networks: A
Survey. Journal of Computer Science and Technology 23(3), 305–326 (2008)
7. Henricksen, K., Robinson, R.: A Survey of Middleware for Sensor Networks: State-of-the-
Art and Future Directions. In: International Workshop on Middleware for Sensor
Networks, Melbourne, Australia, November 2006, pp. 60–65 (2006)
8. Sadjadi, S.M., McKinley, P.: A Survey of Adaptive Middleware. Technical Report MSU-
CSE-03-35, Computer Science and Engineering, Michigan State University, East Lansing,
Michigan (2003)
296 S. Bandyopadhyay et al.

9. Eisenhauer, M., Rosengren, P., Antolin, P.: A Development Platform for Integrating
Wireless Devices and Sensors into Ambient Intelligence Systems. In: 6th Annual IEEE
Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and
Networks Workshops (SECON Workshops 2009), pp. 1–3 (2009)
10. Badii, A., Khan, J.R., Crouch, M., Zickau, S.: Hydra: Networked Embedded System
Middleware for Heterogeneous Physical Devices in a Distributed Architecture. In: Final
External Developers Workshops Teaching Materials (2010)
11. Terziyan, V., Kaykova, O., Zhovtobryukh, D.: UbiRoad: Semantic Middleware for
Context-Aware Smart Road Environments. In: Fifth International Conference on Internet
and Web Applications and Services (ICIW), pp. 295–302. Barcelona (2010)
12. Albano, M., et al.: Towards Secure Middleware for Embedded Peer-to-Peer Systems:
Objectives and Requirements. In: RSPSI, Innsbruck (2007)
13. Gelernter, D.: Generative Communication in Linda. ACM Transactions on Programming
Languages and Systems (TOPLAS) 7(1) (1985)
14. Liu, D.-L.Y.F., Liang, Y.-D.: A Survey of the Internet of Things. In: The 2010
International Conference on Electronic-Business Intelligence, ICEBI (2010)
15. Atzori, L., Iera, A., Morabito, G.: The Internet of Things: A Survey. Computer
Networks 54(15), 2787–2805 (2010)
16. Vision and Challenges for Realising the Internet of Things (2010),
http://ec.europa.eu/information_society/events/shanghai2010/
pdf/cerp_iot_clusterbook_2009.pdf
17. ASPIRE Architecture and Middleware,
http://wiki.aspire.ow2.org/xwiki/bin/download/Main/Services/
06%20ASPIRE%20Architecture%20and%20Middleware.pdf
18. Spiess, P., Karnouskos, S., Guinard, D., Savio, D., Baecker, O., Souza, L., Trifa, V.: SOA-
Based Integration of the Internet of Things in Enterprise Services. In: IEEE International
Conference on Web Services (ICWS), Los Angeles, pp. 968–975 (2009)
19. Reiners, R., Zimmermann, A., Jentsch, M., Zhang, Y.: Automizing Home Environments
and Supervising Patients at Home with the Hydra Middleware: Application Scenarios
using the Hydra Middleware for Embedded Systems. In: Proc. of the First International
Workshop on Context-Aware Software Technology and Applications (CASTA), New
York, pp. 9–12(2009)
20. http://en.wikipedia.org/wiki/Exabyte
21. Ahamed, S.I., Zulkernine, M., Anamanamuri, S.: A Dependable Device Discovery
Approach for Pervasive Computing Middleware. In: First International Conference on
Availability, Reliability and Security (ARES 2006), Vienna, pp. 66–73 (2006)
22. Caporuscio, M., Raverdy, P.-G., Issarny, V.: ubiSOAP: A Service Oriented Middleware
for Ubiquitous Networking. In: IEEE Transactions on Services Computing (2010)
23. Cooper, J., James, A.: Challenges for Database Management in the Internet of Things.
IETE Technical Review 26(5), 320–329 (2009)
24. Katasonov, A., Terziyan, V.: Semantic Agent Programming Language (S- APL): A
Middleware for the Semantic Web. In: IEEE International Conference on Semantic
Computing, Santa Clara, pp. 504–511 (2008)
25. SAP NETWEAVER,
http://www.sap.com/platform/netweaver/components/index.epx
26. FIPA Device Ontology Specification (Approved for Experimental, as on 2002/05/10),
http://www.fipa.org/specs/fipa00091/XC00091C.pdf
New Framework for Dynamic Policy Management in
Grid Environments

Tariq Alwada’n1 , Helge Janicke1 , Omer Aldabbas2 , and Hamza Aldabbas1


1
Faculty of Technology, De Montfort University
{tariq,heljanic,hamza}@dmu.ac.uk
2
Faculty of Technology, Al- Balqa Applied University
{omer aldabbas}@yahoo.com

Abstract. In a multi-organization environment like the GRID, each institute


might want to implement limits on how its resources are being used by other
institutes. The problem in most traditional policy frameworks lies in the fact that
it concentrates on the policy management inside the VO rather than on the man-
agement between multiple VOs. The external users, who want to utilize resources
in the GRID, ask for guarantees for their jobs and data which most recent policy
frameworks do not take into consideration. To date, not enough attention has
been paid to policies that deal with such concerns since most existing Grid sys-
tems have supported only limited types of policies. This paper introduces a new
dynamic framework that supports the management of security policies within the
VOs along with the support for the data policies with addressing external users’
policies when making decisions.

Keywords: Grid, Policy Management, Active Network.

1 Introduction

A grid is a system should have the ability to manage and organize resources1 and ser-
vices that are distributed across several control domains, utilize protocols and interfaces
and supply high quality of service [5]. Grimshaw et.al. [7] define grid computing as
“coordinated resource sharing and problem solving in dynamic, multi-institution vir-
tual organizations”.
Security is an essential element in grid computing. For any grid environment, there
should be methods to offer security, including authentication, authorisation and data en-
cryption. One of the important issues that research into grid environment tries to solve
is how to keep distributed resources from unauthorized users and at the same time how
to allow the sharing of resources and the accountability for resource handling. Every re-
source applies a local security policy that may result in the refusal of requests for utiliz-
ing of its resources. This results in problems for both resource requesters and providers
who want to share resources in the lack of global security policies in grid systems. Be-
cause of the fact that there are a lot of elements, like users and resources contributing
1
Resources refer to computing and management resources such as computer, software applica-
tions, etc.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 297–304, 2011.
© Springer-Verlag Berlin Heidelberg 2011
298 T. Alwada’n et al.

to the grid, security has become a critical aspect in checking the element trying to use a
service (authentication), and in verifying whether this element is allowed or not to use
the service (authorization). Securing the grid, therefore, is vital to give confidence to
both resource providers and users to join the grid.
Any secure grid environment should provide mechanisms to secure authentication,
resource protection, authorization, communication, data transfer and encryption [10].
One of the most important security challenges that face the grid environment is co-
ordinating users’ identities among local and wide networks and dealing with the vari-
ety of local security techniques for either resource or user, trust relationships between
resources and users, end-user key, credential organization. Supporting security to re-
sources in opposition to unsafe actions from grid users can be considered as another
security challenge [6].
Policies are groups of regulations, standards and practices written by one or more
owners of jobs or administrators of resources about how their resources or jobs can
be handled and used. Policies decide how a job should be done, how security is ap-
plied in a domain and how an organization organizes, secures and distributes their re-
sources. Depending on the Globus Toolkit [?], before the job submission, there should
be many steps for authenticating the users who ask to use resources [4,15]. However,
after the authentication, there are no further resource access restrictions on how to use
the re-sources. This is known as “all or nothing”. At present, there is no existing well-
defined model to set and check authentication policies of remote resources for gird job
submissions.
Currently, there has been much research that focuses on policy management in the
Grid environment [2,9,12,13,14]. Nonetheless, most of these approaches presume a sin-
gle VO. The aim of Policy Management is “ to apply an integrated management system
so that system management, network management, and application management can
co-operate in Grid computing” [16]. Before the users can submit their jobs or run their
applications on a certain source or system they may need to guarantee that this source
or system has not been compromised which could result in their own application or data
being stolen or which could result in asking for certain users to be allowed to access the
service. The previous security considerations have to be taken into account when creat-
ing a grid system[8]. Another aspect that should be taken into account is the user policy.
Before the users can submit their jobs or run their applications on a certain source or
system they may need to guarantee that this source or system has not been compro-
mised which could result in their own application or data being stolen or which could
result in asking for certain users to be allowed to access the service. Most methods do
not consider this in their policy management designs. To date, not enough attention has
been paid to policies that deal with such concerns. Most existing grid systems have sup-
port only limited types of policies (e.g. CPU resources). We propose a policy-managed
grid environment that addresses these issues (user-submitted policy, data policy, and
multiple VOs). The contribution of this paper lies in the fact that it introduces a new
dynamic framework that supports policy management within and between VOs along
with supporting the data policy and without forgetting the external users’ policies rights
when making final decisions.
New Framework for Dynamic Policy Management in Grid Environments 299

The rest of the paper will be organized as follows. The second section describes
our new framework for both single and multiple virtual organizations, while the third
section discusses future possibilities and concludes the paper.

2 Dynamic Policy Management: New Framework

The grid infrastructure allows contribution and sharing at the level of a Virtual Resource
(VR). The VR can be one device, a group of devices or a virtual partition on the corre-
spondent device. Each grid institute has many VRs that are accepted to participate with
other contributors in the VO [13]. Our framework uses well-established concepts from
[18] that deal with multiple VOs. In this paper, we propose an extension that provides
the features of supporting the external User Policy (UP) along with enforcing policies
for data movements within the grid. The following two sections illustrate our framework
within a single VO institute and multiple VO institutes.

2.1 Single Virtual Organization

Our framework consists of three agents: Policy Agent (PA), Policy Management Agent
(PMA) and Grid Information Agent (GIA) Figure (1) shows the framework for a single
VO. Each Virtual Organization (VO) should have at least one policy agent that has the
ability to access the policy repository. For PAs of the same virtual cluster, there should
be a PA leader that coordinates other PAs in the cluster and at the same time performs
a homogenous and a heterogeneous policy management across different policy frame-
works. This agent is called (PMA). The proprietor of the organization allocates and
stores policies at the Policy Server, in other words at the (PMA). The policy server can
be considered as a combination of the policy management tool and policy repository.
The (GIA) which is owned by the grid administrator is responsible for providing PMAs
with the necessary information that is needed to perform the heterogeneous policy man-
agement, if it is necessary, across different policy frameworks.
Grid services are a field of web-services and for this reason the policy server would
be a web service that publishes the set of services that can provide for an institute into
the grid registry. For remote access, the policy server supports a SOAP/HTTP protocol
binding in order to swap documents easily over SOAP. The policy documents conform-
ing to the specification of the common information model are encoded in XML [13].
From Figure (1), it can be seen that three main features have been added to the policy
management framework mentioned in [18]; First, it enforces the data policies manage-
ment by using NETGridFTP protocol [3]. Although the GridFTP protocol offers se-
curity for grid data movements, there is no clear policy support to apply the resource
employment policies that are saved in the policy server. The NETGridFTP, which is an
implementation of GridFTP on the Microsoft NET framework, can execute grid data
transfers bidirectional between windows machines and can enforce the resource em-
ployment policies that are saved in the PMA.
The second feature is using the Active Network Middleware to connect the PDPs
(PAs) with the PEP. The advantages for both Policy Management and Active network
technology are equal. Yang et.al [16] has stated the approach to add programmability to
300 T. Alwada’n et al.

Fig. 1. Single Virtual Organization Policy Management Framework

grid management to expand the broadly used grid supporting tool (Globus) in the means
of middleware. Together, active network middleware and policy grid management mid-
dleware may be used by grid supporting environment to ease the operation so that they
can obtain better handling and management of multi-grid resources such as, computing
resources, massive storage resources and special scientific instruments. The core of the
active network is the active node, which is founded on ABLE. ABLE is an architecture
that mainly deals with the network organization challenges. The main element in ABLE
is the active engine. This engine is added to any IP router or huge storage or resources
to develop an active node [11].
Policy Enforcement Points (PEP) represents the end point where the policy is finally
applied. To achieve this application, a transport protocol should be presented for the
purpose of communication between Policy Decision Point (PDP) and PEP so that the
user can send policy regulations or configuration data to the end point(s), or can read
configuration and get information from the device. Active network technology has be-
come the most popular way to achieve policy enforcement [16]. It takes the external
User Policy (UP) into the account when making the final conflict decisions.
New Framework for Dynamic Policy Management in Grid Environments 301

2.2 Multiple Virtual Organizations

Figure(2) shows our framework for Multiple VO. Allowing PEPs (etc. external users)
to obtain policy instructions from subjects outside their physical institute exposes them
to security defencelessness. To avoid this issue, each PEP should be remaining only
under the administrative control of the policy server (PMA) in its physical institute.
Our framework deploys PAs to divide VOs into virtual clusters according to their se-
curity policy framework. Nevertheless, the PAs do not accomplish the ideal trust re-
lationship. For example, some VOs do not trust other VOs, or none of the VOs are
trusted by all other VOs in the virtual cluster. For that reason, dynamic management
framework requires a PMA election procedure in the non-ideal trust relationship. The
election method chooses a PA with the highest number of followers to be the PMA. The
PMA initializes connections to PAs corresponding to the trust relationships of the PAs.
As a result, some PAs do not trust the elected PMA where the security policy informa-
tion for these PAs will not be available to access by the PMA. In this case, PMA must
apply conflict analysis with partial information [17]. To reduce bottleneck in the PMA,
a PMA can request the leader PA to execute conflict analysis. Leader PAs are selected
by the relative high levels between PAs and are virtually connected to the PMA directly
[19].

Fig. 2. Multiple Virtual Organization Policy Management Framework

After the authorized grid users submit their jobs to the core of the grid system (re-
source broker), it asks the Grid Information Services (GIS) and Replica Catalogue about
302 T. Alwada’n et al.

the free resources in the grid. Later, it sends this information along with the related
policies (Users policies) to the Grid Policy Server or to the VO policy server to make
the policy decisions. The VO policy server forwards the users’ policies along with the
VO policy to the PMA which is responsible for the target resource to make the final
decisions. PMA checks if the re-quests are situated in a single virtual cluster or multi-
ple virtual cluster. If the requests are situated in the same virtual cluster, a homogenous
conflict analysis takes place without any need to retrieve any information from the GIA.
Where PMA receives a request from one of the PAs asking for a service that is situ-
ated in multiple virtual clusters, a heterogeneous policy management mechanism takes
place.
The heterogeneous conflict mechanism can take place in any of the following cases
(or both). Chiu-Man Yu and Kam-Wing in [17] state the first case once the PMA re-
ceives a request from one of the PAs that has a framework different from that in the
PMA. The second case when the User Policy framework is different from that in the
PMA. This conflict analysis can be either with full or partial information. In [17] the
authors have specified the conflict analysis mechanism which can be applied for both
previous cases. This mechanism depends on converting the policies of the target service
into the policy model of the PMA. The PMA asks the GIA for the account maps and the
policy schema maps of the target services. At the same time, the PMA asks the service
requester for its authorization policies through the PA of the service. When the PMA
receives this information, it starts the policy conversion to the PMA policy model. First
it applies the Account Mapping to make it possible for users, whether trusted or not,
to access services in a remote VO. Here, a map mechanism should be applied to map
those users to local accounts and later to perform the policy mapping to generate an
inter-schema map which maps the schema of the policy model of the service’s VO to
that of the requester’s VO. In other words, a map mechanism is used to convert policies
between heterogeneous policy models to a one that can be understood by the PMA.
Finally, the PMA applies the conflict analysis mechanism on the policies of all target
services to find suitable permissions for the requester of service.

3 Conclusions and Future Work


We have presented in this paper a new dynamic policy management framework that
has the capability to deal with policies of multiple virtual organizations, and which
at the same time, has a feature of enforcing policies for data movement within the
grid. We have utilized NETGridFTP protocol to enforce data policies management
in the grid environment and also have operated an active network middleware in the
grid environment to ease the operation of handling and managing multi-grid resources.
The other advantage of this architecture is taking the policies of the external users of
the grid into account when making policy decisions. Based on our contributions, we
are confident that the mobile policy feature which supports enforcing policies for mo-
bile applications, i.e. jobs and data, within the grid can be addressed efficiently in the
future.
New Framework for Dynamic Policy Management in Grid Environments 303

References

1. Alliance, G.: Globus toolkits, http://www.globus.org


2. Carpenter, B.E., Janson, P.A.: Abstract interdomain security assertions: a basis for extra-grid
virtual organizations. IBM Syst. J. 43, 689–701 (2004),
http://dx.doi.org/10.1147/sj.434.0689
3. Feng, J., Cui, L., Wasson, G., Humphrey, M.: Policy-directed data movement in grids. In:
Proceedings of the 12th International Conference on Parallel and Distributed Systems, IC-
PADS 2006, vol. 1, pp. 319–326. IEEE Computer Society, Washington, DC, USA (2006),
http://dx.doi.org/10.1109/ICPADS.2006.82
4. Ferreira, L., Berstis, V., Armstrong, J., Kendzierski, M., Neukoetter, A., Takagi, M., Bing,
R., Amir, A., Murakawa, R., Hernandez, O., Magowan, J., Bieberstein, N.: Introduction to
grid computing with globus, 1st edn. IBM Corp., Riverton (2003)
5. Foster, I., Kesselman, K.: The grid: Blueprint for a future computing infrastructure. In: Mor-
gan Kaufmann in Computer Architecture and Design (1999)
6. Foster, I., Kesselman, C., Tsudik, G., Tuecke, S.: A security architecture for computational
grids. In: Proceedings of the 5th ACM conference on Computer and communications secu-
rity, CCS 1998, pp. 83–92. ACM, New York (1998),
http://doi.acm.org/10.1145/288090.288111
7. Grimshaw, A.S., Humphrey, M.A., Natrajan, A.: A philosophical and techni-
cal comparison of legion and globus. IBM J. Res. Dev. 48, 233–254 (2004),
http://dx.doi.org/10.1147/rd.482.0233
8. Humphrey, M., Thompson, M.R.: Security implications of typical grid computing usage sce-
narios. Cluster Computing 5, 257–264 (2002),
http://portal.acm.org/citation.cfm?id=592899.593008
9. Joshi, J.: Access-control language for multidomain environments. IEEE Internet Comput-
ing 8(6), 40–50 (2004)
10. Kaneda, K., Taura, K., Yonezawa, A.: Virtual private grid: a command shell for utiliz-
ing hundreds of machines efficiently. Future Gener. Comput. Syst. 19, 563–573 (2003),
http://dx.doi.org/10.1016/S0167-739x0300036-0
11. Kornblum, J.A., Raz, D., Shavitt, Y.: The active process interaction with its environment.
Comput. Netw. 36, 21–34 (2001),
http://portal.acm.org/citation.cfm?id=376733.376735
12. Lorch, M., Adams, D.B., Kafura, D., Koneni, M.S.R., Rathi, A., Shah, S.: The
prima system for privilege management, authorization and enforcement in grid en-
vironments. In: Proceedings of the 4th International Workshop on Grid Comput-
ing, GRID 2003, p. 109. IEEE Computer Society, Washington, DC, USA (2003),
http://portal.acm.org/citation.cfm?id=951948.952044
13. Verma, D.C., Sahu, S., Calo, S.B., Beigi, M., Chang, I.: A policy service for GRID comput-
ing. In: Parashar, M. (ed.) GRID 2002. LNCS, vol. 2536, pp. 243–255. Springer, Heidelberg
(2002), http://portal.acm.org/citation.cfm?id=645442.652675
14. Welch, V., Siebenlist, F., Foster, I., Bresnahan, J., Czajkowski, K., Gawor, J., Kesselman, C.,
Meder, S., Pearlman, L., Tuecke, S.: Security for grid services. In: Proceedings 12th IEEE
International Symposium on High Performance Distributed Computing, 2003, pp. 48–57
(2003)
15. Jin, W., Leangsuksun, Chokchai Box, R.V., Hong, O.: Policy-based access control framework
for grid computing. In: Proceedings of the Sixth IEEE International Symposium on Cluster
Computing and the Grid,CCGRID 2006, pp. 391–394. IEEE Computer Society, Washington,
DC, USA (2006), http://dx.doi.org/10.1109/CCGRID.2006.80
304 T. Alwada’n et al.

16. Yang, K., Galis, A., Todd, C.: Policy-based active grid management architecture. In: 10th
IEEE International Conference on Networks,ICON 2002, pp. 243–248 (2002)
17. Yu, C.-M., Ng, K.-w.: Dynamic policy management framework for partial policy informa-
tion. In: Sloot, P.M.A., Hoekstra, A.G., Priol, T., Reinefeld, A., Bubak, M. (eds.) EGC 2005.
LNCS, vol. 3470, pp. 578–588. Springer, Heidelberg (2005)
18. Yu, C.M., Ng, K.W.: A heterogeneous authorization policy management mechanism for
grid environments. In: International Conference on Multimedia and Ubiquitous Engineer-
ing, MUE 2007, pp. 381–386 (2007)
19. Yu, C.-M., Ng, K.-w.: A dynamic management framework for security policies in open grid
computing environments. In: Jin, H., Pan, Y., Xiao, N., Sun, J. (eds.) GCC 2004. LNCS,
vol. 3251, pp. 871–874. Springer, Heidelberg (2004)
Zone Based Seamless Vertical Handoff
Technique between WiFi and WiMax

Abhijit Sarma and Sukumar Nandi

Department of Computer Science and Engineering


Indian Institute of Technology Guwahati, India
abhijit [email protected], [email protected]

Abstract. Due to small cell size deployment of IEEE 802.11 WLAN


is limited to buildings and small campuses. User moving out of the
coverage area of AP gets disconnected from WLAN. IEEE 802.16 is a
WMAN technology which is gaining popularity because of its good band-
width and wide coverage area. For seamless mobility, the coverage area
of WLANs may be made to fall within the coverage area of a WMAN.
User devices having both WLAN and WMAN interfaces can perform ver-
tical handoff to WMAN while moving out of range of WLAN network.
Devices needs to perform network entry process while joining a WMAN
and requires considerable time to handoff from WLAN to WMAN. For
real time applications like VoIP, handoff latency needs to be within 50
ms. In this paper we propose a scheme where vertical handoff latency is
reduced to zero.

Keywords: Vertical Handoff, IEEE 802.11, IEEE 802.16.

1 Introduction
IEEE 802.11 [1] wireless local area networks (WLAN), also known as WiFi, is a
successful Internet access technology. As the coverage area of access point (AP)
is small, roaming users often move out of the coverage area of AP and experi-
ence disruptions in communication. IEEE 802.16 [2] wireless metropolitan area
network (WMAN), also known as WiMax, provides a good throughput in wide
coverage area. A WiMax network may be deployed to cover larger area encom-
passing the areas covered by different WiFi networks. User using device with
a dual WiFi/WiMax interface will get a choice to connect to either WiFi or
WiMax network as needed. As cost of connecting through WiFi is less, in such
a setup, users will prefer WiFi connectivity. Whenever user moves out of the
coverage of WLAN, to maintain connectivity, user device may perform vertical
handoff to maintain ongoing communications. The MN may not be able to per-
form normal data communication during handoff and hence disruptions to on
going communications occur during handoff. For seamless mobility the handoff
latency needs to be small. The amount of latency an application can tolerate de-
pends on the application. Real time applications are the most demanding ones.
One typical example is voice over IP (VoIP). Use of VoIP is increasing day by

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 305–314, 2011.

c Springer-Verlag Berlin Heidelberg 2011
306 A. Sarma and S. Nandi

day. Real time applications have strict bounds on network parameters such as
end-to-end delay, jitter and packet loss rate. For VoIP applications, it is desir-
able to perform handoff within 50ms. A mechanism is needed to perform handoff
from WiFi to WiMax within 50ms. It is also required that, whenever MN comes
within the coverage area of a WiFi network it performs handoff to the WiFi net-
work. A heterogeneous WiFi/WiMax network is shown in Fig 1. In this paper
we propose a mechanism in which MNs perform vertical handoff with negligible
handoff latency.
The rest of the paper is organized as follows. In section 2 we describe our
proposed scheme. In section 3 we have a brief introduction to earlier related
works. The simulation results are provided in section 4. In section 5 we conclude.

Fig. 1. A WiFi-WiMax heterogeneous network

2 The Proposed Scheme


This scheme is based on following assumptions
– The coverage area of the APs fall within that of a BS.
– APs and BS are connected using a distribution system.
– Handoff decision is based on signal to interference-plus-noise ratio (SINR).
Let us consider a scenario where there is an AP and a BS interconnected through
a backbone. The coverage area of the BS encompasses the coverage area of the AP.
A MN is roaming around in the area. The AP coverage area is divided into zones as
described in subsection 2.1. While the MN is communicating through it’s WiFi
interface, it puts the WiMax interface in power saving mode. While in zone
two, the MN scans other WiFi channels using a technique as described in [3]
and builds a list of APs found. The MN also activates its WiMax interface and
cyclically changes channel among a few predetermined WiMax channels and
tries to find existence of BS. To find the existence of BS, it tries to synchronize
to the down-link (DL) sub-frame in that channel. If a DL sub-frame is found,
the BS information along with the SINR is recorded in a list. This technique of
Zone Based Seamless Vertical Handoff Technique between WiFi and WiMax 307

scanning BSs is described in the subsection 2.2. When the MN moves to zone
3 it chooses the AP with the strongest SINR value from the list of APs and
performs handoff to that AP. If the list of AP is empty, it chooses the BS with
the strongest SINR value from the list of BSs found and performs handoff to
that BS. For performing handoff to BS, the MN, while still associated to the
AP, performs network entry with the BS. It then sets up flows in the BS by
sending dynamic service addition request (DSA-REQ) message. For continuing
the communications, the forwarding tables at the different nodes in the sub-net
needs to be updated. For that we propose a distribution system functionality to
be incorporated in the APs, BSs and the access router (AR). This we call L2
handoff initiated route update and is explained in subsection 2.4.
While the MN is communicating through it’s WiMax interface, it puts the
WiFi interface in power saving mode. However, it needs to handoff to WiFi if
it moves into the coverage area of some AP. To find any AP, it periodically
activates it’s WiFi interface and scans for existence of APs using a technique
discussed in sub-section 2.3. If one or more APs are found, it selects the AP with
the highest SINR value and performs handoff to that AP. After that it performs
the L2 handoff initiated route update process.
At the time of handoff, let us call an interface target interface if it is the
interface through which the MN intends to continue communication after hand-
off. Let us call the other interface the handing off interface. In both the cases
of handoff, to and from WiFi, both the interfaces are active during handoff
for some time. While new packets will follow a path terminating at the tar-
get interface, packets that already left the AR before the new path is estab-
lished (subsection 2.4) continues to move through the old path. The hand-
ing off interface must remain active for some time till all such packets ar-
rive. This time should be slightly more than the link delays from the AR to
the MN. After this delay the handing off interface is put into power saving
mode.
The part of the algorithm executed while communicating through the WiFi
interface is presented in Algorithm 1 and the part executed while communicating
through the WiMax interface is presented in Algorithm 2.

Algorithm 1. Vertical Handoff Part 1 (WiFi Active)


Step 1 Determine current zone.
Step 2 If in zone 2 scan for BS and build ScanBSList. Go to step 1.
Step 3 If in zone 3, select target BS for handoff.
Step 4 Perform network entry.
Step 5 Transfer flows.
Step 6 Send RU message.
Step 7 Wait for time t and then put WiFi interface into sleep.
Step 8 Execute Algorithm 2 (WiMax Active).
308 A. Sarma and S. Nandi

Algorithm 2. Vertical Handoff Part 2 (WiMax Active)


Step 1: Scan for AP periodically and build ScanAP List.
Step 2: If ScanAP List is not empty, select best AP as handoff target AP.
Step 3: Associate with selected target AP.
Step 4: Send RU message.
Step 5: Wait for time t and then put WiMax interface into sleep
Step 6: Execute Algorithm 1 (WiFi Active).

2.1 Division of AP Coverage Area into Zones


The coverage area under an AP is divided into three zones. This division of the
coverage area into zones is similar to the one presented in [3]. To explain this
division we define two thresholds:
– zone one SINR threshold value (τ1 ) and
– zone two SINR threshold value (τ2 )
Where τ1 > τ2 .
The zones are defined based on τ1 and τ2 and the signal strength at different
locations around the AP. Based on the SINR values of the received signal of the
associated AP received at the MN, the MN may be in one of the three possible
zones. Let ρ be the SINR value of the last received signal from the associated
AP at the MN. We define the three zones as follows: -
– Zone One: It is the region where ρ > τ1 .
– Zone Two: It is the region where τ1 > ρ > τ2 .
– Zone Three: It is the region where ρ < τ2 .

Fig. 2. The division of access point coverage region into zones

The threshold signal value τ2 is so chosen that if the SINR falls below τ2 the
MN may not be able to reliably maintain communication with the current AP
and the AP needs to handoff. The choice of the threshold τ1 is configurable and
it’s implications are discussed in subsection 2.5. Under the given assumptions,
the MN is not required to handoff while in zone one and probability of handoff
Zone Based Seamless Vertical Handoff Technique between WiFi and WiMax 309

in the immediate future is near zero. While in zone two, handoff is imminent. In
zone three, the MN is a potential candidate for handoff. As shown in Fig. 2, the
inner circle centered at the AP is the locus of MN where the SINR of the AP’s
signal at the MN is equal to τ1 . The outer circle centered at the AP is the locus
of MN where the SINR of the AP’s signal at the MN is equal to τ2 .

2.2 Scanning for WiMax

In the proposed scheme, the MN scans for availability of BS while maintaining


ongoing communications through the WiFi interface. The MN keeps the informa-
tion of different BSs found during scanning in a list. Let the list be ScanBSList.
The MN maintains a reconfigured circular lists of WiMax channels where a BSs
may be expected. When the MN moves into zone two of AP, it initializes a vari-
able N extW iM axChannel to the channel number of the first channel in the
list. It empties ScanBSList. It also starts a timer. We shall refer this timer as
W iM axScanRepeatT imer in the rest of this paper. Let the time out value of
this timer be Twimax . At the expiry of time Twimax when the timer event is
triggered the MN excutes Algorithm 3.

Algorithm 3. Scan for WiMax


Step 1: Activate WiMax interface.
Step 2: Delete all entries from ScanBSList where the channel number of the AP
equals N extW iM axChannel.
Step 3: Change WiMax channel to N extW iM axChannel.
Step 4: Wait for a time period of twimax to listen DL frame.
Step 5: if any DL frame is found during the waiting time, the BS information obtained
are put into ScanBSList.
Step 6: Update N extW iM AxChannel to the entry which is cyclically next to the
current value of N extW iM axChannel in the channel list.
Step 7: Start W iM axScanRepeatT imer again and puts the WiMax interface to
power saving mode.

As the W iM axScanRepeatT imer is restarted, it will be triggered again and


the whole process will repeat again. The timer is canceled when the MN moves
out of zone two of AP or the MN perform handoff to WiMax. In the process,
the channels gets scanned cyclically one at a time. The list of candidate target
BSs for handoff gets built incrementally in ScanBSList. At the time of handoff,
the BS with the largest SINR is chosen from ScanBSList for handoff.

2.3 Scanning for WiFi

In the proposed scheme, the MN scans for availability of APs while maintain-
ing ongoing communications through the WiMax interface. The MN keeps the
information of different APs found during scanning in a list. The MN makes a
310 A. Sarma and S. Nandi

circular list of channel numbers to scan. These are the channels that contains
all the 802.11 channels except the current channel and the channels that over-
laps with the current channel. It initializes a variable N extW iF iChannel to the
channel number of the first channel in the list. It empties ScanAP List. It also
starts a timer. We shall refer this timer as W iF iScanRepeatT imer in the rest
of this paper. Let the time out value of this timer be Twif i . At the expiry of time
Twif i when the timer event is triggered the MN executes Algorithm 4.

Algorithm 4. Scan for WiFi


Step 1: Activate WiFi interface.
Step 2: Delete all entries from ScanAP List where the channel number of the AP
equals N extW iF iChannel.
Step 3: Change channel to N extW iF iChannel.
Step 4: Send probe request and wait for a time period of twif i .
Step 5: If any probe response or beacon is found within the waiting time, the AP
information obtained are put into ScanAP List.
Step 6: Update N extW iF iChannel to the entry which is cyclically next to the
current value of N extW iF iChannel in the channel list.
Step 7: Starts W iF iScanRepeatT imer again and put the WiFi interface in power
saving mode.

As the W iF iScanRepeatT imer is restarted, it will be triggered again and the


whole process will repeat again. The timer is canceled when the MN performs
handoff to WiFi. The list of candidate target APs for handoff gets built incre-
mentally in ScanAP List. At the time of handoff, the AP with the largest SINR
is chosen from ScanAP List for handoff.

2.4 L2 Handoff Initiated Route Update


When the MN performs handoff, the new location of the MN must be reflected
in the forwarding tables of the nodes of the sub-net including the AR. We found
that on-demand routing protocols like [4] takes a long time to update the routes
and the layer 3 handoff latency is unacceptably high. To reduce the the layer
3 handoff latency we used a scheme to update the forwarding tables of the
nodes. This technique is similar to the technique used in [3]. Immediately after
the L2 handoff process completes, the MN sends a RU message. If the MN is
performing handoff to WiFi, the RU message is send to the new AP otherwise
the RU message is sent to the new BS. This message contains the new AP’s or
the new BS’s IP address and the MN’s IP address as the case may be. After
receiving the RU message the AP/BS sends the RU message to the other APs,
BSs and the AR in its sub-net. All the nodes receiving the RU message updates
their forwarding tables to reflect the current location of the MN.
Zone Based Seamless Vertical Handoff Technique between WiFi and WiMax 311

2.5 Choice of τ1

The value of τ1 determines the radius of the inner circle in Fig. 2. If τ1 is more,
than this radius is large and zone two is thin, if it is less, than zone two is wide.
Since scanning is done in zone two only, the amount of time available to the
MN for scanning depends on this area and the velocity of the MN in the radial
direction from the location of the associated AP. Let v be the radial velocity of
the MN away from the AP. Let r1 and r2 be the radius of inner and outer circle
representing the loci of τ1 and τ2 respectively as in Fig. 2. Then, the minimum
number of channels N that can be scanned in zone two is given by: -
 
(r2 − r1 )
N=
(Twimax + twimax )v

Twimax is the W iM axScanRepeatT imer time out interval and twimax the max-
imum amount of time required to scan one channel. Assuming four available
WiMax channels, τ1 should be chosen such that for the highest possible radial
velocity of the MN, N is greater than or equal to four. τ2 is decided by the
smallest signal level required to maintain communication and that in turns de-
cides the value of r2 . The value of t is fixed for an implementation. The value
of v is based on the velocity up to which seamless communication is desired.
After choosing appropriate values for r2 , t and v, the value of T and r1 may
be chosen to get appropriate value for N . The value of T decides the interval
between scans. As scanning causes battery power to deplete, it is desirable to
have a large value of T . If the value is too large, r1 will be large for the same
value of N and zone two will be wider. r2 is neither too large nor too small. We
propose r1 to be within 80% to 90% of r2 . After deciding on the value of r1 , τ1
should be adjusted to get the desired value of r1 . In our experiment we have set
T to 400 ms and experimentally adjusted the value of τ1 to get the desired value
of N .

3 Related Works

In [5] the authors proposed a vertical handoff schemes between WiFi and WiMax
using IEEE 802.21 media independent handover (MIH) framework. The authors
reported an average of 4.8 numbers of packet loss while performing handoff
from WiFi to WiMax and no packet loss while performing handoff from WiMax
to WiFi. In [6], the authors proposed a vertical handoff scheme between WiFi
and WiMax. The details of how L2 handoff is possible is not presented. The
authors introduced new messages to reduce L3 handoff. The authors reported
a handoff latency of 23.938ms or more in their simulation results. In [7] the
authors proposed a vertical handoff scheme between WiFi and WiMax. The
authors reported handoff latency of 0.8ms or more for handoff from WiFi to
WiMax and more than 100ms handoff latency for handoff from WiMax to WiFi.
They also reported non zero packet loss in the handoff process. There are other
works related to vertical handoff but none are target to reduction of handoff
312 A. Sarma and S. Nandi

latency [8] [9] [10] [11] [12]. In [13], the authors proposed a scheme where vertical
handoff is used to increase throughput in a WiFi-WiMax heterogeneous network.
However the work is not specifically targeted to reduction of handoff latency and
is more similar to handoff schemes in WiFi networks as proposed in [14], [15]
and [16] whetre handoff is used from load balancing.

4 Simulation Results
We have implemented the proposed scheme in qualnet [17] simulator and results
are reported here. We have verified the handoff between WiFi and WiMax. Hor-
izontal handoff in WLAN, which is verified in [3] is not verified. The simulation
scenario is similar to Fig 1 except that only one AP is used. The setup consists of
an AP, a BS, an AR, a correspondent node CN and a MN. The AR is connected
to CN, AP and BS using three point-to-point links. Each point-to-point links
is of 100Mbps bandwidth with a delay of 2ms. MN moves around in the area
covered by the AP and BS and perform handoff as required. Constant bit rate
(CBR) traffics are attached between CN and MN. The traffic direction is from
CN to MN. The CBR packets are sent every 20 ms. L2 handoff initiated route
update scheme is used. MN is allowed to move into and out of coverage area of
AP. As handoffs occur, the handoff latency and packet loss is recorded. When
handoff occurred, we have not observed any deviation of end-to-end packet delay
from normal values in the two networks. The handoff latency in all cases for both
WiFi to WiMax and WiMax to WiFi are zero. There is no packet loss.

Fig. 3. Experiment setup


Zone Based Seamless Vertical Handoff Technique between WiFi and WiMax 313

4.1 Comparison with Existing Schemes

In the table 1 we present our results along with the results obtained in [6] and
[7] for comparison. In the table, columns A, B and C represents our proposed
scheme, schemes of [6] and [7] respectively. Delays are in ms. Existence of packet
loss is indicated by Yes or No. If a parameter is not reported it is indicated as
N/A. From the table, it can be seen that our scheme performs best among the
schemes compared.

Table 1. Comparison of Results

A B C
WiFi to WiMax latency 0 24 0.8
WiFi to WiMax packet loss 0 N/A Yes
WiMax to WiFi latency 0 N/A 100
WiMax to WiFi packet loss 0 N/A Yes

5 Conclusion

In this paper we have proposed a scheme for seamless handoff between WiFi
and WiMax. The proposed scheme is tested by simulation. Results show that
the proposed scheme achieves zero handoff latency and zero packet loss during
handoff. The results are compared with existing works targeted at reduction
of handoff latency in WiFi/WiMax heterogeneous network. Our result clearly
stands out among the schemes compared.

References
1. IEEE Std 802.11-1999, Part 11: Wireless LAN Medium Access Control (MAC) and
Physical Layer (PHY) Specifications, IEEE, Édition (1999)
2. 802.16-2004 IEEE IEEE Standard for Local and metropolitan area networks Part
16: Air Interface for Fixed Broadband Wireless Access Systems, IEEE, Édition
(2004)
3. Sarma, A., Gupta, R.K., Nandi, S.: A zone based interleaved scanning technique
for fast handoff in IEEE 802.11 wireless networks. In: ISPAN 2009: Proceedings
of the 2009 10th International Symposium on Pervasive Systems, Algorithms, and
Networks, pp. 232–237 (2009)
4. Perkins, C., Belding-Royer, E., Das, S.: Ad hoc On-Demand Distance Vector
(AODV) Routing, IETF, RFC 3561 (2003)
5. Lim, W.-S., Kim, D.-W., Suh, Y.-J., Won, J.-J.: Implementation and performance
study of IEEE 802.21 in integrated IEEE 802.11/802.16e networks. Comput. Com-
mun. 32(1), 134–143 (2009)
6. Zhang, Y., Zhuang, W., Saleh, A.: Vertical Handoff between 802.11 and 802.16
Wireless Access Networks. In: IEEE GLOBECOM 2008, Global Telecommunica-
tions Conference 2008, pp. 1–6. IEEE, Los Alamitos (2008)
314 A. Sarma and S. Nandi

7. Shi, F., Li, K., Shen, Y.: Seamless handoff scheme in Wi-Fi and WiMax heteroge-
neous networks. Future Generation Computer Systems (2010) (in press)
8. Nie, J., Wen, J., Dong, Q., Zhou, Z.: A Seamless Handoff in IEEE 802.16a
and IEEE 802.11n Hybrid Networks. Communications, Circuits and Systems 1,
383–387 (2005)
9. Dai, Z., Fracchia, R., Gosteau, J., Pellati, P., Vivier, G.: Vertical handover cri-
teria and algorithm in IEEE 802.11 and 802.16 hybrid networks. In: 2008 IEEE
International Conference on Communications, pp. 2480–2484 (2008)
10. Ali-yahiya, T., Sethom, K., Pujolle, G.: Seamless continuity of service across
WLAN and WMAN networks: Challenges and performance evaluation. In: Pro-
ceedings of the 2nd IEEE/IFIP International Workshop on Broadband Conver-
gence Networks, pp. 1–12 (2007)
11. Roy, J.J., Vaidehi, V., Srikanth, S.: Always best-connected QoS integration model
for the WLAN, WiMAX heterogeneous network. In: IEEE Int. Conf. on Industrial
and Information Systems (ICIIS), pp. 361–366 (2006)
12. Prasath, G. A., Raghu an Ma Maode, K. R.: Integration of WLAN and WiMAX
with base station assisted QoS. In: 5th IFIP International Conference on Wireless
and Optical Communications Networks, pp. 1–5 (2008)
13. Sarma, A., Nandi, S.: Context Aware Handoff for Performance Improvement in
aWiFi-WiMax Heterogenous Network. World Academy of Science Engineering and
Technology (WASET) 74, 641–647 (2011)
14. Sarma, A., Joshi, S., Nandi, S.: Context Aware Mobile Initiated Handoff for Perfor-
mance Improvement in IEEE 802.11 Networks. In: Proceedings of the First Inter-
national Conference on Computer Science and Information Technology (CSSIT),
vol. 2, pp. 243–253 (2011)
15. Sarma, A., Joshi, S., Nandi, S.: Efficient, Distributed, Context Aware Handoff
Scheme for Performance Improvement in WiFi Networks. World Academy of Sci-
ence Engineering and Technology (WASET) 74, 636–640 (2011)
16. Sarma, A., Joshi, S., Nandi, S.: Performance improvement of wifi networks using
context aware ap assisted handoff. Accepted for publication in the International
Journal of Computer Networks and Communications, IJCNC (2011)
17. The Qualnet Network Simulator, http://www.scalable-networks.com
A Cluster-Based Dynamic Load Balancing
Protocol for Grids

Reşat Ümit Payli1 , Kayhan Erciyes2, and Orhan Dagdeviren2


1
Computational Fluid Dynamics Laboratory
Purdue School of Engineering and Technology
Indiana University-Purdue University
Indianapolis, Indiana 46202, U.S.A.
[email protected]
2
Izmir University
Computer Engineering Department
Uckuyular, Izmir, Turkey
{kayhan.erciyes,orhan.dagdeviren}@izmir.edu.tr

This paper is dedicated to the memory of our colleague and beloved friend
Reşat Ümit Payli

Abstract. The load distribution in a grid may vary leading to the bot-
tlenecks and overloaded sites. We describe a hierarchical dynamic load
balancing protocol for Grids. The Grid consists of clusters and each clus-
ter is represented by a coordinator. Each coordinator first attempts to
balance the load in its cluster and if this fails, communicates with the
other coordinators to perform transfer or reception of load. This pro-
cess is repeated periodically. We analyze the correctness, performance
and scalability of the proposed protocol and show from the simulation
results that our algorithm balances the load by decreasing the number
of high loaded nodes in a grid environment.

Keywords: load balancing, clustering, hierarchical protocol, grid.

1 Introduction
A computational Grid consists of heterogenous computational resources, possibly
with different users, and provide them with remote access to these resources [1]
and it is an ideal computing environment for e-science applications. Users of
the Grid submit jobs at random times. In such a system, some computers are
heavily loaded while others have available processing capacity. The goal of a load
balancing protocol is to transfer the load from heavily loaded machines to idle
computers, hence balance the load at the computers and increase the overall
system performance.
A major drawback in the search for load balancing algorithms across a Grid
is the lack of scalability and the need to acquire system-wide knowledge by the
nodes of such a system to perform load balancing decisions. Scalability is an

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 315–324, 2011.

c Springer-Verlag Berlin Heidelberg 2011
316 R.Ü. Payli, K. Erciyes, and O. Dagdeviren

important requirement for Grids like EGEE [2] and NORDUGRID [3]. Some al-
gorithms have a central approach, yet others require acquisition of global system
knowledge. Scheduling over a wide area network requires transfer and location
policies. Transfer policies decide when to do the transfer[4] and this is typically
based on some threshold value for the load. The location policy [5] decides where
to send the load based on the system wide information. Location policies can be
sender initiated [6] where heavily loaded nodes search for lightly loaded nodes,
receiver initiated [7] in which case, lightly-loaded nodes search for senders or sym-
metrical where both senders and receivers search for partners [8]. Some agent
based and game theoretic approaches were also proposed previously [9,10]. Load
balancing across a Grid usually involves sharing of data as in an MPI (Message
Passing Interface) scatter operation as in [11]. MPICH-G2, is a Grid-enabled
implementation of MPI that allows a user to run MPI programs across multiple
computers [12].
In this study, we propose a dynamic and a distributed protocol based on our
previous work [13] with major modifications and detailed test results to perform
load balancing in Grids. The protocol uses the clusters of the Grid to perform
local load balancing decision within the clusters connected as daisy architecture
and if this is not possible, load balancing is performed among the clusters under
the control of cluster heads called the coordinators. We show that the proto-
col designed is scalable and has favorable message and time complexities. The
rest of the paper is organized as follows: In Section 2, the proposed protocol is
described with the analysis. In Section 3, test results using Indiana University
Grid environment are analyzed. Section 4 has the concluding remarks along with
discussions.

Algorithm 1. Load balancing algorithm for node


1: initially current state: the current state of the node
2: current state ← IDLE
3: load: node’s load
4: c: node’ coordinator
5: Legend :  State ∧ input message −→ actions
6: loop
7:  IDLE ∧ Coord P oll −→ send load to c
8: if load is HIGH then current state ← WAIT XFER
9: else if load is MEDIUM MAX then current state ← IDLE
10: end if
11:  WAIT LD ∧ N ode Load −→ send Xf er ACK
12:  WAIT LD ∧ End −→ current state ← IDLE
13:  WAIT XFER ∧ Coord Xf er −→ send N ode Load
14: current state ← WAIT ACK
15:  WAIT XFER ∧ End −→ current state ← IDLE
16:  WAIT ACK ∧ Xf er ACK −→ current state ← WAIT XFER
17: end loop
A Cluster-Based Dynamic Load Balancing Protocol for Grids 317

2 The Protocol
We extend the load balancing protocol [13] for Grids to achieve a more balanced
load distribution. We use the same daisy architecture in [13] which is shown to
be scale in [14]. We categorize the Load to LOW, MEDIUM and HIGH classes.
The main difference in this paper is in the MEDIUM load definition. A node
is MEDIUM if it has a load above the maximum limit of LOW load and can
accept load from other nodes to reach the upper threshold , which is called
MEDIUM MAX. The improved node algorithm, local balance procedure and
coordinator algorithm are given in Alg. 1, Alg. 2 and Alg. 3 respectively.

Algorithm 2. Local load balance procedure


1: initially: load[i]: the load value of ith node
2: input: load array
3: for each load[i] do
4: if load[i] > MEDIUM MAX then
5: excessive load ← load[i]-MEDIUM MAX
6: for each load[j] except j=i do
7: if excessive load = 0 then
8: break the loop
9: end if
10: if load[j] < MEDIUM MAX then
11: if MEDIUM MAX - load[j] >= excessive load then
12: excessive load ← 0
13: transf erable load ← excessive load
14: else if
then
15: excessive load ← excessive load-(MEDIUM MAX-load[j])
16: transf erable load ← MEDIUM MAX-load[j]
17: end if
18: end if
19: load[i] ← load[i]-transf erable load
20: load[j] ← load[j]-transf erable load
21: end for
22: end if
23: create a new transfer T (from:i, to:j, load:transf erable load)
24: start the transfer T
25: end for
26: output: load array

2.1 Analysis
Let us assume that messages in the algorithms given in Alg. 1, Alg. 2 and Alg.
3 will arrive in finite time from a source to destination or multiple destinations.
We also assume k, d are upperbounds on the number of clusters and diameter
of a cluster respectively.
318 R.Ü. Payli, K. Erciyes, and O. Dagdeviren

Algorithm 3. Load balancing algorithm for coordinator


1: initially M: set of all member nodes of the coordinator the node
2: C: set of all coordinators
3: loadM : received load array of coordinator from M
4: TM : total load of loadM
5: token received: the token received state, initially equals to false.
6: next coordinator: next coordinator (cluster leader) on the ring.
7: Legend :  State ∧ input message −→ actions
8: loop
9:  IDLE ∧ T out −→ multicast Coord P oll to M
10: current state ← WAIT POLL
11:  IDLE ∧ Xf er T oken −→ multicast Coord P oll to M
12: current state ← WAIT POLL
13: token received ← true
14:  WAIT POLL ∧ N ode State −→ if all loads are received from M then
15: call local load balance procedure(loadM )
16: if TM is MEDIUM MAX then multicast End to M
17: current state ← IDLE
18: else send Xf er T oken to the next coordinator
19: current state ← WAIT XFER MES
20: end if
21: if token received=true then forward Xf er T oken to the
next coordinator
22: end if
23:  WAIT XFER MES ∧ Xf er T oken originated from this coordinator −→
24: calculate global transfers similar to local load balance procedure
25: if no global transfer then multicast End to M
26: current state gets IDLE
27: else multicast Xf er List to C
28: if TM is HIGH then current state ← WAIT LD
29: else TM is HIGH then current state ← WAIT XLD
30: end if
31: end if
32:  WAIT XFER MES ∧ Xf er List −→ if no global transfers then multicast
End to M
33: end if
34: if TM is HIGH then current state ← WAIT LD
35: else current state ← WAIT XLD
36: end if
37:  WAIT XACK ∧ X ACK −→ send In ACK
38: if no other transfer exists then current state ← IDLE
39: else current state ← WAIT LD
40: end if
41:  WAIT XLD ∧ X Load −→ send In Load
42: current state ← WAIT INACK
43:  WAIT XACK ∧ In ACK −→ send X ACK
44: if no other transfer exists then current state ← IDLE
45: else current state ← WAIT XLD
46: end if
47: end loop
A Cluster-Based Dynamic Load Balancing Protocol for Grids 319

Observation 1. In coordinator algorithm given in Alg. 3 and node algorithm


given in Alg. 1, each coordinator and node starts in IDLE state and should end
in IDLE state.
Lemma 1. Coordinator algorithm given in Alg. 3 is free from deadlock and
starvation.
Proof. We prove the lemma by contradiction. From Observation 1, a coordinator
starts executing the Alg. 3 in IDLE state and should end in IDLE. If there exists
a deadlock or starvation, a coordinator should be any state other than IDLE
after executing the algorithm. We assume the contrary that a coordinator is not
in IDLE state at the end of the algorithm. In this case, a coordinator may be
in any of the cases listed below:

– W AIT P OLL: A coordinator makes a state transition from W AIT P OLL


to IDLE or W AIT XF ER M ES state when it receives all N ode States
from cluster members. From Observation 1, since all ordinary cluster mem-
ber nodes start executing the algorithm in IDLE state, they reply the
Coord P oll message with N ode State as given in line 7 of Alg. 1. Thus
a coordinator can not wait endlessly in this state.
– W AIT XF ER M ES: In this state, a coordinator node makes a state transi-
tion to W AIT LD, W AIT XLD, or IDLE state if it receives a Xf er List
or its own circulated Xf er T oken message. If it receives its circulated
Xf er T oken message, the coordinator multicasts a Xf er List message to
all coordinators. Since at least one of the Xf er T oken messages will be
circulated the ring, a coordinator will receive its own Xf er T oken or multi-
casted Xf er List. Thus a coordinator will make a state transition from this
state.
– W AIT LD: When a coordinator is in W AIT LD state, it waits for In Load
message from ordinary nodes. To transfer the load, a coordinator sends
Coord Xf er message to the destination node with HIGH load. When
an ordinary node is HIGH loaded, it will make a state transition to
W AIT XF ER state and and it replies the Coord Xf er message with a
N ode Load. So a coordinator will make a state transition from W AIT LD
state to W AIT XACK since it receives the In Load message.
– W AIT ACK: A coordinator which is in this state will make a state tran-
sition to IDLE state upon receiving the last X ACK message. A LOW or
M EDIU M loaded ordinary node will make a state transition to W AIT LD
state when it receives Coord P oll message and it replies the N ode Load
message with a Xf er ACK message. So a coordinator will make a state
transition to IDLE state in finite time.
– W AIT XLD: This case is similar to the case of a coordinator in W AIT LD
state. When the coordinator in W AIT XLD state receives the X Load mes-
sage it will make a state transition to W AIT IN ACK state.
– W AIT IN ACK: When the coordinator receives the last In ACK message,
it makes a transition to IDLE state. This case is similar to the case of a
coordinator in W AIT ACK state.
320 R.Ü. Payli, K. Erciyes, and O. Dagdeviren

As explained from all the cases listed above, a coordinator node can not
finish the algorithm in one of listed states. Thus we contradict with our
assumption. The coordinator node will be IDLE state after executing the
algorithm and coordinator algorithm is free from deadlock and starvation.

Lemma 2. A coordinator will multicast End message to its cluster members


before ending the execution of the algorithm.

Proof. A coordinator starts the algorithm in IDLE state and makes a state
transition to W AIT P OLL state when a T out occurs. From Lemma 1, all
coordinators will be in IDLE state after the algorithm execution. There are three
transitions to the IDLE state and in each transition a coordinator multicasts
End message.

Lemma 3. Node algorithm given in Alg. 3 is free from deadlock and starvation.

Proof. Assume the contrary. A node should be in IDLE state at the end of the
algorithm from Observation 1. Thus we assume that an ordinary node can be
in W AIT LD, W AIT ACK or W AIT XF ER state after the execution of the
algorithm. When a node is LOW or MEDIUM loaded it makes a state tran-
sition from IDLE to W AIT LD state upon receiving Coord P oll. A node in
this state will eventually receive End message from its coordinator as proved
in Lemma 2 and will make a state transition to IDLE state. When a node is
HIGH loaded it will make a state transition to W AIT XF ER state and trans-
fers its load upon receiving N ode Load message. After it transfers the load, it
will receive Xf er ACK message from its coordinator and makes a state transi-
tion to W AIT XF ER state. When the coordinator sends a End message, this
cyclic state transitions will finish and node will be in IDLE state at the end.
We contradict with our assumption, node algorithm is free from deadlock and
starvation.

Theorem 1. Our hierarchial dynamic load balancing protocol is free from dead-
lock and starvation.

Proof. Our protocol consists of coordinator and node algorithm. From Lemma
1 and Lemma 3 we proved that both algorithms are free from deadlock and
starvation, thus theorem holds true.

Theorem 2. The total number of messages for acquiring the global load knowl-
edge at the worst case is k(1+(k-1)/2).

Proof. A Xf er T oken must circulate across the ring and must be transmitted
back to originator node. Xf er T oken with the smallest id will circulate, others
will be dropped. So, at the worst case arrangement of coordinators, the sum of
1 to (k-1) Xf er T oken messages, which is equal to k*(k-1)/2, are transmitted.
After originator node receives its token, it broadcasts k Xf er List messages.
Thus totally k(1+(k-1)/2) messages are needed.
A Cluster-Based Dynamic Load Balancing Protocol for Grids 321

Corollary 1. Circulation of the token in daisy architecture eliminates at least


half of messages with compared to broadcasting for the global load distribution
algorithm.
Proof. When each coordinator broadcasts its load, totally (k-1)*k messages are
needed. On the other side, from theorem 2, circulation of token requires k*(k-
1)/2 messages at the worst case.
Corollary 2. The time for acquiring the global load knowledge is O(dk) where
T is the average message transfer time between adjacent nodes.
Proof. As shown in Theorem 2, at the worst case, k*(k-1)/2 messages are needed
for token circulation. However, since messages are transmitted in parallel, at the
worst case (2k-1)*T time needed for token circulation. After originator node
receives its token, it broadcasts k Xf er List messages in T d time. Totally ((2k-
1)+d)T time is needed. Thus, the time for acquiring the global load knowledge
is O(k).
Theorem 3. The time for a single load transfer is between 4dT +L and (4d+1)
T + L where L is the actual average load transfer time.
Proof. A node transfers its state to the coordinator in d steps in parallel with
the other nodes and assuming there is a match of LOW-HIGH nodes in the
local cluster, the coordinator will send X Load message to the HIGH node in
d steps. Then there will be L time for the actual load transfer. The HIGH and
LOW(or MEDIUM) nodes also perform a final handshake to confirm delivery
of load in 2d steps. The total minimum time for load transfer is then the sum
of all of these steps which is 4dT +L. In the case of a remote receiver, only 1
Coord Xf er message will be transmitted resulting in (4d+1)T +L time.
Corollary 3. The total number of messages exchanged for a single load transfer
is O(d).
Proof. As shown by Theorem 3, the maximum total number of messages required
for a remote receiver will be (4d+1)T +L. Thus, the message complexity for the
a single load transfer of the algorithm is O(d).

3 Performance Evaluation
We implemented the load balancing algorithm with MPI library. We carried out
our tests on Indiana University’s BigRed Cluster. Indiana University’s BigRed
is a distributed shared-memory cluster, consisting of 768 IBM JS21 Blades, each
with two dual-core PowerPC 970 MP processors, 8GB of memory, and a PCI-
X Myrinet 2000 adapter for high-bandwidth, low-latency MPI applications. In
addition to local scratch disks, the BigRed compute nodes are connected via
gigabit Ethernet to a 266TB GPFS file system, hosted on 16 IBM p505 Power5
systems. In our all experiments, each measurement is averaged with three iden-
tical measurement scenarios. We firstly measure the runtimes of the algorithm
322 R.Ü. Payli, K. Erciyes, and O. Dagdeviren

Fig. 1. Runtimes of the Algorithm Fig. 2. Number of High Loaded Cores


w.r.t Total System Load

for varying nodes and cluster sizes. The node numbers are selected from 3 to
30. Since each node has 4 cores, the core numbers are varying from 12 to 120.
The cluster sizes are selected as 3, 4 and 6. Fig. 1 shows that our algorithm is
scalable when increasing core numbers from 12 to 120 and varying cluster sizes
as 3,4 and 6. Since the nodes in the BigRed Cluster are identical, the cluster
formation is simply achieved by considering the rank of the cores given by MPI.
For example the cores 0, 1 and 2 are in the same the cluster in a system which
is divided to the clusters having 3 cores each.

Fig. 3. Number of High Loaded Cores Fig. 4. Standard Deviations w.r.t To-
w.r.t Total System Load tal System Load

One important goal of the algorithm is to decrease the number of high loaded
nodes in the system as much as possible. For the system with 4 cores in each
cluster, we prepare low, medium and high loaded test scenarios randomly with
different seeds. The loads are represented with the integer values. Between 5 and
20, each 5 integer interval belongs a load type low, medium and high respectively.
Fig. 2 shows the number of high loaded cores in initial state, before applying
the algorithm, and in final state, after applying the algorithm. In the low loaded
A Cluster-Based Dynamic Load Balancing Protocol for Grids 323

systems, all of the high loaded cores give their excessive loads to the other cores.
In the medium loaded and high loaded systems more than half of the high loaded
cores become medium loaded as shown in Fig. 2. We also fix the system load
as medium and change the cluster sizes to measure the number of high loaded
cores with respect to various clustering schemes. Measurements in Fig. 3 shows
that the curves in different clustering scenarios are similar which shows that our
algorithm achieves both inter-cluster and intra-cluster balancing.

Fig. 5. Standard Deviations w.r.t Cluster Size

Lastly, we measure the standard deviations of the loads before and after ap-
plying the algorithm in Fig. 4. In medium and especially high loaded systems,
number of high loaded cores are much greater than the number of high loaded
cores in low loaded systems. Generally, the standard deviations after applying
the algorithm are smaller than half of the values before applying the algorithm
in high and medium loaded systems as seen Fig. 4. In low loaded systems, since
the number of transfers are smaller, the standard deviations after applying the
algorithm are approximately 70% of the initial values. When we fix the system as
medium loaded and vary the cluster size, the standard deviations after applying
the algorithm are smaller than half of the initial values as seen in Fig. 5. This
shows that the algorithm behaves stable under varying cluster sizes.

4 Conclusions
We showed the design and implementation of a protocol for dynamic load bal-
ancing in a Grid. The Grid is partitioned into a number of clusters and each
cluster has a coordinator to perform local load balancing decisions and also to
communicate with other cluster coordinators across the Grid to provide inter-
cluster load transfers, if needed. Our results confirm that the load balancing
method is scalable and has low message and time complexities. We have not ad-
dressed the problem of how the load should be transferred, and there are many
research studies on this subject but we have tried to propose a protocol that
is primarily concerned on when and where the load should be transferred. In
fact, it may be possible not to transfer the load at all by employing copies of a
subset of processes across the nodes in the Grid. The load transfer would require
324 R.Ü. Payli, K. Erciyes, and O. Dagdeviren

sending of some initial data only in this case. The coordinators may fail and
due to their important functionality in the protocol, new coordinators should be
elected. These are future directions we are investigating.

Acknowledgements
This material is based upon work supported by the National Science Foundation
under Grant No. ACI-0338618l, OCI-0451237, OCI-0535258, and OCI-0504075.
This research was supported in part by the Indiana METACyt Initiative. The
Indiana METACyt Initiative of Indiana University is supported in part by Lilly
Endowment, Inc. This work was also supported in part by Shared University
Research grants from IBM, Inc. to Indiana University.

References
1. Foster, I., Kesselman, C., Tuecke, S.: The Anatomy of the Grid: Enabling Scalable
Virtual Organizations. Int. Jrnl. of High Perf. Comp. Apps. 15(3), 200–222 (2001)
2. EGEE, http://public.eu-egee.org/
3. NORDUGRID, http://www.nordugrid.org/
4. Eager, D.L., Lazowska, E.D., Zahorjan, J.: A Comparison of Receiver-initiated
and Sender-initiated Adaptive Load Sharing. ACM SIGMETRICS Performance
Evaluation Review 6(1), 53–68 (1986)
5. Kumar, V., Garma, A., Rao, V.: Scalable Load Balancing Techniques for Parallel
Computers. Elsevier Journal of Parallel and Dist. Comp. 22(1), 60–79 (1994)
6. Shah, R., Veeravalli, B., Misra, M.: On the Design of Adaptive and Decentral-
ized Load Balancing Algorithms with Load Estimation for Computational Grid
Environments. IEEE Trans. on Parallel and Dist. Sys. 18(12), 1675–1686 (2007)
7. Lin, H., Raghavendra, C.S.: A Dynamic Load-balancing Policy with a Central Job
Dispatcher. IEEE Trans. on Software Engineering 18(2), 148–158 (1992)
8. Feng, Y., Li, D., Wu, H., Zhang, Y.: A Dynamic Load Balancing Algorithm based
on Distributed Database System. In: Proc. of Int. Conf. High Performance Com-
puting in the Asia-Pasific Region, pp. 949–952. IEEE, Washington (2000)
9. Wang, J., Wu, Q.-Y., Zheng, D., Jia, Y.: Agent based Load Balancing Model for
Service based Grid Applications. Comp. Intel. and Secur. 1, 486–491 (2006)
10. Subrata, R., Zomaya, A.Y.: Game-Theoretic Approach for Load Balancing in Com-
putational Grids. IEEE Trans. on Par. and Dist. Syst. 19(1), 66–76 (2008)
11. Genaud, S., Giersch, A., Vivien, F.: Load-balancing Scatter Operations for Grid
Computing. Parallel Computing 30(8), 923–946 (2004)
12. Karohis, N.T., Toonen, B., Foster, I.: MPICH-G2: A Grid-enabled Implementa-
tion of the Message Passing Interface. Journal of Parallel and Distributed Com-
puting 63(5), 551–563 (2003)
13. Erciyes, K., Payli, R.U.: A Cluster-based Dynamic Load Balancing Middleware
Protocol for Grids. In: EGC 2005. LNCS, vol. 3470, pp. 805–812. Springer-Verlag,
Berlin (2005)
14. Erciyes, K., Dagdeviren, O., Payli, R.Ü.: Performance Evaluation of Group Com-
munication Architectures in Large Scale Systems Using MPI. In: Meersman, R.,
Tari, Z. (eds.) OTM 2006. LNCS, vol. 4276, pp. 1422–1432. Springer, Heidelberg
(2006)
A P2P Based Scheduler for Home Grids

Erick Lopes da Silva and Peter Linington

University of Kent, School of Computing, CT2 7ST, Canterbury, Kent, UK


{els33,P.F.Linington}@kent.ac.uk

Abstract. This work presents a P2P based grid scheduling system for highly
dynamic and highly heterogeneous environments, such as home networks,
where we can find a variety of devices (laptops, PCs, game consoles, etc.) and
networks. Our solution is based on the distribution of the matchmaking task
among providers, leaving the final allocation decision to a central scheduler that
can be running on a limited device without a big loss in performance. We
evaluate our solution by simulating different scenarios and configurations
against the Opportunistic Load Balance (OLB) scheduling heuristic, which we
found to be the best option for home grids from the existing solutions that we
analyzed. The results have shown that our solution performs similar to or better
than OLB.

Keywords: Computational grid, P2P, home environment.

1 Introduction

Recent advances in computing and communication allows us to envisage the realization of


some pervasive applications such as homeland security or fire prevention systems, for
example, which consist of constantly processing data collected from sensors and/or
cameras.
The number of devices found in a house that are capable of processing data has
been increasing in the last few years. However, some of them are limited and may not
be able to run complex applications within an acceptable time for the user. We can
overcome this problem by distributing the processing of an application to more
powerful devices, but it is necessary to define, for example, the mechanism to find the
powerful devices that are available, how the devices should communicate and how to
decide what devices should receive which processes.
A Computational Grid emerges as a suitable option for these challenges, since it
has been designed for the distribution of application processing in dynamic and
heterogeneous environments, which happens to be the case for home networks.
Considering the under-used computational power available in the home
environment (computers, game consoles, PDAs, etc.), it is possible to envisage the
creation of a domestic computational grid structure. Grid computing [1-3] basically
consists of sharing resources in a flexible, secure and coordinated way. These
resources can be storage and processing power, or even specialized facilities such as a
TV screen, for example.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 325–336, 2011.
© Springer-Verlag Berlin Heidelberg 2011
326 E.L. da Silva and P. Linington

There are plenty of efforts in developing Grid infrastructures, as presented in [1],


but most of them are not suitable for limited devices in terms of processing,
bandwidth and storage.
Some work has also been developed in terms of grids for limited devices, as in
[4-7]. Most of these papers focus on allowing limited devices to use existing powerful
grid infrastructures, which has a different scope from this work. The closest work to
that presented here is [6], where a grid with home devices (called embedded-Grid or
e-Grid) is presented. The main objective of the grid in [6] is to export the power of
embedded devices in the home to an external grid, with a powerful device (usually a
PC) acting as a gateway that communicates with the external grid server and manages
the embedded devices.
Scheduling is a very important factor in computational grids in order to allow them
to provide good performance results. In particular, scheduling can be the mechanism
for maximizing the resources available to end users and to exploit idle resources [8].
Although several efforts have concentrated on developing scheduling systems,
most of these systems schedule jobs within a single machine or across clusters of
homogeneous machines.
Improvements to the grid infrastructure have allowed better support to dependent
tasks by the schedulers [9], and they usually use directed acyclic graphs (DAGs) to
model the jobs, where the vertices represent the jobs and the edges represent the
precedence between jobs. Most of the systems in this category use static mechanisms,
which does not deal well with the dynamic change of the resources in the grid.
Considering the requirement for a powerful infrastructure to achieve good
performance with job dependency, we assume that the jobs submitted to our grid
system are independent (freestanding), since we cannot guarantee such an
infrastructure in the home environment. Therefore, the schedulers related to our
research are those supporting independent tasks.
Here, we present a P2P based scheduling solution that takes into consideration the
limitations, heterogeneity and dynamicity of the domestic environment.

2 Related Work
For grid schedulers that attempt to optimize the performance of a particular
application (e.g. AppLeS [10]), many static heuristic algorithms can be used (e.g.
Min-Min, Max-Min, XSuffrage, MET, MCT – more detail about these algorithms can
be found in [9, 11, 12]). Such algorithms usually use predicted performance of the
resources in order to allocate the tasks. In highly heterogeneous and dynamic
environments such as the home environment, the performance of these algorithms is
less effective, since the static prediction may not reflect the grid current state when
the tasks are sent for processing.
The static solution for scheduling independent jobs without performance
predictions and based on replication presented in [13] works fine on environments
where resources are abundant, which is not the case of home environments.
The objective of our scheduling solution is to maximize the usage of the available
resources for different applications instead of a single application; and we consider a
very dynamic and heterogeneous environment. Therefore, we assume that dynamic
A P2P Based Scheduler for Home Grids 327

schedulers for independent tasks would be the most appropriate for the grid
environment assumed in this paper. Such schedulers are suitable for scenarios where
it is difficult to estimate the cost of applications or when jobs arrive dynamically at
the scheduler. Condor and Legion are examples of systems that use dynamic
scheduling, but they both require an infrastructure that cannot be guaranteed in the
home environment, in order to get information about the state of the resources.
Dynamic schedulers often make use of load balancing techniques to improve the
performance. From the four load balancing approaches presented in [9] (Optimistic
Load Balance – OLB, Balance-constrained, Cost-constrained, Hybrid), we have
decided that OLB would be the most suitable for the home environment, for its
simplicity (with complexity of O(m), where m is the number of resources/providers on
the grid), low footprint and adaptability to the dynamic and heterogeneous
environment that we envisage. For this reason, we have simulated a version of OLB
scheduler to use as a benchmark for our proposed scheduling solution.
It is common in the literature to present OLB with poor performance results when
compared to other heuristics, but this is often an unfair comparison. OLB, which is a
dynamic resource-driven (the objective function is to maximize the usage of
resources) scheduling heuristic is usually compared against static application-driven
(the objective function is to improve the performance of applications) scheduling
heuristics. The set-up for the experiments is typically a group of known tasks and the
common metric used in those comparisons is the makespan [9], which corresponds to
the time taken from the scheduling of the first task in the group until the time when
the last task is completed. The makespan is most suitable for measuring the
performance of application-driven schedulers (where all the tasks are known a priori),
and it does not reflect the performance of dynamic and resource-driven schedulers,
which are best evaluated by the use of throughput or CPU usage as a comparison
metric, which are some of the metrics used in this work.

3 Proposed Home Grid


Peer-to-peer (P2P) systems have to deal with participants that remain disconnected for
long periods, which is different from what happens in conventional grid systems [14].
However, that work envisages that large-scale grid systems will develop to present
this characteristic of current P2P systems, meeting a demand for the grid to adapt to
the higher dynamicity of resources, which is already a characteristic that can be found
in the domestic grid being defined in this work, since most resources may be kept
switched off for most of the time. Domestic grids are not only dynamic, but can also
be very heterogeneous, being composed of devices with different capabilities and also
different network technologies. These devices can vary from a refrigerator with low
processing capability connected to the grid via Ethernet to a mobile phone or a
computer connected via wireless technologies, for example. The devices in the house
that would most likely have the “always on” characteristic (switched on for most of
the time) would be a refrigerator, a microwave or a router, for example.
Gradwell [15] investigates three of the most mature scheduling systems for grid
computing: Nimrod-G, GrADS and Condor-G; and presents a description of
similarities between these systems which are dependent on their centralized control.
328 E.L. da Silva and P. Linington

These similarities are: (i) the assumption of one central point in the grid, which allows
them to know about all the jobs on all nodes on the grid; (ii) the centralized control
(full or partial) of the scheduling policies for all the nodes; and (iii) the assumption
that the resource allocation for the jobs and the job scheduling are done by the same
part of the scheduler.
A centralized system like the ones mentioned above could be used for the domestic
grid if we could guarantee the presence a device powerful enough to run a central
scheduler and that it is switched on all the time (or most of time). The devices with
the “always on” characteristic will probably not have the required processing power
to support sophisticated fully centralized scheduling systems in the near future, so
adopting this kind of system in a domestic grid would degrade the system’s
performance.
In conventional grids, centralized schedulers gather information about the load
status of the resource to try to promote good load balance for the grid system, adding
more traffic to the network. Furthermore, when a scheduling system is described as
distributed, it means that a central scheduler for a particular group of resources can
communicate with other central schedulers and they can send tasks to each other,
without really distributing the scheduling activity.
In this work, the idea is to create simple agents that do not require much processing
power from the devices where they are running, and to reduce the communication
overhead. The communication between these agents is done mostly by broadcasting
small messages and sharing an enhanced tuple space [16], used to store the jobs to be
executed by the grid resources. In our system, the enhanced tuple space is controlled
by a local agent that reads and writes the jobs to the data structure based on the job
priorities.
The remainder of this section describes our proposed solution for grid systems
running on home environments.

3.1 Agent Based Solution

In our proposed solution, every device participating in the grid has a main agent that
is composed of the following sub-agents (which we will also refer to as agents
throughout this paper): (1) Consumer (represents the applications that wish to use the
grid, and it is responsible for submitting the jobs); (2) Provider (represents the
resources that are able to execute the jobs, and is responsible for activities such as
running the jobs and sending the results to the appropriate place); (3) Registration
Agent (handles the registration process when a device connects to the grid); (4)
Scheduler (Tuple Space Agent - TSA) (responsible for making the decision about
which provider should execute each job sent by the consumers and for part of the
registration process); (5) Coordinator Agent (responsible for collecting local
information - e.g. available CPU, disk size - and for managing the communication
between the other agents in the same device).
Although all these agents are present in each device, they may or may not all be
active at the same time, which means that a device can have only the scheduler active
or be acting exclusively as a consumer, for example.
A P2P Based Scheduler for Home Grids 329

3.2 Device Registering and Resource Discovery

To avoid ambiguity about resources, we first need to define a mechanism to provide


unique IDs. For this problem, Czajkowiski et al. [17] suggests two approaches: one is
a naming service based on a naming authority; and the other is based on probabilistic
techniques. The first approach consists of a centralized entity responsible for issuing
credentials for all resources, which can be of simple implementation, but it has the
disadvantage of requiring a new component in the system that needs to be managed
and maintained, and it may not be possible to guarantee an infrastructure for such a
component in the home environment. Globally Unique Identifier (GUID) [18]
systems are examples of the second approach; they can provide random identifiers
based on some information from the resources. GUID systems do not guarantee a
unique identifier, but the probability of two devices having the same identifier is very
low.
Based on the statements above, we proposed the use of GUIDs in our system,
where each device generates its own. The main purpose of an identification in this
work is for the generation of global IDs for jobs, where the scheduler adds its own ID
(GUID) to it (explained later in this section).
When a device joins the grid, its registration agent broadcasts a
REGISTRATION_REQUEST message (containing its GUID) to the other agents in
the grid, and only the scheduler replies with a REGISTRATION_RESPONSE
message, so that the new device can discover the location of this shared space. The
entering device then keeps this information for future use. In order to assure that there
will not be repeated IDs, even though the probability is very low, the scheduler keeps
a data structure with the received IDs and the IP address of the sender, and every time
the scheduler receives a new one during the registration process, it checks if the ID
already exists. If it does not exist, the scheduler adds it to the data structure, or
updates the ID for the same IP address of the sender (if it has been registered before).
Otherwise, if the ID does exist and the sender is the same as the one stored in the data
structure (i.e., same IP addresses), the registration proceeds normally (the
REGISTRATION_RESPONSE is sent by the scheduler); but if the IP addresses are
different, the scheduler sends an EXISTING_ID message to the registering device.
This indicates that the latter has to generate another GUID and restart the registration
process.
Once the registering process is finished, the device can consume and/or provide
resources in the grid. To submit a job to the grid, the consumer agent submits a
JOB_SUBMISSION_REQUEST message to the TSA, which includes the description
of the minimum resource requirement for the job execution, the input and output data
(or an indication of where to locate them); and all the other information necessary to
run the job. After receiving the JOB_SUBMISSION_REQUEST message, the TSA
stores the received information, generates a global ID for the received job, and sends
a JOB_SUBMISSION_RESPONSE message (with this ID) to the consumer.
For this registering mechanism, we assume that the IP address is allocated
manually or using the DHCP (Dynamic Host Configuration Protocol), which is a
protocol where a client requests an IP addresses to a server. Home networks using
wireless routers usually adopt DHCP with automatic or static allocation, which allow
the clients to keep their IP addresses for a long period. Our registering mechanism
330 E.L. da Silva and P. Linington

may not function well in those situations where the IP address of the clients changes
frequently (e.g. DHCP server configured to use dynamic allocation with a short lease
time), since the registering data structure may grow considerably and it may
eventually become inconsistent (an ID being associated with the wrong IP address). A
better registering process is required for such situations (perhaps defining times for
the TSA to check the correctness of the values in the registering data structure,
eliminating those that are no longer correct).
Since we do not consider the use of timestamps (as mentioned later in this article
when talking about the scheduling system), we assume that the job global ID is
composed by a numeric value and the ID of the scheduler that assigned it. The
numerical part is used to indicate the order of arrival of the jobs at the scheduler,
which is also the order for the execution of the job. The ID of the scheduler is also
part of the global ID in order to distinguish between two jobs with the same numerical
global ID part, but issued by different schedulers, which can happen in the case where
a network is partitioned, for example. This is a measure to be used in the fault
tolerance mechanisms of our system, which are out of the scope of this paper.
After receiving the global ID from the TSA, the consumer then broadcasts a
JOB_DESCRIPTION message with the global job ID and the resource requirements
to the other agents, so that providers can compare these pieces of information with
their own resource description, and verify if they are capable of executing that job
(matchmaking). In this way, we distribute the task of discovering resources between
the agents and not only as a task for the scheduler, which cannot be guaranteed to be
powerful enough to perform the matchmaking and the scheduling itself without
compromising the performance of the system. According to our estimations based on
the number of instructions of the OLB scheduler, the matchmaking represents
approximately 65% of its scheduling process (increasing the percentage with the
availability of more providers). The information held by providers after the
matchmaking process is intended to be used as part of the fault tolerance mechanism
for our system.
The only central point in our grid is the TSA, which is simple to use and requires
space for storage (which is cheap), but it does not need much processing power. This
distributed resource discovery mechanism makes the limited devices in the grid
perform some processing when they receive the broadcast messages, but it is
preferable that they make a few comparisons and verify that they cannot execute the
jobs and stop processing instead of concentrating the resource discovery task in only
one central limited device. These limited devices can also be set as “consumer only”,
which indicates that they cannot receive jobs to execute and their local agent can then
ignore the JOB_DESCRIPTION messages. This decision about setting a device as
“consumer only” can be done by the user, or a set of minimum requirements can be
defined in order to enable the provider agent in a device.

3.3 Scheduling System

So far, we have described how a device registers within the grid, and how consumers
submit their jobs using broadcast messages to find suitable resources to execute them.
In this section, we describe the behaviour of the grid participants: consumers,
A P2P Based Scheduler for Home Grids 331

providers and scheduler (TSA). This also includes the messages that are exchanged
between them.
For this specification, we make the following assumptions: (a) the jobs sent by
consumers are independent, so that they can all be executed in parallel; (b) if jobs are
dependent, the consumer sending them is responsible for sending them in the
appropriate order, and delaying submissions until previous results that are needed
have been received; (c) timestamps are not considered for scheduling purposes, in
order to avoid additional processing and communication for clock synchronization in
such a dynamic environment; (d) a reliable communication protocol (e.g. TCP) is
used for the transmission of unicast messages.
Note that, in this section, we only describe how the system works assuming that we
have a reliable device (one that will never disconnect or fail) running the scheduler.
After the matchmaking, providers classify the job as processable or not processable,
and then store it locally in a queue, following the order of the global ID. The storage of
jobs that cannot be processed by a provider will be useful to reconstruct the status
of the scheduler if it fails. During the scheduling process, providers send a
SCHEDULE_REQUEST message to the scheduler with a queue (Pq) containing the first
N jobs stored in their local queue that are tagged as processable. The scheduler receives
this queue, selects the job that should be processed next by the provider (the first job in Pq
that has not been allocated yet), and updates the queue by removing those jobs that have
already been completed (allocated jobs are kept in the queue so they can be rescheduled in
case of failures). This updated version of the queue and the selected job are sent back in a
SCHEDULE_RESPONSE message to the original provider; if the scheduler holds any
data required by the allocated job (executable file and I/O data), that data is also attached
to the SCHEDULE_RESPONSE message.
Providers may leave the grid at any time and there might be a number of jobs that
have been broadcast while they have been unavailable, as illustrated in Fig. 2, where
Job A represents the last job received by the provider while it was on for the first
time; Job B represents the first job received when it became on again after the first off
period. Jobs C and D are, respectively, the last and the first job received before and
after the second off period, and so on.

Fig. 1. Example of a job submission timeline where a provider becomes on and off

In order to acquire those jobs that might have been broadcast during their off
period, providers also inform the scheduler (within the SCHEDULE_REQUEST
message) the oldest interval of jobs where there can be jobs missing (e.g. the global
IDs of jobs A and B in Fig. 2). Based on this information, the scheduler is able to find
out if there are jobs to be processed that were sent during that particular off period; if
there are any, the scheduler creates a list (Ls) with the first M jobs that have been
received in the period, and sends it to the provider. The scheduler also informs the
provider if there are more jobs in the current interval other than those M jobs present
in the list (using here what is called the “more flag”). Both Ls and “more flag” are
332 E.L. da Silva and P. Linington

part of the SCHEDULE_RESPONSE message. If there are no more jobs in the


current interval of jobs, providers can start sending the details of the next interval (if
there is one).
When providers receive the list of missing jobs from the scheduler, they perform
the matchmaking for all jobs in the list and classify them as processable or not. The
jobs are then placed in the local queue in order of their global IDs. In Fig. 3, we
illustrate the messages that should be exchanged between providers and scheduler
during the scheduling process.

Fig. 2. Communication between provider and scheduler during a job request from the provider

When a provider finishes the execution of a job, it sends the result to the location
indicated in the job description (e.g. directly to the job’s owner or to a shared
repository) to avoid extra communication. The message containing the result is called
JOB_COMPLETION_CONSUMER. Once that completion message is sent, another
message, here identified as JOB_COMPLETION_SCHEDULER, is immediately sent
to the scheduler to inform it that the job has been finished, so it can be removed from
the local data structure.
After sending the completion message to the scheduler, providers must keep the
information about the completed job for some time. This is another anticipated
measure for our fault tolerance mechanism. Fig. 3 illustrates the complete flow of
information for the proposed job scheduling mechanism.

4 Evaluation of Scheduling Performance

We have chosen to evaluate our system through simulations, where we can determine
the behaviour of the system and study its behaviour without having to implement it,
saving time and effort. With simulations, it is also easier to collect statistical data on
performance to compare with the data from other systems, which makes it the first
choice to evaluate systems in the literature. Some of the results are presented in this
section.
We have studied some simulations tools for grid systems (SimGrid, GridSim,
EDGSim and GangSim). Most of them use the discrete-event concept. Some of these
tools support the use of real workloads for the simulations and the majority only
supports the simulation of centralized job scheduling. These tools have their own
network model, and usually they are based on the Internet. We could not find any
support for broadcasting messages in the network model of the tools studied. Since
our proposal uses broadcast, we had to develop our own grid simulation tool, which
was built using a discrete event simulation framework internally used in the School of
Computing at the University of Kent [19].
A P2P Based Scheduler for Home Grids 333

Fig. 3. Scheduling information flow

In our simulations, each consumer generates groups of jobs that are sent to the grid.
Each group of jobs has a maximum number of jobs (GROUP_SIZE) that can be sent
to the grid sequentially, without having to wait for the previous one to be completed.
After sending GROUP_SIZE jobs, the consumer application has to wait until all of
them have been executed, before it starts sending another group. The interval between
sending two consecutive jobs in the same group is computed by using a Uniform
Distribution that gives Real values between 0 (zero) and seconds of simulated
time. In the results presented in this section, we have arbitrarily used = 0.5, which
gives an average of 0.25 second of simulated time between job submissions.
After executing all the jobs of a certain group, the consumer application waits for
an interval defined by an Exponential Distribution and then starts submitting another
group of jobs. The parameter λ for this distribution determines the load of the
simulation. The average waiting time W is given by (W = 1 / λ).
So, for example, if λ is set to 0.01, it will give an average interval of 100 seconds
of simulated time between groups submission; lower values for λ reduce the average
waiting time, increasing the number of groups submitted and, consequently, the load
of the simulation.
In order to have a better view of how our proposed model behaves in comparison
to OLB, we decided to evaluate two different scenarios: (i) the Static Scenario, which
simulates consumers sending jobs at a constant rate and all devices in the grid remain
connected to the grid until the simulation is completed; and (ii) the Dynamic
Scenario, where providers keep connecting and disconnecting from the grid.
However, in this scenario, providers do not disconnect while they are executing jobs,
in order to avoid faults in the system, since we are not considering fault tolerance in
this paper.
334 E.L. da Silva and P. Linington

The main objective of our scheduler is to maximize the number of jobs completed
during a certain period of time. For this reason, one of the variables that are collected
from the simulations is the number of jobs completed per second of simulated time.

Simulation Set-up. The initial aim was to compare the performance of the two
systems (TSA and OLB) with a high load of job submission, so we could see the point
of saturation for each system and how many jobs were completed at the point. The
simulations presented here were run for 100000 seconds of model time, with 10000
seconds of settling time (which is not taken into account for the data collection).
Since we are most interested in the impact of the scheduling mechanism on the
number of jobs processed, we have used negligible values for the input and output
data, and for the executable program that will run on the providers. This avoids extra
loading on the network, making clearer the influence of the scheduler on the total
system’s performance. Increase in the simulation workload can be achieved by
augmenting the number of consumers, by changing the size of the group of jobs sent
by these consumers or by changing the parameter λ for the Exponential distribution
that determines the amount of time that a consumer should wait before sending the
next group of jobs.

Static Scenario. This kind of scenario is simple but not realistic, since devices in the
home environment are likely to turn on and off with a certain frequency. At this stage,
we are interested to find out how both schedulers behave in ideal conditions (no
disconnections and/or failures) and use this information to make improvements to the
design; it is also desirable that our system performs well in this kind of scenario.
For this experiment, we have assumed the existence of 5 providers, and, to boost
the load, we have simulated 100 consumers sending groups of 20 jobs to the grid. The
λ parameter (Load Parameter) ranges from 0.1 to 0.9, which means that the average
waiting time between groups ranges from 10 to 1.1 seconds (approximately). The
comparison between TSA and OLB for the number of jobs completed per second of
simulated time have shown a marginal difference in favor of TSA in the static
scenario, but this difference is not significant, since the scheduling performance was
dominated by other costs such as communication.

Dynamic Scenario. The load parameter was already introduced in the static model.
Now we need two other parameters for the exponential distributions that are used to
calculate the CP and DP variables. These parameters are referred here as ρCP and ρDP,
respectively. The last assumption for this scenario is that there must be at least one
provider active in the grid, so we can avoid periods where no jobs are processed,
eliminating long idle periods from the results. Therefore, when a provider reaches the
time for it to turn off, it only does so if there is at least one other provider on;
otherwise, the provider has to wait until another one connects to the grid.
The results in Fig. 4 were obtained from a simulation with average time between
group submission of approximately 1.1 seconds of simulated time (λ = 0.9), and
average connected time ranging from 10 to 1.1 seconds of simulated time (ρCP ranging
from 0.1 to 0.9); ρDP is fixed at 0.01, so that we explore a scenario with long
disconnected periods and short connected periods.
A P2P Based Scheduler for Home Grids 335

Fig. 4. Jobs completed: TSA vs. OLB (dynamic scenario – short CP and long DP)

We have simulated a variety of scenarios, including short DP and long CP, and the
results have shown that TSA performs better or similarly to OLB.

5 Conclusions and Future Work


In this paper, we have presented a scheduling system for a domestic computational
grid which has shown good performance when compared to OLB, and with the
advantage of our solution being designed with fault tolerance in mind, which is not
considered in OLB.
Further experiments have shown that TSA scales better than OLB with the increase
of the number of active providers in the grid, since the OLB scheduler has to verify all
the scheduler for each job that is received, while the TSA’s complexity depends only
on the size of the data structures.
As future work, we have been completing the fault tolerance mechanisms to be
used in our system. We are also using formal methods to refine the protocol and to
verify if the system is free of deadlocks in case of network partitions (one of type of
fault considered in our system).

Acknowledgments. Thanks to the Programme Alban and to the University of Kent


for supporting the development of this project.

References
1. Baker, M., Buyya, R., Laforenza, D.: Grids and Grid technologies for wide-area distributed
computing. Software-Practice and Experience (SP&E) 32, 1437–1466 (2002)
2. Foster, I., Kesselman, C. (eds.): The Grid: Blueprint for a Future Computing Infrastructure.
Morgan Kaufmann, San Francisco (1999)
3. Foster, I., Kesselman, C., Tuecke, S.: The Anatomy of the Grid: Enabling Scalable Virtual
Organizations. The International Journal of High Performance Computing
Applications, 15(3), 200–222 (2001)
4. Ahuja, S.P., Myers, J.R.: A Survey on Wireless Grid Computing. The Journal of
Supercomputing 37, 3–21 (2006)
5. Isaiadis, S., Getov, V.: A Lightweight Platform for Integration of Mobile Devices into
Pervasive Grids. In: Yang, L.T., Rana, O.F., Di Martino, B., Dongarra, J. (eds.) HPCC
2005. LNCS, vol. 3726, pp. 1058–1063. Springer, Heidelberg (2005)
336 E.L. da Silva and P. Linington

6. Lioupis, D., Psihogiou, D., Stefanidakis, M.: Exporting Processing Power of Home
Embedded Devices to Global Computing Applications. In: 12th Euromicro Conference on
Parallel, Distributed and Network-Based Processing (PDP 2004), p. 274. IEEE Computer
Society Press, Los Alamitos (2004)
7. Phan, T., Huang, L., Dulan, C.: Challenge: Integrating Mobile Wireless Devices Into The
Computational Grid. In: Proceedings of the 8th ACM International Conference on Mobile
Computing and Networking (MobiCom). ACM, Atlanta (2002)
8. Adzigogov, L., Soldatos, J., Polymenakos, L.: EMPEROR: An OGSA Grid Meta-
Scheduler Based on Dynamic Resource Predictions. Journal of Grid Computing 3, 19–37
(2005)
9. Dong, F., Akl, S.G.: Scheduling Algorithms for Grid Computing: State of the Art and
Open Problems, in Technical Report No. 2006-504, School of Computing, Queen’s
University: Kingston, Ontario, USA. p. 55 (2006)
10. Berman, F.D., et al.: Application-level scheduling on distributed heterogeneous networks.
In: Proceedings of the 1996 ACM/IEEE conference on Supercomputing (CDROM). IEEE
Computer Society, Pittsburgh, Pennsylvania (1996)
11. Maheswaran, M., et al.: Dynamic Matching and Scheduling of a Class of Independent
Tasks onto Heterogeneous Computing Systems. In: 8th Heterogeneous Computing
Workshop (HCW 1999). IEEE Computer Society Press, San Juan (1999)
12. Brauna, T.D., et al.: A Comparison of Eleven Static Heuristics for Mapping a Class of
Independent Tasks onto Heterogeneous Distributed Computing Systems. Journal of
Parallel and Distributed Computing 61(6), 810–837 (2001)
13. Silva, D.P.D., Cirne, W., Brasileiro, F.V.: Trading Cycles for Information: Using
Replication to Schedule Bag-of-Tasks Applications on Computational Grids. In: Kosch,
H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 169–180.
Springer, Heidelberg (2003)
14. Iamnitchi, A., Foster, I.: A Peer-to-Peer Approach to Resource Location in Grid
Environments. In: Weglarz, J., et al. (eds.) Grid Resource Management. Kluwer
Publishing, Weglarz (2003)
15. Gradwell, P.: Overview of Grid Scheduling Systems. Department of Computer Science,
University of Bath. p. 11,
http://peter.gradwell.com/phd/writings/computing-economy-
review.pdf (last accessed on 01/04/2008)
16. Carriero, N., Gelernter, D.: Linda in Context. Communications of the ACM 32(4) (1989)
17. Czajkowski, K., et al.: Grid Information Services for Distributed Resource Sharing. In:
Tenth IEEE International Symposium on High-Performance Distributed Computing
(HPDC 2010). IEEE Press, Los Alamitos (2010)
18. Leach, P., Mealling, M., Salz, R.: A Universally Unique IDentifier (UUID) URN
Namespace, The Internet Engineering Task Force, IETF (2005),
http://www.ietf.org/rfc/rfc4122.txt
19. Linington, P.: A Basic Simulation Package, University of Kent, p. 5
A Multi-Agent System-Based Resource Advertisement
Model for Grid Environments

Muntasir Al-Asfoor, Maria Fasli, and Salah Al-Majeed

School of Computer Science and Electronic Engineering, Essex University,


Wivenhoe Park, Colchester, UK, CO4 3SQ
{mjalas,mfasli,ssaleha}@essex.ac.uk

Abstract. The field of resource sharing has become an increasingly important


computing field of study for both industry and academia. Facilitating the use of
geographically distributed resources is a complex task encompassing many sub
tasks. The most important sub-tasks are advertising the available resources
across the network and the discovery of these resources. In this paper, the task
of advertising the resources has been studied from a network point of view. An
advertisement model has been designed using multi-agent system techniques to
achieve decentralization and to cope with the dynamic nature and behaviour of
the system. The design has been implemented and tested under a simulation
environment using the network simulator ns-2. The system evaluation has
shown promising results in terms of the system performance itself and the effect
of the advertising overhead on a working network’s performance.

Keywords: Grid, Multi-Agent Systems, Resource Advertisement, Network


Performance.

1 Introduction

In the early-to-mid 1990s, there were numerous research projects underway in the
academic and industry communities that were focused on distributed computing. One key
area of research focus was on developing tools that would allow distributed high
performance computing systems to act like one large computer [1]. Analogous to an
electricity power grid, Grid computing views computing, storage, data sets, expensive
scientific instruments and so on as utilities to be delivered over the Internet seamlessly,
transparently and dynamically as and when needed, by the virtualization of these resources
[8]. A Grid is a very large scale, generalised distributed system that can scale to Internet-
size environments with machines distributed across multiple organisations and
administrative domains [2].There are two issues to be addressed by any Grid resources
management system: firstly, the advertisement (dissemination) of the resources
information across the Grid nodes, that is how nodes should describe their resources and
when to advertise them. For instance, if the resource is a processing unit some nodes might
describe it as “processor” while the other as “CPU”; the two term are syntactically
different but semantically the same. Furthermore, as the advertising process is a message
passing activity, it is important to consider the effect of this activity on the network

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 337–347, 2011.
© Springer-Verlag Berlin Heidelberg 2011
338 M. Al-Asfoor, M. Fasli, and S. Al-Majeed

performance. Secondly, the other fundamental problem in Grid computing is the discovery
of resources in such a heterogeneous computing environment as well as dynamicity of
resource enrolment and leaving process. Resource discovery is a key concept in a
distributed Grid environment; it defines a process for locating services providers and
retrieving service descriptions [10].
The Grid and Multi-agent Systems communities have both developed concepts and
mechanisms for open distributed systems [6]. Agents with different expertise and
computational resources which may be distributed over a network can come together
and coordinate to solve a complex task [5].
In this research, we have focused on the advertisement process from a networking
point of view. Furthermore, we have studied the effect of this process on the network
performance in terms of time Delay required to deliver the advertisements. An
advertisement model has been designed based on multi-agent system techniques;
furthermore, simulation tools have been used to implement and test the design.
The rest of the paper is organised as follows: section 2 discusses related work
while section 3 is devoted to a detailed explanation of the prosed system architecture.
Section 4 shows the system evaluation and the experimental results of the test that
been conducted in a simulated environment. The paper ends with the conclusions and
a description of future work.

2 Related Work
Researchers in the industry and academia have developed many frameworks and tools
for managing the resources description and discovery in Grid environments. The
Globus toolkit [9] Monitoring and Discovery System (MDS4) includes a set of
monitoring and discovery techniques for services and resources in a distributed
environment. It makes use of WSRF (Web Services Resource Framework) but in a
centralised way. With this centralised way for managing the monitoring and discovery
of resources, any problem that might occur in the node where all the indexing
information is stored, will lead to the halt of the entire system. A further weakness of
Globus is the use of static periodic updating which might result in unnecessary
communications. In addition to that, the Globus update strategy cannot adapt itself as
a response to system load but depends on manual intervention. However, another Grid
system is Condor [11], which is a specialized workload management system for
computing-intensive jobs. It provides a job queuing mechanism, scheduling policy,
priority scheme, resource monitoring, and resource management. Condor has a
centralised job scheduler which accepts the jobs which are submitted from the condor
workstations. One of the weaknesses of Condor is its centralised scheduler which
could be a single point of failure. Furthermore, Condor uses a push update strategy
which causes interventions to the system to change the resources status.
Grid resource brokering algorithms are presented in [4] for enabling advance
reservations and resource selection based on performance predictions. They suggested
a decentralised broker to select computational resources based on actual job
requirements, job characteristics, and information provided by the resources, with the
aim to minimize the total time of delivery for the individual application. The main
drawback of this method is how to determine the job requirement which needs an
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 339

intervention from the user to fix the job requirements by providing an estimated
amount of resources required to run the job.
A Grid environment was studied in [3]. They have utilized semantic matching in
their work with the aim of making the Grid system more transparent in the application
level. In this research the authors tried to achieve some sort of scalability by imposing
homogeneity of resources on a virtual organisation. Imposing homogeneity is not
widely accepted as the main characteristic of Grid systems is to be heterogeneous and
each node could have different hardware or software infrastructure.
Research work on building a Grid service discovery middleware with semantic
web technologies is proposed by [7]. In this work, they employed the semantic web
discovery technologies in the field of Grid resource discovery by adding machine-
process-able explicit knowledge into the interaction between pervasive devices and
Grid services. The system uses a profile model to describe Grid resources. According
to their results, the system has showed an increase in service discovery time compared
to the traditional service discovery mechanism while a significant improvement in the
system function has been obtained. The use of profile model to describe the resources
will lead to the use of statistical matching techniques which does not take the
semantic features of the resources concepts into account. It could be part of the
matching process but not the only way to determine the degree of similarity among
concepts that describe the resources.
We have concluded that most of the work that has been undertaken in the field of
Grid resource management has ignored or paid less attention to some important
issues. The first issue to be considered is the performance of the advertisement part of
the system and its effect on the overall system efficiency. Improving the network
performance has a big role to play on the overall Grid management systems
performance. As a Grid is a huge network system, the main factor that effects the
quality of service (QoS) of that system is the amount of time required to advertise the
provided resources and discover these resources. Monitoring the message passing and
decreasing the communication overheads would increase the system performance and
lead to improving the average system delay and increasing the network throughput
and accordingly improve the overall QoS of the Grid system. In this research we have
focused on these issues by designing a multi agent Grid system architecture which
deals with the dynamicity and heterogeneity behavior of the Grid. The system does
not depend on traditional frameworks but works as a flat decentralized network.

3 Proposed System Architecture

3.1 The Basic System Components

Technically, a Grid resource management system involves three major aspects:


Registration, Advertisement and Location.
In the system design, it is assumed that any node joins the system network is
considered as a registered node and has the right to advertise its available resources
and request the needed resources to accomplish its applications requirements. The
new registered node must have the required agents to be compatible with the system.
Each agent is responsible for a specific job(s).
340 M. Al-Asfoor, M. Fasli, and S. Al-Majeed

The system consists of N number of nodes each of which has many functions
which are shown in Fig. 1. To conform with the principle of decentralisation and
taking into account heterogeneity, each node has it is own agents and each agent has
specific functionality and could adapt itself to cope with the node specification
(heterogeneity). Furthermore, each node has its own local cache to store its available
resources information.
There are five types of agents in the system classified according to their
functionality as follows:

y Database Management Agent (DBMA): responsible for all databases related


functions (Insert, Delete, Update, and Search).
y Resource Collection and Description Agent (RCDA): responsible for
collecting the available local resources and describing them ontologically.
y Matchmaking Agent (MA): responsible for matching requests queries with
the local resources information in the node’s local cache.
y Network Agent (NA): responsible for all the network related issues (sending
description messages, receiving acknowledge and monitoring network
performance).
y Resources’ Broker (RB): responsible for negotiating among nodes over the
available resources.

Fig. 1. The Basic components in a typical node

3.2 The Advertisement Process

Any node that joins the system for the first time must broadcast its available resources
information to all its neighbours1. Before advertising the resources information, the
node must have the required agents locally as part of the registration process.

1
Neighbors of the node are all the nodes that have a direct connection to it.
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 341

After finishing the registration process, the new node should start advertising its
resources’ information to its neighbours. The process of advertisement consists of
three steps which are handled by three types of agents as shown in Fig. 2.

Fig. 2. The Advertisement model

The first step is to collect information about the available resources and describe
them ontologically and the RCDA is responsible for this task. Since in principle,
nodes are highly heterogeneous, RCDA can adapt itself according to the node’s
specifications, for instance, it must use the ontology description that the node uses.
The resources to be described are just the ones that can be shared with the other nodes
in the system (i.e. they are not needed by the owner node for the moment. The RCDA
creates the ontology description by connecting to a standard ontology database like
WordNet2 according to the node specification.
Having all the resources information stored in one place (node) makes the system
less fault-tolerant. The node which holds the resources information could become a
single point of failure, if any problem arises with this node, which could lead to
overall system collapse. For this reason, and to achieve system extensibility and cope
with the dynamic nature of the environment, we propose a fully distributed and
decentralised database to store the resources information within our proposed system.
The DBMA is responsible for creating and managing the node’s local caches; after
the node registration takes place, the DBMA creates an empty local database which
holds the node’s resources description. Furthermore, the DBMA provides the basic
database functions like (data insertion, update, alteration, etc.). Another function of
the DBMA is to inform the NA of any changes to the database in order to send an
update message to the neighbouring nodes.The NA plays a crucial role during the
advertisement process. As shown in section 2 there have been many works in the field

2
See http://wordnet.princeton.edu/
342 M. Al-Asfoor, M. Fasli, and S. Al-Majeed

of Grid resources management, few of them have been concerned with the network
performance during the advertisement process.
As the main part of the advertisement process is a network related process, we have
focused more on network performance as an evaluation measure of the advertisement;
the best advertisement method is the one with the best network performance. The
advertisement is the process of sending the resources’ description to the nodes in the
Grid system. Sending the resources description is a message passing activity;managing
and balancing the number of messages and associated traffic, in order to reduce the
number of communications required to cover as wide an area as possible, is an
important factor which affects the overall system performance.
On the sender side, and as a result of the description process, the RCDA passes the
description file to the NA; the size of the description file varies according to the amount
of resources available and the way the RCDA describes them. For network purposes,
the NA should divide the description file into messages with each message containing
part of the resource description information. The division depends on the message size;
there is a trade-off between message size and the required time to deliver the description
information. Smaller message size means a faster delivery time but at the same time
increase in the number of messages and vice versa. After that, the NA should start to
find the neighbours with direct connections to the sender node. For example, in Fig. 3,
the neighbours of the node number 1 are nodes (2,3 and 5); This organisational model
will form some sort of local community with each node having some knowledge about
its neighbours that could facilitates the resource discovery afterwards. Accordingly, the
NA should start sending the description messages to the neighbours.

Fig. 3. The Nodes neighborhood

On the receiver side the NA receives the description messages one by one and
checks the message id and when receiving the last message it starts to compose the
description file. The receiver NA should send an acknowledgment message to the
sender NA to confirm that the description information has been received in its
entirety.After receiving the description, the NA passes the description file to the
DBMA to create a new entry for the new node’s resource information in the local
database.
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 343

3.3 Resources’ Availability Update

As the Grid system is dynamic and due to resources’ use, resources availability could
change over time. Accordingly, to keep the nodes up to date with these changes, the
system should keep updating the nodes local caches with all the changes that occur
over time.There are two updating strategies; the first strategy is to update the system
periodically by disseminating the resources’ information through the system each
time slice [references?]. This strategy does not take into account the system workload
or nodes’ needs but updates all the nodes blindly. The second strategy is to update the
system due to some event (event-driven update) [references]. Using this strategy the
nodes should update their resources caches during the event of a request to make sure
that the discovery process takes place according to the latest update.
Both updating strategies could make unnecessary updates which affect the overall
system performance. For the first strategy, the resources information might remain the
same so the update will cause extra and unnecessary advertisement messages to be
sent which means more communications across the system. For the second strategy,
the update takes place during the resources request time without taking in mind that
the request would not be satisfied by the requested node due to lack of resources. In
this case, an unnecessary update which causes extra advertisement messages will
result in communications overhead across the system.
[12], have presented a new technique for updating the system by using an expiry
time stamp called UST (Updatable Service Lifetime). The expiry time stamp is
computed by taking into account both strategies to ensure that all the nodes’ caches
will be updated each time slice and during the event of resources request. They have
used a tree structure to represent the agents which represent the nodes through the
system. UST computation encompasses the use of three factors: the frequency of
changes in the agent's status, the relation between the number of agent’s children to
the overall number of agents in the system, and the list of active children which
frequently contacted their parent.
Based on their strategy we have adapted a time stamp computation technique in
order to apply it to our network as follows: the time stamp computation will depend
on the history of change for the node and the number of neighboring nodes. Logically,
it is more likely for active nodes3 to be changed in the future. So based on historical
changes the expected change time is calculated by the following forecasting formula:

(1)

Where and , RCIT: is the resource information
change time
Where:

: is the count number of changes for the node.


: is the time at which the change has occurred.
and are the average values of and .

3
Active nodes are the ones that their resources information is changing more frequently.
344 M. Al-Asfoor, M. Fasli, and S. Al-Majeed

After calculating the historical effect of the number of changes on the next update
time, the next step is to calculate the effect of the number of neighbours on the
calculation of the expiry time stamp using the following equation:

(2)

Where,
: is the number of connections factors.
: is the number of connections (neighbours) of the node.
: is the average number of connections for each node.
At the end, the calculation of the expiry time stamp is done by taking into
consideration both equations as follows:
1 (3)
Where:
ETS: is the expiry time stamp.

4 System Evaluation and Experimental Results


To evaluate the proposed system performance we have engineered a number of tests
using the well-known network simulator ns-2 (v. 2.29)4; a trace file was input to the
simulator and traffic time recorded in the output. The output serves to calculatethe
time delay.First of all, the average amount of time required for the advertisement
messages has been calculated. Furthermore, since we would like the system to be
expandable, the test has addressed the effects of increasing the number of nodes
across the system. Fig. 4 shows the delay time in ms for an advertisement message to
arrive at its final destination. The results show a reasonable average delay time is
0.021576 ms with a standard deviation equal to 0.007095.

Ϭ͘Ϭϯϱ
Ϭ͘Ϭϯ
Ϭ͘ϬϮϱ
Delay (ms)

Ϭ͘ϬϮ
Ϭ͘Ϭϭϱ
Ϭ͘Ϭϭ
ϭ
ϰϭ
ϴϭ
ϭϮϭ
ϭϲϭ
ϮϬϭ
Ϯϰϭ
Ϯϴϭ
ϯϮϭ
ϯϲϭ
ϰϬϭ
ϰϰϭ
ϰϴϭ
ϱϮϭ
ϱϲϭ
ϲϬϭ
ϲϰϭ
ϲϴϭ
ϳϮϭ
ϳϲϭ
ϴϬϭ

Packet ID
Average Delay = 0.021576
STDV = 0.007095

Fig. 4. Packet delay for advertisement messages alone

4
http://www.isi.edu/nsnam/ns/
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 345

To assess the system’s ability to cope with expandability, the second test has
evaluated the effect of increasing the number of nodes on system performance. As the
number of nodes increases the number of messages to be sent across the system is
increases since more advertisements will be sent. As shown in Fig. 5, the delay time
has increased dramatically in response to the increase in the number of nodes. The
increase in the delay is logical since more advertisements will be sent through the
system but the average delay time still remains reasonable under 0.05 ms.
In the third test, we have evaluated the effects of our advertisement process
inanover-utilized network. We have designed a normal network with UDP5 agents
that send and receive data packets in addition to our system advertisement messages.
The idea behind this test is to evaluate the network performance with our
advertisements making use of the network resources with CBR6traffic already in use.
Fig. 5 shows the average delay time with and without advertisements. The test has
showed that there is a small (hardly noticeable) increase in the delay time when the
advertisements have been incorporated into the system. The small increase in the
delay time has occurred because the advertisement messages have made use (shared)
the network resources alongside the other network activities.
The difference in delay is small and has no effect on system performance because
of the following reasons. First of all the message size; in the system architecture the
message has been designed to be small in size so that it does not need large network
bandwidth to be sent. Instead, the message could make use of any available small
bandwidth which is more probably not used by other network activity. The second
reason is the advertisement system architecture itself which sends advertisement
messages just to the neighbors’ nodes that have direct connections which avoids
wasting time in routing.

Ϭ͘Ϭϰϲ
Ϭ͘Ϭϰϰ
Ϭ͘ϬϰϮ
ĞůĂLJǁŝƚŚŽƵƚ
Ϭ͘Ϭϰ ĚǀĞƌƚŝƐĞŵĞŶƚ
Ϭ͘Ϭϯϴ
ĞĞůĂLJǁŝƚŚ
Delay

Ϭ͘Ϭϯϲ ĚǀĞƌƚŝƐĞŵĞŶƚ
Ϭ͘Ϭϯϰ
Ϭ͘ϬϯϮ
Ϭ͘Ϭϯ
Ϭ͘ϬϮϴ
ϭϬ ϭϱ ϮϬ Ϯϱ ϯϬ ϯϱ ϰϬ ϰϱ ϱϬ
Number of nodes

Fig. 5. Packet delay for CBR with and without advertisements

5
UDP stands for User Datagram Protocol.
6
CBR stands for Constant Bit Rate.
346 M. Al-Asfoor, M. Fasli, and S. Al-Majeed

5 Conclusion and Future Work


The rapid development in the scientific research and business requirements for
computational and data resources have led to the need for efficient ways to manage
the process of describing and discovering these resources. We have studied the
advertisement part of the resource management system from a network point of view.
Firstly, we have proposed multi-agent system architecture for resource advertising
which increases interoperability, copes with nodes heterogeneity and supports system
scalability. Secondly, we have introduced a new mechanism for constructing and
subsequently disseminating resource advertisements to the neighboring nodes with the
aim of decreasing the network overhead by dealing with subsets of nodes rather than
the whole network. Finally, we have proposed a modified method to update resource
information which is more efficient in terms of network’s communications and
overcome the unnecessary update messages. Furthermore, the system lacks a single
point of control which makes it more immune to faults that might occur to any node
across the network. In terms of performance, the small message size has shown a
good result in terms of network performance by making use of a small network
bandwidth which does not affect the work of the other network activities that are
taking place while the advertisement system works.
There are several avenues for future work. Firstly, the system could be expanded to
perform more resource management jobs. More specifically, a request processing part
could be added to the system to monitor the number of requests being sent through the
system in order to improve the system performance by grouping the nodes across the
network based on its functionality as well as geographic locations. Grouping the
nodes gives the system some sort of knowledge about the nodes’ resources and
decreases the number of requests which in turn improves the network performance.
More after to cope with nodes heterogeneity it is very important to provide some sort
of semantic matching in order to discover resources based on their properties rather
than simple keyword matching.

References
1. Abbas, A.: Grid Computing: a Practical Guide to Technology and Applications. Charles
River Media (2004)
2. Bote-Lorenzo, M.L., Dimitriadis, Y.A., Gómez-Sánchez, E.: Grid Characteristics and
Uses: A Grid Definition. In: Fernández Rivera, F., Bubak, M., Gómez Tato, A., Doallo, R.
(eds.) Across Grids 2003. LNCS, vol. 2970, pp. 291–298. Springer, Heidelberg (2004)
3. Brooke, J., Fellows, D., Garwood, K., Goble, C.: Semantic matching of Grid Resource
Descriptions. In: Dikaiakos, M.D. (ed.) AxGrids 2004. LNCS, vol. 3165, pp. 240–249.
Springer, Heidelberg (2004)
4. Elmroth, E., Tordsson, J.: Grid resource brokering algorithms enabling advance
reservations and resource selection based on performance predictions. Future Generation
Computer Systems 24, 585–593 (2008)
5. Fasli, M.: Agent Technology for e-Commerce. John Wiley & Sons Inc., Chichester (2007)
6. Fattahi, S., Charkari, N.: Distributed ACS Algorithm for Resource Discovery in Grid. In:
International Conference on IT to Celebrate S. Charmonman’s 72nd Birthday, Thailand
(March 2009)
A Multi-agent System-Based Resource Advertisement Model for Grid Environments 347

7. Guan, T., Zaluska, E., De Roure, D.: An Autonomic Service Discovery Mechanism to
Support Pervasive Devices Accessing the Semantic Grid. International Journal of
Autonomic Computing, 34–49 (2009)
8. Ludwig, S., Van Santen, P.: A Grid Service Discovery Matchmaker Based on Ontology
Description. In: Proceedings of the Second International EuroWeb2002 Conference,
Oxford, UK, pp. 17–18 (2002)
9. Schopf, J., Pearlman, L., Miller, N., Kesselman, C., Foster, I., D’Arcy, M., Chervenak, A.:
Monitoring the Grid with the Globus Toolkit MDS4. Journal of Physics: Conference
Series 46, 521–525 (2006)
10. Timm, I., Pawlaszczyk, D.: Large Scale Multi-agent Simulation on the Grid. In:
Proceedings of the 5th IEEE International Symposium on Cluster Computing and the Grid
(CCGrid 2005), vol. (1), pp. 334–341 (2005)
11. Wright, D., Miller, K., Livny, M.: Condor - A Distributed Job Scheduler. In: Tannenbaum,
T. (ed.) Beowulf Cluster Computing with Linux. The MIT Press, NY (2002)
12. Youssif, A., Ghalwash, A., Ezz El Dien, M.: An Efficient Decentralized Grid Service
Advertisement Approach Using Multi-Agent System. Journal of Computer and
Information Science 3 (2010)
Grid-Enabled Framework for Large-Scale
Analysis of Gene-Gene Interactions

Moez Ben Haj Hmida and Yahya Slimani

Faculty of Sciences of Tunis, Computer Science Department,


Campus Universitaire. 2092 El Manar, Tunis, Tunisia
{moez.benhajhmida,yahya.slimani}@fst.rnu.tn

Abstract. One of the biggest challenges for nowadays biologist is the


identification, characterization and gene-gene interactions detection for
common human diseases such as cancer and diabetes. This challenge
is partly due to the explosion of biological information. The multifac-
tor dimensionality reduction (MDR) method can be used to address
this problem. This method can be computationally intensive, especially
when more than ten polymorphisms need to be evaluated. The Grid is a
promising architecture for genomics problems providing high computing
capabilities. In this paper, we describe a framework for supporting the
MDR method on Grid environments. This framework helps biologists
to automate the execution of multiple tests of gene-gene interactions
detection.

Keywords: Genomics, gene-gene interaction, data mining, grid com-


puting.

1 Introduction
The main problem encountered actually by biologists is the identification, char-
acterization and gene-gene interactions detection for common human diseases
such as cancer and diabetes. This problem is particularly complex because the
explosion of biological informations. The multifactor dimensionality reduction
(MDR) method [12] can be used to address this problem.
Multifactor dimensionality reduction [12] is a non-parametric data mining
approach for detecting and characterizing combinations of attributes or inde-
pendent variables that interact to influence a dependent or class variable. The
rationale behind this method is to identify the multilocus genotypes that best
predict the outcome of interest. The MDR approach aims to reduce the dimen-
sionality of multilocus genotype space to facilitate the identification of gene-gene
interactions. This method can be computationally intensive, especially when
more than ten polymorphisms need to be evaluated.
Grid computing is a computing architecture that provides capabilities for
manipulating geographically distributed resources as a single meta-system. The
Grid provides protocols and services to share computing resources, data and
software managed by multi-institutional virtual organizations [6]. Grid services

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 348–357, 2011.

c Springer-Verlag Berlin Heidelberg 2011
Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene Interactions 349

are provided by middleware systems such as Globus, Legion, gLite, and Uni-
core [6]. These middleware systems are meta-systems that run on top of existing
operating systems and networks. The development of grid systems supporting
genomics is needed to help biologists to address computational problems. The
design of such systems has to take into account actual Grid standards like Web
Service Resource Framework (WSRF) [5]. WSRF is a set of Web services spec-
ifications that describe the means by which a stateful resource is defined and
associated with a Web services description, forming the overall type definition
of a WS-Resource [14].
This paper describes the architecture of a framework for supporting the MDR
method on Grid environments, discusses design aspects and execution mecha-
nisms. The aim of this framework is to help biologists to automate the execution
of multiple tests of gene-gene interactions detection. The remainder of the paper
is organized as follows: the MDR method is briefly reviewed in section 2 and a
grid-enabled MDR framework implementation is presented in section 3. Section
4 describes the execution steps of the MDR method on the proposed frame-
work. Section 5 tries to compare our framework to related works. Finally, sec-
tion 6 discusses the proposed framework, concludes the paper and opens future
perspectives.

2 Multifactor Dimensionality Reduction Method


As defined by Moore in [10], there are four steps to detect, characterize, and
interpret gene-gene interactions. The first step aims to identify the interesting
attributes. This can be done by applying a filter using entropy-based measures of
information gain and interaction. Then, the attributes can be ranked to choose
the most interesting ones. Once interesting attributes are selected, they are com-
bined to generate new attributes that capture interaction information. In this
step, constructive induction algorithms, such as MDR, can be used. The MDR
method creates a new dataset that can be processed on the third step. At this
point, a variety of classification algorithms can be used. The chosen algorithm
has to construct a model that will be evaluated using the cross-validation method
to limit false-positives [10]. And at the final step, the biologist can use the ap-
propriate visual tool to interpret the final model.
The MDR algorithm can be summarized by the following data mining steps
(as illustrated by figure 1) [1]:
– Step 1: select all subsets of k explanatory variables among m available and for
each subset k, enumerate all possible genotype combinations. These geno-
type combinations represent the interacting genes. For each combination,
compute the case-control ratio and partition the multi-locus genotypes into
two subgroups labeled as high or low risk. This step reduces a k-dimensional
model to one dimension only.
– Step 2: a ten-fold cross-validation procedure is used to assess the ability of
the multi-locus genotype combinations to predict the disease outcome. The
sample is divided into a training set (for example, 9/10 of cases and controls)
350 M.B.H. Hmida and Y. Slimani

and an independent test set (for example, 1/10 of cases and controls). For
each subset of the data, the training set classification error is computed
for each genotype combination. This step is repeated in the ten random
subsets. The interaction with the lowest classification error (averaged over
the ten random subsets) is selected as the ’best interaction’. The whole cross-
validation procedure is itself repeated ten times to protect against chance
division and all resulting statistics are averages over these ten runs.
– Step 3: all interactions selected through steps 1 and 2 are also evaluated
for their cross-validation consistency (number of times the same genotype
combination is identified across the ten repetitions of the cross-validation
procedure) and testing accuracy.
– Step 4: steps 1 through 3 are repeated for a range values of k. The interac-
tion that maximizes the cross-validation consistency and testing accuracy is
selected as the final best candidate interaction across all k-multilocus models.

Fig. 1. Summary of the four steps of the MDR method

Several efforts are done to develop frameworks supporting MDR execution


like Weka-CG [4], MDR framework [10] and parallel MDR (pMDR) [2]. Weka-
CG [4] is an extension of the Weka [15] data mining package. MDR has been
added to Weka-CG as a filter for attribute combinations. With this tool, user has
to compose complex workflow to execute the entire MDR method. In contrary,
the MDR framework [10] offers a simple manner to execute the MDR method
Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene Interactions 351

by automating the whole method. Unfortunately, its greatest limitation is the


combinatorial nature of the algorithm. Genetic datasets with hundreds or thou-
sands of variables for each individual sample will quickly overwhelm MDR. The
pMDR software [2] addresses this limitation by providing a parallel execution
of the method among several nodes. But pMDR was developed for Linux and
written in C++ using Message Passing Interface (MPI). However, it has no sup-
port for alternative platforms. To develop a framework that supports intensive
computing and provides platforms interoperability, we propose to use the Grid
architecture as computing platform.

3 Grid-Enabled MDR Framework

In this section we propose a novel framework enabling the execution of MDR


method on a Grid environment. Based on Web services technology [5], the pro-
posed framework supports distributed execution of the MDR method leveraging
the heterogeneity of Grid environments. Our framework is based on the Globus
Toolkit [7], a widely used Grid middleware supporting the WSRF standard. Its
architecture is WSRF compliant to be deployed on top of the Globus middleware.
The proposed architecture is designed according to the MDR execution
scheme. As shown in Figure 2, our framework is composed of four node types:
storage nodes, which hosts the datasets to be mined; dispatching nodes which
spread data mining tasks between computing nodes; computing nodes, on which
data mining tasks are executed; and user nodes, which provides a graphical in-
terface allowing users to configure and execute a distributed MDR task on a
Grid.
User nodes are composed of a graphical interface, a data manager and an
MDR client module. The graphical interface module allows the user to choose
and configure the filtering and mining algorithms to use. The data manager
allows gathering the properties and metadata of the datasets stored on the Grid.
After choosing the algorithms and the dataset to be analyzed, the user submits
a distributed execution of an MDR process through the MDR client, which
operates as an interface between the graphical interface and the Web Services
on dispatching nodes.
Storage nodes are composed of a database server, an FTP server, a filter mod-
ule and a Web service (Data Service). The database server stores the datasets to
be mined. The FTP server allows the datasets transfer to other nodes, when it is
needed. The Data Service interacts with the data management service of a user
node by exposing properties concerning the stored datasets. These properties,
described in a XML file, comprise the dataset name, its domain (cancer, dia-
bet, etc), its size and the data type (discrete or continuous). The filter module
executes local filtering operations allowing attributes selection. Its execution gen-
erates metadata information describing entropy measures associated to dataset
attributes. The metadata information is represented by XML documents stored
in a Metadata Repository (MR) avoiding multiple executions of the same filter-
ing task.
352 M.B.H. Hmida and Y. Slimani

Fig. 2. Web Services interactions between a client and the Grid-enabled MDR frame-
work

Dispatching nodes are composed of a load balancing module and a Web ser-
vice (MDR Service). The MDR Service executes the MDR method remotely
invoked by the user. Indeed, the user invokes the MDR method with the cho-
sen parameters and metadata informations. Metadata contain a ranking of the
dataset attributes and the parameters represent mainly the attribute combina-
tions range, the cross-validation count and the search method. Based on these
metadata and parameters, the load balancing module calculates the number of
possible genotypes combinations. The load balancing module spread the com-
binations between lower level dispatching nodes or directly between computing
nodes. To optimize the load balancing we use a clustering approach. The com-
puting nodes are grouped into virtual clusters depending on their computing
performances. Each cluster is composed by equivalent computing nodes and a
dispatching node which is responsible for managing intra-cluster and potentially
inter-cluster load balancing.
Computing nodes are composed of a data mining module, which implements
a set of data mining algorithms and a Mining Service, which exports all provided
Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene Interactions 353

algorithms through a single Web service. The Mining Service notifies its cluster
dispatching node of the pending work and the final result.
The development of the services composing the grid-enabled MDR framework
respects the WSRF specifications [5]. Thus, the WSResourceLifetime supplies
some basic mechanisms to manage a resource lifecycle. This implies three ba-
sic operations: resource creation (createResource), subscription to notification
(subscribe), and resource destruction (destroy).
In addition of the WSRF basic operations, each service of the framework
needs another operation to execute the MDR method. MDR Service exposes
mdrExecute operation through which it receives the parameters of the MDR
process to be executed for which it calculates all possible combinations. It also
exposes mdrDispatch operation through which it receives the set of combinations
to be distributed to computing nodes. Mining service exposes the classify op-
eration which executes a classification algorithm on target data, the loadStatus
and updateStatus operations which respectively notifies the workload status and
updates the old workload by a new one. Data Service exposes the publishData
operation to publish stored data to the user. It also exposes the filter opera-
tion to execute filtering operations on local dataset and to publish the metadata
describing the results.

4 MDR Execution on Grid


This section describes the various steps of an MDR execution on the proposed
framework. Figure 3 describes the interactions between the nodes of the frame-
work and the respective Web services for the execution of an MDR method. For
the simplicity of the example only one dispatcher node is participating to the
execution scenario and basic WSRF operations are discarded. The execution of
the MDR method on Grid respects the following steps (see Figure 3):

1. Data discovery: the user invokes the publishData operation of the Data
Service, which requests the database and returns information about hosted
datasets.
2. Attribute selection: the user chooses the filtering algorithm to execute and
its parameters, then invokes the filter operation of the Data Service, which
requests the Metadata Repository (MR) searching the result of a previous
execution of the required algorithm. If the search fails, the filtering algorithm
is locally executed. Finally, the filtering result is returned to the user as
metadata information (in XML format).
3. MDR task submission: based on the results of the second step, the user con-
figures the MDR task and submits it by invoking the mdrDispatch method
of the MDR service.
4. Workload computation: the dispatcher nodes executes the load balancing
module to calculate the number of possible genotypes combinations. The
result is stored as a Web service resource to keep state information. Based
on these informations and the contributing computing nodes performances
a workload is assigned to each computing node.
354 M.B.H. Hmida and Y. Slimani

Fig. 3. MDR method execution steps on the Grid-enabled MDR framework

5. Workload dispatching: the dispatcher spread the combinations between com-


puting nodes by invoking the classify operation of the Mining Service of each
computing node. In parallel, each Mining Service is responsible of the exe-
cution of the assigned workload.
6. Data transfer: each Mining Service downloads the dataset to be analyzed by
sending a request to the FTP server of the target storage node.
7. Classification: when data to be analyzed are downloaded, each computing
node executes the required algorithm. The execution is handled within the
WS-Resource already created. For each combination, a classification algo-
rithm is executed to create a model. A ten-fold cross-validation test is ex-
ecuted to estimate the model accuracy. For each k-attribute combinations,
only the best model is selected.
8. Workload monitoring: whenever the MDR Service needs to control the work-
load status, it invokes the loadStatus operation of the Mining Service of all
computing nodes. The Mining Service notifies its new value to the MDR
Service by invoking the deliver operation.
Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene Interactions 355

9. Status notification: the Mining Service notifies its workload status to the
MDR Service by invoking the deliver operation.
10. Load balancing: if the MDR Service needs to balance the workload, it in-
vokes the updateStatus operation of the Mining Service of the overloaded
computing nodes. The MDR Service goes to step 5 to assign workload to
idle nodes.
11. Result notification: whenever a computing node has finished its workload, the
Mining Service notifies its selected models to the MDR Service by invoking
the deliver operation. Depending on the previous load balancing operations,
the MDR Service decides if its necessary to go to step 8.
12. User notification: when all the computing nodes have finished their workload,
the MDR Service notifies the results to the user.

5 Related Works

Even if there no works, in our knowledge, that face directly the MDR prob-
lem, there are some efforts that consider the execution of time-consuming Data
Mining processes. Some of the projects like GridWeka, WekaG and Weka4WS
aimed to adapt the Weka toolkit to a grid environment. Other works like those
of Halling-Brown aim to develop a unified interface to access a large set of com-
putational resources [8].
GridWeka [9] is an ongoing work at the University of Dublin, which distributes
classification algorithms using the cross-validation method over computers in an
ad- hoc Grid. The system is composed by two main components: Weka Server
and Weka Client. Each participating machine runs the original Weka as server
component. The Weka client allows users to specify the target algorithms and
datasets, and also to specify resources and tasks constraints.
Another system using the client server architecture is WekaG [11]. The WekaG
server implements data mining algorithms while the client side instantiates grid
services. WekaG is an implementation of a more general architecture called Data
Mining Grid Architecture (DMGA) based on Weka and Globus Toolkit 4. DMGA
provides the composition of services on workflows. WekaG provides the same user
interface as Weka and can support parallel algorithms.
Weka4WS [13] is framework that extends the open-source Weka toolkit (Weka)
to support distributed data mining in Grid environments. Weka4WS also extends
the Weka GUI to enable the invocation of the data mining algorithms that are
exposed as Web Services on remote machines. Weka4WS uses the Web Services
Resource Framework (WSRF) [5] to ensure interoperability with standard Grid
environments such as Globus Toolkit 4. The architecture of Weka4WS includes
three kinds of nodes:

– storage nodes, which contain the datasets to be mined;


– compute nodes, on which remote data mining algorithms are run;
– user nodes, which are the local machines of users.
356 M.B.H. Hmida and Y. Slimani

Remote execution is managed using basic WSRF mechanisms (state man-


agement, notifications, etc.), while the Globus Toolkit 4 services are used for
standard Grid functionalities, such as security and file transfer.
As part of the European Union ImmunoGrid (http://www.immunogrid.eu)
project whose aim is to develop simulations of the immune system at the molecu-
lar, cellular and organ levels, Halling-Brown et al. developed a lightweight generic
framework for combining disparate computational resources at the ImmunoGrid
partners sites [8]. This framework offers a Web interface to hide the underlying
middleware and resources from the user. This interface is coupled to a resource
broker which is responsible of submitting jobs on the grid resources via the
different underlying middelwares. the framework allows also a direct usage of
resources using Web Services.
GridWeka and WekaG tried to adopt Weka to a Grid infrastructure using the
client server architecture. But this architecture is not so flexible and powerful to
support large scale requirements such as security, resource management etc. By
contrast, Weka4WS and our framework are based on a Web services approach
that makes them more adapted to run on a grid architecture.
The Halling-Brown work builds an upper middelware that hides much of the
complexity of the grid both from developers of a new grid infrastructure and
from the users of that infrastructure. Therefore it concentrates on providing a
generic framework for running biological application more than developing or
porting a specific method or tool to the grid.
While all these projects are based on grid technologies and provide remote
and concurrent execution, they do not support load balancing. Since resource
heterogeneity is an intrinsic characteristic of grid resources, we can expect that
a job can run longer on a resource that an other. In this case without load
balancing we cannot achieve good performances with a concurrent execution.

6 Discussion and Conclusion

We proposed a new framework based on WSRF technology for the distributed


execution of the MDR approach on a Grid environment. This framework archi-
tecture is designed according to the MDR execution scheme and composed of
four node types: user nodes, storage nodes, dispatching nodes and computing
nodes. User nodes provide graphical interface to the user for submitting MDR
executions. Storage nodes host the genomics datasets and allow filter execu-
tions. Dispatching nodes are responsible of load balancing to optimize resource
exploitation. Finally computing nodes construct models to detect gene-gene in-
teraction. Compared to other MDR frameworks, we provide a larger computing
capabilities with load balancing management. Based on WSRF technology, our
framework is open and extensible. It is open thanks to the use of Web services
which use standard protocols. Furthermore it is extensible because it integrates
existing or new algorithms and softwares by exporting them as Web services.
This framework is suitable for distributed execution on large scale platforms by
avoiding communication overheads and frequent synchronization which present
Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene Interactions 357

the bottle neck for parallel and distributed applications. As perspective of our
work, we think that it would be interesting to experiment our framework in a
real biological laboratory.

References
1. Briollais, L., Wang, Y., Rajendram, I., Onay, V., Shi, E., Knight, J., Ozcelik, H.:
Methodological issues in detecting gene-gene interactions in breast cancer suscep-
tibility: a population-based study in Ontario. BMC Med 5:22 (2007)
2. Bush, W.S., Dudek, S.M., Ritchie, M.D.: Parallel multifactor dimensionality reduc-
tion: a tool for the large-scale analysis of gene-gene interactions. Bioinformatics 17,
2173–2174 (2006)
3. Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web Ser-
vices Description Language (WSDL) 1.1, W3C Note 15 March (2001),
http://www.w3.org/TR/2001/NOTE-wsdl-20010315
4. Computational Genetics Laboratory, http://www.epistasis.org/software.html
5. Czajkowski, K.: The WS-Resource Framework Version 1.0 (2004),
http://www-106.ibm.com/developerworks/library/ws-resource/ws-wsrf.pdf
6. Foster, I., Kesselman, C.: The Grid: Blueprint for a New Computing Infrastructure.
Morgan Kaufmann, San Francisco (1999)
7. Globus Toolkit, http://www.globus.org/toolkit
8. Halling-Brown, M.D., Moss, D.S., Sansom, C.E., Shepherd, A.J.: A computa-
tional Grid framework for immunological applications. Phil. Trans. R. Soc. A. 367,
2705–2716 (2009)
9. Khoussainov, R., Zuo, X., Kushmerick, N.: Grid-enabledweka: A toolkit for ma-
chine learning on the grid. ERCIM News (59) (2004)
10. Moore, J.H., Gilbert, J.C., Tsai, C.-T., Chiang, F.T., Holden, W., Barney, N.,
White, B.C.: A flexible computational framework for detecting, characterizing,
and interpreting statistical patterns of epistasis in genetic studies of human disease
susceptibility. Journal of Theoretical Biology 241, 252–261 (2006)
11. Pena, J.M., Robles, V., Herrero, P., Snchez, A., Prez, M.S.: Adapting the weka
data mining toolkit to a grid based environment. In: 3rd Atlantic Web Intelligence
Conference, Lodz, pp. 492–497 (2005)
12. Ritchie, M.D., Hahn, L.W., Roodi, N., Bailey, L.R., Dupont, W.D., Parl, F.F.,
Moore, J.H.: Multifactor-dimensionality reduction reveals highorder interactions
among estrogen metabolism genes in sporadic breast cancer. American Journal of
Human Genetics 69, 138–147 (2001)
13. Talia, D., Trunfio, P., Verta, O.: Weka4WS: A WSRF-Enabled Weka Toolkit for
Distributed Data Mining on Grids. In: the 9th European Conference on Principles
and Practice of Knowledge Discovery in Databases, Porto, pp. 309–320 (2005)
14. Tuecke, S., Czajkowski, K., Foster, I., Frey, J., Graham, S., Kesselman, C., Maguire,
T., Sandholm, T., Vanderbilt, P., Snelling, D.: Open Grid Services Infrastructure
(OGSI) Version 1.0, Global Grid Forum Draft Recommendation (2002)
15. Witten, I.H., Frank, E.: Data Mining: Practical machine learning tools and tech-
niques, 2nd edn. Morgan Kaufmann, San Francisco (2005)
A Context-Based Cyber Foraging Approach to
Mobile Computing Empowerment

Somayeh Kafaie, Omid Kashefi, and Mohsen Sharifi

School of Computer Engineering,


Iran University of Science and Technology, Tehran, Iran
[email protected], kashefi@{ieee.org,
iust.ac.ir},[email protected]

Abstract. Nowadays mobile devices are very popular and users expect to run
the same applications on mobile devices as on static computers. However, these
devices often have lower performance than static computers that is due to the
constraints imposed on mobile devices by weight, size, and mobility. Cyber
foraging approaches have tried to ameliorate the lower performance of mobile
devices by exploiting more powerful static computers to run some
computational intensive tasks on behalf of mobile devices. Unfortunately, these
approaches have not been effective in all contexts. In this paper, we propose a
new context-aware cyber foraging approach to select the best location to run an
application, based on context metrics such as application specification,
computation cost and communication cost. Experimental results show the
superiority of our proposed approach in achieving lower response time and
energy consumption in executing some benched applications compared to when
these applications are solely run on mobile devices or when these applications
are totally offloaded blindly to surrogates for execution.

Keywords: Cyber Foraging, Offloading, Surrogate, Pervasive Computing,


Mobile Computing, Resource Constraint.

1 Introduction
Pervasive computing was introduced by Mark Weiser [1] in 1991. Satyanarayanan [2]
has defined pervasive computing as relating to “environments saturated with
computing and communication capability, yet gracefully integrated with human
users”. One of the key properties of this environment is mobility [3] and usage of
mobile devices such as PDAs, cell phones and sensors embedded in various devices.
Using mobile devices in pervasive environment necessitates running applications
on them that need higher computing capability and resources (i.e., energy, memory,
and storage) more than available on mobile devices. Some examples of such
applications are natural language translator [4, 5], speech recognizer [4, 5], optical
character recognizer [4], image processor [6], and games with high amount of
processing [7].
Cyber foraging is one of the most important and favourable solutions to cope with
resource poverty of mobile devices, especially in pervasive computing. Generally,

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 358–367, 2011.
© Springer-Verlag Berlin Heidelberg 2011
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment 359

cyber foraging is task offloading in order to resource augmentation of a wireless


mobile device by exploiting available static computers [2]. In cyber foraging
approach, the mobile device sends the whole or a part of an application to nearby idle
static computers, called surrogate and receives the results to improve the response
time and/or accuracy, or confront with its resource constraint. In this paper, we study
effectiveness of cyber foraging from mobile devices, surrogates, application, and
network aspects.
The remainder of the paper is organized as follows. Related researches on task
offloading are discussed in Section 2. In Section 3, the mobility constraints and
effectiveness of cyber foraging to alleviate the constraints are explained. Section 4
presents our proposed cyber foraging approach. The results of experimental evaluations
are depicted and discussed in Section 5, and Section 6 concludes the paper.

2 Related Work
There are several approaches with different objectives that have used the offloading
of applications, but the term “cyber foraging” was first introduced by Satyanarayanan
[2] as offloading applications from mobile devices to static computers. Spectra [5]
and Chroma [4, 8, 9] are the first cyber foraging systems that are focused on reducing
the latency.
While, Gu et al. [10] have used a graph model to select offloading parts of the
program to improve memory constraint of mobile device, Ou et al. [11, 12] have used
a similar method to address the CPU and bandwidth constraint, too. Song et al. [13,
14] has proposed a middleware architecture, called MobiGo for seamless mobility to
choose the best available service according to the bandwidth and latency, and
Kristensen [15] has introduced Scavenger as a cyber foraging framework whose focus
is on CPU Power of mobile devices.
However, none of the mentioned works address directly energy constraint in
mobile devices. Othrnan et al. [16] were one of the oldest researchers who employ the
offloading to reduce the power consumption. Cuervo et al. [17] present an
infrastructure, called MAUI to offload the applications and reduce the energy
consumption. They have located the solver (decision-making unit) out of the mobile
device to decrease the computation cost, while burden more communication cost.
Kemp et al. [18] also presented Ibis to compare offloading with local execution in
terms of responsiveness, accuracy and energy consumption.
In this paper, we propose a context-aware decision-making mechanism to make
decisions about task offloading in terms of not only energy consumption, but also
current processing power and available memory to improve response time and energy
consumption in mobile devices.

3 Cyber Foraging and Mobile Computing

Mobile devices, due to their mobility nature, cannot be plugged in most of times.
Therefore, energy consumption is one of the most important constraints of mobile
360 S. Kafaie, O. Kashefi, and M. Sharifi

devices [19]. On the other hand, portability requirements necessitate being as light
and small as possible. The inherent constraints include low processor speed, memory,
storage size, network bandwidth and limited battery life-time.
Ubiquitous availability of advanced mobile technologies makes users to expect to
run the same applications on mobile devices and static computers. However,
regarding resource poverty of mobile devices, it is evident that static computers
perform the tasks faster and more accurate. Besides, it is possible that the mobile
device does not have sufficient memory, storage or battery to complete the task.
To run the task on a static computer (i.e. surrogate), it is required to send the
related code and data from mobile device to the surrogate and receive back the results,
which is a time and energy-consuming process. The time of sending/receiving data
(application code, input parameters and results) to/from the surrogate depends on the
size of data and results as well as on the network bandwidth.
Cyber foraging causes reduction of execution time and energy consumption due to
the exploiting more powerful surrogates, but transmission of associated information
increases response time and decreases battery life-time. Since communication usually
consumes more energy than computation [18], it raises an issue: “under which
circumstances is it worth to use offloading?”. Therefore, a decision system must
imply that a task is worth to offload to a surrogate or not. In what follows, we present
a mechanism to decide about task offloading according to the context information.

4 Proposed Decision Mechanism


In this section we propose an approach to raise the participation rate of mobile devices
in pervasive and mobile computing using context aware task offloading. The pervasive
computing environment in our experiments includes a mobile device and some desktop
computers as surrogates that are intra-connected through a wireless LAN.
When a task is requested to run on the mobile device, a solver program runs
immediately to make a decision according to the context metrics either to offload
whole the task or to execute it on mobile device itself.

4.1 Context Metrics

Due to the dynamic nature of resources involved in typical computational pervasive


environments and portability of mobile devices, the ability of a device to perform the
operations varies over time. Therefore, making decision to offload a task must be
according to the current situation. We categorize the context metrics into four classes:
- Mobile device metrics include current processing power, available memory, and
available energy.
- Surrogate metrics include current processing power, and available memory.
- Network metrics include network type and its current conditions that can change
depending on the location such as data transmission rate and signal strength.
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment 361

- Application metrics include application type, which is one of CPU intensive,


memory intensive, and I/O intensive [20], and the size of application’s input data.

4.2 Solver

If we suppose to offload either the whole task or nothing and every time we make
decision for only one task, we can define the solver as a formal cost function. The
cost function is calculated for the mobile device and every surrogate; either the
mobile device or a surrogate with minimum cost value, would be the execution
platform of the task.
In this paper, we suppose having context metrics to estimate the execution cost.
We define the current processing power as Equation 1, where Pu is the percentage of
usage of processor, and Ps is the processor speed.

1 (1)
The cost function to determine the target execution location is defined by Equation 2.

(2)

Where w1 to w4 are the weighting factors which are non-negative values; the
summation of them is one and represents the importance of the corresponding factors.
Calculating the Cost for the mobile device, the Time factor is the execution time of
the task on mobile device (Timemobile) and the Energy factor referred to energy
consumption at run-time that is defined as Equation 3.

(3)

Energy consumption of mobile device in various states is different [16, 21].


Therefore, we have defined Powercomp as power rate for computation on the mobile
device. While Powerstandby is defined as power rate of mobile device on remote
execution, and Powersend and Powerreceive are power rate for sending and receiving
data.
Calculating the Cost for surrogates, the Time factor is calculated by Equation 4,
and the Energy factor is calculated by Equation 6.
(4)
Timesend and Timereceive are calculated in terms of Transmission Data Size, which
includes the sizes of code, input data, and output data as given in Equation 5.

/ (5)

(6)

Figure 1 shows the pseudo code of our proposed solver.


362 S. Kafaie, O. Kashefi, and M. Sharifi

Proposed_Solver()
{
if ((Available_MemoryMobile<Required_MemoryApplication) or
(Available_EnergyMobile<Required_EnergyApplication))
{
Mobile_In_Competition = FALSE;
}
foreach surrogate
{
Calculate time and energy to offload the task();
if ((Available_MemorySurrogate[i]<Required_MemoryApplication) or
(Available_EnergyMobile<Required_EnergySurrogate[i]))
{
Surrogate[i].In_Competition = FALSE;
}
}
if (forall Surrogates: Surrogate[i].In_Competition == FALSE)
{
if (Mobile_In_Competition == TRUE)
LocalExecution();
else
DoNothing();
}
Else
{
foreach Surrogate/Mobile: ifIn_Competition == TRUE
{
CalculateCost;
}
Execute the task on the Surrogate/Mobile with minimal Cost();
}
}

Fig. 1. Solver algorithm

5 Evaluation
To quantify the effectiveness of our proposed approach, we constructed a test bed
consisting of one mobile device and one surrogate whose specifications are given in
Table 1. The mobile device was connected to surrogates via 802.11b/g WLAN. The
context information of mobile device, surrogate, and applications were presented in XML
file format. Figure 2 shows the context information of mobile device, and Figure 3 shows
the context information of the available surrogate in the chosen test bed.
We evaluated the effectiveness of our proposed approach with respect to
responsiveness and resource consumption. We evaluated the responsiveness of the
proposed approach through a scenario where the user intended to execute an application
for finding the nth prime number, which is a CPU intensive application, and needed
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment 363

Table 1. Configuration of devices used in our experimentations

Type Processor Memory Operating System


Qualcomm MSM7225™ Windows Mobile 6.5
Mobile 256 MB
528 MHz Professional

Surrogate Intel Core 2Duo 2.5 GHz 4 GB Windows 7 Professional

<MobileDevice>
<NodeContext>
<Name> Mobile </Name>
<CPU> 524MHz </CPU>
<InstructionPSecond> 270 </InstructionPSecond>
<Load> 0.05 </Load>
<AvailableMemory> 91MB </AvailableMemory>
<AvailableBattery> 800J </AvailableBattery>
</NodeContext>
</MobileDevice>

Fig. 2. Context specification of the mobile device

<Surrogates>
<NodeContext>
<Name> Surrogate1 </Name>
<CPU> 5000MHz </CPU>
<InstructionPSecond> 938010 </InstructionPSecond>
<Load> 0.1 </Load>
<AvailableMemory> 2200MB </AvailableMemory>
<Bandwidth> 1KB/S </Bandwidth>
</NodeContext>
</Surrogates>

Fig. 3. Context specification of the surrogates

high computing power and low memory size on a mobile device where a surrogate was
in range. Figure 4 shows the context information of the nth prime application.
We evaluated the proposed approach with respect to resource consumption through
a scenario where the user intended to execute an application to determine a matrix
determinate, which needed high computing power and size of input data was
respectively high. Figure 5 shows the context information of matrix determinate
application.
364 S. Kafaie, O. Kashefi, and M. Sharifi

<ApplicationContext>
<Name> Nth Prime Number </Name>
<RequiredMemory> 0.6MB </RequiredMemory>
<CodeSize> 1KB </CodeSize
<BaseInputSize> 0.05KB </BaseInputSize>
<BaseOutputSize> 0.05KB </BaseOutputSiz>
<Order>
(N*ln(N)+(N*ln(ln(N))))*(pow(N*ln(N)+(N*ln(ln(N))),0.5))
</Order>
</ApplicationContext>

Fig. 4. Context specification of the nth prime number application

<ApplicationContext>
<Name> Matrix Determinant </Name>
<RequiredMemory> 9MB </RequiredMemory>
<CodeSize> 2KB </CodeSize
<BaseInputSize> 0.1KB </BaseInputSize>
<BaseOutputSize> 0.05KB </BaseOutputSiz>
<Order> N! </Order>
</ApplicationContext>

Fig. 5. Context specification of the matrix determinant application

We measured the response time and resource consumption in three scenarios: local
execution of application on mobile device, offloading the application and execution
on surrogate, and using our proposed method to find the execution location and run it.

5.1 Responsiveness

Responsiveness is defined as the time used by an application to respond to a user-


triggered request [18]. In general, lower response time is more satisfactory and always
we hope that response time is low enough for good subjective performance.
To estimate the execution time, we replace variable N with input value of the
application in the function presented in the Order section of the application context
description. The result is then divided by InstructionPSecond presented in context
descriptor of mobile device and surrogate to estimate the execution time of the
application on mobile device and surrogate.
Figure 6 shows the response time of the nth prime application among increases in
input size. As it is shown, our proposed approach almost always yields the least
response time and thus the best location to run the application.
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment 365

20000
Local Execution
18000 Offloading
Our Solver
16000
14000
Response Time (ms)

12000
10000
8000
6000
4000
2000
0

11…
13…
14…
16…
17…
19…
20…
22…
23…
25…
26…
27…
28…
29…
30…
100
200
300
500
550
600
650
700
750
800
950
Input N

Fig. 6. Comparison of execution time for finding the nth prime number application

5.2 Resource Consumption

Battery lifetime is an important aspect of participating mobile devices in pervasive


environments. Therefore, a good offloading mechanism should focus on consuming
as low energy as possible. To evaluate the impact of cyber foraging on energy
consumption, we experimentally measured the energy consumption of mobile devices
through execution of a matrix determinant application.
In the nth prime application, a number with fixed size was the application’s input
data, but the matrix determinant application required to send the whole matrix to the
surrogate. Therefore, the Data Size factor in Equation 5 was variable in terms of
matrix’s row count that affected the cost function and so the decision. In this scenario,
due to simplicity, we assumed the Powersend, Powerreceive, and Powerstandby factors as
equal in Equation 6.
To emphasis on energy consumption in this scenario, we set the Energy weight
(w2) in Equation 2 to maximum value of 1. Figure 7 presents the energy consumption
of execution of matrix determinate application; as it is shown, our proposed approach
preserved the minimum energy consumption compared to local execution of the
application in mobile device or always offloading the application and execution on
the surrogate.
An issue that should be considered in every decision maker’s mechanism is the
execution overheads of the decision-making process itself, which must be as light as
possible. As it is shown in Figure 6 and Figure 7, our proposed approach, preserved
nearly the same response time and energy consumption compared to blind offloading
approach, when it decides to offload the task; and nearly the same response time and
energy consumption compared to local execution on mobile device, when it decides to
execute the task on mobile phone. Actually, the computational complexity of our
proposed solver is O(n) which n is the number of available surrogates. Since the
number of surrogates is always relatively small, the overhead of decision-making of
our proposed solver does not affect the results and is almost negligible.
366 S. Kafaie, O. Kashefi, and M. Sharifi

70000
Local Execution
60000 Offloading
Our Solver
50000
Energy (milli joule)

40000

30000

20000

10000

0
2 3 4 5 6 7 8 9 10
Row Count in Matrix

Fig. 7. Comparison of energy consumption for matrix determinant application

6 Conclusion and Future Works


Mobile devices have always suffered from resource constraints, in comparison with
static computers, to run complex and high computational applications. One of the
major and most common solutions to improve computational resource poverty of
mobile devices, especially in pervasive computing environments, is cyber foraging,
which is offloading some tasks to more powerful nearby static computers. However,
as discussed in this paper, cyber foraging is not effective in all circumstances and
metrics such as mobile device and surrogate specifications, network quality,
transmission data size, and application nature should be taken into account.
In this paper, we proposed a context-aware cyber foraging approach to ameliorate
the resource poverty shortages of mobile devices and to raise the ability of
participation of mobile devices in pervasive and mobile computing.
Experimental results showed the superiority of the proposed approach in response
time and energy consumption, which are the two most important metrics in mobile
computing, in contrast to local execution of applications on mobile devices or blind
offloading to surrogates.
As a future work, we are working on support of more than one surrogate and
considering other metrics like surrogates’ load, and surrogates’ geographical distance
that affects the wireless signal strength and network bandwidth. In addition, more
experiments with various application types, and mobile/surrogates context, could
increase the applicability of our proposed approach.

References
1. Weiser, M.: The Computer for the 21st Century. Scientific American Special Issue on
Communications, Computers, and Networks, 94–104 (September 1991)
2. Satyanarayanan, M.: Pervasive Computing: Vision and Challenges. IEEE Personal
Communicatin 8 (August 2001)
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment 367

3. Kolos-Mazuryk, L., et al.: Development of a Requirements Engineering Method for


Pervasive Services. In: RE 2005 Doctoral Consortium, Paris,France (2005)
4. Balan, R.K., et al.: Simplifying Cyber Foraging for Mobile Devices. In: 5th USENIX
International Conference on Mobile Systems, Applications and Services (MobiSys), San
Juan (2007)
5. Flinn, J., et al.: Balancing Performance, Energy, and Quality in Pervasive Computing. In:
22nd International Conference on Distributed Computing Systems, ICDCS 2002 (2002)
6. Murarasu, A.F., Magedanz, T.: Mobile Middleware Solution for Automatic
Reconfiguration of Applications. In: 6th International IEEE Conference on Information
Technology (2009)
7. Chun, B.G., Maniatis, P.: Augmented Smartphone Applications through Clone Cloud
Execution. In: 8th Workshop on Hot Topics in Operating Systems (HotOS), Monte Verita
(2009)
8. Balan, R.K.: Simplifying Cyber Foraging. PhD Thesis, Carnegie Mellon University,
Pittsburgh (2006)
9. Balan, R.K., et al.: Tactics-Based Remote Execution for Mobile Computing. In: 1st
International Conference on Mobile Systems, Applications and Services, San Francisco,
pp. 273–286 (2003)
10. Gu, X., et al.: Adaptive Offloading for Pervasive Computing. IEEE Pervasive Computing
Magazine 3 (July 2004)
11. Ou, S., et al.: An Adaptive Multi-Constraint Partitioning Algorithm for Offloading in
Pervasive Systems. In: 4th Annual IEEE International Conference on Pervasive
Computing and Communications, PERCOM 2006 (2006)
12. Ou, S., et al.: An Efficient Runtime Offloading Approach for Pervasive Services. In: IEEE
Wireless Communications & Networking Conference, WCNC 2006, Las Vegas (2006)
13. Song, X.: Seamless Mobility in Ubiquitous Computing Environments. PhD Thesis,
Georgia Institute of Technology (2008)
14. Song, X., Ramachandran, U.: MobiGo: A Middleware for Seamless Mobility. In: 13th
IEEE International Conference on Embedded and Real-Time Computing Systems and
Applications (RTCSA 2007), Daegu, pp. 249–256 (2007)
15. Kristensen, M.D.: Empowering Mobile Devices Through Cyber Foraging:The
Development of Scavenger, an Open Mobile Cyber Foraging System. PhD Thesis,
Department of Computer Science, Aarhus University, Denmark (2010)
16. Othrnan, M., Hailes, S.: Power Conservation Strategy for Mobile Computers Using load
sharing. Mobile Computing and Communications Review 2, 19–26 (1998)
17. Cuervo, E., et al.: MAUI: Making Smartphones Last Longer with Code Offload. In: ACM
MobiSys, San Francisco (2010)
18. Kemp, R., et al.: eyeDentify: Multimedia Cyber Foraging from a Smartphone. In: IEEE
International Symposium on Multimedia (ISM 2009), San Diego (2009)
19. Satyanarayanan, M.: Avoiding Dead Batteries. IEEE Pervasive Computing 4, 2–3 (2005)
20. Zhang, J., Figueiredo, R.J.: Application Classification through Monitoring and Learning of
Resource Consumption Patterns. In: 20th IEEE International Parallel and Distributed
Processing Symposium, IPDPS (2006)
21. Park, E., Shin, H., Kim, S.J.: Selective Grid Access for Energy-Aware Mobile Computing.
In: Indulska, J., Ma, J., Yang, L.T., Ungerer, T., Cao, J. (eds.) UIC 2007. LNCS, vol. 4611,
pp. 798–807. Springer, Heidelberg (2007)
Model Driven Prototyping with Modelibra

Dzenan Ridjanovic

Université Laval, 2325 rue de la terrasse,


Québec (Québec) G1V 0A6, Canada
[email protected]

Abstract. A domain model may be designed in iterations, where each iteration


is validated through a default application generated from the model. By adding,
editing, removing, retrieving and navigating real data it becomes obvious what
is wrong with the model. Once the model is validated, user views of the model
may be developed by reusing generic components or by developing specific
components. Modelibra is a software family of tools and frameworks that
supports this prototyping process of designing domain models and their views.

Keywords: domain models, model frameworks, model validation, model


prototyping, model views.

1 Introduction
A domain model is a model of specific domain classes that describe the core data and
their behavior [1]. In business terms, a domain model is a model of the domain.
Within the domain, an organization conducts its business [2]. The memory of any
organization may be abstracted as a domain model. The backbone of data intensive
software is a domain model. The core of an organizational information system is a
domain model.
It is hard to design a model that reflects well its domain, as it is not easy to develop
software based on a domain model. A way to validate and improve a domain model is
to use an application developed on the model. It is much easier for a domain expert to
use the application than to read the model. By adding, editing, removing, retrieving
and navigating real data it becomes obvious to a domain expert what is wrong with
the model. However, it takes resources to develop an application based on a domain
model. A research goal is to reduce the time to develop an application based on a
domain model.
There are two categories of prototypes developed on a domain model. The first
category represents applications that are very close to their domain models. Its
objective is to make a domain model alive to allow users to validate the model. After
the model is validated, the application is pushed to the background to allow an
administrator to quickly make some changes in data. This category represents model
prototypes. A prototype of a domain model may be considered as a default application
of the model. After some improvements in the model, a new prototype is constructed
to continue with model validations. This is repeated until the model becomes stable.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 368–377, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Model Driven Prototyping with Modelibra 369

There are some simple rules that determine how a domain model may behave by
default as an application. Some of those rules may be reconfigured to make a default
application a bit easier to use. The rules may be used to even generate a default
application based on a domain model and its configuration.
The second category of prototypes represents applications that are close to user
views of the domain model [3]. Its objective is to validate user views of the domain
model. After views are validated, the application may be used to satisfy some basic
needs of users. This category represents functional prototypes. A functional prototype
may be considered as live design of user interfaces. In order to quickly respond to
user demands, a catalogue of reusable generic components must be available. A
generic component uses the domain model, but is not dependent on specific details. A
decent size catalogue of generic components increases development productivity.
One of bottlenecks of model driven development is a database that represents a
domain model. It is time consuming to propagate changes of a domain model to a
database schema. If our database is relational, it is not trivial to develop a code that
would map objects in main memory to table rows in a database.

2 Modelibra Software Family


Modelibra [4] is open source software (OSS) family that is designed to enable model
driven prototyping. It consists of tools and frameworks, developed in Java, which
support the design of domain models, the code generation of model configurations,
the code generation of default applications, and the component based development of
web pages. By default, Modelibra uses XML data files to persist user data and not
relational databases. In this way, there are no complicated installations and difficult
mappings. It is easy to design graphically a domain model, to generate its XML
configuration, to generate a default application, to validate the model by entering
some real data, to improve the domain model and regenerate the code. A developer of
Modelibra is able to show you in an hour how to go through this process for a small
domain model with a few concepts and relationships.
In addition to prototypes, Modelibra is well suited for small applications that may
have a relatively complex domain model but not that many data. The main restriction
of Modelibra is the requirement that all data must be present in main memory. This
allows software developers to focus on objects in a pure object oriented way and
completely ignore specifics of relational databases. In future, Terracotta [5] will be
integrated into Modelibra to expand the use of Java virtual machine from a single
computer to multiple computers connected via Internet or Intranet. A software
developer would use Modelibra as if there was only one computer. It would be a task
for Terracotta to reach objects in different computers, extending the main memory of
a single Java virtual machine to the Web memory. Of course, everything should be
done to prevent a loss of data in main memory. Modelibra uses XML representation
to save data from the main memory to files.
In prototype applications or small OSS projects there is often only one developer.
Similarly, in educational context, students work on individual assignments. Their projects
may use some complex domain models but usually do not require large quantities of
data. Modelibra has been used in university education for several years [6].
370 D. Ridjanovic

The Eclipse Modeling Framework (EMF) [7] belongs to the same software
category as Modelibra. EMF is a Java framework and code generation facility for
building tools and other applications based on a structured model. It is a professional
framework that may not be easy to learn for developers of prototypes or small
applications and students of software engineering or information systems.

3 Domain Model
A domain model consists of user concepts, concept properties and relationships
between concepts, which are represented graphically. Figure 1 represents a domain
model of web links that are of interest to certain members. The domain model has
been designed with the help of the ModelibraModeler tool. The domain is called
DmEduc and the model is named WebLinks.

Fig. 1. WebLinks model in DmEduc domain

The domain model's concepts are: Url (Uniform Resource Locator), Question,
Category, Member, Interest and Comment. The Url concept describes a web link. Urls
are divided into categories that may have subcategories. The Question concept
represents a frequently asked question about the use of the web application. Questions
are optionally categorized. Members show their interests in categories of web links.
Comments can be made about anything related to the web application.
A concept is defined by its attributes: properties for data and neighbors for
relationships. For example, the Url concept has the description property, which may
be null (the o symbol in front of the property name). A relationship between two
concepts is represented by two neighbor directions displayed together as a line. A
neighbor direction is a concept’s special property, with a name and a range of
cardinalities. Note that both neighbor name and cardinalities are displayed close to the
Model Driven Prototyping with Modelibra 371

source concept, which is different from the notation used in UML [8], where
cardinalities are moved close to the destination concept. Since the neighbor name and
cardinalities are neighbor properties of the source concept, it is more natural to use
them in a similar manner as properties. A concept’s neighbor is either a child or a
parent. A child neighbor has the maximum cardinality of N (or a number greater than
1). A parent neighbor has the maximum cardinality of 1.
At the level of data, a concept is represented as a collection of entities. The
retrieval of entities starts with the entry concepts of the domain model. In the
WebLinks domain model, the entry concepts are Category, Question, Member and
Comment. They all have a green border and the || symbol in the upper left corner of
the concept. Once an entity of the entry concept is retrieved in the collection of
entities, the retrieval of neighbor entities may start. A child neighbor is represented as
a collection of entities. A parent neighbor is represented as a single entity.
The Url concept is not an entry concept. Hence, entities of the Url concept may be
reached only through its parent Category concept. As a non-entry, the Url concept has
a light orange border. The Interest concept has two parents. Thus, interests may be
retrieved either from the Member concept or the Category concept. A concept that has
more than one parent is called an intersection concept. An intersection concept that
represents a many-to-many relationship has a brown border and the X sign in the
upper right corner of the concept.
Every concept has a predefined property called oid. The oid property is mandatory.
It is used as an artificial concept identifier and is completely managed by Modelibra.
Its value is unique universally. In addition, a concept may have at most one user
oriented identifier (id), which consists of properties and/or neighbors. In an entry
concept, all entities must have a unique value for the concept id. However, in a non-
entry child concept, the id is often unique only within the child parent. For example,
the id of the Url concept is defined by the name property and the category neighbor.
Hence, a name must be unique only within its category.
By default, a neighbor is internal. In that case, a relationship has a light orange
color. Starting with an entry concept and following internal neighbors, produces a
hierarchical submodel of concepts. By default, this submodel of entities is saved in a
single XML data file. When a neighbor is external, the relationship has a brown color
and it connects two concepts, each in a different hierarchical submodel. The child
entity has a reference oid that points to the parent entity. The reference oid is used by
Modelibra to load data from XML data and to reconstruct a pure object model of
entities out of submodels of entities.

4 Modelibra Default Application


A domain with its models must be configured in an XML configuration file.
Fortunately, this configuration may be generated from a graphical domain model. The
XML configuration is used to generate the model's POJO [9] classes in Java.
However, the XML configuration provides more information about the model's
default behavior used heavily in generic components. The XML configuration is
loaded up-front by Modelibra and converted into meta entities in the main memory.
372 D. Ridjanovic

Modelibra has a Java framework for default applications called ModelibraWicket.


ModelibraWicket uses Wicket [10] web framework for the construction of web
components. ModelibraWicket interprets a domain model as a web application. We
will show here only a few web pages of a default web application of the DmEduc
domain.
The home page (Figure 2) of the application provides a button-like link to enter
Modelibra. There are two other links that are not active yet. The DmEduc domain
name is displayed in the the title section.

Fig. 2. Home page

The Modelibra page (Figure 3) is the application's domain page with a table of
domain models. The domain title is DmEduc Domain and the only model in the
domain is WebLink. The model has two button-like data links, one for displaying
model entries and another for updating model entries. The Home link displays the
application home page.

Fig. 3. Modelibra page

The display model page (Figure 4) presents a table of model entry concepts. Every
entry concept has Display and Select links. The Display link shows the concept as a
table of entities. Only required properties are presented.

Fig. 4. Display model page


Model Driven Prototyping with Modelibra 373

The update model page presents a table of model entry concepts with Update links.
Each entry concept has its own display and update page with a table of entities. The
Context link in the upper left corner of a page plays a role of the back button. An
entity may be displayed, selected or updated. A new comment can be added and an
existing comment can be displayed (with all details), edited or removed. In Figure 5,
only one comment is displayed.

Fig. 5. Update table of comments

When an entity is added or edited using a form, its properties are validated with
respect to the XML configuration of the concept. If there are errors, they are
displayed in front of the form. For example, in Figure 6, an empty comment is added.
When the add form is displayed, the Save button is clicked to add an empty comment.
Since the text property is required, the corresponding error is displayed in front of the
form, and a small star after the field in question shows that there is a problem with the
value of that field.

Fig. 6. Add comment form

In Figure 7 only Software categories are shown. Note that both parent and child
categories are displayed. For the Software parent category there are three
subcategories: Framework, Tools, Web Meeting. Each displayed category has its
corresponding Urls (web links) and Categories (subcategories).
374 D. Ridjanovic

Fig. 7. Category subcategories

Web links of the Framework category are shown in Figure 8.

Fig. 8. Category web links

There is also a generic mechanism for making selections of entities. In Figure 9,


only questions that contain the word Modelibra in the text property will be selected.

Fig. 9. Selection of entities

5 Modelibra Views
Once a domain model is validated through the model's default application, model
views may be used to start developing web components that would be building blocks
of web pages. The new home page will be presented here, where each section of the
page is a placeholder of a web component. Some of those web components will be
specific and some generic. A specific component is developed by a web application
programmer with the objective to focus on a specific page section. A generic
component is developed by an advanced programmer to support the needs of different
web applications through its parameters.
Model Driven Prototyping with Modelibra 375

A web component, specific or generic, uses a part of a domain model, called a


component view model. A web component has also its view presentation parameters.
A framework of the Modelibra software family that focuses on web components is
ModelibraWicket. ModelibraWicket uses the Modelibra domain model framework for
its web view models, and the Wicket web framework for its web views. In the
opposite direction, Modelibra does not have any knowledge of ModelibraWicket, and
Wicket does not know anything about ModelibraWicket and Modelibra.
Why is Wicket used for web components? In Wicket, the development of web
applications is concentrated in Java classes. For each concept of a web application
there is a corresponding Java class in Wicket. For example, for a web section there is
the Panel class in Wicket. XHTML and CSS are used to display a web component
view in a usual way. In Figure 10, the Home page is composed of several web
components.

Fig. 10. Home page with web components

The HomeMenu Java class is a specific web component that is used only in this
web application. The SigninPanel Java class is a generic web component that may be
reused in different web applications. The SigninPanel component may be found in a
catalogue of generic web components of ModelibraWicket. Both specific and generic
web components are used in similar way.
The HomeMenu component is added in the HomePage specific class in the
following way.
DmEducApp dmEducApp = (DmEducApp) getApplication();
DmEduc dmEduc = dmEducApp.getDmEduc();
WebLink webLink = dmEduc.getWebLink();
ViewModel homePageModel = new ViewModel(webLink);
View homePageView = new View();
homePageView.setWicketId("homeMenu");
add(new HomeMenu(homePageModel, homePageView));

The first step is to get the WebLink model. The model is obtained from the
DmEduc domain that comes from the DmEducApp web application.
The getApplication method is inherited from Wicket. The menu component has two
composite arguments. The first argument is an object of the ViewModel class. The
second argument is an object of the View class. Both classes come from
376 D. Ridjanovic

ModelibraWicket. The two composite arguments are constructed and their specific
parameters are set. Then, the menu component with those two filled arguments is
constructed and added to the home page.
The SigninPanel generic component is added to the home page in a similar way.
ViewModel signInViewModel = new ViewModel(webLink);
signInViewModel.setEntities(members);
signInViewModel.setEntity(new Member(members.getModel()));
View signInView = new View();
signInView.setWicketId("signIn");
Panel signIn = new SigninPanel(signInViewModel, signInView);
add(signIn);
add(new FeedbackPanel("signInFeedback"));
if (getAppSession().isUserSignedIn()) {
signIn.setVisible(false);
}

The view model consists of a collection of existing members and a member object
that will accept two values entered by a user. If a member with the given code and
password values exists, the sign in will be successful and the sign in panel will
become invisible. If there is an error, the error message will be displayed in a
feedback panel and the sign in panel will stay visible to allow a user to enter correct
values.
The Comments component is defined on the single Comment concept based on the
current entities of that concept. The display is of the table type and the concept's
essential properties are displayed, here only the text property. The class of the generic
web component is EntityDisplayTablePanel.
ViewModel commentsModel = new ViewModel(webLink);
Comments comments = webLink.getComments();
commentsModel.setEntities(comments);
View commentsView = new View();
commentsView.setWicketId("commentTable");
EntityDisplayTablePanel commentTable = new
EntityDisplayTablePanel(commentsModel, commentsView);
add(commentTable);

The Comments web component has a simple view model based on one concept.
Often there is a need to display data based on the one-to-many relationship between
two concepts. The ParentChildPropertyDisplayListPanel generic component displays
one property from a parent entity and one property from a child entity, in a list of
parents with the corresponding child list for each parent.
ViewModel categoryUrlsModel = new ViewModel(webLink);
Categories categories = webLink.getCategories();
Categories orderedApprovedCategories = categories
.getApprovedCategories().getCategoriesOrderedByName();
categoryUrlsModel.setEntities(orderedApprovedCategories);
categoryUrlsModel.setPropertyCode("name");
categoryUrlsModel.getUserProperties().addUserProperty(
"childNeighbor", "urls");
categoryUrlsModel.getUserProperties().addUserProperty(
"childProperty", "link");
View categoryUrlsView = new View();
Model Driven Prototyping with Modelibra 377

categoryUrlsView.setWicketId("categoryNameUrlLinkList");
categoryUrlsView.setTitle("Category.WebLinks");
ParentChildPropertyDisplayListPanel categoryNameUrlLinkList =
new ParentChildPropertyDisplayListPanel(categoryUrlsModel,
categoryUrlsView);
add(categoryNameUrlLinkList);

In the view model, the categories entry point is obtained from the domain model
and its subset of only approved categories, ordered by name, is set as entities. The
property code is set to name. The ViewModel class has a generic way of adding
additional, user oriented properties. Two user properties are defined here and they are
used to find children of a parent and a child property that will be displayed.
The childNeighbor user property is the urls neighbor of the Category concept.
The childProperty user property is the link property of the Url concept.

6 Conclusion
Modelibra is a software family that provides tools and frameworks to design a domain
model, to generate Java code for the model, to validate the model through a default
application, and to use generic components, based on the model, for user views. It is
hard to design well a domain model. A way to help designers is to generate a default
application based on the model and to use the application in order to realize what
needs to be done to improve the model.
Once a domain model is validated, it is also important to quickly create user views
of the model. This is only possible if user views are not created from scratch, but from
a well designed catalogue of generic components.

References
1. DSM Forum, http://www.dsmforum.org/
2. Domain Modeling,
http://www.aptprocess.com/whitepapers/DomainModelling.pdf
3. Model-driven prototyping,
http://hci.uni-konstanz.de/downloads/
CorporateUISpec_IFIP_TM_CB_HR.pdf
4. Modelibra, http://www.modelibra.org/
5. Terracotta, http://www.terracotta.org/
6. Modelibra Education, https://www.assembla.com/wiki/show/modelibra
7. Eclipse Modeling Framework, http://www.eclipse.org/emf/
8. Unified Modeling Language, http://www.uml.org/
9. Plain Old Java Objects, http://en.wikipedia.org/wiki/POJO
10. Wicket, http://wicket.apache.org/
An Implementation of Axml(T ) : An Answer Set
Programming Based Formal Language of
Authorisation for XML Documents

Sean Policarpio and Yun Bai

Intelligent Systems Laboratory


School of Computing and Mathematics
University of Western Sydney
Penrith South DC, NSW 1797, Australia
{spolicar, ybai}@scm.uws.edu.au

Abstract. Axml(T ) is a logic-based formal language of authorisation for


documents written in the Extensible Markup Language. In our previous
publication, we addressed the issues of the syntax, semantics, and ex-
pressive power that it has to specify access control and to query XML
encoded data. In this paper, we consider an experimental implementa-
tion to test its capability to allow and restrict access to XML documents.
The software implementation will allow us to define a security policy base
and then reason upon it to determine authorisations. From there we can
discover Axml(T ) ’s capacity to provide XML access control and any lim-
itations it may have. Also, from this experiment we will have an initial
building block for establishing an actual XML access control application.

Keywords: XML databases and security, access control, authorisation,


knowledge representation and reasoning, logic programming.

1 Introduction
The Extensible Markup Language (XML) [15] has established itself as a popular
and reliable formatting structure for the storage, presentation, and communica-
tion of data over the Internet. In our previous paper, we discussed the importance
of securing XML documents [11]. To our present knowledge, XML does not in-
corporate security methods as part of its specification [15]. Ideally, access control
can be achieved through the implementation of a formal language of authorisa-
tion that can specify security rights to XML documents and their nodes. In [11],
we presented a formal language that could provide necessary security methods
to XML. It is based on the Role-based Access Control model, incorporates the
XPath query language for object specification, and uses temporal logic so that it
can define when authorisations should be enforced. The formal language Axml(T )
is used to define a security policy base capable of specifying all the access rights
that subjects in the scope of an XML environment should have or be denied.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 378–387, 2011.

c Springer-Verlag Berlin Heidelberg 2011
An Implementation of Axml(T ) : An Answer Set Programming 379

Using the semantics of Answer Set Programming (ASP) [7,9], an Axml(T )


policy base is utilised as a declarative logic program. An answer set program
primarily consists of a collection of rules of the following form [3,7]:

A ← L1 , ..., Lm , not Lm+1 , ..., not Ln.

This rule means that if L1 ,..., Lm are to be true and if Lm+1 ,...,Ln can be
safely assumed to be false (through negation as failure), then A must be true
[3]. When computing an ASP program, literals like A are returned as a set
for each rule that is reasoned to be true. In our formal language, we specify
predicates in place of L and A as a means to represent relationships or concepts
of access control. By reasoning upon an Axml(T ) logic program, the knowledge
represented in the policy base produces for us an answer detailing authorisations
to the XML documents. ASP is a non-monotonic logic and allows for the use
of variables in place of constant terms. Its expressive power gives Axml(T ) some
traits of a natural language and its use here is what distinguishes it from other
XML security concepts.

1.1 Related Work and Purpose


There has been much and varying research done in the area of XML access con-
trol. Damiani et al. [5] provided a Fine-grained XML access control model which
is considered a basis for most research and implementations that followed its
publication. It implemented rule propagation, positive and negative authorisa-
tions, and conflict resolution.
In [8], He presents a Role-based XML access control model (RBXAC). His
model follows the essentials of Role-based Access Control and includes a rela-
tionship theory between the tree structure of XML documents and the user roles
and operations defined [8].
In [2], Anutariya et al. propose a rule-based access control model using a logic-
based policy base. They utilise the model from [5] and provide authorisations to
an XML documents elements by using the semantics of their language, the XML
Declarative Description (XDD) [2]. It covers most of the functionality found in pre-
vious research including conflict resolution, and positive and negative access [2].
In [4], Bertino et al. discuss their access control model for XML documents.
Their work utilises credentials to grant authorisation to subjects and XPath’s
to specify objects [4]. What primarily differentiates this research is that it im-
plements temporal constraints into the policy language.
With respect to the ideas proposed for XML access control in this section, in
comparison to our research, only a small group of authors have produced models
utilising at least some of the aspects we have all included in our formal language.
We believe that each of these aspects are beneficial to not only differentiating
our work from others, but more importantly, to creating a superior XML access
control model. To summarise, these aspects include:
– the Role-based Access Control Model and its inherent principles,
– the XPath query language and all of its expressive features,
380 S. Policarpio and Y. Bai

– logical-based (ASP) security policy specification, and


– temporal constraints through temporal logic

To our present knowledge, we also believe that not many authors have pro-
vided software implementations of their XML access control models. For this
reason, we not only present a brief overview of our formal language in this pa-
per, but more importantly, we present a prototype implementation highlighting
the application of Axml(T ) .
The rest of this paper is organised as follows. In Section 2 we will briefly
overview the formal language. Section 3 will present a general outline of the
implementation idea and will discuss in detail how we went about developing the
prototype application. Section 4 will present a case study to aid in understanding
the functionality of the system. Section 5 highlights results found on experiments
we performed on the prototype. We conclude with some comments on further
development ideas we have for the future.

2 Overview of Axml(T )
Axml(T ) consists of a finite set of statements shown in Table 1. A security pol-
icy base is made up of rule statements and facts that define user accessibility

Table 1. BNF for Axml(T )


<rule> ::= <head-statement> [ if [ <body-statements> ] [ with absence
<body-statements> ] ]
<deny-rule> ::= author will deny [ if [ <body-statements> ] [ with absence
<body-statements> ] ]
<head-statement> ::= <relationship-statement> | <grant-statement> |
<query-statement> | <auth-statement> |
<role-statement>
<body-statements> ::= <body-statement> | <body-statement>, <body-statements>
<body-statement> ::= <relationship-statement> | <grant-statement> |
<query-statement> | <auth-statement> |
<role-statement>
<relationship-statement> ::= author says <relationship-atom>
<grant-statement> ::= author grants <role-name> to <subject> during
<temporal-interval>
<relationship-atom> ::= below( <role-name>, <role-name> ) |
separate( <role-name>, <role-name> ) |
during( <temporal-interval>, <temporal-interval> ) |
starts( <temporal-interval>, <temporal-interval> ) |
finishes( <temporal-interval>, <temporal-interval> ) |
before( <temporal-interval>, <temporal-interval> ) |
overlap( <temporal-interval>, <temporal-interval> ) |
meets( <temporal-interval>, <temporal-interval> ) |
equal( <temporal-interval>, <temporal-interval> )
<subject> ::= <subject-constant> | <subject-variable>
<role-name> ::= <role-name-constant> | <role-name-variable>
<temporal-interval> ::= <temporal-interval-constant> | <temporal-interval-variable>
<auth-statement> ::= author says that <subject> can use the <role-atom>
during <temporal-interval>
<query-statement> ::= author asks does <subject> have <privilege> rights to
<xpath-statement> during <temporal-interval>
<role-statement> ::= author creates <role-atom>
<role-atom> ::= role( <role-name>, <sign>, <xpath-statement>, <privilege> )
<sign> ::= + | -
<xpath-statement> ::= in <document-name>, return <xpath-expressions>
<document-name> ::= <document-name-constant> | <document-name-variable>
<xpath-expressions> ::= <xpath-node> | <xpath-node>, <xpath-expressions>
<xpath-node> ::= [ / ] <node-name> [<xpath-predicate>] /
<node-name> ::= <node-name-constant> | <node-name-variable> | * | //
<xpath-predicate> ::= <child-node-name> <predicate-relationship> <variable-value> |
<attribute-name> <predicate-relationship> <variable-value> |
<xpath-axis-expression>
<child-node-name> ::= <child-node-name-constant> | <child-node-name-variable>
<attribute-name> ::= <attribute-name-constant> | <attribute-name-variable>
<predicate-relationship> ::= < | > | =
<privilege> ::= read | write
An Implementation of Axml(T ) : An Answer Set Programming 381

to XML documents. Rules are what provide the non-deterministic nature of


Axml(T ) . They are conditional statements that consist of a head statement and
body statements where the head statement is validated true if the body state-
ments are found to be true as well. Rules are reasoned upon primarily to deter-
mine when a subject is allowed to access a particular XML document. Facts are
additional information such as <relationship-statements>, which define role or
temporal interval relations, or <grant-statements>, which specify that a subject
be granted membership to a role. We define a policy base as follows:
Definition 1. A policy base P B is a finite set of facts and rules defining the
access control rights that subjects have over XML objects in a database. Sub-
jects, roles, XML objects, temporal intervals and all the relationships that exist
between them exist within a domain D and can be represented in P B using the
formal language Axml(T ) .
Most of the syntax and semantic elements of the language are quite straightfor-
ward, however, a comprehensive explanation is available in [11]. As mentioned,
Axml(T ) is based on the Role-based access control model and utilises temporal
logic. Our formal language also uses the XML query language XPath for object
specification [13]. We will briefly discuss these three areas of Axml(T ) .
The Role-based Access Control model [6] defines the structure and relation-
ships of authorisations we use. This primarily means rather than applying au-
thorisations directly to subjects, we create roles that can have one or more speci-
fied authorisations. Each role contains a privilege, either positively or negatively
granted, and an object that is being authorised access to. We grant subjects
membership to these roles to allow them the privileges specified.
Temporal interval reasoning is incorporated in our language so that we can
specify temporal constraints on authorisations. We utilise Allen’s Temporal In-
terval algebra in Axml(T ) [1]. By doing so, we can define an interval and any
relationships it may have with any other intervals directly in the policy base.
With the existence of an interval, we can then use it in a <grant-statement> to
specify when that authorisation is applied.
As mentioned earlier, we incorporate the XML query language, XPath, for
specifying objects in roles. An XPath is a string representation of traversing
through an XML document to return one or more elements from within it. How-
ever, the XPath query language includes more expressive power than just this.
It also allows for predicate queries to specify an even more expansive set of XML
document elements [13]. The following is an example of a security policy base
demonstrating expressions in Axml(T ) utilising some of the mentioned features.
Example 1. Axml(T ) expressions author creates role(photographer, +, /graphics/photographs/, write).
author creates role(graphicDesigner, +, /graphics/photographs/, read). author says separate(graphicDesigner, photographer).
author creates role(graphicDesigner, +, /graphics/photographs/, write). author says before(photoShoots, designMeetings).
author creates role(graphicDesigner, +, /graphics/illustrations/paint author says during(presentations, designMeetings).
@year=‘2011’], write). author grants graphicDesigner to Jemma during designMeetings.
author creates role(graphicDesigner, -, /graphics/clipart//cartoons, read). author grants photographer to Bob during photoShoots
author creates role(photographer, +, /graphics/photographs/, read). if author grants graphicDesigner to Jemma during designMeetings.

After defining a security policy base with Axml(T ) , the next step is to reason
upon and query what authorisations it allows. However, to do so we must first
382 S. Policarpio and Y. Bai

translate it into a logic program. The semantic translation of Axml(T ) is called


ALP [11]. The ALP program is computed using an Answer Set solver which
produces a stable model (an answer set) containing authorisation statements.
These statements specify which subjects have access to what and when and are
produced due to the fact that the subject has been granted membership to a
role and his membership does not conflict with any other rules or principles of
the Role-based Access Control model.

3 Implementation
This implementation will test the true expressiveness, capability, and limitations
of Axml(T ) in a software application by 1) defining an Axml(T ) policy base, and 2)
translating the policy base and reasoning upon it to discover its authorisations.
Although we are utilising the formal language to protect some arbitrary XML
documents, the implementation will however not actually be restricting user
access to those documents. At this point, we are mainly interested in seeing if
the Axml(T ) authorisation model is feasible. The system will allow us to define
a policy base over some XML documents so that we can query it to see if the
system properly reasons the authorisations it should allow. This will also help
us find new aspects of the language we should add or fix. Also, we will be able
to see if those principles we inherited from the Role-based Access Control model
are working properly.
For the structure of the system, we designed a management module called
pb mgr (policy base manager) that contains a majority of the functionality re-
quired. For ease of use, we incorporate a web-based user interface to execute
the module. Besides the functionality already mentioned, we must also note the
inclusion of an ASP solver and XML Documents database. The Answer Set Pro-
gram solver represents the software tools we will use to ground1 the variables
in the translated policy base and also compute a stable model (answer) from it.
With respect to an XML database, for the sake of simplicity, we stored the XML
documents in a local directory rather than a sophisticated XML storage system.
This allows us to create and utilise simple programming structures to retrieve
XML documents.
The policy base manager pb mgr is written in the Python scripting language
while the web interface was written in PHP. For testing purposes, we setup a local
Linux server with the Apache HTTP Server Project (httpd 2.2.15), PHP (5.3.2),
and Python (2.6.5). We discuss the important functions and design aspects we
created for the pb mgr object class and PHP interface.

Axml(T ) Policy Base Management. We utilised XML for the storage and
retrieval of Axml(T ) rules and facts. We created a document structure using the
XML Schema specification from the W3C [14]. The schema allows us to define a
static structure that the policy base must adhere to. This was important because
it ensured that any rules or facts that were inserted into the policy base were valid
1
A procedure that ensures we have a variable-free logic program.
An Implementation of Axml(T ) : An Answer Set Programming 383

because we wrote the XSD with respect to Axml(T ) ’s syntax. For the addition
of rules or facts to the policy base file, we first parse the document using the
Python Lightweight Document Object Model (minidom) library. This turns the
XML document into an object that we can easily manipulate in Python. Rules
and facts are created and removed using the web interface. For creation, the
user has the choice of selecting from a set of Axml(T ) statements. The interface
temporarily saves all created rules and facts to an XML document, validates
them (using the XSD), and then passes the document to pb mgr so that they
may be copied into the parsed policy base object.

Translating Axml(T ) to a Logic Program. With the existence of a security


policy base, the manager can translate it into an ALP logic program. As we
mentioned earlier, ALP is our Answer Set Programming semantic translation
of Axml(T ) . We must translate a policy base so that we may reason upon it
to find valid authorisations from it. ALP translation consists of first parsing
our XML policy base document and then sequentially translating each rule and
fact. Utilising various string manipulation techniques and regular expressions,
we perform a translation on the policy base and export each rule and fact to a
Python list data structure. Algorithm 1 exhibits this process2 .

Algorithm 1. Policy Base Translation


Data: policy base pb, ALP policy base alpPb
1 ppb = minidom.parse(pb);
2 alpRules = list();
3 foreach rule ∈ ppb do
// translate each rules head and body to ALP
4 alpHead = alpTranslate(rule.head);
5 alpBody = alpTranslate(rule.body);
// perform XPath rewriting if necessary
6 if alpHead contains a dynamic XPath then
7 expandedAlpHead = expandXPaths(alpHead);
8 expansionH = true;
9 end
10 if alpBody contains a dynamic XPath then
11 expandedAlpBody = expandXPaths(alpBody);
12 expansionB = true;
13 end
// append head(s) and body(ies) together
14 if expansionH AND expansionB == true then
15 alpRules.append(combine(expandedAlpHead, expandedAlpBody));
16 else if expansionH == true then
17 alpRules.append(combine(expandedAlpHead, alpBody));
18 else if expansionB == true then
19 alpRules.append(combine(alpHead, expandedAlpBody));
20 else
21 alpRules.append(combine(alpHead, alpBody));
22 end
23 end
// extract list of constants for explicit definition
24 cons = list();
25 foreach alpRule ∈ alpRules do
26 cons.append(extractConstants(alpRule));
27 alpPb.append(alpRule);
28 end
29 alpPb.append(cons);
30 return alpPb;

Computing Authorisations and Querying Them. For the computation of


the policy base logic program, we utilise the Potassco tools set developed by
2
The methods shown for XPath expansion are explained in [10].
384 S. Policarpio and Y. Bai

the University of Potsdam [12]. These represent the ASP solver we mentioned
earlier. From within the policy base manager class, we create a sub-process to
execute gringo, Potassco’s grounding program that will take care of the variables
in the policy base. We output a grounded version of our logic program and save
it temporarily to file. Next, we create another sub-process to execute clasp,
Potassco’s answer set solver, with the grounded logic program. The output from
the answer set solver contains the authorisations which we can query to discover
what XML objects subjects have access to. A query is created on the interface
and submitted to the manager for comparison. If a match in the answer set
is found for the query, the manager will indicate that the subject does in fact
have the privilege to do some action on the XML document during the specified
interval.

Outcomes. We tested the prototype with various policy base scenarios to ensure
that the formal language is working properly. Expectedly, Axml(T ) does perform
the way we hoped in terms of the basic features and principles we incorporated
into its formalisation and semantic translation. Although we are generally happy
with the direction of the prototype, it still requires further and extensive testing
to ensure that it meets the requirements of an access control model for XML.
Presently, the source code, example XML document, and other files are available
at http://www.scm.uws.edu.au/∼spolicar/ for the purpose of demonstration or
examination. Naturally, there was some challenges we encountered during devel-
opment that needed to be alleviated immediately. Due to space constraints, we
cannot discuss these challenges in depth. They can be found in full detail in [10].

4 Case Study
In a health and well-being store, nutritional information about particular foods
are stored in an XML database so that employees of the store can access and
provide the data to customers. Users also access the document to reference and
update the information for the purpose of creating meals that utilise the recorded
foods. The XML was originally authored and located at www.alistapart.com/arti-
cles/usingxml/.
For this case study we have four different roles with varying privileges over
the document. Their access rights to specific XPath’s are shown in the following
table:
Role name Privilege XML Object
generaluser +read /nutrition
cookingstaff +read /nutrition/food/name
nutritionist +write /nutrition/dailyvalues
nutritionist +write /nutrition/food
assistant -write /nutrition/dailyvalues

For the scenario there are 5 subjects (Joel, Sarah, Sinead, Patrick, Sean)
assigned to the various roles and temporal intervals. We will also specify the
following rules:
An Implementation of Axml(T ) : An Answer Set Programming 385

– All nutritionists must not be allowed to work two days in succession.


– If an assistant is allowed access on a day, they must have or be allowed access the following day.
– If Sarah has the nutritionist role on any day, then Joel must have it the following day.
– The cooking staff are not allowed to access the document on Monday and Friday.

The following is the Axml(T ) policy base containing these rules and roles as
well as the grant statements for the subjects. This policy base was generated
by using the prototypes PHP interface to enter each rule individually. Normally,
the policy base would be saved in the XML schema we specified, but we present
it here in normal Axml(T ) syntax for the purpose of readability.

author creates role(generaluser, +, in nutrition, return author grants nutritionist to sarah during T1,
/nutrition, read). author says before(T1, T2).
author creates role(cookingstaff, +, in nutrition, return author will deny if author grants cookingstaff to S dur-
/nutrition/food/name, read). ing monday.
author creates role(nutritionist, +, in nutrition, return author will deny if author grants cookingstaff to S dur-
/nutrition/dailyvalues, write). ing friday.
author creates role(nutritionist, +, in nutrition, return author says meets(monday, tuesday).
/nutrition/food, write). author says meets(tuesday, wednesday).
author creates role(assistant, -, in nutrition, return /nu- author says meets(wednesday, thursday).
trition/dailyvalues, write). author says meets(thursday, friday).
author says below(nutritionist, generaluser). author grants cookingstaff to sinead during friday.
author says below(assistant, nutritionist). author grants nutritionist to joel during tuesday.
author will deny if author grants nutritionist to joel during wednesday.
author grants nutritionist to S during T1, author grants cookingstaff to patrick during thursday.
author grants nutritionist to S during T2, author grants nutritionist to sarah during thursday.
author says before(T1, T2). author grants assistant to sean during wednesday.
author grants assistant to S during T2 if author grants assistant to sean during thursday.
author grants assistant to S during T1, author grants assistant to patrick during thursday.
author says before(T1, T2).
author grants nutritionist to joel during T2 if

4.1 Translating and Computing the Authorisations

Executing the translation functions of the implementation produces a logic pro-


gram. However, when reasoning upon that logic program, the prototype did
not produce an answer set. This was expected as we had purposely included
grant statements in our policy base that would fail with respect to the rules we
specified. We highlight those failed grant statements and provide a solution to
alleviate the conflict.

1. Sinead is granted membership to the cooking staff role on Friday which is an off limits day. We
will change her grant to Wednesday.
2. Joel is attempting to use the nutritionist role for two days in a row. We will change his first
grant to occur on Monday instead of Tuesday so that a gap is provided between his access to
the role on Wednesday.

The rest of the grant statements validate with the rules. With the policy base
and translated logic program reflecting the changes listed above, the prototype
generated an answer set. We are primarily concerned with the following correct
authorisations (auth statements) excerpted from that answer set:
386 S. Policarpio and Y. Bai

auth(sarah,nutrition, nutrition dailyvalues,write,thursday) auth(patrick,nutrition, nutrition food name,read,thursday)


auth(sarah,nutrition, nutrition food,write,thursday) auth(sarah,nutrition, nutrition,read,thursday)
auth(joel,nutrition, nutrition dailyvalues,write,monday) auth(sean,nutrition, nutrition,read,friday)
auth(joel,nutrition, nutrition food,write,monday) auth(sean,nutrition, nutrition food,write,friday)
auth(sinead,nutrition, nutrition food name,read,wednesday) auth(sean,nutrition, nutrition,read,wednesday)
auth(sinead,nutrition, nutrition food name,read,wednesday) auth(sean,nutrition, nutrition food,write,wednesday)
auth(joel,nutrition, nutrition dailyvalues,write,friday) auth(sean,nutrition, nutrition,read,thursday)
auth(joel,nutrition, nutrition food,write,friday) auth(sean,nutrition, nutrition food,write,thursday)
auth(joel,nutrition, nutrition dailyvalues,write,wednesday) auth(joel,nutrition, nutrition,read,monday)
auth(joel,nutrition, nutrition food,write,wednesday) auth(joel,nutrition, nutrition,read,friday)
auth(patrick,nutrition, nutrition food name,read,thursday) auth(joel,nutrition, nutrition,read,wednesday)

5 Experimental Results
In [10], we examined various policy bases and their effects on computation time
with the Axml(T ) system implementation. Unfortunately, this examination was
quite in depth (31 experiments) and we can not display all of the details here.
In summary, these experiments were concerned with the following:
1. Computation time as the size of the policy base increases uniformly (without complex rules)
2. Evaluating computation time as the complexity of Axml(T ) /ALP rules increases
3. Effects of computation time as the number of XML documents requiring authorisation increases
4. The effects of the number of temporal intervals and their complex relationships on computation
time
5. Examining larger scale policy bases with complex rules against computation time and space

From the results of these experiments we found that the computation times
for those grounded and translated policy bases which were under approximately
one million rules are relatively acceptable from an implementation point of view.
We also discovered that careful consideration must be taken for the number
of temporal intervals and relationships specified in the policy base due to the
increase in reasoning with their presence. Oppositely, we learned that the number
of XML documents specified in the policy base is not much of a concern. In
terms of the implementation, we also found that with larger scale policy bases,
the output generated from computation became increasingly larger with each
experiment. We now know that large inputs can take a toll on our system. We
saw a drastic hinder in performance with Experiment 31 (the largest and most
complex policy base in our test set) when the implementation halted due to a lack
of system memory. Increasing system memory could be a short term solution,
but from a software engineering point of view, is not the definitive one. At this
point, we believe best practice would be to consider limiting the size of the
authored policy bases. From our concluding results, we saw that the produced
answerset data remained under one megabyte of data; an amount that is still
easily searchable. Therefore, although we see a difficulty with the computation
of larger scale and complex policy bases, we still deem the system feasible and
desirable due to the fact that performing searches is relatively easy.

6 Conclusion
We have presented a prototype for our formal language of authorisation for XML
documents with temporal constraints. After a brief overview of the Axml(T ) lan-
guage, we discussed the features, structure, technical specifications, and algo-
rithmic details of the implementation. Using a simple case study, we further
An Implementation of Axml(T ) : An Answer Set Programming 387

explained how the Axml(T ) implementation works. Finally, we presented some


summarised results from experiments we ran to test the limitations of our proto-
type. With this first phase of the prototype complete, it would be beneficial in the
future to extend it with other features such as implementing user authentication
or linkage with a current XML database management system.

References
1. Allen, J.F.: Towards a general theory of action and time. Artif. Intell. 23(2),
123–154 (1984)
2. Anutariya, C., Chatvichienchai, S., Iwaihara, M., Wuwongse, V., Kambayashi, Y.:
A rule-based xml access control model. In: RuleML, pp. 35–48 (2003)
3. Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving.
Cambridge University Press, Cambridge (2003)
4. Bertino, E., Carminati, B., Ferrari, E.: Access control for xml documents and data.
Information Security Technical Report 9(3), 19–34 (2004)
5. Damiani, E., Vimercati, S.D.C.d., Paraboschi, S., Samarati, P.: A fine-grained ac-
cess control system for xml documents. ACM Trans. Inf. Syst. Secur. 5(2), 169–202
(2002)
6. Ferraiolo, D.F., Cugini, J.A., Richard Kuhn, D.: Role-based access control (rbac):
Features and motivations. In: 11th Annual Computer Security Applications Pro-
ceedings (1995)
7. Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In:
Kowalski, R.A., Bowen, K. (eds.) Proceedings of the Fifth International Conference
on Logic Programming, pp. 1070–1080. The MIT Press, Cambridge (1988)
8. He, H., Wong, R.K.: A role-based access control model for xml repositories. In:
WISE 2000: Proceedings of the First International Conference on Web Information
Systems Engineering, vol. 1, p. 138. IEEE Computer Society, Washington, DC,
USA (2000)
9. Lifschitz, V.: What is answer set programming? In: AAAI 2008: Proceedings of
the 23rd national conference on Artificial intelligence, pp. 1594–1597. AAAI Press,
Menlo Park (2008)
10. Policarpio, S.: An Answer Set Programming Based Formal Language for Complex
XML Authorisations with Temporal Constraints. PhD thesis in Computer Science,
University of Western Sydney (2011)
11. Policarpio, S., Zhang, Y.: A formal language for specifying complex XML autho-
risations with temporal constraints. In: Bao, F., Yung, M., Lin, D., Jing, J. (eds.)
Inscrypt 2009. LNCS, vol. 6151, pp. 443–457. Springer, Heidelberg (2010)
12. University of Potsdam. Potassco, the potsdam answer set solving collection (2010),
http://potassco.sourceforge.net/
13. WWW Consortium, Xml path language (xpath) version 1.0. (1999),
http://www.w3.org/TR/xpath
14. WWW Consortium, W3c xml schema (2004),
http://www.w3.org/XML/Schema.html
15. WWW Consortium, Extensible markup language (xml) 1.0., 5thedn. (November
2008), http://www.w3.org/TR/REC-xml/
On Cloud Computing Security

Yun Bai and Sean Policarpio

Intelligent Systems Laboratory


School of Computing and Mathematics
University of Western Sydney
Locked Bag 1797, Penrith, NSW 2751
Australia
{ybai,spolicar}@scm.uws.edu.au

Abstract. Could computing is the latest development of the modern comput-


ing technology. It is the next stage of the Internet evolution. Cloud computing
provides the organizations with the infrastructure management, various software
services and the datacenter maintenance. The organizations can reduce their oper-
ational cost and concentrate on their strategic planning by using services provided
by cloud computing. Generally, the success of cloud computing depends on three
key issues: data security, fast Internet access and standardization [17]. Among the
three issues, the biggest concern is data security. In this paper, we investigate the
security issue related to datacenter of cloud computing. By analyzing the proper-
ties of the data stored at the datacenter, we propose a logical approach to specify
the data and employ intelligent agents to enforce appropriate security policies
on it. We expect such approach will protect the datacenter by only allowing the
legitimate users accessing the data and preventing any malicious attempt to it.

Keywords: Access Control, Security Model, Cloud Computing, Formal Specifi-


cation.

1 Introduction

Nowadays, Internet is used everywhere from personal leisure browsing to business trad-
ing, from our everyday routines such as banking, shopping to high technology applica-
tions such as spacecraft launching, satellite controlling. Cloud computing is the current
development of the Internet and the modern computing technology. It is the next stage
of the Internet evolution. With more and more organizations dealing with increasing
amount of data relying on the Internet, cloud computing plays increasingly important
role.
Cloud computing is a structure that allows an organization to access applications,
services or data that resides in a remote site or datacenter. It provides these organi-
zations with the infrastructure management, software development and the datacenter
maintenance. Hence, the organizations don’t need to spend much effort on investment
and maintenance of the infrastructures which keep their datacenter running. They can
instead concentrate on their strategic projects planning and development, and can re-
duce their operational and capital expenditure.

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 388–396, 2011.

c Springer-Verlag Berlin Heidelberg 2011
On Cloud Computing Security 389

Apart from datacenter maintenance and management, cloud computing also provides
a variety of services to help the organizations to reduce their operational cost and to in-
crease their productivity. Some major organizations such as Amazon, Google, Microsoft
now offer cloud services to the public. Amazon offers virtual machines and extra CPU
cycles as well as storage service. Google offers database, online documents, and other
online software. Microsoft provides the organizations with the Window applications,
datacenters, database services [19].
When increasing organizations enjoy the convenience, efficiency and increased pro-
ductivity by using cloud computing, at the meantime, they also need to face a major
challenge comes with it: the security. The introduction of the cloud computing brings
major security concern about the organization’s data hosted in a non-local datacenter.
Overall, the success of cloud computing depends on three key issues: data security, fast
Internet access and standardization. Among the three issues, the biggest concern is data
security.
In this paper, we address the security issue of accessing the datacenter. We propose
an approach using authentication and access control to ensure secure access to the data.
The aim of the approach is to only allow the legitimate users accessing the organiza-
tion’s data, to prevent any unauthorized attempt to the datacenter.
Authorization or access control is a mechanism to ensure that all accesses to the
system resources occur exclusively according to the access polices and rules specified
by the security agent of the system. Authorizations or access control has been exten-
sively studied in [1], [4], [10], [22] etc. and a variety of authorization specification
approaches such as access matrix [6], [8], role-based access control [5], access control
in database systems [3], authorization delegation [14], procedural and logical specifi-
cations [2] have been investigated. Since logic based approaches provide a powerful
expressiveness [9] as well as flexibility for capturing a variety of system security re-
quirements, increasing work has been focusing on this aspect. However, how these ap-
proaches can apply to cloud computing environment has not been explored much. [11]
presented a design for a file system to secure file system storage service for Web 2.0
application. [15] proposed approaches to provide catch based security and performance
isolation for cloud computing environment. In this paper, we try to incorporate formal
approaches into cloud computing security.
The paper is organized as follows: In section 2, we analyze the general features of
the cloud computing including its architecture, various services it provides, the struc-
ture of the datacenter and the properties of the datacenter. Section 3 proposes a structure
for secure datacenter with authentication and access control functions provided. In this
section, the authentication mechanism is outlined and an authorization approach is also
described for ensuring the datacenter security. Section 4 presents a detailed authoriza-
tion mechanism by using a formal logical specification. The access control evaluation
is discussed. Section 5 concludes the paper with some future work outlined.

2 Properties of Cloud Computing

In a cloud computing structure, the organizations using the cloud services are normally
referred to as clients. These clients can be located geographically differently. They
390 Y. Bai and S. Policarpio

access services provided by cloud computing via the Internet by distributed servers.
The actual servers or the datacenter can be located geographically differently as well.
Cloud computing provides various services to the clients. Software as a service
(SaaS) is a software distribution model in which software application is hosted by a
software provider to the clients. The clients, instead of purchasing and installing the
software to their computer systems, they may just access such software via the Internet
as a service. This kind of service is also called ’pay as you go’, the clients only pay
the software services they actually use. With the development of the service oriented
architecture (SoA) which supports the SaaS model and the increasing availability of the
Internet access, SaaS is becoming a prevalent software service distribution model and
accepted by ever increasing clients around the world.
With SaaS model, the software is hosted off site by the provider, the clients do not
need to develop, maintain or upgrade it. They benefit from using low-cost, more reliable
software. They may just concentrate on their internal strategic planning for increasing
their productivity.
Platform as a service (PaaS) is another application distribution model. In this model,
the PaaS provider supplies all the infrastructure needed to build application and service
over the Internet. PaaS can provide the clients with application design, development,
testing, etc. by an efficient, cost-effective delivery model. The clients do not need to
download and install the required software to build and maintain the infrastructure.
They may direct this cost to other part of their operation to ensure their overall produc-
tivity.
Datacenter is an important service provided by cloud computing. It is a collection
of data and servers the clients subscribe. As an organization using cloud computing
service, its data and application are located on servers geographically different from
its local site. As discussed previously, when a client’s data is housed in a datacenter, it
saves the cost of maintaining it. When client from different location needs to access its
data, the data seems to be just located locally.
However, since the data is located in a non local site, ensuring the security of the data
is not as simple as if housed locally. It is not feasible to enforce the same local security
measurement. To ensure safe access to the datacenter, it needs a coordinated security
measurement between the datacenters and the clients accessing the datacenter.

3 Approaches towards Securing Datacenter

Generally there are two steps to ensure the security of a system such as a datacenter
hosted by cloud computing: authentication and authorization. Authentication controls
which user can access the datacenter. With authentication mechanism, only the legiti-
mate users are allowed to enter the datacenter. On the other hand, authorization controls
that the legitimate user only performs legitimate operations on the data once it has been
successfully authenticated. The two mechanisms work together to effectively provide
the datacenter with secure accesses as Figure 1 shows.
Where C1 , C2 , ...Cn represent the client servers, each of them acts on behalf of
a group of users who need to access the datacenter. AeS is the authentication server
and AoS acts as the authorization server. AeS manages a database in which all the
On Cloud Computing Security 391

data center

authorization

authentication

C1 C2 ... Cn

Fig. 1. Secure Datacenter Structure

users information such as password, identification number etc. are registered. It ensures
that only the registered, legitimate users are allowed to access the datacenter. AoS also
manages a similar database for every user about its access right to the datacenter. It
controls that the authenticated users only perform legitimate operations on the data of
the datacenter.
When a user needs to access the datacenter, it requests to its client server first, then
the client server passes the information to AeS. AeS then checks its database about this
user to either grant or deny such a request. If the authentication is successful, it passes
on to the AoS. AoS checks the user request with its database about this user’s access
right. If the user request is within its specified right, the request is granted, otherwise, it
is denied.
For our authentication mechanism, we employ a Kerberos [18] like system to fulfill
the function. To simplify the description, we only illustrate the authentication process
for one client server CS. All the rest client servers follow the same procedure for their
user authentication.
Figure 2 shows the authentication mechanism for a client server CS.
The authentication process works as follows: suppose AeS and AoS share a secret
key for encrypting and decrypting the messages between them and AeS has already
have a database in which the user’s password, identification and other information are
stored. When a user U1 enters the system and requests access to the datacenter, it needs
to be authenticated by AeS first. To begin with, U1 sends its request to CS in step 1;
on behalf of U1 , the CS sends the request to AeS in step 2; AeS checks its database
to confirm if U1 has supplied the correct password and other required information and
if U1 is permitted access to the datacenter. If all are confirmed correctly, then U1 is an
authentic user and be issued a ticket encrypted by the secret key shared by AeS and
392 Y. Bai and S. Policarpio

AeS
2
3
CS

1
4
5
AoS
U1

Fig. 2. Authentication Structure

AoS in steps 3 and 4. U1 cannot alter the ticket since it does not possess the secret key.
It can only pass it to AoS for requesting access to the datacenter in step 5.
Similar to AeS, AoS manages a database as well about the users entitled access
rights to the datacenter. It compares the user’s request to its database record about what
operations the user can perform. If the request is within the specification of U1 ’s entitled
rights, then U1 can access the datacenter as it requested. Otherwise the request is denied.
The detailed specification, function and evaluation of the AoS will be presented in
the next section.

4 A Formal Method for AoS


In the system described above, each client server provides service for a group of users
who access the datacenter generally located at a remote site. These client servers may
locate at different sites and the user groups they represented may have different access
requests to the datacenter. We assume that the Internet access on which the system
relies is safe and sound. For the authorization mechanism, each agent manages one
client server; to have the whole system coordinated, all the agents are managed by a
super agent.
In this section, we concentrate on the investigation of a single agent by proposing
a logic model for its specification and evaluation. All the other agents follow the same
model.

4.1 The Language for AoS Specification


We introduce a formal model for representing AoS security rules based on a first order
language. We give both syntactic and semantic descriptions for our policy base model.
Let L be a sorted first order language with equality, with three disjoint sorts for
legitimate object, legitimate user and group legitimate user respectively. Assume L has
the following vocabulary:
On Cloud Computing Security 393

1. Sort legitimate object: with object constants O, O1 , O2 , · · ·, and object variables


o, o1 , o2 , · · ·.
2. Sort legitimate user: with user constants U, U1 , U2 , · · ·, and user variables u, u1 ,
u2 , · · ·.
3. Sort group legitimate user: with group user constants GU, GU1 , GU2 , · · ·, and user
variables gu, gu1 , gu2 , · · ·.
4. A binary predicate symbol request which takes arguments as legitimate user or
group legitimate user and legitimate object respectively.
5. A binary predicate symbol can which takes arguments as legitimate user or group
legitimate user and legitimate object respectively.
6. A binary predicate symbol ∈ which takes arguments as legitimate user and group
legitimate user respectively.
7. A binary predicate symbol ⊆ whose both arguments are group legitimate user.
8. Logical connectives and punctuations: as usual, including equality.
In this specification, a legitimate user U can access legitimate object O of the datacenter
is represented by a ground formula can(U, O). A ground formula is a formula without
any variables. A user U requests access to object O of the datacenter is represented by
a ground formula request(U, O).
The group membership is represented as follows: for example, let GU be a group
constant representing a specific group users called expert. “U is an expert” means U
is a member of the group GU , this can be represented using the formula U ∈ GU .
We can also represent inclusion relationships between different user groups such as
GU1 ⊆ GU2 . Furthermore, we can represent constraints among users’ authorizations.
For example, the rule stating that “a technician can access an object file O”, “Sue is a
technician” can be represented as follows. We use T to represent the group technician.
∀u.u ∈ T ⊃ can(u, O), (1)

Sue ∈ T, (2)
Usually we define that if a group entitles access to certain object, then all the members
of the group can access the same object unless otherwise specified. This is called the
inheritance property of authorizations. This can be represented as:
∀u.u ∈ GU ∧ can(GU, O) ⊃ can(u, O). (3)
Where u represents any member of the group GU and O is a data object of the datacen-
ter that GU can access.

4.2 The Security Rule Base Specification and Evaluation


We can now give a formal definition of the security rule base of the AoS by using the
language L.
Definition 1. A security rule base SRB is a quaternary of (LU, LO, F, C) where LU
is a finite set of legitimate users; LO is a finite set of legitimate data objects of the
datecenter; F is a finite set of ground literals and C is a finite set of closed first order
formulas.
394 Y. Bai and S. Policarpio

A formula without any free variables is defined to be a closed formula. In our for-
malism, both facts and rule constraints are represented by closed formulas of L. For
example, can(Sue, T ) is a fact, and so is (2). can(Sue, O) ⊃ can(Amy, O) is a rule
constraint, (1) and (3) are also rule constraints. These rule constraints are viewed as
access constraints which should be always satisfied. We refer to a fact as a ground for-
mula, a ground literal, or an atom.
A model of a security rule base is the assignment of a truth value to every formula
of the security rule base in such a way that all formulas of the security rule base are
satisfied [7]. Formally, we give the following definition.

Definition 2. A model of a security rule base SRB = (LU, LO, F, C) is defined to be


a Herbrand model [7] of LU ∪ LO ∪ F ∪ C. SRB is said to be consistent if there exists
some model of SRB. The set of all models of SRB is denoted as M odels(SRB). A
formula ψ is a consequence of SRB, denoted as SRB |= ψ, if LU ∪ LO ∪ F ∪ C |= ψ.
In this case, we also say ψ is satisfied in SRB.

We use an example to show how the security rule base works.


Example 1. Consider a situation where the facts are: U1 and U2 are technicians(T ),
they both are legitimate users; and technician can access a data record(D-records) of
the datacenter where D-records is a legitimate data record. The constraint states that
if someone belongs to a group then he(she) inherits the group’s access rights. In our
security rule base, this situation can be specified as SRB = (LU, LO, F, C), where
LU = {U1 ∈ LU, U2 ∈ LU },
LO = {D-records ∈ LO},
F = {U1 ∈ T, U2 ∈ T, can(T, D-records)}, and
C = {∀ug.u ∈ g ∧ can(g, o) ⊃ can(u, o)}.
It is not difficult to see that facts can(U1 , D-records) and can(U2 , D-records) are
consequences of SRB, and SRB has a unique model m where:

m = {U1 ∈ LU, U2 ∈ LU, P -records ∈ LO, U1 ∈ T, U2 ∈ T, can(T, P -records),


can(U1 , D-records), can(U2 , D-records)}.

Example 2. Consider another situation where the facts are: U1 and U2 both are legiti-
mate users, D-records is a legitimate data record. U1 can access D-records, U2 also
can access D-records. The constraint is that D-records can only be accessed by one
user at one time. Formally, this can be represented as SRB = (LU, LO, F, C), where
LU = {U1 ∈ LU, U2 ∈ LU },
LO = {D-records ∈ LO},
F = {can(U1 , D-records), can(U2 , D-records)}, and
C = {can(U1 , D-records) ⊃ ¬can(U2 , D-records)}.

This security rule base is not consistent as there does not exist a model for it.
On Cloud Computing Security 395

Now we discuss the SRB evaluation. When a user U requests access to D of the
datacenter, the task of the AoS is to evaluate such a request and make the decision to
either grant or deny the request.
For a request request(U, D), Generally, the AoS will first check its corresponding
SRB to find out if U and D are legitimate user and data object or not. If yes, it then
checks the facts of the SRB, if can(U, D) is presented, request(U, D) then is explic-
itly granted. Otherwise, it does reasoning about the related facts and rules, calculates
the model of the SRB. If can(U, D) is in the model, then can(U, D) can be deduced,
hence the request is implicitly granted; otherwise, the request is denied.

Definition 3. For an access request request(U, D), the AoS evaluates the SRB =
(LU, LO, F, C) by calculating its model m. If can(U, D) ∈ m, or SRB |= can(U, D),
request(U, D) is to be granted; otherwise, it is to be denied.

Example 3. The SRB is as described as in Example 1. In addition, U3 is


also a legitimate user. The access requests are: request(U1 , D-records) and
request(U3 , D-records). In this case, the SRB = (LU, LO, F, C), where

LU = {U1 ∈ LU, U2 ∈ LU, U3 ∈ LU },


LO = {D-records ∈ LO},
F = {U1 ∈ T, U2 ∈ T, can(T, D-records)}, and
C = {∀ug.u ∈ g ∧ can(g, o) ⊃ can(u, o)}.
Again, the a unique model m is:
m = {U1 ∈ LU, U2 ∈ LU, U3 ∈ LU, P -records ∈ LO, U1 ∈ T, U2 ∈ T,
can(T, P -records), can(U1 , D-records), can(U2 , D-records)}.

Obviously, SRB |= can(U1 , D-records), request(U1 , D-records) is granted;


SRB |= can(U3 , D-records) does not hold, so request(U3 , D-records) is denied.

5 Conclusions
In cloud computing environment, since the datacenter normally located in a remote
site, it poses a great security concern of data hosted in the datacenter. In this paper, we
have examined the security issue of the datacenter in cloud computing environment. We
believe both authentication and authorization machenisms are essential to protect the
data in the datacenter. We proposed a structure to perform the user authentication and to
control their accesses to the datacenter in order to protect the datacenter from malicious
attempt. We have sketched a framework for the authentication process and introduced
a detailed formal approach for the access control mechanism. We investigated a logic
approach for representing authorization rules and evaluating user’s access request. The
implementation issue will be considered in our future work. Also more detailed access
rights, different operations on data object needs to be investigated. This shall be part of
the future work as well.
396 Y. Bai and S. Policarpio

References
1. Atluri, V., Gal, A.: An authorization model for temporal and derived data: securing informa-
tion protals. ACM Transactions on Information and System Security 5(1), 62–94 (2002)
2. Bertino, E., Catania, B., Ferrari, E., Perlasca, P.: A logical framework for reasoning about
access control models. ACM Transactions on Information and System Security 6(1), 71–127
(2003)
3. Bertino, E., Jajodia, S., Samarati, P.: Supporting multiple access control policies in database
systems. In: Proceedings of IEEE Symposium on Research in Security and Privacy,
pp. 94–107 (1996)
4. Chomicki, J., Lobo, J., Naqvi, S.: A logical programming approach to conflict resolution in
policy management. In: Proceedings of International Conference on Principles of Knowledge
Representation and Reasoning, pp. 121–132 (2000)
5. Crampton, J., Khambhammettu, H.: Delegation in role-based access control. International
Journal of Information Security 7, 123–136 (2008)
6. Dacier, M., Deswarte, Y.: Privilege graph: an extension to the typed access matrix model.
In: Proceedings of European Symposium on Research in Computer Security, pp. 319–334
(1994)
7. Das, S.K.: Deductive Databases and Logic Programming. Addison-Wesley Publishing Com-
pany, UK (1992)
8. Denning, D.E.: A lattice model of secure information flow. Communication of ACM 19,
236–243 (1976)
9. Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about knowledge. MIT Press,
Cambridge (1995)
10. Fernandez, E.B., France, R.B., Wei, D.: A formal specification of an authorization model
for object-oriented databases. In: Database Security, IX: Status and Prospects, pp. 95–109
(1995)
11. Hsu, F., Chen, H.: H Chen, Secure File System Services for Web 2.0 Application. In: ACM
Cloud Computing Security Workshop, pp. 11–17 (2009)
12. Hurwitz, J., Bloor, R., Kaufman, M., Halper, F.: Cloud Computing for Dummies. Wiley Pub-
lishing Inc., Chichester (2010)
13. Jajodia, S., Samarati, P., Sapino, M.L., Subrahmanian, V.S.: Flexible support for multiple
access control policies. ACM Transactions on Database Systems 29(2), 214–260 (2001)
14. Murray, T., Grove, D.: Non-delegatable authorities in capability systems. Journal of Com-
puter Security 16, 743–759 (2008)
15. Raj, H., Nathuji, R., Singh, A.P.: England Resource management for Isolation Enhanced
Cloud Services. In: ACM Cloud Computing Security Workshop, pp. 77–84 (2009)
16. Reiter, R.: A logic for default reasoning. Artificial Intelligence 13, 81–132 (1980)
17. Rittinghouse, J.w., Ransome, J.F.: Cloud Computing, Implementation, management, and Se-
curity. CRC Press, Boca Raton (2010)
18. Stallings, W.: Cryptography and Network Security - principles and Practice, 5th edn. Pearson,
London (2006)
19. Velte, A.T., Velte, T.J., Elsenpeter, R.: Cloud Computing - A Practical Approach. McGraw
Hill, New York (2010)
20. Winslett, M.: Updating Logical Databases. Cambridge University Press, New York (1990)
21. Woo, T.Y.C., Lam, S.S.: Authorization in distributed systems: A formal approach. In: Pro-
ceedings of IEEE Symposium on Research in Security and Privacy, pp. 33–50 (1992)
22. Zhou, J., Alves-Foss, J.: Security policy refinement and enforcement for the design of multi-
level secure systems. Journal of Computer Security 16, 107–131 (2008)
PAPR Reduction in OFDM by Using
Modernize SLM Technique

Ashutosh K. Dubey1, Yogeshver Khandagre2, Ganesh Raj Kushwaha1,


Khushboo Hemnani1, Ruby Tiwari2, and Nishant Shrivastava1
1
Dept. of Computer Science & Engineering
Trinity Institute of Technology and Research
Bhopal, India
[email protected],
[email protected],
[email protected],
[email protected]
2
Dept. of Electronics and Communication
Trinity Institute of Technology and Research
Bhopal, India
[email protected],
[email protected]

Abstract. One major Disadvantage of OFDM is the high peak-to average


Power ratio (PAPR). One investigated technique Selected Mapping (SLM) is
PAPR reduction techniques for Orthogonal Frequency Division Multiplexing
(OFDM). In this paper we proposed a Modernize SLM (MSLM) scheme to
reduce the PAPR by using the complex signal separate into real & imaginary
parts and individually phase sequence multiple real as well as imaginary part of
complex signal then select minimum PAPR signal of real & imaginary and
these are combine. The simulation show achieves good PAPR., which is one of
the strong candidate for Future wireless communication.

Keywords: OFDM, PAPR, SLM and MSLM.

1 Introduction
Recently orthogonal frequency division multiplexing (OFDM) [5] has been regarded
and used as one of the technologies for the communication systems. Especially
OFDM has been adopted for various wireless communication Systems [14] such as
wireless local area networks (WLANs) [4], wireless metropolitan area networks
(WMANs), digital audio broadcasting (DAB), and digital video broadcasting (DVB)
[19]. OFDM is an attractive technique for achieving high data rate in the wireless
communication systems and it is robust to the frequency selective fading channel
[11]. However, an OFDM signal can have very high peak-to-average power ratio
(PAPR) [9] at the transmitter. Which causes the signal distortion such as the in-band
distortion and the out-of-band radiation [16] due to the nonlinearity of high power
amplifier (HPA) [18], and induces the degradation of bit error rate (BER)? Thus, the

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 397–405, 2011.
© Springer-Verlag Berlin Heidelberg 2011
398 A.K. Dubey et al.

Fig. 1. Linear and Nonlinear Region

PAPR reduction is one of the most important research interests for the OFDM
systems. The Linear region and nonlinear region is shown in Fig 1.
In Fig1.we want to avoid such undesirable nonlinear effects [18] a waveform with
a high peak must be transmitted in the linear range of the HPA by decreasing the
average power of the input signal. This is called input back-off (IBO) and results in a
proportional output back-off (OBO) after the amplification. However high back-offs
reduce the power efficiency of the amplifier and cause a reduction in the coverage
range. The operating point of the nonlinearity is defined by the input back-off (IBO)
that corresponds to the ratio between the saturated and the average input powers. To
deal with the high PAPR a number of approaches have been proposed. Such as
clipping [17], tone reservation [4], and selected mapping (SLM) [4]. All of the
mentioned schemes need an accurate PAPR calculation based on over sampling.
The remaining of this paper is organized as follows. We discuss System
Description in Section 2. In Section 3 we discuss about PAPR Reductions. The
Modernized SLM Scheme in section 4. The conclusions and future directions are
given in Section 5. Finally references are given.
PAPR Reduction in OFDM by Using Modernize SLM Technique 399

2 System Description
In an OFDM system, shown in fig.1 [5] data is modulated in the frequency domain to
N adjacent subcarriers. These N subcarriers span a bandwidth of B Hz and are
separated by a spacing of Δf =B/N .The continuous-time baseband representation of
this is

Where T=1/ f is the symbol period.

2.1 Peak-to-Average Ratio

The most popular quantification metric of envelope variation is the peak-to-average


ratio (PAR). Rightfully so as PAR captures the most important aspect of a signal that
has to pass through a peak-power limited device the peak power. The use of PAR in
communications signals is a result of the use of PAR in radar applications. A radar
system shares certain similarities with a communications system namely they both
have to transmit an amplified radio signal of a certain spectrum. For radar the
spectrum shape is often the only signal constraint which makes waveform shaping
that minimizes peaks a relatively straightforward problem. However in an OFDM
communication system there is the additional constraint that each subcarrier (Fourier
coefficient of the spectrum) is modulated with an information bearing complex
number. This additional degree of constraint significantly complicates the problem.

Fig. 2. OFDM Block Diagram

The PAR of an OFDM signal x according to Fig 2.


400 A.K. Dubey et al.

where x and be any signal representation (critically sampled baseband oversampled


base-band continuous-time pass band etc.) defined over one symbol period. Because
the denominator of an expected value and strictly speaking not an “average" it is true
that the term PAR is a bit of a misnomer. Despite this slight technical inaccuracy PAR
is the most widely used term and we will keep with convention here. Also note that
the ensemble average power and the expectation in the denominator of only differ for
non-constant modulus constellations. The PAR of x[n] is different for levels the PAR
increases with N. First we assume that N the number of subcarriers is large enough so
that the discrete-time domain signal has an approximate complex Gaussian
distribution [5]. It then follows that the instantaneous power of the discrete time
domain samples which is Chi-Squared distributed.

The IFFT each discrete time sample can be treated as independent of all other
samples. With these two approximations the probability that the power of at least one
x[n] out of N samples is above a given level is

Finally if E [|x[n] |2] is normalized to unity, then the CCDF of the PAR is

We know that OFDM is a promising high-speed communications technique however


it suffers from high PARs.

3 PAPR Reductions
Ideally a SLM scheme will create D independent mappings of a discrete-time domain
signal xL. If we assume that each mapping is independent of all other mappings then
the CCDF of the PAR in a SLM scheme is simply

Fig 4 is a plot of the theoretical PAR CCDF curves for a critically sampled OFDM
symbol where N = 64, L=1and d=1,2,10,100. The CCDF of the PAR in a Nyquist
sampled OFDM symbol is
PAPR Reduction in OFDM by Using Modernize SLM Technique 401

where N is the number of subcarriers and D is the number of independent phase


mappings.

SLM Complexity

It is obvious that SLM has significant PAR reduction capabilities. However, this
reduction is not free. The most significant costs are the D -1 additional IDFT
operations and the D-1 N – length where N is the number of subcarriers and D is the
number of independent phase mappings. These complexities can be mitigated slightly
by using the inverse fast fourier transform (IFFT) in place of the IDFT and by using
binary phase sequences so that all of the phase multiplications are just sign changes.

4 Modernized SLM Scheme


Firstly real and imaginary part of the complex modulating signal Am is separated as

Fig. 3. Modernized SLM PAPR system


402 A.K. Dubey et al.

Where is the real part and is the imaginary part of the frequency
domain vectors and for both are generated. Since the signals are real valued. The
phase vector DR and DI have to be real. These candidates are transformed into time
domain using IFFTs. Then each combination of one real and one imaginary from
these the best candidate with minimum PAR is selected. The CCDF of the PAR in
Modernized SLM OFDM symbol is

Fig. 4. PAPR CCDF curves for N =128, L=1 and d=1, 5, 10, 50,100
PAPR Reduction in OFDM by Using Modernize SLM Technique 403

Fig. 5. Simulation results MSLM and SLM

In the modernized SLM system we separate the complex baseband signal into real
and imaginary part. These real parts converted into serial to parallel and individual
phase sequence is multiply into every parallel and selected minimum PAPR. Similarly
imaginary parts converted into serial to parallel and individual phase sequence is
multiply into every parallel and selected minimum PAPR. Both real and imaginary
parts again combine and transmitted.
404 A.K. Dubey et al.

Fig. 6. Clipping in dB

5 Conclusions and Future Work

In this paper we proposed the modernized SLM which has a lower PAPR than
traditional SLM. We derived the PAR CCDF in a modernized SLM system. Its
performance is analyzing in mat-lab 6.5 version. The simulation results show the
MSLM scheme with 1024 carriers and different phase sequence reduce the PAPR
about 0.25dB to 1dB. The computational complexity reduction ratio increase as the
phase sequences increases. This makes the proposed scheme more suitable for high
speed data rate OFDM system.
PAPR Reduction in OFDM by Using Modernize SLM Technique 405

References
[1] Abouda: A PAPR reduction of OFDM signal using turbo coding and selective mapping.
In: Proceedings of the 6th Nordic Signal Processing Symposium, June 2004, pp. 248–251
(2004)
[2] Fischer, B.R., Huber, J.: Reducing " the peak-to-average power ratio of multicarrier
modulation by selected mapping". IEE Electronics Letters 32, 2056–2057 (1996)
[3] Baxley, R.J., Zhou, G.T.: Assessing "peak-to-average power ratios for communications
applications". In: Proc. IEEE MILCOM Conference (October 2004)
[4] Breiling, M., Muller-Weinfurtner, S.H., Huber, J.B.: SLM peak-power reduction without
explicit side information. IEEE Communications Letters 5, 239–241 (2001)
[5] Chang, R.W.: Orthogonal frequency division multiplexing. U.S. Patent 3 488 445
(January 1970)
[6] Chen, N., Zhou, G.T.: Peak-to-average power ratio reduction in OFDM with blind
selected pilot tone modulation. In: Proc. IEEE Intl. Conference on Acoustics Speech and
Signal Processing (March 2005)
[7] Cimini, L.J., Sollenberger, N.R.: Peak-to-average power ratio reduction of an OFDM
signal using partial transmit sequences. IEEE Comm. Letters 4, 86–88 (1991)
[8] Eevelt, P., Wade, M., Tomlinson, M.: Peak to average power reduction for OFDM
schemes by selective scrambling. IEEE Electronics Letters 32, 1963–1964 (1996)
[9] Lim, D.W., No, J.S., Lim, C.W., Chung, H.: A new SLM OFDM scheme with low
complexity for PAPR reduction. IEEE Signal Processing Letters 12, 93–96 (2005)
[10] Muller, S., Huber, J.: OFDM with reduced peak-to-average power ratio by optimum
combination of partial transmit sequences. IEE Electronics Letters 33, 368–369 (1997)
[11] Krongold, B.S., Jones, D.L.: PAR reduction in OFDM via active constellation extension.
IEEE Trans. Broadcast 49(3), 258–268 (2002)
[12] Zhou, G.T., Baxley, R.J., Chen, N.: Selected mapping with monomial phase rotations for
peak-to-average power ratio reduction in OFDM. In: Proc. Intl. Conf.on Communications
Circuits and Systems ( June 2004)
[13] Wang, C.L., Ouyang, Y., Hsu, M.Y.: Low-complexity peak-toaverage power ratio
reduction techniques for OFDM systems. Submitted to IEEE Transactions on Circuits and
Systems - Part I (2004)
[14] Tellado, J.: Multicarrier Modulation with Low PAR Applications to DSL and Wireless.
Kluwer Academic Publishers, Dordrecht (2000)
[15] Sathananthan, K., Tellambura, C.: Partial transmit sequence arid selected mapping
schemes to reduce ICI in OFDM systems. IEEE Communications Letters 6, 313–315
(2002)
[16] Zou, W.Y., Wu, Y.: COFDM: An overview. IEEE Trans. Broadcasting 41, 18 (1995)
[17] Mesdagh, D., Spruyt, P.: A method to reduce the probability of clipping in DMT-based
transceivers. IEEE Trans. Communications 44, 1234–1238 (1996)
[18] Cripps, S.C.: RF Power Amplifiers for Wireless Communications. Artech House,
Norwood (1999)
[19] Jayalath, A.D.S., Tellambura, C.: Side information in PAR reduced PTS-OFDM signals.
In: Personal, Indoor and Mobile Radio Communications conference, September 2003,
vol. 1, pp. 226–230 (2003)
Application of Integrated Decision Support Model in
Tendering

Fadhilah Ahmad1 and M. Yazid M. Saman2


1
Faculty of Informatics, University Sultan Zainal Abidin Malaysia (UniSZA),
Gong Badak Campus, 21300 Kuala Terengganu, Malaysia
[email protected]
2
Faculty of Science and Technology
Universiti Malaysia Terengganu(UMT), 21030 Mengabang Telipot, Kuala Terengganu,
Malaysia
[email protected]

Abstract. Tendering is an important issue that requires Decision Support


System (DSS) attention as a decision to award tenders to certain competing
applications could influence successful completion of a project. This paper
presents a framework of DSS for a tendering process based on a combination of
single criteria statistical model, weighted model and an extended AHP model
known as Guided AHP (GAHP). This hybrid model allows single criteria tender
prices which are considered abnormal to be excluded from further detail multi-
criteria GAHP evaluation. GAHP is proposed to minimize the possibility of
inconsistent data entry and to improve evaluation accuracy and flexibility. The
use of model integration takes the advantage of their strengths and complements
each other’s weaknesses. Finally, a real organizational government tendering
application is applied to demonstrate the potential of the proposed framework.

Keywords: Decision support system, Multi Criteria Decision Making, AHP,


Statistical model.

1 Introduction

Tendering problem is one of the areas that requires DSS attention as a decision to
award tender to certain competing applications could influence successful completion
of a project [1,2,3,4,5,6,7,8,9]. There are a number of research done on tender
evaluation. [10] proposed the use of AHP in the selection of the best discount in
dealing with the tenders for public work contract. [11] developed a DSS for awarding
the tender to the lowest bidder using Delphi and AHP. Statistical model has been
used in the tender evaluation for work contracts in Malaysian Government
procurement. The use of the statistical model in this case is to evaluate tender prices.
[12] has done a study on contractors’ perceptions of the statistical model. The result
of the study shows that the use of this model in tender evaluation process is agreed by
many contractors. However, the contractors have suggested the need to consider the

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 406–413, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Application of Integrated Decision Support Model in Tendering 407

current market price criterion and other tender related criteria in the evaluation
process. The assertion imposed by the contractors in the study done by Faridah has
some similarities with the previous study [13]. Both of these studies emphasized the
need for multi criteria factors (other non-price factors) to be taken into consideration
with the tender price factor that is currently evaluated via statistical model.
In this study, the integration of statistical, weighted and extended AHP known as
Guided AHP framework is developed for effective tender application evaluation and
selection. The proposed research aims to investigate, design and implement integrated
model for tendering process implementable in web based environment.
The main strength of the proposed approach is in the integration of model bases,
where they formally address both single criterion and multi-criteria evaluation. In the
single criterion, statistical model is adopted. To facilitate the multi-criteria evaluation
AHP model [14] is used because it is suitable to be adopted when there is a finite set
of attributes to be considered in the evaluation process [17,18,19,21,22,23]. Firstly,
the AHP model is experimented to foresee for its possible deficiency or impediment
before it is implemented in the selected case study.
During the testing, it is found that the users have difficulties to enter consistent
data into the decision matrix. In order to reduce this problem, AHP is extended to
become Guided AHP (GAHP).
The organization of this paper is as follows: Section 2 presents the framework for
modeling the tendering and selection process. Section 3 we analyze single criteria
statistical model. In Section 4 we describe criteria ranking operations. In Section 5 we
proposed GAHP multi-criteria model operations. Finally, the concluding remarks is
given in Section 6.

2 Framework for Integrated Model

The process flow for DSS tendering process is shown in Fig. 1, which is a four-
phased process beginning with pre-requisite analysis at Stage I to the forth stage
analysis using multi criteria decision making (MCDM). Each stage of the process has
to be executed sequentially. This work focuses on Stage II onwards as it requires the
judgments or intuitions from the decision makers (DMs).

3 Statistical Analysis

The second stage is statistical analysis which can be executed based on the tender
price. All the prices that are considered in this stage are from the tender documents
that have passed through Stage I evaluation. The tender price is evaluated to
determine the freak prices (or Z-scores) and cut-off price (COP).
408 F. Ahmad and M.Y.M. Saman

Stage I
Prerequisite Analysis
Database

Stage II Statistical Model Base


Statistical Analysis (contains standard
deviation, coefficient of
variation routines)
Stage III
Weighted Model
Operation Storing criteria
ranking data

Stage IV
Enhanced AHP
Analysis GRAHP Model Base
(contains GRAHP routines)

Fig. 1. Process Flow for Integrated Model Base Approach

Freak prices are the values that are considered either too low or too high and they
have to be rejected from further analysis. The calculation for freak price or Z-score, Zx
for each tender price, is given as:

(1)

IF -2.33 < Zx < 2.33 then (2)


Mark the tender price as non-freak

The calculation for Standard deviation, σ is:


(3)

where Xi = tender price (that has passed through Stage I evaluation)


µ = average of all tender prices
N = number of tenders (maximum number of tenders that are considered)
The calculation for Coefficient of Variation, CV for all tender prices is shown as:
(4)

COP is the lowest price level assumed to be acceptable for further evaluation. Any
tender prices lower than these values are assumed to be extremely low and if chosen
they cannot guarantee successful completion of a project. However, some prices
lower than these values can still be considered, provided that the applicants have
some supporting factors that contribute to the project success.
Application of Integrated Decision Support Model in Tendering 409

The calculation of COP is done based on the following process:


IF the number of non-freak price tenders > 10 then
IF 0.01 <= CV <= 0.21 then
COP = µ – 1.18 * σ (5)
ELSE
IF CV > 0.21 then
COP (Low Limit) = [( 1 – 0.21 * 1.18 ) * µ +
0.87 * BWAJ ]/ 2 (6)
ELSE
IF CV < 0.01 then
COP (High Limit) = (1 – 0.10 * 1.18) * µ (7)
ELSE
“Choose the lowest tender price”
where, BWAJ = Builder’s work for department estimation.
The statistical analysis process can be performed automatically by the system,
based on the tender price factor.
There was a new COP formula based on the statistical model in the tender
evaluation and confirmation proposed by Malaysia Public Work Department to avoid
very low tender prices from being entered into the system as a result of competitive
market. Submitting very low tender prices may lead to degradation of the quality of
projects to be constructed. Considering only the lowest price is not enough as it could
compromise the quality and duration of a construction project [3,20]. In order to avoid
this problem, COP = “µ - 1.18σ” (5) can be replaced with:
i. µ - X% µ OR (8)
ii. µ -σ (9)
Where, X is 15% for either building, or mechanical and electrical work, and 17% for
Civil Engineering work (Malaysian government circulation letter 2005 on tender
evaluation).
The adoption of either one of the above formulae in the COP calculation is
depending on which result produces higher value between equations (8) and (9).

4 Weighted Model Operations


Criteria weight could influence the final ranking order or contractors [3]. Weighted
model is constructed to enable a DM to assign numerical values to the criteria via the
model interface. This model does not access the model base because there is no
mathematical formula that is used during the analysis process. The criteria ranking
analysis is performed by the DM to judge the relative importance of each criteria with
respect to all the criteria used in the evaluation process.
The scale of values that is used while judging the criteria is based on the number of
criteria that are specified for a tendering problem. For example, if there are eight
criteria, the scale will be 1 to 8. Value ‘1’ represents the highest priority, while value
410 F. Ahmad and M.Y.M. Saman

‘8’ is the lowest priority (however, the values of the other way round can be used to
represent the highest and lowest priority). Small integer values are used instead of
percentage (%) for ease of comparison process. It is believed that a person does not
have much difficulty to grant a smaller value to a judgment compared to the greater
range values such as 1% to 100%.
There is an issue on how to identify the ranking of these criteria in terms of their
relative importance. [13] have studied this issue by conducting a survey on 50
respondents who have experience on evaluating and analyzing tender application
documents. The populations under study are in Kuala Lumpur, Kedah, and Penang
states in Malaysia. The result of the study reveals that financial factor is the most
important followed by current project performance, technical capability, previous
project performance, and working experience in descending order of importance. In
this case, seeking expert opinion is perceived necessary to take into account DMs’
lack of experience and technical expertise [3].
The next step is to proceed to the MCDM analysis for detail evaluation of criteria
and alternatives. It is described in the following section.

5 GAHP Model
AHP provides means of making decisions or choices among alternatives, particularly
to satisfy a certain goal [15,16]. The complexity in preference elicitation comes from
the fact that a human mind has difficulties to compare together more than two things.
Therefore, pair wise comparisons are used to determine the relative importance of the
criteria. However, it is also difficult to be totally consistent when many pairs of
alternatives are compared (observed during the validation process of the original AHP
operations performed by the tender evaluation expert). GAHP is proposed to address
this issue. The operation of GAHP consists of the following four steps:

Step I: Sorting of Criteria and Alternatives Process


Both horizontal and vertical criteria in a AHP decision matrix are arranged in
descending order of importance. That is, from the highest importance to the least. The
values of the relative importance of criteria fed to GAHP come from the result of the
Ranking model analysis. Once the sorting process is executed the entry fields in the
decision matrix table are positioned on the upper diagonal of the matrix. Then, the
guidelines can be provided to the DMs in order to improve the consistency of data
input entry to the decision matrix. All these operations are repeated to each decision
matrix to enable detail evaluation of criteria and alternatives. The attributes for each
alternative come from the database of the system.

Step II: Providing the Guideline for Data Entry Process


A set of steps is proposed as a guideline to facilitate the selection of appropriate AHP
scales during the evaluation process. The purpose of this guideline is to improve the
consistency of AHP decision matrix from the very beginning as early as from
choosing the appropriate AHP input scale.
Application of Integrated Decision Support Model in Tendering 411

The guideline at the top of decision matrix (Fig. 2) requires the DMs to perform the
evaluation process beginning with the first row of the decision matrix table. In the
first row, data must be entered according to ascending order from one column to
another (from left to right column) as the DMs evaluate the elements in a pair wise
fashion. After each column in the first row has been evaluated, they can proceed to
the next row. The same process is repeated in the second row as has been done in the
first row. This process can be iterated until the last row of the decision matrix table.
The decision matrix, A for pair wise comparison in AHP method is as follows:
A1 A2 A3 An
A1 1 a12 a13 a1n
A= A2 1/a21 1 a23 a2n
A3 1/a31 1/a32 1 a3n (10)

Am 1/am1 1/am2 1/am3 1

The interpretation of 1-9 scales for The guidelines to assist a DM to enter


pair wise comparison consistent data input into the decision matrix.

The criteria that are arranged in the


decision matrix are on ascending The values in these two columns are
order of importance. They are based automatically computed after ‘Kira’
on the Ranking model values. button is pressed.

Fig. 2. An evaluation Form using GAHP Approach


412 F. Ahmad and M.Y.M. Saman

The decision matrix, A is an (m x n) matrix in which element aij is a pair wise


comparison between alternative, i (row) and alternative, j (column) when it is
evaluated in terms of each decision criterion. The diagonal is always 1 since aij = 1
(since the criteria or alternatives are being compared to themselves) and the lower
triangular matrix is filled using Equation 11.
1
(11)

Step III: Calculating the Items of AHP Process


GAHP adopts AHP model. Therefore, the operations that are related to AHP which
include the calculation of criteria weight, consistency index, and consistency ratio are
used. Once the DMs are satisfied with the values in the decision matrix table, the
system can be initiated to calculate and display these values. Based on the value of
consistency ratio, the consistency of the table can be determined. If inconsistent data
is accidentally entered, the DM can revise the evaluation process of pair wise
elements using the clue and guideline provided.

Step IV: Sorting the Alternatives Process


Once the overall weights of all the selected alternatives have been obtained from the
calculations in Step III, they are sorted based on the descending order (from the
highest to the smallest values). Hence, the most preferred alternative is positioned at
the top of the list and the other extreme is at the bottom.
Note that Step I, III, and IV are the engine of GAHP, while Step II is its model
base interface.

6 Conclusion
This article has presented the integration of single criteria and MCDM models for
tendering problem. The proposed approach has been implemented in web based
environment to assist DMs for effective evaluation and selection process. Different
techniques in the model integration take advantages of the reasoning power of these
techniques, reduce decision-making time and produce a more accurate result.
Additionally, the approach enables the evaluation process to be performed in a
reasonable manner by taking into consideration fairly high tender prices together
with decent other criteria such as experience, technical staff, capital, and project
performance. Future work should include similar integrated model, evaluating the
consistency, correctness, accuracy, user-friendliness and automatic value generation
in the extended AHP decision matrix table for usability of the system.

References
1. Grilo, R.J.-G.: Challenging electronic procurement in the AEC sector: A BIM-based
integrated perspective. Automation in Construction (2010)
2. Estache, A., Limi, A.: (Un)bundling infrastructure procurement: Evidence from water
supply and sewage projects, Utilities Policy (2011)
Application of Integrated Decision Support Model in Tendering 413

3. Jaskowski, P., Slawomir, B., Robert, B.: Assessing contractor selection criteria weights
with fuzzy AHP method application in group decision environment. Automation in
Construction (2010)
4. Kapliński, O., Janusz, L.: Three phases of multifactor modelling of construction processes.
Journal of Civil Engineering and Management 12(2), 127–134 (2006)
5. Fong, P.S.W., Choi, S.K.Y.: Final contractor selection using the analytical hierarchy
process. Construction Management and Economics 18(5), 547–557 (2000)
6. Turkis, Z.: Multi-attribute contractors ranking method by applying ordering of feasible
alternatives of solutions in terms of preferability technique. Technological and Economic
Development of Economy 14(2), 224–239 (2008)
7. Alsugair, A.: Framework for evaluating bids of construction contractors. J. Manag.
Eng. 15(2), 72–78 (1999)
8. Holt, G.D., Olomolaiye, P.O., Harris, F.: Factors influencing UK construction clients
choice of contractor. Build. Environ. 29(2), 241–248 (1994)
9. Lopes, M., Flavell, R.: Project appraisal – a framework to assess nonfinancial aspects of
projects during the project life cycle. Project Management 16(4), 223–233 (1998)
10. Bertolini, M., Braglia, M., Carmignani, G.: Application of the AHP methodology in
Making a Proposal for a Public Work Contract. International Journal of Project
Management 24, 422–430 (2006)
11. Moustafa, I.M.M.: A decision Support System for the Selection of the Optimum
Contractor. PhD Thesis (2001)
12. Faridah, M.H.: Contractor’s Perception of the Use of Statistical Approach in the Tender
Evaluation at the Public Works Department, Malaysia. American Journal of Applied
Sciences 4(12), 1084–1089 (2007)
13. Mastura, J., Abdul Rashid, A., Ahmad, I.: Non Price Factors (NPF) And Contractors
Selection: An Application In The Public Sector In Malaysia. In: Proceeding of The 5th
IEEE International Conference on Cognitive Informatics, Beijing, China (2006)
14. Saaty, T.L.: Fundamentals of Decision Making and Priority Theory with the AHP. RWS
Publications, Pittsburgh (1994)
15. Demirtas, E.A., Ustun, O.: An integrated multi-objective decision making process for
supplier selection and order allocation. Omega 36, 76–90 (2008)
16. Huang, S.H., Keskar, H.: Comprehensive and configurable metrics for supplier selection.
Production Economics 105, 510–523 (2007)
17. Lin, C.-C., Wang, W.-C., Yu, W.-D.: Improving AHP for construction with an adaptive
AHP approach (A3). Automation in Construction 17, 180–187 (2008)
18. Abudayyeh, O., Zidan, S.J., Yehia, S., Randolph, D.: Hybrid prequalification-based,
innovative contracting model using AHP. Journal of Management in Engineering 23(2),
88–96 (2007); ASCE
19. Goldenberg, M., Shapira, A.: Systematic evaluation of construction equipment
alternatives: case study. Journal of Construction Engineering and Management 133(1),
72–85 (2007); ASCE
20. Banaitienê, N., Banaitis, A.: Analysis of criteria for contractors’ qualification evaluation.
Technological and Economic Development of Economy 12(4), 276–282 (2006)
21. Cebeci, U.: Fuzzy AHP-based decision support system for selecting ERP systems in textile
industry by using balanced scorecard. Expert Systems with Applications 36, 8900–8909 (2009)
22. Wang, J., et al.: Integration of fuzzy AHP and FPP with TOPSIS methodology for
aeroengine health assessment. Expert Systems with Applications (2010)
23. Amiri, M.P.: Project selection for oil-fields development by using the AHP and fuzzy
TOPSIS methods. Expert Systems with Applications 37, 6218–6224 (2010)
Query and Update Support for Indexed and Compressed
XML (QUICX)

Radha Senthilkumar and A. Kannan

Department of Information Technology, Anna University, Chennai, India


{radhasenthil,kannan}@annauniv.edu

Abstract. The extensible Markup Language (XML) has evolved into a


widespread standard for representation of voluminous data and data exchange
among heterogeneous sources. The two major constraints in XML applications
are its size and querying efficiently. In this paper, we have proposed an efficient
storage structure called QUICX that supports both query and update efficiently.
The storage space for the XML document is reduced substantially by
completely eliminating redundant tags and data’s. The size of data is further
reduced by applying efficient compression techniques on the data’s. Indexing is
performed to the compressed data to increase the efficiency of querying;
QUICX has significant improvements on compression ratio among its Peer
systems. In effect QUICX provides a full fledged system to store and
manipulate XML document efficiently. Performance has been evaluated using
the Benchmark datasets using the existing techniques as well as with this
proposed technique. From these evaluations, it is seen that the proposed
compact storage structure and algorithm have significant improvements than the
existing tested systems.

Keywords: XML, Compact Storage, Indexing, Compression and Querying.

1 Introduction
XML has become popular as an exchange format for large data collections, including
scientific database like UniPort[18] as well as bibliographic database such as DBLP
[19] etc. XML’s main drawback is its huge, having redundant Tags and Data’s. The
redundancy of the tags further increases with increase in the size of the document.
Thus requires an effective compact storage structure thereby eliminating the
redundant tags and data and compression for transmitting the XML database
efficiently. Unlike Relational data, XML data are highly irregular and self describing.
Several storage schemes have been proposed in the literature for efficient storage
of XML. They include RFX [11], CXQU [12], XGRIND [10], XMILL [5], XQzip
[6], XPRESS [7], XQueC [1] etc. There are mainly two ways of representing XML
namely pointer-based representation and succinct storage [2]. In pointer based, the
XML tag relations are represented using pointers. This increases the size of the XML
storage. But it also increases the efficiency in querying XML. In succinct storage
scheme, the relation between XML tags and attributes are represented using bits. This

A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 414–428, 2011.
© Springer-Verlag Berlin Heidelberg 2011
Query and Update Support for Indexed and Compressed XML (QUICX) 415

reduces the size and achieves high compression ratio. But the query efficiency is
relatively poor when compared to pointer-based representation.
Among the storage schemes proposed earlier, few are non queriable namely
XMILL [5], XMLPPM [15] and SCA [8]. Among the queriable compressors, there
are homomorphic and non-homomorphic. In Homomorphic original structure of the
XML document is maintained XGRIND [10], XPRESS [7]. In non-homomorphic,
original structure of the XML document is not maintained RFX [11], XQueC [1],
XQzip [6]. In this paper, the succinct storage scheme is used to reduce the size and
store the XML efficiently. It is also based on non-homomorphic representation of
XML. It also provides compression with indexing for efficient query processing and
also supports efficient update processing.
The proposed compact storage structure called QUICX, provides a good
compression ratio and a good compression time by completely eliminating all
redundant data and tags in an XML document. QUICX also provides indexing to the
data for querying efficiently; it also supports all common XPath Queries. It also
supports structure level and data level updates.

2 Related Works
XMill [5], the first compressed and non-queriable XML scheme was invented to
provide a means for compact storage. Although XMill achieves a good compression
ratio, it does not support either querying or updating. Various approaches were
proposed after XMill and they have similar benefits and drawbacks e.g. XMLPPM
[15].
Diverse queriable compact storage structures for XML have been proposed, such
as RFX[11], CXQU[12], XGRIND[10], XQzip[6], XPRESS[7], XQuec[1] etc. RFX
[11] provides an insight into RFX structure recalibration using Strategy list concept.
RFX also provided mechanisms for faster query processing through Query
optimization. But the time for compression is higher and so its compressed size.
QUICX defines a new structure thereby giving significant improvements over the
existing problems.
XGRIND [10] provided us the concept of Content Based Compression an
algorithm that decides upon the compression technique to be used based upon the
nature of the content. Additionally instead of decompressing the entire container, the
query is compressed and residue is compared with the compressed data to fetch the
result enabling it to retain its compressed structure as the main source file.
Performance evaluation over a variety of XML documents and user queries indicates
that XGrind simultaneously delivers improved query processing times and reasonable
compression ratios. But it is Homomorphic – parsed twice (increases compression
time).
XPRESS [7] is an XML compressor which supports direct and efficient
evaluations of queries on compressed XML data. XPRESS adopts a novel encoding
method, called reverse arithmetic encoding, which is intended for encoding label
paths of XML data, and applies diverse encoding methods depending on the types of
data values. Experimental results with real-life data sets show that XPRESS achieves
significant improvements on query performance for compressed XML data and
416 R. Senthilkumar and A. Kannan

reasonable compression ratios. XQzip [6] is an XML compressor which supports


querying compressed XML data by imposing an indexing structure, which is called
Structure Index Tree (SIT), on XML data. XQzip addresses both the compression and
query performance problems of existing XML compressors. On average, XQzip is
able to achieve a compression ratio 16.7% better and a querying time 12.84 times less
than another known queriable XML compressor. In addition, XQzip supports
querying.
In XQueC [1],[9] Path index is implemented using the pre order and post order of
the XML tree allowing for faster element queries and thus providing for faster query
processing. The XQueC system (standing for XQuery Processor and Compressor)
covers a wide set of XQuery queries in the compressed domain, and relies on a
workload-based cost model to perform the choices of the compression granules and of
their corresponding compression algorithms. As a consequence, XQueC provides
efficient query processing on compressed XML data.
CXQU [12] provides a mechanism for Path id to be used for fast retrieval of
elements and in essential speeding Query Processing. This work proposes a new
approach (CXQU) which not only supports efficient queries and updates but also
compresses the structure of an XML document based on the exploitation of repetitive
consecutive tags in the structure of the XML documents by using a labeling scheme
derived from the ORDPATH labeling scheme. CXQU stores the compressed XML
structure and the data separately in a robust compact storage that includes a set of
access support structures to guarantee fast query performance and efficient updates,
especially insertion.
In “Rank and Select for Succinct Data Structures” [2], the solution for computing
operations is on sequences of bits but however new application requires rank and
select to be computed on sequence of bytes instead of bits. QUICX meets the
requirement of the new application.
Theoretically, ISX [4] uses an amount of space near the information theoretic
minimum on random trees. But to the best of our knowledge ISX stores only the valid
XML document [13], which means that it is a schema aware storage system. In
QUICX the system is independent of the schema, the schema are included only if the
XML data holds constraints and intra and inter document relationships.
In [16] equality preserving compressors, the algorithm guarantees only equality
selections and joins in the compressed domain. To the best of our knowledge the
QUICX structure support all types of query.
In this work, we used the Compression algorithm provided by Lempel–Ziv–Welch
(LZW) a universal lossless data compression algorithm which encodes sequences of
8-bit data as fixed-length 12-bit codes for efficient XML storage. In addition the
codes from 0 to 255 represent 1-character sequences consisting of the corresponding
8-bit character, and the codes 256 through 356 for numbers 00 to 99 and 356 to 4095
are created in a dictionary for sequences encountered in the data as it is encoded. At
each stage in compression, input bytes are gathered into a sequence until the next
character would make a sequence for which there is no code yet in the dictionary. The
code for the sequence (without that character) is emitted, and a new code (for the
sequence with that character) is added to the dictionary. QUICX makes use of the
succinct storage scheme and proposes a new storage structure which gives to better
compression ratio then the existing work. QUICX also makes use of a modified form
Query and Update Support for Indexed and Compressed XML (QUICX) 417

of LZW [14] for compression. In addition, a Hybrid technique for indexing the
compressed data has been evolved.

3 QUICX Storage Structure


XML is parsed and the output is stored in our proposed storage structure called
QUICX. During the process of storing the XML database, the system is entirely
dependent on the concerned parser and thus the parser acts as a Roadblock for the
system limiting its efficiency by the parsers limitations. Hence tested each parser as it
went through a 92KB XML file and it is found that the performance in Microsoft
XML parser is far superior then the other parsers, as shown in the Table 1. We have
chosen a Microsoft parser, an implementation of SAX parser, which takes much less
time than other parsers. Thus QUICX system will be efficient in terms of both storage
and Compression with indexing, for efficient querying.

Table 1. Average parse time of various parsers

Considerable reduction of size is guaranteed by the removal of redundant tags,


accomplished by encoding tags. QUICX minimizes the original XML file size
considerably by usage of containers, i.e. storing records of the same tag in Single
Container(s). LZW compression technique combined with a hybrid indexing
technique is used in QUICX in order to further reduce the size of the database and to
query it efficiently. The original structure of the XML database and its hierarchical
relationship is retained by means of encoding techniques.

3.1 System Architecture

QUICX architecture consists of five modules as shown in Fig.1, each having unique
functionality and importance in the system. The modules involved are Meta Table
Creator, Meta Data Creator, Container Creator, Compressor and Indexer and Update
Engine.
418 R. Senthilkumar and A. Kannan

Fig. 1. QUICX Architecture

After parsing the XML file the Meta Table is created with the fields (Tag ID, Tag
name, Level ID, Parent ID and File ID) and Meta Data File having the ordering of
elements, thus preserving the structure of XML file. Containers for each tag are
created and the corresponding data in them are stored in it. Then, compress those
Containers thereby providing support for querying directly without decompression.
TAID represents the ID of the tag or attribute. This ID value will be used to encode
in the place of Tag name and it is also used in Node Traversal. TANAME represents
the name of the tags and attributes present in the XML file. Attribute names are
distinguished by using a @ as prefix. TLEVEL represents the depth of the tags in the
XML tree. This TLEVEL is used to retain the Hierarchy and to enable node traversal.
PID contains the id of the parent of the tags/attributes. This field is useful to denote
the parent of the current Tag. It contains the TAID of the parent node. FID contains
the file id so that it supports Inter and Intra XML. FID field will be used to denote to
which file the given Tag belongs to.
The size of storing the text and data in the Meta table and Meta data is fixed, i.e.
the TAID, TLEVEL, PID & FID to a fixed size, thus thereby the compression ratio is
further increased. The fixed size for the fields are TAID – 8 bits(256 values),
TLEVEL – 4bits(16 values), PID – 8 bits(256 values), FID – 4 bits(16 values).

Table 2. A snip of Meta table


Query and Update Support for Indexed and Compressed XML (QUICX) 419

Actual size for the storing the data given in the table 2 will be about
3+5+2+3+1 = 14 bytes
After structure modification the size will be reduced by
1+5+0.5+1+0.5=8 byte

Fig. 2. A Publication Catalog XML Snippet

The compression ratio increases by 43% for each record.


In this paper, we use the XML publication catalog snippet shown in Fig. 2 as
running example for illustrating the feature in our compression technologies.

Algorithm for Meta table and Meta Data creator


1. Parse the XML file
2. Id=1
3. While (!EOF)
{
a. If it is new tag
i. Add a record to the Meta Table with Id, tag name, level of tag, its parent
id, file id
ii. Create a file with tag id as filename, if it doesn’t exists
iii. Add tag id to Meta Data
iv. Id ++
b. If it is a new attribute
i. Add a record to the Meta Table with Id, attribute name as
“@attribute_name”, level is null, its parent id, file id
ii. Create a file with attribute id as filename , if it doesn’t exists
iii. Add attribute id to Meta Data
iv. Id ++
}

Fig.3 depicts a conceptual view of the QUICX compressed document of the XML
publication snippet shown in Fig. 2.
420 R. Senthilkumar and A. Kannan

Fig. 3. A Conceptual view of the QUICX compressed publication snippet

Container Creator
Containers are the structures which contain the tag data and the attribute data of the
XML file. For each tag/attribute, a container is made and the values of those
tags/attributes are placed in it correspondingly. The containers are compressed using
LZW compression technique, slightly altered to suit in this work.

Algorithm
1. Read the XML file
2. Start parsing the file
3. Set counter of every tag to 0
4. If it is a tag/attribute
a. If tag/attribute has data
i. If counter value>1
1. Append the counter value and a “<” symbol to the file with tag/attribute
id as name
b. Else if counter =1
i. Append the “>” symbol to the file
c. Append the tag/attribute data to the file with tag/attribute id as file name
d. Append a “>” symbol to the same file
e. Reset counter of this tag to zero
5. Else
a. Increment count for this tag
b. Go to step 4 until end-of-file

3.2 Compression and Indexing

3.2.1 LZW Compression


LZW Compression technique is one of the most standard and widely used
compression techniques. The strength of the technique lies in the fact that, when
applied on a document containing content of similar type format, they provide a
greater compression performance. This comes most handy as most XML documents
contain content that are mostly of the same type. QUICX takes upon this advantage
and implements a slightly modified version of the standard LZW compression
technique.
Query and Update Support for Indexed and Compressed XML (QUICX) 421

The technique also involves Indexing the Dictionary created by the LZW
compression. Its procedure involves choosing a prime number as the size of the
dictionary and it has to be larger than 2^n, where n equals the number of bits for the
codeword. The hash function used is (C<<S) ^P,
Where:
‘C’ is the character to be appended,
‘S’ is the shift factor
‘P’ is the codeword of the prefix
The hash function is used to index the dictionary for quicker retrieval of the
codeword (if it exists) or the position to insert a new codeword (if it does not exist).
As the dictionary size is a prime number, the search for the codeword will go through
all elements of the dictionary once. If the element exists the codeword will be found,
otherwise the free slot will be found. Using the hash function to find a free slot
ensures that the search for that codeword can also be done in an efficient way.
The biggest file (container) among all other container is found, with the Idea that
the dictionary is created, beginning with the biggest file and subsequently for all other
files. Hence the dictionary created contains all possible roots (codeword). A string ‘P’
is initialized to 0. Another string ‘C’ is used to store the next char in the stream. Then
it is checked whether the string ‘P+C’ is present in the dictionary; if it is present ‘P’ is
replaced with the string ‘P+C’. Else the code for ‘P’ is output and ‘P+C’ is added to
the dictionary. ‘P’ is replaced with the string ‘C’. The same process is repeated until
the end of the file is reached.

3.2.2 Indexing
Indexing technique used in QUICX is implemented by means of a custom
mechanism. Initially when the Containers are created, each container is split into files
with specific number of records (Current implementation uses 50 as limit). This
serves two purposes, it provides better support for faster updation as rewriting a small
file is much faster than rewriting a big file; and it also provides Indexing options. The
track of records and their respective sub containers are kept in an ‘UTable’, specific to
each container. Thus further Indexing options like Hashing of these sub container files
can be explored to provide much more performance in regards with Indexing. The
above Indexing technique provides for greater retrieval speed in case of querying of
data. This can be explained with the example given below.

Example Scenario:
Consider a query which involves fetching record from a compressed container. The
entire file needs to be parsed until a match is found. If the file is not indexed, it is
reported as a major drawback. QUICX system allows calculating the position of the
record. This information is rendered useless when file has to be still parsed for the
entire length. The QUICX provides indexing by splitting the compressed containers
into sub containers. Thus by knowing the position of the record, it is possible to
retrieve it where the record retrieval involves maximum parsing of limited records
and not the entire original container. Thus if splitting factor is 50, to retrieve a record
at position 65, it is sufficient 15 records are parsed in the 2nd sub container. Thus
querying of data will be much faster. Thus QUICX system employs a mixture of
422 R. Senthilkumar and A. Kannan

various components and technique(s) to provide Indexing support to the XML


document.

4 Update Support
The QUICX facilitates efficient update operation such as node insertion and node
deletion. The update is carried on the container holding the compressed data. Update
manager given in the Fig.4, processes the update query and modifies the QUICX
structure accordingly. When a new record is inserted into the existing XML file, the
manger checks for existence of tag in the Meta table, if present, then only Meta data
and containers are updated, else the Meta table is also modified.

4.1 Architecture for Update Engine

The Update engine of the QUICX system consists of an update manager and the
modules involved are depicted in Fig. 4. The update engine based on the nature of
updation done is classified into an Idle Time updater and the Regular Update Engine.
The Regular update engine’s primary goal is to make the update immediately
effective. Thus the updated data are placed in temporary files in query processing
sequence.
The actual updation to the container(s) is done not by the Regular Update Engine
but by the Ideal Time Updater. It is expected to be run at a time when the system is
idle. This Updater actually updates the container(s), making the updates permanent.

Fig. 4. Architecture of QUICX – Update Engine

While records are inserted into the existing XML structure, the update engine
checks for the existence of the Tag in the Meta table, if present, then update occurs
only at Meta Data and containers. If the tag does not exist in the Meta table, then the
Meta table should also be modified.
Query and Update Support for Indexed and Compressed XML (QUICX) 423

The updates done to the existing structure are temporarily stored in the update and
reference file supporting querying. This updates will be incorporated in to the main
container and the Meta data during idle time. The Update Manager upon obtaining the
query, differentiates the query, based on whether the query involves Structure
updation or Data Insertion. If the query involves Structure update, find the Id of the
last entry in the Meta Table. The Id is incremented by 1 and if it is a Tag, add a record
to the Meta Table with TAID value as that of the integer Id, tag name, level of the tag,
its parent’s ID and file id. If it is an Attribute, add a record to the Meta Table with
TAID value as that of the integer Id, attribute name as “@attribute_name”, level of
the attribute is left empty, its parent’s.
ID and file id. If the query involves Data Insertion, the path where the data is to be
inserted is identified. The said path is traversed and if an Update file and Reference
file does not exist, they are created. The position at which the new data is to be
inserted to is appended to the reference file. Followed by “,” symbol followed by
number of data inserted into reference file. The Tag Attribute Id to be inserted is
found from the Meta Table. The Tag / Attribute id is appended to the update file
separated by “,”. An Update container is created for every container that is to be
updated if not present. The new data is appended separated by “>” symbol. The Ideal
time updater reads from the Update File and the Reference File and makes the updates
permanent by modifying the container files in ideal time.

5 Performance Analysis
In order to compare the performance of our algorithm to the existing XML
compressors, a set of experiments has been run. The following are the Open Source
Data Sets, which have been used to test and evaluate our system.
DBLP presents the famous database of bibliographic information of computer science
journals and conference proceedings.
Mondial is a demographic XML document that contains details about various
countries.
Shakespeare represents the gathering of a collection of marked-up Shakespeare plays
into a single XML file. It contains many long textual passages.
Treebank is a large collection of parsed English sentences from the Wall Street
Journal. It has a very deep, non-regular and recursive structure.
Swissprot is a protein sequence database which strives to provide a high level of
annotations, a minimal level of redundancy and high level of integration with other
databases.
The test machine was an Intel Pentium core 2 Duo @1.5 GHz, running Windows XP. The
RAM capacity is 1 GB. Our System is implemented in Microsoft Visual Basic. Visual
Basic 6.0 is used for building our system. We make use of native Microsoft Parser for
parsing the XML file for our system. We initially considered two parsers namely the SAX
parser and the JDOM parser. While the SAX parser parses the XML file and parses each
stream; it is done by calling as an event. It is efficient for larger files as it does not use
Pointer concept. JDOM parser parses the XML file and parses as DOM (Document Object
Model) which is based on the hierarchical structure of the file. It considers the whole
XML file as a single Tree and uses pointers to traverse faster across the Tree’s child
424 R. Senthilkumar and A. Kannan

nodes. It is efficient for smaller files as it uses Pointer concept. But while considering
larger files, the use of Pointers require huge resources (Memory and Processor), hence it is
not dependable. But Microsoft Parser, which is also an implementation of SAX parser,
takes much less time than both these parsers which prompted us to makeshift this work
into the windows platform and Visual Basic. Compression component of QUICX is
currently implemented in C language for simplicity and can be easily migrated to any
language. Java is used to update the QUICX database.

5.1 Performance Evaluation Criteria


Performance of QUICX is evaluated in terms of storage space and support for querying
and updation. We divide the storage space comparison into two parts and they are
structure conversion compared with Queriable and Non-Queriable compressors and Data
Comparison with Queriable and Non-Queriable compressors. In Table 3 the performance
measure of various benchmark datasets for QUICX are given.

5.2 Performance Comparison


We use two metric in our evaluation of the efficiency of XML compression tools: the
compression ratio and the compression time.

Table 3. Performance measures of various benchmark datasets for QUICX

Compression Ratio: We express the compression ratio as the ratio the size of the
compressed document to the original document. For example, if a 10 MB file can be
compressed to 2.5 MB, the file if 75% compressed. Higher compression ratios are
obviously, better.
Compression ratio = 1 - Compressed file size
___________________
Original size

Compression time: Compression time represents the elapsed time during


compression, expressed as the time from the start of program execution on a
document until all the data are writer to disk. We do not separate CPU and I/O times.
Query and Update Support for Indexed and Compressed XML (QUICX) 425

Fig. 5 and Fig. 6 show the compression ratio using the three datasets (Shakespeare,
Swissprot and DBLP) after the structure and data compression with the following
Data Sources HUFFWORD, XPRESS, XQZIP, XBZIPINDEX, XBZIP, RFX and
QUICX.

Fig. 5. Compression Ratio achieved by queriable compressor over the Benchmark datasets after
structure Conversion

Fig. 6. Compression Ratio achieved by queriable compressor over the Benchmark datasets after
Data Compression
426 R. Senthilkumar and A. Kannan

HUFFWORD [17] is a variant of classical HUFFMAN compressor, which is the


typical storage scheme of (Web) search engines and Information retrieval tool and the
average compression ratio of HUFFWORD is 43.06%.

Fig. 7. Average Compression Ratio

Fig. 8. QUICX after Structure and Data level compression

XPRESS[7] uses type inference engine to apply appropriate compression methods


for data values, and its average CR is 45.67% . Thus the average compression ratio
for XQZIP is of 36. The average CR of QUICX is of 44.41% at structure level, since
QUICX eliminates all duplicate tags at structure level compression and uses LZW for
Query and Update Support for Indexed and Compressed XML (QUICX) 427

data level compression. LZW when applied on a document containing content of


similar type/format provides a greater compression performance. Thus, the
compression ratio of QUICX (SL) for Swissprot is 54.86 is better than that of other
datasets as Swissprot has more redundant tags.
Fig. 7 shows that the difference on the average compression ratios between the
queriable compressors are close to each other and the difference between the best and
the worst average compression ratios is less than 50%. Among all compressors,
QUICX achieves the best average compression ratio.
Fig.8 shows the compression ratio by QUICX after the structure and data
compression on various bench mark datasets.

6 Conclusion
In this work, we have proposed a new compact storage structure called QUICX for
XML. It also provides sufficient support in the form of indexing for faster query
processing which reduces the resource required such as space (memory) and
processor requirements, increasing the processing speed.
Our experimental results show that the proposed structure can handle query
processing and updates efficiently. It is also shown that the proposed structure out
performs other storage system and is significantly good for larger datasets. The
proposed structure also allows direct update and querying without decompressing the
entire document. In future, we have planned to extend QUICX with more features to
accommodate multimedia data and query processing technique to process such
storage techniques.

References
1. Arion, A., Bonifati, A., Manolescu, I., Pugliese, A.: XQueC: A Query-Conscious
Compressed XML Database. ACM Transactions on Internet Technology 7(2), 1–32,
Article 10(2007)
2. Farina, A., Ladra, S., Pedreira, O., Places, A.S.: Rank and Select for Succinct Data
Structures. Electronic Notes in Theoretical Computer Science 236, 131–145 (2009)
3. Lee, C.-S., Haw, S.-C.: Extending path summary and region encoding for efficient
structural query processing in native XML databases. The Journal of Systems and
Software 82(6), 1025–1035 (2009)
4. Lam, F., Wong, R.K., Shui, W.M.: Querying and maintaining a compact XML storage. In:
Proceedings of the 16th international conference on World Wide Web, Banff, Alberta,
Canada, pp. 1073–1082 (May 2007)
5. Liefke, H., Suciu, D.: XMILL: An Efficient Compressor for XML Data. In: Proceedings of
the 2000 ACM SIGMOD International Conference on Management of Data, Dallas, TX,
USA, pp. 153–164 (2000)
6. Cheng, J., Ng, W.: XQzip: Querying compressed XML using structural indexing. In:
Hwang, J., Christodoulakis, S., Plexousakis, D., Christophides, V., Koubarakis, M., Böhm,
K. (eds.) EDBT 2004. LNCS, vol. 2992, pp. 219–236. Springer, Heidelberg (2004)
428 R. Senthilkumar and A. Kannan

7. Min, J.K., Park, M.J., Chung, C.W.: XPRESS: A queriable compression for XML data. In:
Proceedings of the ACM SIGMOD International Conference on Management of Data,
June 2003, pp. 122–133 (2003)
8. Levene, M., Wood, P.T.: XML structure compression. In: DEXA 2008, 19th International
Conference on Database and Expert Systems Application pp. 243–247. IEEE Computer
Society, Washington, DC,USA (2008)
9. Grimsmo, N.: Faster Path Indexes for Search in XML Data. In: Conference in Research
and practice in Information Technology (CRPIT) – Database Technologies, vol. 75, pp.
127–135 (2008)
10. Tolani, P.M., Haritsa, J.R.: XGRIND: A query-friendly XML compressor. In: Proceedings
of the 18th International Conference on Data Engineering (ICDE), February 26 -March 1,
San Jose, USA, pp. 225–234 (2002)
11. Senthilkumar, R., Priyaa Varshinee, S., Manipriya, S., Gowrishankar, M., Kannan, A.:
Query Optimization of RFX Compact Storage using Strategy List. In: 16th international
conference on Advanced Computing & Communication (ADCOM), pp. 427–432
(December 2008)
12. Alkhatib, R., Scholl, M.H.: CXQU: A Compact XML Storage for Efficient Query and
Update processing. In: 3rd International Conference on Digital Information Management
(ICDIM), November 13 -16, pp. 605–612 (2008)
13. W3C Group. Guide to the W3C XML specification (XMLspec) DTD, version 2.1. (2004),
http://www.w3.org/XML/1998/06/xmlspec-report.htm
14. Welch, T.: A Technique for High-Performance Data Compression. IEEE Computer 17(6),
8–9 (1984)
15. Cheny, J.: Compressing XML with Multiplexed Hierarchical PPM Models. IEEE
Computer, 1–10 (2001)
16. Moura, E., Navarro, G., Ziviani, N., Baeza-Yates, R.: Fast and flexible word searching on
compressed text. ACM Transactions on Information Systems 18(2), 113–139 (2000)
17. http://www.ebi.uniprot.org
18. DBLP, http://dblp.uni-trier.de/
Author Index

Abdelmalek, Abdelhafid 73 Haddad, Rim 185


Abdu, Abdullahi Ibrahim 135 Hashemi, Reza 246
Ahmad, Fadhilah 406 Hassan, Md. Mahedi 45
Al-Asfoor, Muntasir 337 Hemnani, Khushboo 397
Aldabbas, Hamza 297
Aldabbas, Omer 297 Janicke, Helge 297
Al-Majeed, Salah 337 Joseph C., Rijo 170
Alwada’n, Tariq 297
Ananthapadmanabha, T. 57 Kafaie, Somayeh 358
Artin, Javad 145 Kannan, A. 414
Azer, Marianne Amir 65 Kashefi, Omid 358
Kecman, Vojislav 110
Baccouche, Leı̈la 123 Khandagre, Yogeshver 397
Bag, Samiran 83 Kianersi, Mehrdad 236
Bai, Yun 378, 388 Kushwaha, Ganesh Raj 397
Bandyopadhyay, Soma 288
Ben Ghezala, Henda 123 Li, Qi 110
Ben Haj Hmida, Moez 348 Linington, Peter 325
Bouallegue, Ridha 185 Luo, Guangcun 95
Boucherkha, Samia 256
Maiti, Souvik 288
Maleki, Amin Amini 246
Chaki, Rituparna 14, 24, 35
Mozafari, Saadat Pour 228
Chen, Aiguo 95
Mukherjee, Amartya 170
Chen, Hao 95
Chettibi, Saloua 1
Nandi, Subrata 170, 197
Chikhi, Salim 1, 217
Nandi, Sukumar 305
Dagdeviren, Orhan 315 Patra, Sushovan 197
Das, Ayan Kumar 24 Payli, Reşat Ümit 315
da Silva, Erick Lopes 325 Policarpio, Sean 378, 388
Djeghri, Mohamed Nadjib 256 Poo, Kuan Hoong 45
Drira Rekik, Jihen 123 Puttamadappa, C. 57
Dubey, Ashutosh K. 397
Dutta, Subhajit 288 Qin, Ke 95
Qu, Caihui 95
Erciyes, Kayhan 315
Rabieh, Khaled Mohamed 65
Fasli, Maria 337 Rahimunnisa, K. 279
Feham, Mohamed 73 Rajeshkumar, K. 279
Fong, Simon 207, 266 Ridjanovic, Dzenan 368
Roy, Debdutta Barman 14
Gardeshi, Mahmoud 236
Gherboudj, Amira 217 Saha, Amrita 83
Ghorbannia Delavar, Arash 145 Saha, Sujoy 170, 197
430 Author Index

Salamah, Muhammed 135, 159 Slimane, Zohra 73


Salman, Raied 110 Slimani, Yahya 348
Saman, M. Yazid M. 406 Strack, Robert 110
Sarışın, Gözde 159 Suma, A.P. 57
Sarkar, Pinaki 83 Surekha, T.P. 57
Sarma, Abhijit 305 Sureshkumar, S. 279
Sengupta, Munmun 288 Sushovan 170
Sengupta, Satadal 197
Tajari, Mohammad Mahdi 145
Senthilkumar, Radha 414
Taleb-Ahmed, Abdelmalik 73
Shah, Vijay 197
Test, Erick 110
Sharifi, Mohsen 358
Tiwari, Ruby 397
Sheidaeian, Hamed 228
Sheldekar, Anirudh 170 Yousefi, Hamed 236
Shrivastava, Nishant 397 Yousefi, Saleh 246
Singh, Konsam Gojendra 197
Sinha, Ditipriya 35 Zolfaghari, Behrouz 228

You might also like