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 Communications (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 areas of wireless, mobile networks and communications. There were 202 submissions to the conference and the Program Committee selected 40 papers for publication. All the submissions underwent a strenuous peerreview 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 contributions, technical content, originality and clarity. The entire process, which includes the submission, review and acceptance processes, was done electronically. 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 expand 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 International 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 Information 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 Ozcan Jan Zizka Dhinaharan Nagamalai
Organization
The Third International Conference on Wireless, Mobile Networks (WiMo 2011)
General Chairs Sevki Erdogan Michael R. Peterson Natarajan Meghanathan
University of Hawaii, USA University of Hawaii, USA Jackson State University, USA
General Co-chairs Raja Kumar, M. Abdulkadhir Ozcan
Universiti Sains Malaysia, Malaysia The American University, North Cyprus, Turkey
Steering Committee Selma Boumerdassi Chih-Lin Hu Dhinaharan Nagamalai Krzysztof Walkowiak Atilla Elci Aysegul Alaybeyoglu Muhammed Salamah Jan Zizka
CNAM/Cedric, France National Central University, Taiwan Wireilla Net Solutions PTY LTD, Australia Wroclaw University of Technology, Poland Eastern Mediterranean University (TRNC), North Cyprus Celal Bayar Universitesi, Turkey Eastern Mediterranean University, KKTC, Turkey Mendel University, Brno, Czech Republic
Program Committee Members Kayhan Erciyes TurkeyDerya Birant Hesham El Zouka
Juha-Matti Vanhatupa
Izmir University, Turkey Dokuz Eylul University, Turkey Arab Academy for Science and Technology and Maritime Transport(AAST), Egypt Tampere University of Technoloy, Finland
VIII
Organization
Strassner John Charles Sahin Albayrak Jeong-Hyun Park Vishal Sharma H.V. Ramakrishnan Yeong Deok Kim Andy Seddon Balasubramanian Karuppiah Bong-Han, Kim Cho Han Jin David W. Deeds Girija Chetty Henrique Joao Lopes Domingos Jacques Demerjian Jose Enrique Armendariz-Inigo Krzysztof Walkowiak Marco Roccetti Michal Wozniak Phan Cong Vinh Yannick Le Moullec John Karamitsos Khoa N. Le Lu Yan Nidaa Abdual Muhsin Abbas Kamalrulnizam Abu Bakar Doina Bein M. Rajarajan Mohammad Momani Mohamed Hassan Salman Abdul Moiz Lakshmi Rajamani Amr Youssef Wichian Sittiprapaporn
Pohang University of Science and Technology, South Korea Technische Universit¨ at Berlin, Germany Electronics Telecommunication Research Institute, South Korea Metanoia Inc, USA Dr. MGR University, India Woosong University, South Korea Asia Pacific Institute of Information Technology, Malaysia Dr. MGR University, India Chongju University, South Korea Far East University, South Korea Shingu College, South Korea University of Canberra, Australia University of Lisbon, Portugal CS, Homeland Security, France Universidad Publica de Navarra, Spain Wroclaw University of Technology, Poland Universty of Bologna, Italy Wroclaw University of Technology, Poland London South Bank University, UK Aalborg University, Denmark University of the Aegean, Samos, Greece Griffith School of Engineering, Gold Coast Campus, Australia University of Hertfordshire, UK University of Babylon, Iraq Universiti Teknologi Malaysia, Malaysia The Pennsylvania State University, USA City University, UK University of Technology Sydney, Australia American University of Sharjah, UAE Centre for Development of Advanced Computing, India Osmania University, India Concordia University, Canada Mahasarakham University, Thailand
Organization
IX
The Third International Conference on Computer Networks and Communications (CoNeCo - 2011)
General Chairs Jan Zizka Khoa N. Le Selma Boumerdassi
SoNet/DI, FBE, Mendel University in Brno, Czech Republic University of Western Sydney, Australia Conservatoire National des Arts et Metiers (CNAM), France
Steering Committee Natarajan Meghanathan Jacques Demerjian Nabendu Chaki Henrique Jo˜ao Lopes Domingos
Jackson State University, USA CS (Communication & Systems), France University of Calcutta, India University of Lisbon, Portugal
Program Committee Members Abdul Kadir Ozcan Adalet N. Abiyev Andy Seddon Balasubramanian Karuppiah Bong-Han, Kim Bulent Bilgehan Cho Han Jin Dhinaharan Nagamalai Farhat Anwar Girija Chetty Henrique Jo˜ao Lopes Domingos Hoang, Huu Hanh Hwangjun Song Jacques Demerjian Jae Kwang Lee Jan Zizka, SoNet/DI, FBE Jos´e Enrique Armend´ariz-Inigo Jungwook Song Krzysztof Walkowiak Marco Roccetti Michal Wozniak Murugan D. N. Krishnan
The American University, Cyprus The American University, Cyprus Asia Pacific Institute of Information Technology, Malaysia Dr. MGR University, India Chongju University, South Korea The American University, Cyprus Far East University, South Korea Wireilla Net Solutions PTY LTD, Australia International Islamic University, Malaysia University of Canberra, Australia University of Lisbon, Portugal Hue University, Vietnam Pohang University of Science and Technology, South Korea CS, Homeland Security, France Hannam University, South Korea Mendel University in Brno, Czech Republic Universidad P´ ublica de Navarra, Spain Konkuk University, South Korea Wroclaw University of Technology, Poland Universty of Bologna, Italy Wroclaw University of Technology, Poland Manonmaniam Sundaranar University, India Manonmaniam Sundaranar University, India
X
Organization
Natarajan Meghanathan Paul D. Manuel Phan Cong Vinh Ponpit Wongthongtham Prabu Dorairaj Rajeswari Balasubramaniam Rakhesh Singh Kshetrimayum Ramayah Thurasamy Sarmistha Neogy SunYoung Han Thandeeswaran R. Yannick Le Moullec Yeong Deok Kim Boo-Hyung Lee Cynthia Dhinakaran Ho Dac Tu John Karamitsos Johnson Kuruvila Doina Bein Dario Kresic Salah M. Saleh Al-Majeed Virgil Dobrota Ahmed M. Khedr Polgar Zsolt Alfred Cristina Serban Genge Bela Haller Piroska Alejandro Garces Razvan Deaconescu
Jackson State University, USA Kuwait University, Kuwait London South Bank University, UK Curtin University of Technology, Australia NetApp Inc., India SriVenkateshwara Engineering College, India Indian Institute of Technology, Guwahati, India Universiti Sains Malaysia, Malaysia Jadavpur University, India Konkuk University, South Korea VIT University, India Aalborg University, Denmark Woosong University, South Korea KongJu National University, South Korea Hannam University, South Korea Waseda University, Japan University of the Aegean, Samos, Greece Dalhousie University, Halifax, Canada The Pennsylvania State University, USA University of Zagreb, Croatia University of Essex, UK Technical University of Cluj-Napoca, Romania Sharjah University, UAE Technical University of Cluj Napoca, Romania Ovidius University of Constantza, Romania Joint Research Centre, European Commission, Italy Petru Maior University, Tirgu Mures, Romania Jaume I University, Spain 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saloua Chettibi and Salim Chikhi
1
Detection of Denial of Service Attack Due to Selfish Node in MANET by Mobile Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debdutta Barman Roy and Rituparna Chaki
14
A Novel Power-Balancing Routing Scheme for WSN . . . . . . . . . . . . . . . . . . Ayan Kumar Das and Rituparna Chaki
24
SRCHS – A Stable Reliable Cluster Head Selection Protocol . . . . . . . . . . . Ditipriya Sinha and Rituparna Chaki
35
Handover Latency Reduction Using Integrated Solution Scheme for Proxy Mobile IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Md. Mahedi Hassan and Kuan Hoong Poo Modeling and Simulation Analysis of QPSK System with Channel Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T.P. Surekha, T. Ananthapadmanabha, C. Puttamadappa, and A.P. Suma
45
57
Combating Sybil Attacks in Vehicular Ad Hoc Networks . . . . . . . . . . . . . . Khaled Mohamed Rabieh and Marianne Amir Azer
65
TCSAP: A New Secure and Robust Modified MANETconf Protocol . . . . Abdelhafid Abdelmalek, Zohra Slimane, Mohamed Feham, and Abdelmalik Taleb-Ahmed
73
Highly Resilient Communication Using Affine Planes for Key Predistribution and Reed Muller Codes for Connectivity in Wireless Sensor Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Samiran Bag, Amrita Saha, and Pinaki Sarkar 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 Two-Stage Clustering with k -Means Algorithm . . . . . . . . . . . . . . . . . . . . . . Raied Salman, Vojislav Kecman, Qi Li, Robert Strack, and Erick Test
83
95 110
XII
Table of Contents
An Energy and Delay-Aware Routing Protocol for Mobile Ad-Hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jihen Drira Rekik, Le¨ıla Baccouche, and Henda Ben Ghezala Energy-Aware Transmission Scheme for Wireless Sensor Networks . . . . . . Abdullahi Ibrahim Abdu and Muhammed Salamah PRWSN: A Hybrid Routing Algorithm with Special Parameters in Wireless Sensor Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arash Ghorbannia Delavar, Javad Artin, and Mohammad Mahdi Tajari
123 135
145
Cone Tessellation Model for Three-Dimensional Networks . . . . . . . . . . . . . G¨ ozde Sarı¸sın and Muhammed Salamah
159
Post Disaster Management Using Delay Tolerant Network . . . . . . . . . . . . . Sujoy Saha, Sushovan, Anirudh Sheldekar, Rijo Joseph C., Amartya Mukherjee, and Subrata Nandi
170
The Performance Comparison between Hybrid and Conventional Beamforming Receivers in a Multipath Channel . . . . . . . . . . . . . . . . . . . . . . Rim Haddad and Ridha Bouallegue A Qualitative Survey on Multicast Routing in Delay Tolerant Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sushovan Patra, Sujoy Saha, Vijay Shah, Satadal Sengupta, Konsam Gojendra Singh, and Subrata Nandi
185
197
The Third International Conference on Computer Networks and Communications (CoNeCo-2011) Integrating RFID Technology in Internet Applications . . . . . . . . . . . . . . . . Simon Fong
207
BPSO Algorithms for Knapsack Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . Amira Gherboudj and Salim Chikhi
217
Systematic Selection of CRC Generator Polynomials to Detect Double Bit Errors in Ethernet Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Behrouz Zolfaghari, Hamed Sheidaeian, and Saadat Pour Mozafari
228
Security Analysis of Ultra-lightweight Protocol for Low-Cost RFID Tags: SSL-MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mehrdad Kianersi, Mahmoud Gardeshi, and Hamed Yousefi
236
File Distribution Algorithm from Multiple Road Side Units in Vehicular Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saleh Yousefi, Amin Amini Maleki, and Reza Hashemi
246
Table of Contents
XIII
SMART-IP: A Multi-Agent System for Network Analysis and IP Addressing Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Samia Boucherkha and Mohamed Nadjib Djeghri
256
Adaptive QoS Resource Management by Using Hierarchical Distributed Classification for Future Generation Networks . . . . . . . . . . . . . . . . . . . . . . . Simon Fong
266
0.18um CMOS Technology in Implementation of S Box and a Modified S Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K. Rahimunnisa, K. Rajeshkumar, and S. Sureshkumar
279
A Survey of Middleware for Internet of Things . . . . . . . . . . . . . . . . . . . . . . . Soma Bandyopadhyay, Munmun Sengupta, Souvik Maiti, and Subhajit Dutta
288
New Framework for Dynamic Policy Management in Grid Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tariq Alwada’n, Helge Janicke, Omer Aldabbas, and Hamza Aldabbas
297
Zone Based Seamless Vertical Handoff Technique between WiFi and WiMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abhijit Sarma and Sukumar Nandi
305
The Third International Workshop on Grid Computing (GridCom-2011) A Cluster-Based Dynamic Load Balancing Protocol for Grids . . . . . . . . . . ¨ Re¸sat Umit Payli, Kayhan Erciyes, and Orhan Dagdeviren
315
A P2P Based Scheduler for Home Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erick Lopes da Silva and Peter Linington
325
A Multi-Agent System-Based Resource Advertisement Model for Grid Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Muntasir Al-Asfoor, Maria Fasli, and Salah Al-Majeed
337
Grid-Enabled Framework for Large-Scale Analysis of Gene-Gene Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moez Ben Haj Hmida and Yahya Slimani
348
A Context-Based Cyber Foraging Approach to Mobile Computing Empowerment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Somayeh Kafaie, Omid Kashefi, and Mohsen Sharifi
358
Model Driven Prototyping with Modelibra . . . . . . . . . . . . . . . . . . . . . . . . . . Dzenan Ridjanovic
368
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 . . . . . . . . . . . . . . . Sean Policarpio and Yun Bai
378
On Cloud Computing Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Yun Bai and Sean Policarpio
388
PAPR Reduction in OFDM by Using Modernize SLM Technique . . . . . . . Ashutosh K. Dubey, Yogeshver Khandagre, Ganesh Raj Kushwaha, Khushboo Hemnani, Ruby Tiwari, and Nishant Shrivastava
397
Application of Integrated Decision Support Model in Tendering . . . . . . . . Fadhilah Ahmad and M. Yazid M. Saman
406
Query and Update Support for Indexed and Compressed XML (QUICX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Radha Senthilkumar and A. Kannan
414
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 softmax 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 softmax 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. ,
,
:
,
;
, ,
For all
: ,
,
,
, ;
,
, 1 |
|
|
|
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)
́
́ | , is the Where is a delegation action; , is the MDP termination cost; transition model; ́ is the estimated optimal value function for the next state at ́| , is the estimated connection cost to the next state. agent and 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 trafficloads. 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 is the time the shown in equation (2),where 0 1 is the learning rate and 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 , .To take care of nodes mobility, with the lowest estimated delivery time 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 , ∞ when moves out of range; and , 0 when moves nodes: 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 . The source node selects an action among a finite set of actions 0, … , , ∆ :1 depending on the current observation belonging to ,1 ∆ , where is the number of discrete end-to-end delay intervals; ∆ is the is the interval on number of discrete end-to-end delay variation intervals; is interval on 0, ∞ (this variable is included to reduce the 0, ∞ and ∆ uncertainty of the actual end-to-end delay).If at least one feasible path is found, then a , is generated. Otherwise, the action is penalized: reward 0 ,
– 0
0
(3)
0
is the immediate reward parameter for a given service-type j. Note Where 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 controltraffic. 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: f
f
η
∂E ∂Θ
(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 1/t. node, different from the greedy choice, with probability ε where ε 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 multiobjectives 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 dataforwarding 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
WƌĞǀŝŽƵƐůLJ ƐƚŽƌĞĚ
EĞƚǁŽƌŬ
WĞƌĨŽƌŵ ŽŵƉƵƚĂƚŝŽŶ
dĂƐŬ ŽĨ Ă ŵŽďŝůĞĂŐĞŶƚ
DŽďŝůĞ
,ŽƐƚ DĂĐŚŝŶĞ
WŚLJƐŝĐĂů ůĂ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 node ID
Destination Node ID
HOP count
THRESOLDPdr
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 Compute
N5 N0 Source node initiates the MA
N6
Mobile Agent
Compute
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ϯ
Eϰ
MMS G MM SG
Eϱ
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
The agent moves to the next hop node decrase hop count by 1
z^
If the ratio is less than threshold for ith node?
EK
Agent reports the malicious activity to the source 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
Throughput of Packet Receive
180 160 140 Packet Receive Without attack
120 100
Packet receive With attack
80
Packet Receive With Mobile Agent
60 40 20
12 0
10 0
80
60
40
20
0
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. End 2 End 0. Delay 0.
Average End 2end delay with Attac Average End 2end delay with mobile agent
0. 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 End2End Delay with attack(a)
average 0. End 2 end Delay 0.0 0 1 2 3 4 5 6 7 Througuput of Receiving
Average End2End Delay with 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) (3) = P1+P2 . = (θ*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 N A C[a0, a1, a2,..an ] Power[node_id,energy] Visit[node_id] Pi[ node_id, status] next_node Dist Tot node_max_pow[ ]
Description Total Number of nodes An array consists of the connections between the nodes Event path nodes are stored in this array An array consists of initial power of each node Visited nodes are stored in this array Neighbors of node i are stored in this array along with their status. next node chosen during the traversal the distance between the last and second last visited nodes. total distance traveled during one simulation 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
3.4
29
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 Network size Initial energy MAC Protocol Power consumption Number of queries
Description 15 nodes 50J per node IEEE 802.15.4 Equivalent to packet size and distance At least 6
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
NODE VS POWER 60
POW ER
50
40
Initial Power Query 1
30
Query 2 Query 3 Query 4
20
Query 5 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 POWER
Query 1 40
Query 2
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
31
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
POWER
50 49 48 47
Random next hop
46 45
Next hop with max 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
2.2
37
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 Domnode[]
Description 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 This variable is denoted the radio range of the cluster It stores node id of each node in the cluster who are neighbor of sender
R ACK[] Cost Table
Cost table vectors are-S ,Nid,Cost(S=Source node id, Nid=Next hop node id).
Gateway Table
Structure of this table isG,Sec.(G=gateway node id, Sec=sector id of that gateway node) Structure of this table is-G,Gcn (Gcu =Gateway node of another cluster).
Cluster Table
Th T
K ij
k
d si nM[s,i].
3.3
It denotes threshold value. At k th moment time required for sending message between node i and j At kth moment distance between node s and i It defines mobility between node s and i
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) Ps=Size of the packet Mob[S,ni]= Mobility of node ni
(1)
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 . Where, r=range of cluster. θ=sector angle. Here, cluster is divided into 8 sectors. So, θ=450
(3)
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 equationT[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 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
(5)
40
D. Sinha and R. Chaki
so, l
l’
l
d si=T is-T si l
(6) 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]. b) If W[S]>=Th Then Add S into Domnode[] Else Add S into Nondomnode[]
(9)
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
DELIVERY TIME
25
20
15
10
5
0 40
60
80
100
120
140
160
LOAD Fig. 2. Load vs Delivery time
180
200
220
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; Intradomain; 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 reassociation 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
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 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 micro mobility domain
Fig. 7. Throughput (Mbps) of UDP Flow in micro mobility domain
Fig. 6. Handover Latency of TCP Flow in micro mobility domain
Fig. 8. Throughput (Mbps) of TCP Flow in 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 MHprofile 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 nMAG 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 IntraDomain 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 eyediagram 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 SNR, VSAT.
b
/ No, QPSK, RRC filter,
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 source
QPSK Transmitter
Channel
QPSK Receiver
Data 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 Mby-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.
Q B=01
A=11
I 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
Si (t) =
2
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 2
S qpsk (t) = √
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) ф (t)=
2
T Sin (2πf t)
0≤ t ≤ Ts
(3)
0≤ t ≤ Ts
(4)
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
Pe, QPSK =
Q
2E
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
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
63
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 nonrepudiation. 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 nonrepudiation. 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ŚĞĚƌŝǀĞƌǁĂŶƚƐƚŽŝŶĨŽƌŵ ƚŚĞDsĂďŽƵƚĂĐĞƌƚĂŝŶ ĞǀĞŶƚ
^ƚĂƌƚ
zĞƐ dŚĞĚƌŝǀĞƌĚĞƐĐƌŝďĞƐƚŚĞĞǀĞŶƚĂŶĚ ŝŶƐĞƌƚƐŚŝƐŽǁŶƐŵĂƌƚĐĂƌĚ
EŽ E ƌŝǀĞƌŚĂƐĂ h^dŽŬĞŶ
^LJďŝůĂƚƚĂĐŬŝƐĚĞƚĞĐƚĞĚĂŶĚĐĂƌŝƐ ďůŽĐŬĞĚ͘
zĞƐ
EŽ ŝŐŝƚĂůŶǀĞůŽƉĞŝƐĐƌĞĂƚĞĚĂŶĚŝƐ ƐĞŶƚƚŽƚŚĞZ^
džŝƚ
zĞƐ EŽ /ŶĐŽŶƐŝƐƚĞŶĐLJ ŽĐĐƵƌƌĞĚ͍
dŚĞĚƌŝǀĞƌĚĞƐĐƌŝďĞƐƚŚĞ ĞǀĞŶƚĂŶĚŝŶƐĞƌƚƐŚŝƐ ŽǁŶh^dŽŬĞŶ
Z^ǁŝůůĐĂŶĐĞůƚŚĞ ^ƵƐƉŝĐŝŽƵƐDŽĚĞ
Z^ĨŽƌǁĂƌĚƐƚŚĞĞŶǀĞůŽƉĞƚŽƚŚĞDs
DsǀĂůŝĚĂƚĞƐƚŚĞĐĂƌ/ĂŶĚƌĞƐƉŽŶĚƐƚŽ ƚŚĞZ^
Z^ǁŝůůƉŝĐŬƌĂŶĚŽŵŶƵŵďĞƌŽĨŚĂƐŚŝĚƐŽĨĐĂƌƐ ĂŶĚǁŝůůĐŽŶŶĞĐƚƚŽĂĚĞǀŝĐĞŝŶƚŚĞĐĂƌƚŚĂƚŚĂƐ ĂĐĐĞƐƐƚŽƐŽŵĞǀĂƌŝĂďůĞƐůŝŬĞƚŚĞǀĞůŽĐŝƚLJĂŶĚ ĂĐĐĞůĞƌĂƚŝŽŶ
EŽ Z^ Z^ǁŝůůƚƵƌŶƚŽ^ƵƐƉŝĐŝŽƵƐDŽĚĞ
sĂůŝĚZ/
ŽƵŶƚĞƌŝƐ ŝŶĐƌĞĂƐĞĚ
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 ScienceTechnology 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 LAMIH Laboratory University of Valenciennes France {a_abdelmalek,m_feham,z_slimani}@mail.univ-tlemcen.dz,
[email protected] 2
Abstract. Different protocols have been developed throughout the last years to achieve automatic IP address allocation in Mobile Ad hoc Networks (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 dynamic 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 autoconfiguration, 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 autoconfiguration 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 security 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 certificates, 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 autoconfiguration 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 consists 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 revoked certificates. With regard to the threshold signature protocol, a variety of discrete log based schemes have been proposed [11] including NybergRuepple 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 service to all nodes in such a way that only a threshold number of nodes can collaborate 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 MANETconf 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 requesting 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 Autoconfiguration 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
3
A. Abdelmalek et al.
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 initiated 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 Discovery protocol is executed automatically by a node on boots/reboots when his state is Unconfigured. The Discovery_Request message must contain the originator’s Off-line public key certificate and its signature. The recipient will response 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 requester 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 requester 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 messages, 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 Config_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 including 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 threshold signature for the requested ‘On-line Joint IP address and Public Key Certificate’. The combiner of the partial signatures replies to the requester by a Config_Cert_Reply message, and informs all nodes by a Config_Advert message 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 possibility 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 sitelocal scope all-nodes multicast address FF05::1 as destination address. This message 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 requester. For this reason, Config_Alert messages are used to prevent malicious nodes from providing or disturbing the autoconfiguration service. Threshold signature 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 address 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 primitives. 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 ECDSA233 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 respectively 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 Protocols, 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, Chichester (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
3
Applied Statistics Unit, Indian Statistical Institute, Kolkata-700108, India samiran
[email protected] 2 CSE Department, IIT Bombay, Mumbai-400076, India
[email protected] Department of Mathematics, Jadavpur University, Kolkata-700032, India
[email protected]
Abstract. Wireless Sensor Networks (WSN) consist of low powered and resource constrained sensor nodes which are left unattended for long duration of time. Hence it is very challenging to design and implement cost effective security 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 problem 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 communication 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 temperature 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 Radio 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. Ozcan, 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 before 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 predistribution schemes have been well studied and presented in a survey report publisehed in 2005 by C¸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 & communication 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 deterministic 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 radius 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 predistribution 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 different 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 = 3 CHs in 2nd tier. 4 112 rd This model can support 4 = 30 sensors in the 3 & last level. Out of these 42 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 belongs 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 connectivity 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 connected 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 alternatively 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) connectivity 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 capturing 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: V (s, c) =
b 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: V (s, t) =
bt (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: E(s, c) = 1 −
lbrk tot links
As only t CH at 2nd tier are compromised & assuming the keys are uniformly distributed 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 guaranteed 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 communicate 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 preexisting 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 59 59 89 89 89
N 870 870 1980 1980 1980
s 5 10 11 15 20
t Our Exp. V (s, t) BR Exp. V (s, t) Our Exp. E(s, t) RR Exp. E(s, t) 1 0.000380 0.0057 0.00458 0.068958 2 0.001531 0.01149 0.02094 0.157406 2 0.000472 0.0055 0.00788 0.090639 3 0.000979 0.00757 0.01812 0.139159 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 providing 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 confirm 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 messages 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 communicate 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 connectivity, 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 deployment. 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. C ¸ amtepe, S.A., Yener, B.: Key distribution mechanisms for wireless sensor networks:A survey 2005. Technical Report. In: TR-05-07 Rensselaer Polytechnic Institute, Computer Science Department (March 2005) 3. Chakrabarti, D., Maitra, S., Roy, B.: A key pre-distribution scheme for wireless sensor networks: merging blocks in combinatorial design. International Journal of Information Security 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 Cryptography 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 networks. 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 network systems. USENIX Winter, 191–202 (1988) 12. Sarkar., P., Saha, A., Chowdhury, M.U.: Secure Connectivity Model in Wireless Sensor Networks 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, emergency services, and object tracking services, are developed in many application systems. In recent years, large amount of research effort are paid to locationdependent 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 obtaining 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 further, a few kinds of virtual constructs (V Cs) for building query indexes were proposed, including virtual construct rectangles (V CRs) [4] and containmentencoded squares (CES) [5]. Particularly, K.-L.Wu [5] adopted a CES-based ¨ A. Ozcan, 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 decomposed 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 distribution, 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 presentation. 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 index 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 effectiveness 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 prototyped (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 continuous query, while SOLE [6] is designed for the evaluation of concurrent continuous 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 structure 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 bordercrossing 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 supporting 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 indexing methods for indexing the past, current and future positions of moving objects. What’s more, specific indexing mechanisms have been proposed for objects moving in road networks, for objects with predefined trajectories, or for broadcast environments. Most of these works study snapshot queries and focus mainly on materializing incoming spatio-temporal data in disk-based index structures. Some other works focus on main-memory indexing and query processing 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 3.1
Preliminaries and System Model Background Assumptions
Grid of Monitoring Area. Consider a monitoring area with it’s bounding rectangle 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 region 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 w treated as a conceptual Grid where the Grid contains L × 2LKh quadblocks 2K 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 storage 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 efficiency 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 375
4XDG%ORFN
8QLW&HOO
TLG
S
S
S
TLG
TLG
4,'/LVW375 TLG
TLG
S
/HDI1RGH 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 customized query operator in DSM S. The query processing is data-driven, triggered 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 decide whether or not to output tuple of form τ (OID, ±, t), and where to output negative or positive tuple.
4 4.1
Tunable Cyclic-Translation-Based Grid-Quadtree Indexing 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 translation 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 ”candidate” 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 calculating 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 improved 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: w CSa = cp × L × 2LKh ; 2K CSb = cleaf × N [0] + cinternal ×
K 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 magnitudes 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 w pointer array with L × 2LKh ,we compute the partition ID of a quadblock as 2K follows: w 0 if 2tK = L Lw 2K . P ID = f (y) × 2K + f (x), f (t) = t 2K otherwise 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 covering 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 location 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 advantage 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 contained 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]; w 5: P IDold = f (yold ) × L + f (xold ); pold ← P A[P IDold ]; 2K 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
1800
10
1600
8
6
4
CES−QIDs CTGQ−QIDs CES−VCs CTGQ−tree nodes
2
0 200
400
600
800
1000
1200
1400
1600
1800
2000
Total storage cost of index(KB)
Number of query IDs and tree nodes
12
1400
1200
1000
800
CES−total cost CTGQ−total cost 600 0.55
0.6
Number of range queries (a)
0.65
0.7
0.75
0.8
0.85
0.9
0.95
Query distribution with different value of 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 6
107
2.7
CES−based indexing CTGQ−based indexing
CES−based indexing CTGQ−based indexing
2.6
Query evaluation time(seconds)
Query evaluation time(seconds)
5
4
3
2
2.5
2.4
2.3
2.2
2.1
1 2
0 0
0.5
1
1.5
2
2.5
3
3.5
4
Number of moving objects (|O|) (a)
x 10
1.9 0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
Query distribution with different value of a (b)
4
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
Query Evaluation Time
Total storage cost 2.2
Query evaluation time(seconds)
Total storage cost of the index(KB)
14000
12000
10000
8000
6000
2.1 2 1.9 1.8 1.7 1.6 1.5
4000 1.4 2000
1
2
3
4
5
6
7
The division level of index (K) (a)
8
9
10
1.3
1
2
3
4
5
6
7
8
9
10
The division level of index (K) (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 Evaluation 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 decomposition of arbitrary hyperrectangles. IEEE Trans. on Knowledge and Data Engineering 18(6), 784–798 (2006) 9. Chen, P.-M.: A quadtree normalization scheme based on cyclic translations. Pattern 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 Algorithm 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., Stonebraker, 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 Window 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 adaptivity. 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 Applications. 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 Engineering 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 Searching. 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 convergence will be guaranteed.
Δ
iterations the
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: /
,
Where the Euclidean distances between the data point initial centers are . The points in one cluster are defined as:
(1) at the cluster
and the
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. is the set of clusters to minimize the criteria . ; so that Assume that converges to (the cluster centers): , where where
,
,…,
;
,…, min |
(2) |
is the probability distribution over the Euclidean space.
(3)
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 where is the number of according to the slow stage of clustering:
Two-Stage Clustering with k-Means Algorithm
iterations during the slow stage. Assume that complexity is: =
7200
100 and 8000 =
113
3 then the total time 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 the properties. From the above graph it can be concluded that the lower values of 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 500, the complexity using higher number of data for the fast stage clustering, 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
Algorithm. Input: , , , , with clusters Output: % of from randomly Select 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
115
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 No.
1 Fast 2
Clusters Old Centers
New Centers
C1
8
4
4
4.867
3.267
1.567
C2
4
4
4
6.16
2.85
4.68
C1
4.867
3.267
1.567
4.867
3.267
1.567
C2
6.16
2.85
4.68
6.16
2.85
4.68
Points in Clusters 30,38,44 53,58,72 86,88,93 113,114 138,145 30,38,44 53,58,72 86,88,93 113,114 138,145
Points
15
Two-Stage Clustering with k-Means Algorithm
119
Table 1. (continued) C1
4.867
3.267
1.567
5.015
3.318
1.636
C2
6.16
2.85
4.68
6.323
2.901
4.987
C1
5.015
3.318
1.636
5.06
3.226
1.897
C2
6.323
2.901
4.987
6.396
2.933
5.071
C1
5.06
3.226
1.897
5.083
3.205
1.956
1
2
Slow
3
C2
6.396
2.933
5.071
6.409
2.942
5.1
C1
5.083
3.205
1.956
5.083
3.205
1.956
C2
6.409
2.942
5.1
6.409
2.942
5.1
4
1-50,58 61,82,94 99 51-57,5960 62-81 83,93 95-98 100-150 1-50,54,58 60-61,70 80-82,90 94,99,107 51-53,5557 59,62-69 71-79 83-89 91-93 95-98 100-106 108-150 1-50,54,58 60-61 63 65,70,8082 90,94 99,107 51-53,5557 59,62,64 66-69,7179 83-89,9193 95-98 100-106 108-150 1-50,54,58 6061,63,65 70,8082,90 94,99,107 51-53,5557 59,62 64,66-69 71-79 83-89 91-93,9598 100-106 108-150
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 as shown in Table 2. and accuracy between 10 to 10 Table 2. Speed up of clustering with the modified k-means using different dataset sample
Accuracy
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
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.
Percentage of the data
Table 3. Calculation time for normal kmeans and modified kmeans
10% 20% 30% 40% 50% 60% 70% 80% 90%
Fast + Slow k-means (sec) 4.81 9.93 14.94 19.95 25.17 30.45 36.62 42.01 47.66
Normal k-means (sec) 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 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, realtime 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 is a function depending of the distance and remaining energy of node i of . depends on the queue length along the current route. and the next-hop node. 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 realtime 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 , and . is calculated as follows: which normalize .
(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)
is the queue length at node i. equation is calculated in the same where 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 increases rapidly with . inevitably suffer a longer delay. .
(7)
where is the queue length at node i, is the local processing time of any is the transmission time between two neighboring nodes in the message in node i; 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. ∑ Where
.
(8)
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 objectoriented, 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 realtime 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 realtime 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.
Packet delivery (%packets)
DSR D=15s
ED-DSR D=15s
ED-DSR D=25s
120 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
Real-time packet delivery intime (%packets)
DSR D=15s
ED-DSR D=15s
ED-DSR D=25s
100 80 60 40 20 0 5
9
10
12
15
Packet rate of CBR (packets/sec streams)
Fig. 2. Real-time packets delivery in time ratio
20
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 EDDSR 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.
End-to-end packet delay(s)
DSR D=15s
ED-DSR D=15s
ED-DSR D=25s
5 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.
Lifetime of SMH(%)
DSR D=15s
ED-DSR D=15s
ED-DSR D=25s
100 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 EDDSR 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.
Average energy consumption (J)
DSR D=15s
ED-DSR D=15s
ED-DSR D=25s
1.5 1 0.5 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
Lifetime of SMH(%)
DSR D=15s
ED-DSR D=15s
133
ED-DSR D=25s
100 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.
Average energy consumption (J)
DSR D=15s
ED-DSR D=15s
ED-DSR D=25s
1.5 1 0.5 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 endto-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. 2. 3.
Threshold rules (report when the sensed value crosses a preset value). Differential rules (report when the change in the sensed value is larger or smaller than a preset value). 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 . d
x
x
y
y
(1) .
(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 Message Priority Allocation assigns MP to fulfilled rules.
Power Priority Allocation assigns PP to Residual Energy Level.
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 node8 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 significantly high increase in i node life time compared to the other two cases. As it can 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 fi 2. PP≥MP, as can be seen in figure
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 he residual energy level with the packet importance) and management (balancing th
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 ⎧ ⎪ ⎪ T ( n) = ⎨1 − p ∗ (r mod ⎪ ⎪0 ⎩
1 ) p
if n ∈ G ,
(1) 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 singlehop 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. 2. 3.
The base station and all sensor nodes are stationary after deployment. The basic energy of nodes is different. 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-noiseratio (SNR), the energy consumption of the transmitter is given by: ⎧ ETx ( n, d ) = n ( E elec + ε fs d 2 ) ⎪ ⎨ 4 ⎪ ETx ( n , d ) = n ( E elec + ε mp d ) ⎩
d < d0 d ≥ d0
(2)
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) setup 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:
TD
∑ (S ) = α × i
ncount ( S i ) k =1
E re ( S k )
(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) state (Si) = candidate
(5)
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. 3. 4.
if Ere (S i ) > TD (S i )
state ( S i ) = candidate-CH create S cn ( Si )
5. 6.
end if Initialize T
7.
While ( state ( S i ) = candidate-CH OR state ( S i ) = normal ) AND timer < T if candidate-CH AND ( state ( S i ) =
8.
( ∀ S j ∈ S cn ( S i ) : n count ( S i ) > ncount ( S j ) ) ( ∀ S j ∈ S cn ( S i ) : n count ( S i ) = n count ( S j ) ⇒ 9. 10. 11. 12. 13. 14. 15. 16.
OR
E re ( S i ) > E re ( S j ) ) )
state ( S i ) = CH broadcast a CH( Id ( S i ) ) message break end if if received a CH( Id ( S j ) ) message if state ( S i ) = normal state ( S i ) = cluster-member CH ( S i ) = S j
17. 18.
break else if state( Si ) = candidate-CH
19.
state ( S i ) = cluster-member
20.
CH ( S i ) = S j broadcast a Abort ( Id ( S i ) ) message
21. 22. 23. 24. 25.
break end if end if if received a Abort ( Id ( S j ) ) message
PRWSN: A Hybrid Routing Algorithm
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 create S cn ( S i ) else if state ( S i ) = candidate-CH recreate S cn ( Si ) end if end if end while if state ( S i ) = candidate-CH OR state ( S i ) = normal state ( S i ) = CH broadcast a CH( Id ( S i ) ) message end if
30.
31. 32. 33. 34. 35. 36. 37. 38. 39.
151
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.
2.
if
received a Route-discovery ( Id (S j ) ) message 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. 4.
5.
Next − CH ( Si ) = S j end if 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 Network size Number of Nodes Base station location Initial energy for node E elec
ε
Value 500 × 500 m 500 250,250 m rand [0.5,1] J 50nJ/bit 10pj/bit/ m2
fs
ε 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,zcoordinate 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 √
volumetric quotient =
√
=
= 0.477
Fig. 1. Hexagonal Prism [2]
/4.
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 =
,
√
,
For hexagonal prism =
2
√
√
,
(1)
√
2
2
For rhombic dodecahedron = For truncated octahedron =
,
√
,
√
,
2 2
(2)
√
√
√
,
(3)
,
The real distances between any two nodes for polyhedrons with coordinates ( and ( , , ) is as follows: For cube =
(4)
√ ,
,
) (5)
√
For heaxagonal prism = = √2
(6)
For rhombic dodecahedron = √2
(7)
For truncated octahedron = 4 √5
3 4
(8)
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 which is equal to 5R. Node is placed at 2R, v axis is R and w axis is 2
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 and in the u, v, w- coordinate is coordinates , , , , =
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 Quotient
Number of Nodes Needed Compared to Cone
Cube Hexagonal Prism Rhombic Dodecahedron Truncated Octahedron Cone
0.36755 0.477 0.477
272.07 209.64 209.64
Saving Ratio Compared to Cone 172% 110% 110%
0.68329
146.35
46%
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 Range uywaxis axis axis
Cube
Maximum of the Minimum Transmission Range
1.1547R 1.1547R
1.1547R
1.1547R
Hexagonal Prism
1.41 42R
1.41 42R
1.15 47R
1.4142R
Rhombic Dodecahedron
1.41 42R
1.41 42R
1.41 42R
1.4142R
Truncated Octahedron
1.78 79R
1.78 79R
1.54 92R
1.7889R
R
2.23 60R
2.2360R
Cone
2R
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 longlived 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 , Department of Computer Science and Engg National Institute of Technology, Durgapur, Durgapur-713209, India {sujoy.ju,bubususpatra,anisheld, mail2rjc,mamartyacse1,subrata.nandi}@gmail.com 2
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 postdisaster 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 reallike 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 postdisaster 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 waittime 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 Simulation Time Update Interval No. of nodes Buffer size of nodes Sp eed
Cluster Nodes Carrier Nodes
Scan interval of nodes Cluster WaitCarrier Time Nodes Message TTL MAC Protocol Bluetoo Range th Data rate Range Wi-Fi Data rate Message Creation Interval Message Size Simulation Area Size
Value 86400s = 24hrs 1s 120 ((25nodes × 4clusters) + 20carrier_nodes) 500MB 0.5mps – 1.5mps = 1.8kmph – 5.4kmph 5mps – 15mps = 18kmph – 54kmph 0s 0min – 2min 0min – 10min 240min = 4h 802.11, 802.15.1 10m 2Mbps 40m 18Mbps 25s – 120s 50KB – 1MB 15.3 sq.km (4.5km x 3.4km)
Post Disaster Management Using Delay Tolerant Network
177
Table 2. Parameters of Routing Algorithms
Routing Algorithm
Parameter
Epidemic PRoPHET MaxProp Spray And Wait Spray And Focus
Val ue N/ A
N/A Seconds In Time Unit ProbSet maximum size No. of Copies Binary Mode No. of Copies Binary Mode
30s 50 3 TR UE 3 TR UE
Table 3. Parameters of Mobility Model
Parameter No. of clusters Cluster Radius No. of nodes in a cluster No. of carrier nodes
Value 4 800m 25 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-andforward 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 VehicleBased 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 MobilityAssisted 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
() a (t) =
a ()
( )
() a , (t) p(t
(t) =
a
( ) (t) p(t ,
187
T)
(2)
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
jS
( )
( )
(t
T )a
(t
T) e
(4)
s (t)e
s (t) = () Where s (t) = S (t) transmitted signal.
( )
(t) is the complex low pass equivalent of the
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 h
,,
,
(t) = β , e
(
) ,,
δ t
δ t τ
τ
,
(5)
,
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. user can be written as [10]: The transmitted signal of the ( )=
( )
( )
( )
( )
( )
)
( ) 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 user long code and quadrature phase pseudo-Noise (PN) sequences, ( ) is the =2 and is the carrier sequence, is the half chip delay for OQPSK signals, 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 multipath of the the user and the the antenna in the sub-array is the 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 ( ) ,
=
( ) ,,
( ) ,,
…
( ) ,,
2.2.3 The Received Signal At the receiver, the total received signal for the notation as: ( )
( )=
,
( ) , (
( ) , (
) is given by: (8)
sub-array can be written in vector
)
( )
( )
(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 τ We can also write as follows: y
() ,,
(t) =
a(t), r =
y
( ) ,,
(t) =
a(t), r =
,, () r ,,
ja
,
(t)a
()
t
τ
t
T
r
,
τ
( ) ,,
(t)a
r
,
( )
( ) ,,
t
T
(t)a
()
Where (a, b) = a · b the product between complex numbers.y vector notation as: = y
,
t
T
τ
,
.
(t)
, , (t) ( ) () r , , (t)a
Y
( )
,,
,y
,…,y
,,
τ
,
t τ
,
(15)
(16)
can be written in
,,
(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
,
()
Z , (t) = Z , (t)
Y
,
(18)
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: ()
Z , (q) =
Z
( ) , (q)
=
1 T 1 T
,
()
Z , W(
()
)
t
τ
,
Z , W(
( ) ( ) , W
t
τ
,
Z
)
t
T
τ
dt
,
(21)
,
, ,
Z
( ) ( ) , W
t
T
τ
,
dt (22)
The Performance Comparison between Hybrid and CBF Receivers
The decision variable for the l previous values:
multipath of the k
() u , (q) = Z ,
Z
191
user is obtained from the
( ) ,
(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
Finally, the receiver makes a hard decision on the q the Maximum Likelihood Criteria rule as: q = arg
,…,
( ) ,
symbol of the k
(24) user by using
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 Where W
() ,
() ,
Y
() ,
(27)
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 / of about 5dB is required for CBF, but threshold of 10-2, M=4 antennas, and 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 increases from 5° to 10°.It is obvious from the figure, that for low angle spread / , 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 = 0° and 5°, HBF is better than CBF. It can be observed from the figure that for 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 = 0° and 5°, Figures 1,2 and 3. It can be observed from the Figure 8 that, for 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 Mary 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. PrenticeHall, 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, Department of Computer Application National Institute of Technology, Durgapur, 713209, India {bubususpatra,sujoy.ju,vjsah27,satadal.sengupta.nit, konsamsingh,subrata.nandi}@gmail.com 2
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 noninteractive 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 Flooding
Unicast Based Routing (UBR)
Group Static Based Tree Routing Based (GBR) Multicast
Tree Based Multicast
Dynamic Encounter Tree Based Based Multicast Multicast Routing (EBMR)
Dynamic Tree Based Routing (DTBR)
Probability Based Multicast
Context Forwarding Aware Group Multicast Based Routing Routing (CAMR) (FGBR)
Intelligent Multicast
SMART A-SMART RelayCast
On-demand Situation aware 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; probabilitybased 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 disruptiontolerant 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 OSmulticast. 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
Buffer Usage
UBR
Routing Algorithms
Delivery Latency
Low
Highest
Lower than BBR
BBR
Multicast Flooding Based
Routing Strategies
Performance Metrics
Delivery Ratio
High
Low
Highest
Remarks
Higher delivery ratio is achieved at the cost of high buffer overhead and low efficiency. Should work well in Random Walk/Waypoint mobility models.
204
S. Patra et al. Table 1. (continued)
Routing Strategies
Routing Algorithms Static Tree Based
Higher than UBR
DTBR
Higher than UBR
Less usage
Higher than DTBR
Less usage
OSMulticast
Less than GBR
Higher than DTBR when network is sparse
EBMR
Less usage
Very high when node mobility is predictable
CAMR
Less than GBR
Highest, 8 times more than DTBR or OSMulticast
Low, almost identical to DTBR and OSMulticast
Medium
FGBR
Buffer Usage
High
More than Tree Based
Medium
SMART
Delivery Latency
Higher than ASMART
Low
Slightly lower compared to multicast flooding techniques
A-SMART
Delivery Ratio
High
Higher than SMART
Lower than SMART
RelayCast
Intelligent Multicast
Probability Based
Multicast Forwarding Based
Performance Metrics
Higher than EBMR
High
High
Medium
Remarks
Buffer usage reduced significantly; however, delivery ratio and latency are compromised with. Compatible with most mobility models.
Ideal for networks where node mobility is periodic and/or predictable. CAMR compromises heavily with power usage. Should work best with Working Day mobility model.
Highly efficient; uses intelligent combination of flooding & forwarding techniques to achieve optimal performance; Designed to work well with most mobility models.
Comparable 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); ButterwothHelnemann, 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 eCommerce 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, humansto-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
"**"?
Connect
No
Programming Mode?
Yes
Yes
Receive User ID
Send User ID to Screen
No
Connect
Off Transmitter On Receiver
No
Program Mode?
Yes
Off Reveiver On Transmitter Receive and program new user ID No
Transmit "***" and new User ID
Last byte of data?
Yes
No No
Normal Mode? Normal Mode?
Yes
Yes
On Transmitter Off Reciever
On Receiver 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 inupdate.cgi outupdate.cgi program.cgi programinfo.cgi search.cgi searchagain.cgi
for handling enquiry request from the clients. for updating the particular record upon user entry. for updating the particular record upon user exit. for updating the new card ID into the particular user record. return user information to the requesting client. for searching the database for the requested string in a first level search. 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 Receiver with RSSI
Analog RSSI Signal
Analog -To- Digital Converter
8751 μC Data Bus and Control Signals
RS-232C Interface To Client
Data Bus and Control Signals
MA X 233
UART NS16550
MAX 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-ofsight 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
μC 8751
Transmitter
Digital Data RS-232 Interface
Data Output
Multiplexer
Analog 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 Subject to
∑ ∑
i xi ixi
(1) C
A. Özcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 217–227, 2011. © Springer-Verlag Berlin Heidelberg 2011
(2)
218
A. Gherboudj and S. Chikhi
1 If the object i is selected xi= 0 Otherwise
i=1, ……,N
(3)
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
1.
2.
3.
219
Particle Swarm Optimization Algorithm 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 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; } } 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 convergenceguaranteed 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))] Where K=
;With
= c1+ c2 and
(7)
; 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 The position xid of the particle i is updated as follows: 1 if r < S (vid) xid = 0 Otherwise
r [0, 1[
[-Vmax, Vmax].
(10)
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 (12) c3× (gbestd(t-1) - xid (t-1)) 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× (13) (gbestd(t-1) - xid (t-1)) + r4 c4× (Prid (t-1) - xid (t-1)) 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 (16) c3× (gbestd(t-1) - xid (t-1))] 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 (17) c3× (gbestd(t-1) - xid (t-1)) + r4 c4× (Prid (t-1) - xid (t-1))] 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: i
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 Instance 120 200 500 700 900 1000 2000
BPSO6 4439
Class 1 BP1 BP2 4469 4552
BP3 4457
BFP6 4463
Class 2 BFP1 BFP2 4489 4497
BFP3 4564 4236,4
4180,8
4130,4
4136
4236,4
4203,2
4140,4
4137,4
7559
7522
7642
7490
7491
7339
7648
7624
7104,4
6989,9
6938
7169,8
7108,6
6972,2
6979,8
7168,4
17647
17682
17810
17642
17647
17974
17776 16949 24678 23252,6
16848,2 16598,4 24407
24101
18058 17224 24431
17094,2 16864,8 16564,2 17175,8 24809
24407
24469
24563
23335,6 23019,4 23867,6 23767,6 23368,4 23027,8 30507,4
31428
30898
31215
29659,4
29833,8
29369
31686
31192
31018
30509,8 30391,2 29841,6
34654 34319 34213 35019 34847 32912,2 33065 32558,6 33810,6 33637 68857 67914 66605 66546 68548 63232,75 65030,6 63754,6 66478 66185,2
34273 33023 67110 65037
31525
31276
29330
30507,4
33999 34596 32543,2 33882,4 67507 67829 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
Instance 120 200 500 700 900 1000 2000
BCP6 4543 4226,2 7506 7139,4 17922 17069,2 24651 23589,6 31488 30111 34680 33291,6 66703 65275,2
BCP1 4497 4216,2 7614 7126,2 17983 17093,8 24603 23637,4 31295 30063 34606 33384,8 68266 66656,8
Class 4
BCP2 BCP3 4545 4533 4204 4242,4 7474 7556 7110,4 7183 17810 17906 17159,6 17265,4 24558 24729 23787,2 23926,8 31105 31240 30439,2 30537,6 34863 35897 33819,6 33910,8 67856 67995 66615 66779,75
BFCP6 4552 4229,8 7531 7151 17642 17175,8 24540 23876 31324 30448 34934 33879,4 68784 66322,8
BFCP1 4538 4230,4 7646 7133,6 17838 17192,4 24634 23835 31448 30504,6 34745 33882,4 68378 66740
BFCP2 4512 4207 7681 7097 17731 17129,4 24326 23772,6 31082 30455,2 34510 33776 67645 66682,4
BFCP3 4487 4257,4 7555 7203,6 18332 17268 24951 23934,6 31478 30495,2 34717 33863 67689 66630,8
Table 3. Comparison of best values obtained by the proposed algorithms, the Standard PSO2006 and the Standard BPSO Instance 120 200 500 700 900 1000 2000
Best Known 4564 4257,4 7681 7203,6 18332 17268 24951 30537,6 31686 30537,6 35897 33910,8 68857 66779,75
Standard BPSO
Standard PSO2006
4296 3840,8 7456 5703 13116 12471,2 18276 17097,4
4331 4027 7391 6819,4 17618 16244,4 23893 22400,2 30770 28574,2 34025 31682,2 67006 63265,8
22857 21736,6 24933 24050 47674 46538,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: 9789931-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 Process
Fig. 2. The Receiver side CRC 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
example
i
. Each a i (being 0 or 1) represents the corresponding bit in the string. For 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 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. 4
3
2
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
Proof: Let us represent the error vector as x n + x m = x m ( x n−m + 1) . Since
231
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.
m can be factored as
Proof: First notice that every OZO polynomial of degree follows.
x
+ 1 = ( x + 1 ).
m
m −1
∑
x
i
(1)
i= 0
m − 1 is odd it can be written as 2 k + 1 and we will have
Now if m −1
∑
i= 0
x
i
= (x
k +1
+ 1 ).
k
∑
i= 0
x
i
= ( x + 1 ).
k
∑
i= 0
k
x i .∑
i= 0
x
i
232
B. Zolfaghari, H. Sheidaeian, and S.P. Mozafari
= ( x + 1 )(
k
∑
x i)
2
(2)
i= 0
In this case, we will have: x
m
+ 1 = ( x + 1 ) 2 .(
k
∑
(3)
2
xi)
i= 0
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 + end of the factoring process, we will have: Or
x
m
+ 1 = ( x + 1)
1+
t −1
∑
2
i
i= 0
1 and ALO even polynomials. At the
2 r
∑
.(
xi)
2
t
(4)
i= 0
Equation 4 can be rewritten as follows.
x
m
+ 1 = ( x + 1)
2
t
2 r
∑
.(
xi)
2
t
(5)
i= 0
Where 2 t.2 r + 2 Now we can write:
x
2 t .( 2 r + 1 )
t
= 2 t .( 2 r + 1 ) = m
+ 1 = ( x + 1)
2
t
2 r
.(
∑
xi)2
t
(6)
i= 0
Again, equation 6 can be written in the following form.
x
2 t .( 2 r + 1 )
+ 1 = (( x + 1 ).
2 r
∑
i
x )
2
t
i= 0
= (x
2 r +1
+ 1)
2
t
(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
then writing the polynomial as ( x + 1) . 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. 2
t
Systematic Selection of CRC Generator Polynomials
An obvious result of lemma 8 is that For each m , n , r ∈ N
233
∪ {0 },
if
2 r
∑
2 r . m + n > 0 then ( x + 1 ) n .(
x i ) m will be an ODP32. The
i= 0
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 Prime
0
∑
x
i
Polyl
∑
i= 0
x
i
i= 0
2
∑
Prime Factorization Prime
18
i
x
Prime
20
∑
i
x
2
.( x 3 + x 2 + 1).( x 3 + x + 1).∑ x i
i= 0
i= 0
(x6 + x5 + x4 + x2 + 1).(x6 + x4 + x2 + x + 1)
i=0
Prime
4
∑
i
x
22
∑
i= 0
i= 0
( x + x + 1).( x + x + 1) 3
6
∑
i
x
2
24
3
∑
8
i
x
i= 0
∑
( x 6 + x 3 + 1). ∑ x i
x
∑
4
x
2
( x18 + x 9 + 1).( x 6 + x 3 + 1).∑ x i i=0
x
i
x
i
Prime
i= 0
12
∑
5
i=0
28
i= 0
6
4
i
i= 0
Prime
i
( x + x + x + x + x + x 2 + 1) .( x11 + x 9 + x 7 + x 6 + x 5 + x + 1) 10
( x 20 + x 15 + x 10 + x 5 + 1). ∑ x i
i
26
2
i=0
10
∑
x
i= 0
i= 0
∑
i
x
11
x
i
30
Prime
∑
i= 0
i= 0
(x5 + x4 + x3 + x +1).(x5 + x4 + x3 + x2 + 1) .(x5 + x4 + x2 + x +1).(x5 + x4 + x2 + x + 1)
.( x 5 + x 3 + 1).( x 5 + x 2 + 1) 2
14
∑
x
i
16
i= 0
x
i
i =0
i= 0
∑
∑ x .( x
i
32
4
+ x 3 + 1).( x 4 + x + 1). ∑ ∑ i
i= 0
x
i
( x10 + x9 + x5 + x + 1).(x10 + x7 + x5 + x3 + 1) 2
10
i =0
i =0
.∑ x i .∑ x i
( x 8 + x 7 + x 6 + x 4 + x 2 + x + 1)
.( 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 2 −1 2 i ( x + 1)
t
.(
∑
x )
t
i= 0
replace ( x 3 + x 2 + 1).( x 3 + x + 1) for
6
∑
i
x
using table 1. This replacement shows that
i= 0
( x + 1 ) 2 − 1 .(( x 3 + x 2 + 1 ).( x 3 + x + 1 )) 2 must be an ALO polynomial. An immediate result is that for every x , y , z ∈ N ∪ {0 } , a 3 2 b 3 c ( x + 1 ) .( x + x + 1 ) .( x + x + 1 ) is an ODP32 if a + b + c = 32 . Thus, every 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 t
case, ( x + 1 ) 2
t
t
−1
18
.(
∑
t x i ) 2 must be an ALO polynomial. But since
Thus for every a , b ∈ N ∪ {0 },
x
i
is
i= 0
i= 0
not reducible, we conclude that
18
∑
( x + 1) 2
t
−1
18
.(
∑
xi)2
t
must be an ALO polynomial.
i= 0
( x + 1 ) a .(
18
∑
x i)b
is an ODP32 if x + y = 32 . This,
i= 0
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 32 x and 1 . Since there are 3809 polynomials unable to detect double bit errors, the 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. “Ultralightweight” 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 indexpseudonym 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 indexpseudonym (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 builds a local version of and n2 respectively. Then it computes n3, k1*, k2*, 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 MixBits n , n
239
(1) n
,n
n
,n ,
,n
(2)
,
(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 desynchronization, 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. 4.
2. 5.
3. 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: 2. 5.
1. 4.
3. 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) ,
, n
(18) 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: ,k ,k ,k
:
Tag
Reader :
, k ,k ,k
Step 2- The tag and the reader run protocol completely: Tag
:
Reader :
, , , ,
k k k k
,k ,k ,k ,k
Step 3- The attacker and the tag negotiate together: Tag
:
Reader :
, k ,k , k ,k
, 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 ACKbased 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, Streammining.
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 realtime, 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 30December 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
2
Dept. of ECE, Karunya University
[email protected] [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 Length (Nk words) AES-128 4 AES-192 6
AES Version
AES-256
8
Block Size (Nb words) 4 4 4
Number of Rounds (Nr) 10 12 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] 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).
1.
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.
2.
3.
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}. 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]. 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 1,2,…n = 2
n-1 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 ReconfigurablePermutation 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 IoTmiddleware. Open issues are analyzed and our vision on the research scope in this area is presented. Keywords: Internet of Things, middleware, semantic model, contextawareness, 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 IoTmiddleware 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 IoTmiddleware 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 IoTmiddleware 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 contextdependent 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 contextaware 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 subclasses 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 nonrepudiation. 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 IoTmiddleware, 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 Middleware
Device Platform Context Interoperation Management Portability Awareness
Security and 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-theArt 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 MSUCSE-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.: SOABased 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
2
Faculty of Technology, De Montfort University {tariq,heljanic,hamza}@dmu.ac.uk 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 management 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 systems 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 services 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 virtual 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 encryption. 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 resource applies a local security policy that may result in the refusal of requests for utilizing 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. Because 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 applications, etc.
¨ A. Ozcan, 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 coordinating users’ identities among local and wide networks and dealing with the variety of local security techniques for either resource or user, trust relationships between resources and users, end-user key, credential organization. Supporting security to resources 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 applied in a domain and how an organization organizes, secures and distributes their resources. 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 welldefined 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 single 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 creating 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 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. 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 support 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 correspondent 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 frameworks. 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 management, 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 conforming 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 management by using NETGridFTP protocol [3]. Although the GridFTP protocol offers security 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 employment 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 middleware 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 become 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 security policy framework. Nevertheless, the PAs do not accomplish the ideal trust relationship. 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 information 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 (resource 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 multiple 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 situated 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 receives 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 mobile 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, ICPADS 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: Morgan 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 security, 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 technical 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 scenarios. 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 Computing 8(6), 40–50 (2004) 10. Kaneda, K., Taura, K., Yonezawa, A.: Virtual private grid: a command shell for utilizing 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 environments. In: Proceedings of the 4th International Workshop on Grid Computing, 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 computing. 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 information. 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 Engineering, 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 bandwidth 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 vertical 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 experience 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 encompassing 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 perform 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 depends 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. Ozcan, 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 desirable 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 network. 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 handoff. 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 target interface, packets that already left the AR before the new path is established (subsection 2.4) continues to move through the old path. The handing off interface must remain active for some time till all such packets arrive. 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 Step Step Step Step Step Step Step
1 2 3 4 5 6 7 8
Determine current zone. If in zone 2 scan for BS and build ScanBSList. Go to step 1. If in zone 3, select target BS for handoff. Perform network entry. Transfer flows. Send RU message. Wait for time t and then put WiFi interface into sleep. Execute Algorithm 2 (WiMax Active).
308
A. Sarma and S. Nandi
Algorithm 2. Vertical Handoff Part 2 (WiMax Active) Step Step Step Step Step Step
2.1
1: 2: 3: 4: 5: 6:
Scan for AP periodically and build ScanAP List. If ScanAP List is not empty, select best AP as handoff target AP. Associate with selected target AP. Send RU message. Wait for time t and then put WiMax interface into sleep Execute Algorithm 1 (WiFi Active).
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 information 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 variable 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 maintaining 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 overlaps 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 incrementally 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
2.5
311
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 maximum 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 decides 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. Horizontal 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
4.1
313
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
WiFi to WiMax WiFi to WiMax WiMax to WiFi WiMax to WiFi
5
latency packet loss latency packet loss
A B C 0 24 0.8 0 N/A Yes 0 N/A 100 0 N/A Yes
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, Edition (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, Edition (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. Commun. 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 Telecommunications 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 heterogeneous 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 criteria 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: Proceedings of the 2nd IEEE/IFIP International Workshop on Broadband Convergence 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 Performance Improvement in IEEE 802.11 Networks. In: Proceedings of the First International 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 Science 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¸sat Umit 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¸sat Umit Payli
Abstract. The load distribution in a grid may vary leading to the bottlenecks and overloaded sites. We describe a hierarchical dynamic load balancing protocol for Grids. The Grid consists of clusters and each cluster 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 process 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. Ozcan, J. Zizka, and D. Nagamalai (Eds.): WiMo/CoNeCo 2011, CCIS 162, pp. 315–324, 2011. c Springer-Verlag Berlin Heidelberg 2011
316
¨ Payli, K. Erciyes, and O. Dagdeviren R.U.
important requirement for Grids like EGEE [2] and NORDUGRID [3]. Some algorithms 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 symmetrical 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 protocol 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
2
317
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
¨ Payli, K. Erciyes, and O. Dagdeviren R.U.
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 member 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 transition 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 multicasted 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 transition 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 message 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
¨ Payli, K. Erciyes, and O. Dagdeviren R.U.
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 transition 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 transfers 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 transition 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 deadlock 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 knowledge 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*(k1)/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 ((2k1)+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 PCIX 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 identical measurement scenarios. We firstly measure the runtimes of the algorithm
322
¨ Payli, K. Erciyes, and O. Dagdeviren R.U.
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 w.r.t Total System Load
Fig. 4. Standard Deviations w.r.t Total 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 applying 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 balancing 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 intercluster load transfers, if needed. Our results confirm that the load balancing method is scalable and has low message and time complexities. We have not addressed 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
¨ Payli, K. Erciyes, and O. Dagdeviren R.U.
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 Decentralized 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 Computing 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 Computational 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 Implementation of the Message Passing Interface. Journal of Parallel and Distributed Computing 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) ¨ Performance Evaluation of Group Com14. Erciyes, K., Dagdeviren, O., Payli, R.U.: 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 MetaScheduler 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-economyreview.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 Internetsize 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 machineprocess-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 y y y y
Database Management Agent (DBMA): responsible for all databases related functions (Insert, Delete, Update, and Search). Resource Collection and Description Agent (RCDA): responsible for collecting the available local resources and describing them ontologically. Matchmaking Agent (MA): responsible for matching requests queries with the local resources information in the node’s local cache. Network Agent (NA): responsible for all the network related issues (sending description messages, receiving acknowledge and monitoring network performance). 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ǁŝƚŚŽƵƚ ĚǀĞƌƚŝƐĞŵĞŶƚ
Ϭ͘Ϭϰ Delay
Ϭ͘Ϭϯϴ ĞĞůĂLJǁŝƚŚ ĚǀĞƌƚŝƐĞŵĞŶƚ
Ϭ͘Ϭϯϲ Ϭ͘Ϭϯϰ Ϭ͘ϬϯϮ Ϭ͘Ϭϯ Ϭ͘ϬϮϴ ϭϬ
ϭϱ
ϮϬ
Ϯϱ
ϯϬ
ϯϱ
Number of nodes
ϰϬ
ϰϱ
ϱϬ
Fig. 5. Packet delay for CBR with and without advertisements
5 6
UDP stands for User Datagram Protocol. 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 multifactor 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 computing.
1
Introduction
The main problem encountered actually by biologists is the identification, characterization 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 independent 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 dimensionality 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. Ozcan, 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 Unicore [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 specifications 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 mechanisms. 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 framework. Section 5 tries to compare our framework to related works. Finally, section 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 combined 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 appropriate 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 genotype 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 crossvalidation 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 interaction 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]. WekaCG [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 thousands 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 support 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 proposed 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 interface 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 module 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, diabet, etc), its size and the data type (discrete or continuous). The filter module executes local filtering operations allowing attributes selection. Its execution generates 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 filtering task.
352
M.B.H. Hmida and Y. Slimani
Fig. 2. Web Services interactions between a client and the Grid-enabled MDR framework
Dispatching nodes are composed of a load balancing module and a Web service (MDR Service). The MDR Service executes the MDR method remotely invoked by the user. Indeed, the user invokes the MDR method with the chosen parameters and metadata informations. Metadata contain a ranking of the dataset attributes and the parameters represent mainly the attribute combinations 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 combinations between lower level dispatching nodes or directly between computing nodes. To optimize the load balancing we use a clustering approach. The computing 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 basic 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 operation 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 operation 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 framework 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 configures 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 computing nodes by invoking the classify operation of the Mining Service of each computing node. In parallel, each Mining Service is responsible of the execution 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 algorithm is executed to create a model. A ten-fold cross-validation test is executed 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 workload 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 invokes 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 problem, 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 computational 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 management, 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 molecular, 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 architecture 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 executions. Dispatching nodes are responsible of load balancing to optimize resource exploitation. Finally computing nodes construct models to detect gene-gene interaction. 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 susceptibility: a population-based study in Ontario. BMC Med 5:22 (2007) 2. Bush, W.S., Dudek, S.M., Ritchie, M.D.: Parallel multifactor dimensionality reduction: 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 Services 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 computational 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 machine 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 techniques, 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
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
Mobile
Qualcomm MSM7225™ 528 MHz
256 MB
Windows Mobile 6.5 Professional
Surrogate
Intel Core 2Duo 2.5 GHz
4 GB
Windows 7 Professional
<MobileDevice>
Mobile 524MHz 270 0.05 91MB 800J Fig. 2. Context specification of the mobile device <Surrogates>
Surrogate1 5000MHz 938010 0.1 2200MB 1KB/S 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>
Nth Prime Number 0.6MB 1KB 0.05KB
0.05KB (N*ln(N)+(N*ln(ln(N))))*(pow(N*ln(N)+(N*ln(ln(N))),0.5)) Fig. 4. Context specification of the nth prime number application
<ApplicationContext> Matrix Determinant 9MB 2KB 0.1KB 0.05KB N! 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 usertriggered 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 20000
Local Execution Offloading Our Solver
18000 16000 Response Time (ms)
365
14000 12000 10000 8000 6000 4000
30…
29…
28…
27…
26…
25…
23…
22…
20…
19…
17…
16…
14…
13…
950
800
750
700
650
600
550
500
300
200
100
0
11…
2000
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 Offloading Our Solver
Energy (milli joule)
60000 50000 40000 30000 20000 10000 0 2
3
4
5 6 7 Row Count in Matrix
8
9
10
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 nonentry 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 expressive power that it has to specify access control and to query XML encoded data. In this paper, we consider an experimental implementation 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 limitations 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 communication 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 incorporate security methods as part of its specification [15]. Ideally, access control can be achieved through the implementation of a formal language of authorisation 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. Ozcan, 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 control. 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 authorisations, 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 relationship 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 logicbased 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 previous 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 implements 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 provided software implementations of their XML access control models. For this reason, we not only present a brief overview of our formal language in this paper, 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 policy base is made up of rule statements and facts that define user accessibility Table 1. BNF for Axml(T ) ::= [ if [ ] [ with absence ] ] <deny-rule> ::= author will deny [ if [ ] [ with absence ] ] ::= | | | | ::= | , ::= | | | | ::= author says ::= author grants to <subject> during ::= below( , ) | separate( , ) | during( , ) | starts( , ) | finishes( , ) | before( , ) | overlap( , ) | meets( , ) | equal( , ) <subject> ::= <subject-constant> | <subject-variable> ::= | ::= | ::= author says that <subject> can use the during ::= author asks does <subject> have <privilege> rights to <xpath-statement> during ::= author creates ::= role( , <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> ::= <predicate-relationship> | <predicate-relationship> | <xpath-axis-expression> ::= | ::= | <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 statements are found to be true as well. Rules are reasoned upon primarily to determine when a subject is allowed to access a particular XML document. Facts are additional information such as , which define role or temporal interval relations, or , 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. Subjects, 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 straightforward, 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 relationships of authorisations we use. This primarily means rather than applying authorisations directly to subjects, we create roles that can have one or more specified 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 Interval 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 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. However, 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(graphicDesigner, +, /graphics/photographs/, read). author creates role(graphicDesigner, +, /graphics/photographs/, write). author creates role(graphicDesigner, +, /graphics/illustrations/paint @year=‘2011’], write). author creates role(graphicDesigner, -, /graphics/clipart//cartoons, read). author creates role(photographer, +, /graphics/photographs/, read).
author author author author author author if
creates role(photographer, +, /graphics/photographs/, write). says separate(graphicDesigner, photographer). says before(photoShoots, designMeetings). says during(presentations, designMeetings). grants graphicDesigner to Jemma during designMeetings. grants photographer to Bob during photoShoots 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 required. 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 Program 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 development 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/articles/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 -write /nutrition/dailyvalues assistant
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 /nutrition, read). author creates role(cookingstaff, +, in nutrition, return /nutrition/food/name, read). author creates role(nutritionist, +, in nutrition, return /nutrition/dailyvalues, write). author creates role(nutritionist, +, in nutrition, return /nutrition/food, write). author creates role(assistant, -, in nutrition, return /nutrition/dailyvalues, write). author says below(nutritionist, generaluser). author says below(assistant, nutritionist). author will deny if author grants nutritionist to S during T1, author grants nutritionist to S during T2, author says before(T1, T2). author grants assistant to S during T2 if author grants assistant to S during T1, author says before(T1, T2). author grants nutritionist to joel during T2 if
4.1
author grants nutritionist to sarah during T1, author says before(T1, T2). author will deny if author grants cookingstaff to S during monday. author will deny if author grants cookingstaff to S during friday. author says meets(monday, tuesday). author says meets(tuesday, wednesday). author says meets(wednesday, thursday). author says meets(thursday, friday). author grants cookingstaff to sinead during friday. author grants nutritionist to joel during tuesday. author grants nutritionist to joel during wednesday. author grants cookingstaff to patrick during thursday. author grants nutritionist to sarah during thursday. author grants assistant to sean during wednesday. author grants assistant to sean during thursday. author grants assistant to patrick during thursday.
Translating and Computing the Authorisations
Executing the translation functions of the implementation produces a logic program. 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(sarah,nutrition, nutrition food,write,thursday) auth(joel,nutrition, nutrition dailyvalues,write,monday) auth(joel,nutrition, nutrition food,write,monday) auth(sinead,nutrition, nutrition food name,read,wednesday) auth(sinead,nutrition, nutrition food name,read,wednesday) auth(joel,nutrition, nutrition dailyvalues,write,friday) auth(joel,nutrition, nutrition food,write,friday) auth(joel,nutrition, nutrition dailyvalues,write,wednesday) auth(joel,nutrition, nutrition food,write,wednesday) auth(patrick,nutrition, nutrition food name,read,thursday)
5
auth(patrick,nutrition, nutrition food name,read,thursday) auth(sarah,nutrition, nutrition,read,thursday) auth(sean,nutrition, nutrition,read,friday) auth(sean,nutrition, nutrition food,write,friday) auth(sean,nutrition, nutrition,read,wednesday) auth(sean,nutrition, nutrition food,write,wednesday) auth(sean,nutrition, nutrition,read,thursday) auth(sean,nutrition, nutrition food,write,thursday) auth(joel,nutrition, nutrition,read,monday) auth(joel,nutrition, nutrition,read,friday) auth(joel,nutrition, nutrition,read,wednesday)
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. 2. 3. 4.
Computation time as the size of the policy base increases uniformly (without complex rules) Evaluating computation time as the complexity of Axml(T ) /ALP rules increases Effects of computation time as the number of XML documents requiring authorisation increases 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 ) language, we discussed the features, structure, technical specifications, and algorithmic 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 prototype. 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 access 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 Proceedings (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 authorisations 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 computing 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 operational 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 properties 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 Specification.
1 Introduction Nowadays, Internet is used everywhere from personal leisure browsing to business trading, from our everyday routines such as banking, shopping to high technology applications 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 organizations 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 reduce their operational and capital expenditure. ¨ A. Ozcan, 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 increase 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 productivity 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 organization’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 extensively 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 specifications [2] have been investigated. Since logic based approaches provide a powerful expressiveness [9] as well as flexibility for capturing a variety of system security requirements, increasing work has been focusing on this aspect. However, how these approaches 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 structure 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 authorization 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 productivity. 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 legitimate 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
U1
AoS
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 datacenter 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 formalism, 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 formula, 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 legitimate 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 explicitly 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 information 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 Company, 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 Publishing 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 Computer 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 Security. 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: Proceedings 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 multilevel 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
Where
A.K. Dubey et al.
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 multicriteria 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 fourphased 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
Statistical Model Base (contains standard deviation, coefficient of variation routines)
Stage II Statistical Analysis 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 Mark the tender price as non-freak
(2)
The calculation for Standard deviation, σ is: ∑
where
(3)
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. ii.
µ - X% µ µ -σ
OR
(8) (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:
A=
A1 A2 A3
A1 1 1/a21 1/a31
A2 a12 1 1/a32
A3 a13 a23 1
An a1n a2n a3n
Am
1/am1
1/am2
1/am3
1
The interpretation of 1-9 scales for pair wise comparison
The criteria that are arranged in the decision matrix are on ascending order of importance. They are based on the Ranking model values.
(10)
The guidelines to assist a DM to enter consistent data input into the decision matrix.
The values in these two columns are automatically computed after ‘Kira’ 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 Abdu, Abdullahi Ibrahim 135 Ahmad, Fadhilah 406 Al-Asfoor, Muntasir 337 Aldabbas, Hamza 297 Aldabbas, Omer 297 Al-Majeed, Salah 337 Alwada’n, Tariq 297 Ananthapadmanabha, T. 57 Artin, Javad 145 Azer, Marianne Amir 65 Baccouche, Le¨ıla 123 Bag, Samiran 83 Bai, Yun 378, 388 Bandyopadhyay, Soma 288 Ben Ghezala, Henda 123 Ben Haj Hmida, Moez 348 Bouallegue, Ridha 185 Boucherkha, Samia 256
Janicke, Helge 297 Joseph C., Rijo 170 Kafaie, Somayeh 358 Kannan, A. 414 Kashefi, Omid 358 Kecman, Vojislav 110 Khandagre, Yogeshver 397 Kianersi, Mehrdad 236 Kushwaha, Ganesh Raj 397 Li, Qi 110 Linington, Peter Luo, Guangcun
325 95
Maiti, Souvik 288 Maleki, Amin Amini 246 Mozafari, Saadat Pour 228 Mukherjee, Amartya 170
Chaki, Rituparna 14, 24, 35 Chen, Aiguo 95 Chen, Hao 95 Chettibi, Saloua 1 Chikhi, Salim 1, 217
Nandi, Subrata 170, 197 Nandi, Sukumar 305
Dagdeviren, Orhan 315 Das, Ayan Kumar 24 da Silva, Erick Lopes 325 Djeghri, Mohamed Nadjib 256 Drira Rekik, Jihen 123 Dubey, Ashutosh K. 397 Dutta, Subhajit 288 Erciyes, Kayhan
Haddad, Rim 185 Hashemi, Reza 246 Hassan, Md. Mahedi 45 Hemnani, Khushboo 397
Patra, Sushovan 197 ¨ Payli, Re¸sat Umit 315 Policarpio, Sean 378, 388 Poo, Kuan Hoong 45 Puttamadappa, C. 57 Qin, Ke 95 Qu, Caihui 95
315 Rabieh, Khaled Mohamed 65 Rahimunnisa, K. 279 Rajeshkumar, K. 279 Ridjanovic, Dzenan 368 Roy, Debdutta Barman 14
Fasli, Maria 337 Feham, Mohamed 73 Fong, Simon 207, 266 Gardeshi, Mahmoud 236 Gherboudj, Amira 217 Ghorbannia Delavar, Arash
145
Saha, Amrita 83 Saha, Sujoy 170, 197
430
Author Index
Salamah, Muhammed 135, 159 Salman, Raied 110 Saman, M. Yazid M. 406 Sarı¸sın, G¨ ozde 159 Sarkar, Pinaki 83 Sarma, Abhijit 305 Sengupta, Munmun 288 Sengupta, Satadal 197 Senthilkumar, Radha 414 Shah, Vijay 197 Sharifi, Mohsen 358 Sheidaeian, Hamed 228 Sheldekar, Anirudh 170 Shrivastava, Nishant 397 Singh, Konsam Gojendra 197 Sinha, Ditipriya 35
Slimane, Zohra 73 Slimani, Yahya 348 Strack, Robert 110 Suma, A.P. 57 Surekha, T.P. 57 Sureshkumar, S. 279 Sushovan 170 Tajari, Mohammad Mahdi Taleb-Ahmed, Abdelmalik Test, Erick 110 Tiwari, Ruby 397 Yousefi, Hamed 236 Yousefi, Saleh 246 Zolfaghari, Behrouz
228
145 73