21.01.2015 Views

International Conference on Computer Networks and Security ...

International Conference on Computer Networks and Security ...

International Conference on Computer Networks and Security ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g><br />

<strong>on</strong><br />

<strong>Computer</strong> <strong>Networks</strong> <strong>and</strong> <strong>Security</strong><br />

(ICCNS 08)<br />

(September 27-28, 2008)<br />

Organized by<br />

Department of <strong>Computer</strong> Engineering<br />

Bansilal Ramnath Agarwal Charitable Trust’s<br />

Vishwakarma Institute of Technology , Pune<br />

(An Aut<strong>on</strong>omous Institute affiliated to University of Pune)<br />

666, Upper Indira Nagar, Bibwewadi , Pune , India 411 037


Informati<strong>on</strong> c<strong>on</strong>tained in this work has<br />

been obtained by Vishwakarma<br />

Institute of Technology, from sources<br />

believed to be reliable.<br />

However, Vishwakarma Institute of<br />

Technology, does not guarantee a the<br />

accuracy or completeness of any<br />

informati<strong>on</strong> published herein.<br />

Vishwakarma Institute of Technology<br />

accepts no resp<strong>on</strong>sibility for opini<strong>on</strong>s<br />

<strong>and</strong> statements made by individual<br />

authors. Editorial board may or may<br />

not agree with the matter printed<br />

inside.<br />

Vishwakarma Institute of Technology<br />

Copyright © 2008 , by Vishwakarma Institute of Technology, Pune<br />

No part of this publicati<strong>on</strong> may be reproduced or distributed in any form or by any<br />

means , electr<strong>on</strong>ic, mechanical, photocopying , recording , or otherwise or stored in a<br />

database without the prior written permissi<strong>on</strong> of the publishers.<br />

ISBN 978-81-906198-0-7<br />

Published by the Vishwakarma Institute of Technology,<br />

666, Upper Indira Nagar, Bibwewadi, Pune 411 037 <strong>and</strong><br />

Printed at Kalyani Corporati<strong>on</strong>,<br />

Near Renuka Swaroop School, Sadashiv Peth, Pune 411 030


In associati<strong>on</strong> with<br />

Persistent Systems Limited<br />

Wipro Technologies<br />

Asian Institute of Technology,<br />

Bangkok<br />

Groupe des Ecoles des mines<br />

France


Patr<strong>on</strong>s<br />

Shri Rajkumar Agarwal<br />

Shri Bharat Agarwal<br />

General Chair<br />

Prof. Hemant Abhyankar<br />

Chaiman, Bansilal Ramnath Agarwal Charitable Trust, Pune<br />

Managing Trustee<br />

Director, Vishwakarma Institute of Technology , Pune<br />

Advisory Chairs<br />

Prof. Said Ir<strong>and</strong>oust<br />

Dr. Ashok Jhunjhunwala<br />

Dr. Ch<strong>and</strong>ra Sekaran K.<br />

Dr. Shridhar Shukla<br />

Dr. Sachin Lodha<br />

Dr. Parag Kulkarni<br />

Mr. Bajrangdas Lohiya<br />

Mr. Udayan Kanade<br />

Dr. Ravi Thool<br />

Dr. P.J. Kulkarni<br />

Dr. D.B. Kulkarni<br />

Dr. P.W. Wani<br />

Dr. G.V. Choudhari<br />

Dr. B.S. Choudhari<br />

Dr. D.H. Manjaiah<br />

Dr. S.D. Lokh<strong>and</strong>e<br />

Dr. D.S. Bormane<br />

Dr. J.V. Kulkarni<br />

Dr. A.S. Abhyankar<br />

AIT, Bangkok<br />

IIT, Madras<br />

NIT, Suratkal<br />

GS Lab, Pune<br />

TCS, Pune<br />

Capsil<strong>on</strong>, Pune<br />

CISPL, Pune<br />

Oneirix, Pune<br />

SGGS COE , N<strong>and</strong>ed<br />

Walch<strong>and</strong> College of Engineering , Sangli<br />

Walch<strong>and</strong> College of Engineering , Sangli<br />

Dean, Faculty of Engineering, University of Pune<br />

Dr. Babasaheb Ambedkar Technological University<br />

IIIT, Pune<br />

Mangalore<br />

Sinhgad College of Engineering ,Pune<br />

Rajarshee Shahu College of Engineering , Pune<br />

Vishwakarma Institute of Technology, Pune<br />

Vishwakarma Institute of Informati<strong>on</strong> Technology, Pune<br />

iv


Editor’s View<br />

As our country is working towards coming <strong>on</strong> a forefr<strong>on</strong>ts of technology, <strong>Computer</strong><br />

<strong>Networks</strong> <strong>and</strong> <strong>Security</strong> Systems have a very important role to play.<br />

For celebrating the 25 th anniversary of our Institute, our senior faculty <strong>and</strong> Heads of<br />

Departments have planned a series of <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>s <strong>on</strong> important<br />

technical issues. The Department of <strong>Computer</strong> Engineering <strong>and</strong> their faculty have<br />

taken great efforts to network researchers in the area of <strong>Computer</strong> <strong>Networks</strong> <strong>and</strong><br />

<strong>Security</strong>. It is a pleasure to note that a good number of researchers have resp<strong>on</strong>ded<br />

<strong>and</strong> are c<strong>on</strong>tributing to this <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>.<br />

I take this opportunity to extend a warm welcome to them <strong>and</strong> formally thank them<br />

for their participati<strong>on</strong>.<br />

The interacti<strong>on</strong> during this c<strong>on</strong>ference through paper presentati<strong>on</strong>s <strong>and</strong> invited<br />

speeches would offer joyful learning to all the participants. The Institute is really too<br />

keen to ensure that learning always remains joyful.<br />

Hemant Abhyankar,<br />

Chief Editor, ICCNS 08<br />

Director, Vishwakarma Institute of Technology , Pune


Index<br />

Network <strong>Security</strong><br />

NS01 Parametric Neuro <strong>Security</strong> System with Intrusi<strong>on</strong> Detecti<strong>on</strong> Capability 01<br />

Meenaxi M. Raikar, Deepa S. Garag<br />

NS02 SHA-1 algorithm based Integrity checking tool for the <strong>Security</strong> Enhancement 06<br />

Mohd. Ashraf , Rashid Ali<br />

NS03 Cross layer Backb<strong>on</strong>e Routing for MANET based <strong>on</strong> B<strong>and</strong>width Estimati<strong>on</strong> 11<br />

Rekha Patil, Dr. A. Damodaram<br />

NS04 Vulnerability in WIMAX MAC 16<br />

Prof. P. A. Bamnodkar, Prof. G. V. Garje, Pankaj Kulkarni<br />

NS05 Efficient Indexing <strong>and</strong> Searching for dynamic website 20<br />

Karunendra Verma, Prof. R.V. Pawar<br />

NS06 ARBSGen: Associati<strong>on</strong> Rule Based automatic worm Signature Generati<strong>on</strong> 25<br />

S<strong>and</strong>eep A. Thorat, Rohit A. Khot<br />

NS07<br />

Integrated Approach for Signature Extracti<strong>on</strong> <strong>and</strong> Profile Generati<strong>on</strong> of Malwares<br />

with M<strong>on</strong>itoring <strong>and</strong> Detecti<strong>on</strong><br />

Suhel Ahamed, Dr. J. L. Rana, R. K. Pateriya<br />

30<br />

NS08 <strong>Security</strong> in Java2 Micro Editi<strong>on</strong> Using MIDlet 35<br />

Vasanth. G., Pradeep B. S., Soumya S., Venugopal A. G.<br />

NS09 Using Neuro-fuzzy techniques to reduce false alerts in IDs 44<br />

Ga<strong>on</strong>jar Paresh, N. Z. Tarapore, S. G. Pukale<br />

NS10<br />

<strong>Security</strong> Threats Awareness for Mobile Ad hoc <strong>Networks</strong>: Applicati<strong>on</strong>s <strong>and</strong><br />

Challenges<br />

Parul Agarwal, Brijesh Singh Yadav<br />

50<br />

NS11 Protecti<strong>on</strong> of Sensitive Data in Wireless Devices 56<br />

Nikhil Agrawal, Shubhank Jain, Sheetal Takale<br />

vii


NS12 Securing AODV for MANETs using Message Digest with Secret Key 62<br />

Sunil J. S<strong>on</strong>i, Prashant B. Swadas<br />

NS13 A Survey <strong>on</strong> <strong>Security</strong> issues in Mobile ADHOC networks 68<br />

Pallavi Khatri , Sarita Bhadoria, Mamta Narwariya<br />

NS14 Statistical based anomaly detecti<strong>on</strong> technique for detecting intrusi<strong>on</strong>s in Snort N-IDS 73<br />

Sumithra Devi K A., Andhe Dharani, Renuka Prasad B., Akshay L. Marathe<br />

NS15<br />

Applying Knowledge Discovery in Database Techniques in Modeling Packet Header<br />

Anomaly Intrusi<strong>on</strong> Detecti<strong>on</strong> Systems<br />

Solahuddin B. Shamsuddin, Mike E. Woodward<br />

78<br />

NS16 Rich Internet Applicati<strong>on</strong>s <strong>Security</strong> Enhancements 86<br />

Dr. Maheshkumar H. Kolekar, Prof. A. J. Patankar, Yogi R. Joshi<br />

NS17 Issues Over Wireless Links 91<br />

Rachana T. Nemade<br />

NS18 Efficient <strong>and</strong> Secure Multicast Communicati<strong>on</strong> 97<br />

Karan Singh, Rama Shankar Yadav<br />

NS19<br />

Enhanced Optimistic Fair-exchange Protocols for Secured Electr<strong>on</strong>ic Transacti<strong>on</strong>s<br />

Based <strong>on</strong> DSA Signatures<br />

Kishore B. Pawar, Sunil G. Bhirud<br />

103<br />

NS20 Improved Algorithmic Routing for Disrupti<strong>on</strong> Tolerant Network 107<br />

Mohammad Arif, Rama Shankar Yadav<br />

NS21 Implementati<strong>on</strong> of Protocol Anomaly Detecti<strong>on</strong> System for Network <strong>Security</strong> 113<br />

Prof. Sahana Bhosale, Prof. Ravindra P. Joshi, Prof. Prakash H. Patil<br />

NS22<br />

<strong>Security</strong> enhancement by reliable secret sharing <strong>and</strong> embedding using bit plane<br />

complexity segmentati<strong>on</strong><br />

S<strong>on</strong>ali Patil, Dr. Arpita Gopal, Amresh Nikam, M. A. Potey<br />

119<br />

viii


Network Management<br />

NM01<br />

Analysis of Reactive Routing Protocols in C<strong>on</strong>gested MANETS based <strong>on</strong> Energy<br />

C<strong>on</strong>sumpti<strong>on</strong><br />

M. Neelakantappa, Dr. B. Satyanarayana, Dr. A. Damodaram<br />

124<br />

NM02 Analytic Investigati<strong>on</strong> for <strong>Security</strong> in Wireless Hotspot <strong>Networks</strong> 128<br />

Raad A. Muhajjar, S. Kazim Naqvi, Nupur Prakash<br />

NM03 Aut<strong>on</strong>omic System Manager 134<br />

Karuna C. Gull, Prof. R. M. Jogd<strong>and</strong><br />

NM04 CHAMELEON: An Agile Framework For Adaptive Web Site Generati<strong>on</strong> 140<br />

Abhinay R. Nagpal, Deepak M. Zambre, Chinmay P. Soman, Harshwardhan S. Mulay<br />

NM05 X-Server Database: Str<strong>on</strong>g RDBMS for Wired <strong>and</strong> Wireless Network 147<br />

Prof. Prakash Devale, Pritesh Patil<br />

NM06 Transliterati<strong>on</strong> Approach for Customizable Localizati<strong>on</strong> 151<br />

Sanjesh S. Pawale, Manikrao L. Dhore, Mahesh R. Dube, Ashutosh M. Kulkarni<br />

NM07<br />

Adaptive <strong>and</strong> Aggregati<strong>on</strong> Aware Scheduling Algorithm for Event Detecti<strong>on</strong><br />

Applicati<strong>on</strong><br />

A. Sivagami , K. Pavai, D. Sridharan, S. A. V. Satya Murty<br />

156<br />

NM08 An Efficient Eager Dynamic Primary Copy Algorithm for Replicated UDDI Registry 161<br />

Pradhan B. Umesh, Bharath Kumar A. R., Ananthanarayana V. S.<br />

NM09 Evaluati<strong>on</strong> of Huffman Coding Technique 167<br />

P. D. Ganjewar, Prof. U. S. Bhadade<br />

NM10 Methods For Efficient Work Load Migrati<strong>on</strong> 171<br />

P. Neelakantan, Dr. M. M. Naidu<br />

NM11 Requirements Driven Modeling of Aut<strong>on</strong>omic Systems 175<br />

K. Ch<strong>and</strong>ra Sekaran, Prarthana A. G., Shruthi Viswanath<br />

NM12 Performance Evoluti<strong>on</strong> of AODV, DSDV <strong>and</strong> DSR for MANET 181<br />

Lakshmikanth G., Prof. A. Gaiwak, Dr. P .D. Vyavahare<br />

ix


NM13<br />

Mutually Exclusive Determinati<strong>on</strong> of Shortest Path in Mobile Ad-Hoc <strong>Networks</strong> – A<br />

tree based approach<br />

Sanket Sarang<br />

187<br />

NM14 Optimized FTP System 192<br />

Patil S. H., Khadtare M., Ursal S. U., Mahajan S. A.<br />

NM15<br />

Time-slotted Routing Technique Enhances Wireless Communicati<strong>on</strong> in Mobile Adhoc<br />

Network<br />

Pallavi Khatri, Ankush Jain<br />

198<br />

NM16 Adaptive Call Admissi<strong>on</strong> C<strong>on</strong>trol for Wireless Mobile Network 202<br />

Varsha N. Wahane, Vijayalaxmi Kadroli<br />

NM17 A Vigorous Spanning Tree Topology for Distributed Applicati<strong>on</strong>s 207<br />

Smita A. Attarde, Shital K. Dhamal<br />

NM18 Hybrid Chaining Scheme for Video-<strong>on</strong>-Dem<strong>and</strong> Applicati<strong>on</strong>s Based <strong>on</strong> Popularity 213<br />

R. Roopalakshmi, R. Ashok Kumar<br />

NM19 Broadb<strong>and</strong> Network for Live EduSat C<strong>on</strong>nectivity of <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> Proceedings 220<br />

M. Murugan, N. P. Pathak, A. S. Tavildar, M. J. Khurjekar<br />

NM20 Evoluti<strong>on</strong>ary Algorithm for Hybrid Channel Allocati<strong>on</strong> in Wireless Mobile Network 224<br />

S. R. Shinde, A. M. Jadhav<br />

NM21 Optimum Detecti<strong>on</strong> in Block Data Transmissi<strong>on</strong> Systems Using Genetic Algorithm 228<br />

Sameena Naaz, Afshar Alam<br />

NM22 Optimized B<strong>and</strong>width Sharing for Delay Guarantee Using Feedback Loop C<strong>on</strong>trol 234<br />

Prem Kumar N<strong>on</strong>ia , R. Manivasakan<br />

NM23 Network Analyzers <strong>and</strong> Device Management 238<br />

Thaksen J Parvat, Dr. Yogesh Singh , Dr. Pravin Ch<strong>and</strong>ra<br />

NM24<br />

A Novel Method of Broadcasting using Z<strong>on</strong>e Based Multicasting AMRoute in Mobile<br />

Adhoc <strong>Networks</strong><br />

Wg Cdr(Retd) Devasish Pal<br />

241<br />

NM25 Mobile Forensics: the study of collecting digital evidence from mobile devices 246<br />

Rizwan Ahmed, Dr. R. V. Dharaskar, Dr. V. M. Thakare<br />

x


Cryptography <strong>and</strong> Cryptographic Protocols<br />

CP01<br />

CP02<br />

Implementati<strong>on</strong> of Cryptography using VLSI Technology to improve Data <strong>Security</strong><br />

with High Flexibility<br />

Sheetal N. Raut, Smita R. Desai, Dr. P. M. Patil<br />

EEEP: An Energy Efficient Electi<strong>on</strong> Protocol for Multi-level Clustering in<br />

Homogeneous Wireless Sensor <strong>Networks</strong><br />

Nidhi Bansal, T. P. Sharma, Manoj Mishra, R. C. Joshi<br />

254<br />

258<br />

CP03 Cryptanalysis <strong>and</strong> <strong>Security</strong> Comparis<strong>on</strong> of Two Clock C<strong>on</strong>trolled Generators 264<br />

Ancy S. Anselam, Deepthi P. P., Sathidevi P.S.<br />

CP04<br />

Elliptic Curve Cryptography based Mutual Authenticated Key Agreement protocol for<br />

secured wireless communicati<strong>on</strong><br />

Kakali Chatterjee<br />

270<br />

CP05 Hardware Efficient Stream Cipher Based <strong>on</strong> Hash Functi<strong>on</strong> 274<br />

Lakshmi V. S., Deepthi P. P., Sathidevi P.S.<br />

CP06 The Informati<strong>on</strong> Encrypti<strong>on</strong> Using Fib<strong>on</strong>acci Series 280<br />

Balasaheb S. Tarle, Dr. Vrinda Tokekar<br />

CP07<br />

Proactive Loss Predicti<strong>on</strong>: A soluti<strong>on</strong> to problem<br />

of Packet Reordering in TCP<br />

Pradhan B. Umesh, Rio G. L. D’Souza<br />

287<br />

CP08 <strong>Security</strong> Vulnerabilities in mobile IPv6 293<br />

R Radhakrishnan, Majid Jamil, Shabana Mehfuz, Moinuddin<br />

CP09 A Study <strong>on</strong> Comparis<strong>on</strong> <strong>and</strong> C<strong>on</strong>trast between IPv6 <strong>and</strong> IPv4 Feature Sets 297<br />

Hanumanthappa J., Manjaiah D. H.<br />

CP10 Improved Preemptive Multipath On Dem<strong>and</strong> Routing Protocol for Adhoc <strong>Networks</strong> 303<br />

Sujatha P. Terdal, Dr V. D. Mytri, Dr. A. Damaodaram<br />

CP11<br />

CP12<br />

Evaluati<strong>on</strong> <strong>and</strong> Improving Performance of the Dynamic Source Routing Protocol for<br />

MANETS<br />

Dr. B. Satyanarayana, M. Neelakantappa, Dr. A. Damodaram<br />

Performance Analysis of Routing Protocols in Wireless Sensor <strong>and</strong> Actor <strong>Networks</strong><br />

from an Actor to Actor Perspective<br />

Gowrishankar S., T. G. Basavaraju, Manjaiah D. H., Subir Kumar Sarkar<br />

307<br />

313<br />

xi


CP13 Soft One To One Gateway Protocol 319<br />

Balach<strong>and</strong>ra G. C., Hanumantappa J.<br />

CP14 Visual Cryptography & BPCS Steganography 325<br />

M. P. Wankhade, S.T. Patil<br />

CP15 VoIP Bluetooth Technology 329<br />

F. M. Inamdar, S. R. Rathi<br />

CP16 Cryptanalysis of RSA Using Mobile Agents 330<br />

Prof. Sanjeev S. Sannakki, Prof .D. M. Choudhari, Prof. H. H. Kenchannavar<br />

Biometrics<br />

BM01 Biometric <strong>Security</strong> 339<br />

Swapnaja B. More, Amol B. Ubale<br />

BM02<br />

Comparis<strong>on</strong> of Wavelet Transform <strong>and</strong> Optimal Transform [PCA] for Facial<br />

Recogniti<strong>on</strong><br />

Dr. H B. Kekre, Kamal Shah<br />

342<br />

BM03 Fingerprint Identificati<strong>on</strong> using Principle Comp<strong>on</strong>ent Analysis (PCA) 346<br />

Dr. H. B. Kekre, Tanuja K. Sarode, Vinaya M. Rawool<br />

BM04 A Survey On Current Fingerprint Matching Methods 352<br />

Bharkad Sangita, Dr. Manesh Kokare<br />

BM05<br />

C<strong>on</strong>sistent Key Generati<strong>on</strong> from Fingerprint Identifier for Probabilistic Approach<br />

Dynamically<br />

Pallavi Talega<strong>on</strong>kar, Dr. Aditya Abhyankar, Prof. Abhijeet Patankar<br />

357<br />

BM06 Multimodal Biometric system using shape <strong>and</strong> texture based Comp<strong>on</strong>ents 363<br />

Deshmukh Sudarshan S., Prof.Thakore Devendra, Wathap Sapankumar Rajkumar<br />

BM07<br />

DCT Applied to Column Mean <strong>and</strong> Row Mean Vectors of Image for Fingerprint<br />

Identificati<strong>on</strong><br />

Dr. H. B. Kekre, Tanuja K. Sarode, Sudeep D. Thepade<br />

367<br />

xii


Digital Watermarking<br />

DW01 Audio Steganography 373<br />

S. M. Bhadkumbhe, M. C. Hingane, G. M. Bh<strong>and</strong>ari, S. B. Choudhari<br />

DW02 Imperceptible <strong>and</strong> Robust Data Hiding 379<br />

Suresh N. Mali, Rajesh M. Jalnekar, Mahesh R. Dube<br />

DW03 SMS Steganography Based On Alphabets 385<br />

Prof. Shimna Balakrishnan, Prof. P. M. Kamde, Prof. K. S. Korabu<br />

DW04<br />

C<strong>on</strong>tent Based Image Mining Approach For Terrain Knowledge In Remote Sensing<br />

Imagery<br />

J. L. Bind, Rimmi Devgan<br />

389<br />

DW05 A New Wavelet Shrinkage Method for Estimati<strong>on</strong> of Biological Signals 393<br />

V. V. K. D. V. Prasad, P. Siddaiah, B. Prabhakara Rao<br />

DW06 Speaker Identificati<strong>on</strong> for the futuristic house 399<br />

D. Y. Sakhare, P. S. Mahajani, P. S. Kasliwal<br />

DW07 Real time speech scrambling <strong>and</strong> descrambling in time <strong>and</strong> frequency domain 405<br />

Sarita Rajput , Khadtare M. S. , Prof. A. J. Patankar, Dr. M. H. Kolekar<br />

DW08 Steganography in MS Word Document using its In-built Features 410<br />

V. S. Tidake, Prof. S. G. Pukale, Prof. M. L. Dhore<br />

DW09 Waveletbased medical data compressi<strong>on</strong> for telemedicine applicati<strong>on</strong>s 414<br />

Bairagi Vinayak, Dr. A. N. Gaikwad<br />

DW10 Applicati<strong>on</strong> of Beamlets to Detect & Extract Lines in Noisy Images 418<br />

Suchitra Khoje, Prof. Dr. S. D. Lokh<strong>and</strong>e, Prof. M. L. Dhore<br />

DW11<br />

DW12<br />

Fingerprint Based Authenticati<strong>on</strong> System using C<strong>on</strong>vex Hull: Invariant to Geometrical<br />

Translati<strong>on</strong> <strong>and</strong> Rotati<strong>on</strong><br />

J. Howlader, S. Bansal, A. Kundu, Santhosh Y., B. Chakraborty<br />

Compact Representati<strong>on</strong> for Dynamic Texture Synthesis Using Multi Way SVD <strong>and</strong><br />

YCbCr Color Coding<br />

Preman<strong>and</strong> P. Ghadekar, Manik L. Dhore, Suresh N. Mali, Dr. Ashok M. Sapkal<br />

422<br />

427<br />

xiii


DW13<br />

Design Of Optimal Mlp Neural Network Classifier For Intelligent Iris Recogniti<strong>on</strong><br />

System For Pers<strong>on</strong> Identificati<strong>on</strong><br />

Sanjay R. Ganorkar, Dr. Ashok A. Ghatol<br />

432<br />

DW14 Entropy Based Fast Fractal Image Compressi<strong>on</strong> 438<br />

Pradnya Kulkarni , Prof. S. N. Mali, Prof. M. V. Kulkarni<br />

Discrete Streams<br />

DS01<br />

Arm Processor Based Smart Time Attendance M<strong>on</strong>itoring & Recording System Using<br />

Thumb Scanner & Smart Card<br />

Aarti Patil, Prof. A. M. Agarkar, Anupama V. Patil<br />

443<br />

DS02 Fault Tolerant Grid Computing System 448<br />

Manik Mujumdar, Meenakshi Bheevgade, Latesh Malik<br />

DS03 Design of Microwave Drying System with Phase C<strong>on</strong>troller: A Modified Applicator 452<br />

A. S. Jambhale, B. V. Barbadekar<br />

DS04 LFSR implementati<strong>on</strong> in CMOS VLSI 458<br />

Doshi N. A., Dhoble S. B., Kakade S.R.<br />

DS05 Boolean Functi<strong>on</strong>s Realized Using Quantum Gates With Two Level Implementati<strong>on</strong> 463<br />

Pijush Kanti Bhattacharjee<br />

DS06 Power Management in Wireless Sensor <strong>Networks</strong>: An Introductory Survey 469<br />

Binu G. S., K. Paulose Jacob<br />

DS07 An Improved GPS Locati<strong>on</strong> Tracking with Velocity Estimati<strong>on</strong> 475<br />

Mohammad Zahaby, Ganesh D. Bhutkar, Prof. M. L. Dhore<br />

xiv


ICCNS 08<br />

Network <strong>Security</strong>


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Parametric Neuro <strong>Security</strong> System with<br />

Intrusi<strong>on</strong> Detecti<strong>on</strong> Capability<br />

Mrs. Deepa S Garag, Mrs. Meenaxi M Raikar SDM College of Engineering <strong>and</strong> Technology Dharwad, India<br />

Abstract- <strong>Security</strong> is a compulsory need for data operati<strong>on</strong> today.<br />

The authenticati<strong>on</strong> process or commerce exchanges need security <strong>and</strong><br />

reliability. The algorithm developed using Artificial Neural <strong>Networks</strong><br />

can be used anywhere where <strong>Security</strong> is a must. It can be applied<br />

whenever data is transmitted across an accessible Medium (wireless,<br />

wires, etc),protecti<strong>on</strong> of pers<strong>on</strong>al resource, bank transacti<strong>on</strong>s where<br />

security is m<strong>and</strong>atory. An Intrusi<strong>on</strong> Detecti<strong>on</strong> System detects attacks<br />

as so<strong>on</strong> as possible <strong>and</strong> takes appropriate acti<strong>on</strong>. A back propagati<strong>on</strong><br />

neural network was trained in the identificati<strong>on</strong> task <strong>and</strong> tested<br />

experimentally <strong>on</strong> a system.<br />

Key words- security, artificial neural networks, intrusi<strong>on</strong><br />

detecti<strong>on</strong><br />

I. INTRODUCTION<br />

The timely <strong>and</strong> accurate detecti<strong>on</strong> of computer <strong>and</strong> network<br />

system intrusi<strong>on</strong>s has always been an exclusive goal for<br />

system administrators <strong>and</strong> informati<strong>on</strong> security researchers.<br />

The individual creativity of attackers, the wide range of<br />

computer hardware <strong>and</strong> operating systems, <strong>and</strong> the ever<br />

changing nature of the overall threat to target systems have<br />

c<strong>on</strong>tributed to the difficulty in effectively identifying<br />

intrusi<strong>on</strong>s. An Artificial Neural <strong>Networks</strong> detects attacks as<br />

so<strong>on</strong> as possible <strong>and</strong> takes appropriate acti<strong>on</strong>. Artificial<br />

Neural <strong>Networks</strong> study normal network operati<strong>on</strong> <strong>and</strong> “learn”<br />

to recognize traffic that is abnormal, makes decisi<strong>on</strong>s by<br />

analyzing data <strong>and</strong> calculating probability estimate from<br />

comparis<strong>on</strong> of the data against knowledge base.<br />

I.1 ARTIFICIAL NEURAL NETWORK LEARNING<br />

Learning is a dynamic process by which a system resp<strong>on</strong>ding<br />

to an envir<strong>on</strong>mental influence reorganizes itself in such a<br />

Artificial Neural <strong>Networks</strong> that it becomes better in<br />

functi<strong>on</strong>ing in the envir<strong>on</strong>ment. Learning in Artificial neural<br />

networks may be thought of as a special case of Machine<br />

Learning. An artificial neural network c<strong>on</strong>sists of a collecti<strong>on</strong><br />

of processing elements that are highly interc<strong>on</strong>nected <strong>and</strong><br />

transform a set of inputs to a set of desired outputs. The result<br />

of the transformati<strong>on</strong> is determined by the characteristics of<br />

the elements <strong>and</strong> the weights associated with the<br />

interc<strong>on</strong>necti<strong>on</strong>s am<strong>on</strong>g them. By modifying the c<strong>on</strong>necti<strong>on</strong>s<br />

between the nodes the network is able to adapt to the desired<br />

outputs [12].<br />

II.<br />

MOTIVATION<br />

The potential possibility of a deliberate unauthorized attempt<br />

to access informati<strong>on</strong>, manipulate informati<strong>on</strong>, render a<br />

system unreliable or unusable.<br />

The problem with Artificial Neural <strong>Networks</strong> is that the<br />

intruder can train the net during its learning phase, net<br />

topology is <strong>on</strong>ly determined after c<strong>on</strong>siderable trial <strong>and</strong> error.<br />

In simplest form, resource must be utilized by authentic user is<br />

the soluti<strong>on</strong> to the above said problem. Hiding the learning<br />

phase from the intruder <strong>and</strong> the net topology can be easily<br />

implemented. Artificial Neural <strong>Networks</strong> provides multilevel,<br />

multivariable security system, which can fulfill the str<strong>on</strong>g<br />

requirement of security. Apart from providing security,<br />

Artificial Neural <strong>Networks</strong> will have the capability to detect,<br />

if any intrusi<strong>on</strong> happens, as well as several parameters will be<br />

analyzed to know the intruder activity. The technique saves<br />

time <strong>and</strong> m<strong>on</strong>ey in setting up system, reduces human<br />

interventi<strong>on</strong>.<br />

Fig.1 Framework of the security system<br />

III. RELATED WORK<br />

Most current approaches to the process of detecting intrusi<strong>on</strong>s<br />

utilize some form of rule based analysis. Rule based analysis<br />

relies <strong>on</strong> sets of predefined rules that are provided by an<br />

administrator, automatically created by the system, or both.<br />

Expert systems are the most comm<strong>on</strong> form of rule-based<br />

intrusi<strong>on</strong> detecti<strong>on</strong> approaches [11,16] The use of expert<br />

system techniques in intrusi<strong>on</strong> detecti<strong>on</strong> mechanisms was a<br />

significant milest<strong>on</strong>e in the development of effective <strong>and</strong><br />

practical detecti<strong>on</strong>-based informati<strong>on</strong> security systems [9, 11,<br />

14, 15, 16, <strong>and</strong> 17].<br />

Artificial neural networks have also been proposed for use in<br />

the detecti<strong>on</strong> of computer viruses. In [10] <strong>and</strong> [12] neural<br />

networks were proposed as statistical analysis approaches in<br />

the detecti<strong>on</strong> of viruses <strong>and</strong> malicious software in computer<br />

networks. The neural network architecture which was selected<br />

for [12] was a self-organizing feature map which uses a single<br />

layer of neur<strong>on</strong>s to represent knowledge from a particular<br />

domain in the form of a geometrically organized feature map.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 1


Proceedings of ICCNS 08 , 27-28 September 2008<br />

IV. PROBLEM STATEMENT<br />

The main objective of this paper is to implement the<br />

functi<strong>on</strong> of Artificial Neural <strong>Networks</strong> in this security system<br />

as a <strong>on</strong>e-way HASH functi<strong>on</strong>.<br />

V.2 TESTING PHASES<br />

Once the learning phase is over, to check the capability of the<br />

machine, it has to pass in the test phase.<br />

V.2 MULTI-VARIABLE PARAMETERS AND THEIR HIERARCHY IN SECURITY<br />

SYSTEM<br />

• Time of intrusi<strong>on</strong> (Year, M<strong>on</strong>th,Date, Hour, Minutes,<br />

Sec<strong>on</strong>ds)<br />

• Identificati<strong>on</strong> inserted by intruder (Length check)<br />

• Time taken in inserting the Identificati<strong>on</strong><br />

• No of trails taken by intruder before unauthenticati<strong>on</strong><br />

declared.<br />

Xi User Identity<br />

Yi Output of processing envir<strong>on</strong>ment<br />

• Implement unique value corresp<strong>on</strong>ding to Xi<br />

• The Reverse Transformati<strong>on</strong> should not be possible (i.e., Xi<br />

Artificial Neural <strong>Networks</strong> to be recovered from Yi)<br />

• To design the size of the Artificial Neural <strong>Networks</strong><br />

architecture which will depend <strong>on</strong> the length of the user<br />

identity<br />

• The design of feed forward architecture <strong>and</strong> back<br />

propagati<strong>on</strong> algorithm (steepest descent) learning rule is used.<br />

• Multilayer architecture of security such as pers<strong>on</strong>al<br />

identificati<strong>on</strong> protecti<strong>on</strong>, system identificati<strong>on</strong> protecti<strong>on</strong><br />

• Multivariable are being used to provide security such as time<br />

of intrusi<strong>on</strong>, identificati<strong>on</strong> inserted by intruder, time taken in<br />

inserting identity, number of trails taken by intruder before un<br />

authenticati<strong>on</strong> declared.<br />

• Resetting of all identity are allowed<br />

• The main idea of this paper is Analysis/ Detecti<strong>on</strong> of<br />

intrusi<strong>on</strong> enhancing the security service.<br />

V. IMPLEMENTATION<br />

In our paper, the output layer <strong>on</strong>ly needs a single node, the<br />

hidden layer is 30 % of the size of the input layer, <strong>and</strong> the<br />

input layer is assigned automatically depending up<strong>on</strong> the<br />

length of the user identity. The weights are generated<br />

r<strong>and</strong>omly. The sigmoid functi<strong>on</strong> is used as the activati<strong>on</strong><br />

functi<strong>on</strong> for λ =1.<br />

S(x)=1/(1+e -λx ) …(1.1)<br />

x = summed value of input multiplied with respective weights.<br />

V.1 ARTIFICIAL NEURAL NETWORK PHASES<br />

As in the human, in the Artificial Neural <strong>Networks</strong> processing<br />

we have two different phases, <strong>on</strong>e is called learning phase <strong>and</strong><br />

another test phase.<br />

V.1.1 LEARNING PHASES<br />

In the learning phase, we have to specify a set of input, which<br />

has to be learned, <strong>and</strong> corresp<strong>on</strong>ding target values.<br />

V.3 MULTI-LAYER PARAMETERS AND THEIR HIERARCHY IN SECURITY<br />

SYSTEM<br />

The multi-layer parameters introduced in the paper are<br />

pers<strong>on</strong>al identificati<strong>on</strong> protecti<strong>on</strong>, system identificati<strong>on</strong><br />

protecti<strong>on</strong> <strong>and</strong> the resource being protected.<br />

V.4 PROTECTION OF RESET PROCESS<br />

The Reset Process allows the valid user to change the<br />

password if any intruder activity is taken place, <strong>and</strong> also to<br />

change the password of all three identities. Even if the<br />

intruder fails in the resource h<strong>and</strong>ling, <strong>and</strong> attempts to enter<br />

the reset process to change the identities, first the intruder<br />

should enter the reset identity <strong>and</strong> <strong>on</strong>ce again followed by<br />

pers<strong>on</strong>al identificati<strong>on</strong> protecti<strong>on</strong> <strong>and</strong> system identificati<strong>on</strong><br />

protecti<strong>on</strong> of the resource, which makes the intruder difficult<br />

to h<strong>and</strong>le the resource.<br />

Thus it can be said; resetting the identity itself is protected by<br />

all other identities. If <strong>on</strong>ce unauthenticati<strong>on</strong> detected it’s not<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 2


Proceedings of ICCNS 08 , 27-28 September 2008<br />

possible to utilize the resource even by right pers<strong>on</strong>, so<br />

remedy is to reset the system.<br />

5.5 Learning phase of the three identities include<br />

• Pers<strong>on</strong>al identity<br />

• System identity<br />

• Reset identity<br />

V.6 TEST PHASE OF RESOURCE UTILIZATION<br />

The maximum number of trials given for the unauthorized<br />

pers<strong>on</strong> is three. Once the valid user enters the pers<strong>on</strong>al<br />

identities the time taken to enter the password is recorded.<br />

Next the length check is d<strong>on</strong>e for the entered password. If the<br />

unauthorized user takes more or less time than the valid user,<br />

he/she is not allowed to access the resource. The input<br />

password given by the user is c<strong>on</strong>verted to bit form <strong>and</strong> then<br />

passed through the artificial neural network process. After<br />

learning the parameters of the valid user, in testing phase it<br />

determines about either authorized or unauthorized user.<br />

The access to the resource is given <strong>on</strong>ly to the authorized<br />

user, denying the access to the unauthorized user. In case of<br />

reset mode <strong>on</strong>ly the authorized user is able to change the<br />

pers<strong>on</strong>al <strong>and</strong> the system identity. In case of intrusi<strong>on</strong> length<br />

identity, time entry <strong>and</strong> output entry are recorded.<br />

VI. RESULTS ANALYSIS<br />

The variati<strong>on</strong> in the initial weights <strong>and</strong> trained weights in the<br />

learning phase is as shown in Graph 1.<br />

VI.4 TEST AND GRAPH ANALYSIS OF SYSTEM ERROR<br />

The error gradually decreases with the number of iterati<strong>on</strong>; the<br />

graph (2) shows how the neural network error decreases as the<br />

iterati<strong>on</strong>s proceed for the three identities. Three-identity error<br />

graph are shown, each starting with different initial weights.<br />

VI.1 TEST STRATEGY<br />

Testing is an important part of design phase <strong>and</strong><br />

implementati<strong>on</strong> in Artificial neural networks. In learning<br />

phase, security system depends up<strong>on</strong> length of the user<br />

identity. The Sigmoid Functi<strong>on</strong> is used as the activati<strong>on</strong><br />

functi<strong>on</strong>.<br />

The back propagati<strong>on</strong> algorithm using steepest descent<br />

method is used as the learning rule. The target value assigned<br />

in the learning phase for all three identities is <strong>on</strong>e. In the<br />

testing phase, the architecture is the same as learning without<br />

the target value.<br />

VI.2 TEST AND GRAPH ANALYSIS OF SIGMOID FUNCTION<br />

The test result obtained for equati<strong>on</strong> 1.1 is<br />

x > 0 : 1<br />

x < 0 : 0<br />

In graph (3) for the input with three characters the ASCII<br />

equivalent is of size 21 which will form the input nodes, the<br />

hidden layer c<strong>on</strong>sists of 30% of the input nodes <strong>and</strong> the output<br />

is a single node.<br />

x = 0 : 0.5<br />

VI.3 TEST AND GRAPH ANALYSIS OF LEARNING<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 3


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Time3 taken to enter identity :10.4400<br />

The Test Result obtained for Reset process:<br />

Enter the Reset Identity : rest Process fails due to length check<br />

Enter the Reset Identity : reset<br />

Process fails due to wr<strong>on</strong>g time entry of identity<br />

Enter the Reset Identity : reset<br />

Enter the Pers<strong>on</strong>al Identity : pers<strong>on</strong>al<br />

Enter the System Identity : system<br />

Success, Reset Possible,<br />

The user is permitted to change the identities <strong>and</strong> clear all<br />

intrusi<strong>on</strong> activities.<br />

Test Cases<br />

The three identities at learning phase given:<br />

Pers<strong>on</strong>al Identity pers<strong>on</strong>al<br />

System Identity_ system<br />

Reset Identity _ reset<br />

Permitted time _ 18.7030<br />

The Test Result obtained for using Resource<br />

Trail 1:<br />

Enter the Pers<strong>on</strong>al Identity : pers<strong>on</strong><br />

Enter the System Identity : system<br />

Trail 1 fails due to length check<br />

Trail 2:<br />

Enter the Pers<strong>on</strong>al Identity : pers<strong>on</strong>al<br />

Enter the System Identity : system<br />

Trail 2 fails due to wr<strong>on</strong>g time entry of Identity<br />

Trail3<br />

Enter the Pers<strong>on</strong>al Identity : pers<strong>on</strong>al<br />

Enter the System Identity : system<br />

Trail 3, Success, Display Valid Identity<br />

The user is permitted to check all the intrusi<strong>on</strong> activities<br />

The trail identities declared are<br />

Trail1 pers<strong>on</strong>al identity is :pers<strong>on</strong>1<br />

Trail1 system identity is :system<br />

Time of intrusi<strong>on</strong> (Year, M<strong>on</strong>th, Date, Hour, Minutes,<br />

Sec<strong>on</strong>ds) 2008 5 26 14 18 36<br />

Time taken to enter identity :17.5800<br />

Trail2 pers<strong>on</strong>al identity is : pers<strong>on</strong>al<br />

Trail2 system identity is : system<br />

Time of intrusi<strong>on</strong> (Year, M<strong>on</strong>th, Date,Hour, Minutes,<br />

Sec<strong>on</strong>ds) 2008 5 26 14 18 36<br />

time 2 taken to enter identity :20.6000<br />

Trail3 pers<strong>on</strong>al identity is : pers<strong>on</strong>al<br />

Trail3 system identity is : system<br />

Time of intrusi<strong>on</strong> (Year, M<strong>on</strong>th, Date,Hour, Minutes,<br />

Sec<strong>on</strong>ds)<br />

2008 5 26 14 18 36<br />

VII. CONCLUSION<br />

The learning process that takes place in biological systems<br />

inspires Artificial Neural <strong>Networks</strong>. Neural networks<br />

represent a new computing paradigm based <strong>on</strong> the parallel<br />

architecture of the brain. They can be “trained “to produce an<br />

accurate output for a given input. Network posses the<br />

advantage of simple computati<strong>on</strong>s, fault tolerance, parallel<br />

processing, robust with respect to node failure.<br />

In this paper, the c<strong>on</strong>cept of Error Back-Propagati<strong>on</strong> Learning<br />

algorithm has made a break through in supervised learning of<br />

layered neural network. <strong>Security</strong> <strong>and</strong> intrusi<strong>on</strong> detecti<strong>on</strong><br />

developed using multilevel, multivariable parameters, the<br />

advantage of building the architecture to the user desire level,<br />

<strong>and</strong> hiding learning phase from the intruder significantly<br />

increases the performance of the network. The <strong>on</strong>ly limitati<strong>on</strong><br />

of this paper is training is slow, may c<strong>on</strong>verge to a local, not<br />

global, minimum of error.<br />

VIII. FUTURE WORK<br />

The advanced Intrusi<strong>on</strong> Detecti<strong>on</strong> System using Genetic<br />

Algorithm improves efficiency of Intrusi<strong>on</strong> Detecti<strong>on</strong> System<br />

by providing a way to naturally modify data to evaluate<br />

against attack signatures. It works with populati<strong>on</strong> of design,<br />

thus reducing the risk of getting stuck at local minima.<br />

REFERENCES<br />

[1] Jacek M.Zurada, Introducti<strong>on</strong> to Artificial Neural Systems, Sixth<br />

Jaico Impressi<strong>on</strong>, 2003.<br />

[2] J. Hertz, A. Krogh, <strong>and</strong> R.G. Palmer, Introducti<strong>on</strong> to the Theory<br />

of Neural Computati<strong>on</strong>, Addis<strong>on</strong>-Wesley, 1991.<br />

[3] S. Haykin, Neural <strong>Networks</strong>: A Comprehensive Foundati<strong>on</strong>,<br />

Macmillan College Press, New York, 1994.<br />

[4] W.S. McCulloch, <strong>and</strong> W.Pitts, ‘A Logical Calculus of Ideas<br />

Imminent in Nervous Activity’, Bull. Mathematical Biophysics, Vol.<br />

5, 1943, pp.115-133.<br />

[5] Poggio.T <strong>and</strong> F. Girosi, ‘<strong>Networks</strong> for Approximati<strong>on</strong> <strong>and</strong><br />

Learning’, Proc.IEEE 78(9), 1990.<br />

[6] Tyspkin, Ya.Z, Foundati<strong>on</strong>s of the Theory of Learning Systems,<br />

New York, 1973.<br />

[7] Aurobindo Sundaram, An Introducti<strong>on</strong> to Intrusi<strong>on</strong> Detecti<strong>on</strong>, 3<br />

rd editi<strong>on</strong> 2000.<br />

[8] Lin. M. Miikkulainen, Intrusi<strong>on</strong> Detecti<strong>on</strong> with Neural <strong>Networks</strong><br />

2 nd editi<strong>on</strong> 1995.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 4


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[9] Anders<strong>on</strong>, D., Frivold, T. & Valdes, A (May, 1995). Nextgenerati<strong>on</strong><br />

Intrusi<strong>on</strong> Detecti<strong>on</strong> Expert System (NIDES): A Summary.<br />

SRI <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Technical Report SRI-CSL-95-07.<br />

[10] Denault, M., Gritzalis, D., Karagiannis, D., <strong>and</strong> Spirakis, P.<br />

(1994). Intrusi<strong>on</strong> Detecti<strong>on</strong> :Approach <strong>and</strong> Performance Issues of the<br />

SECURENET<br />

System. In <strong>Computer</strong>s <strong>and</strong> <strong>Security</strong> Vol.13, No. 6, pp. 495-507<br />

[11] Denning, Dorothy. (February, 1987). An Intrusi<strong>on</strong>-Detecti<strong>on</strong><br />

Model. IEEE Transacti<strong>on</strong>s <strong>on</strong> Software Engineering, Vol. SE-13, No.<br />

2.<br />

[12] Fox, Kevin L., Henning, Rh<strong>on</strong>da R., <strong>and</strong> Reed, J<strong>on</strong>athan H.<br />

(1990). A Neural Network Approach Towards Intrusi<strong>on</strong> Detecti<strong>on</strong>. In<br />

Proceedings of the 13 th Nati<strong>on</strong>al <strong>Computer</strong> <strong>Security</strong> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>.<br />

[13] Frank, Jeremy. (1994). Artificial Intelligence <strong>and</strong> Intrusi<strong>on</strong><br />

Detecti<strong>on</strong>: Current <strong>and</strong> Future Directi<strong>on</strong>s. In Proceedings of the 17th<br />

Nati<strong>on</strong>al<br />

<strong>Computer</strong> <strong>Security</strong> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>.<br />

[14] Lunt, T.F. (1989). Real-Time Intrusi<strong>on</strong> Detecti<strong>on</strong>. <strong>Computer</strong><br />

<strong>Security</strong> Journal Vol. VI,Number 1. pp. 9-14. [15] Porras, P. &<br />

Neumann, P. (1997). EMERALD: Event M<strong>on</strong>itoring Enabling<br />

Resp<strong>on</strong>ses to Anomalous Live Disturbances. In Proceedings of the<br />

20 th NISSC.<br />

[16] Sebring, M., Shellhouse, E., Hanna,M. & Whitehurst, R. (1988)<br />

Expert Systems in Intrusi<strong>on</strong> Detecti<strong>on</strong>: A Case Study. In Proceedings<br />

of the 11th Nati<strong>on</strong>al <strong>Computer</strong> <strong>Security</strong> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>.<br />

[17] White, G.B., Fisch, E.A., <strong>and</strong> Pooch, U.W. (January/February<br />

1996). Cooperating <strong>Security</strong> Managers : A Peer-Based Intrusi<strong>on</strong><br />

Detecti<strong>on</strong> System.IEEE Network. pp. 20-23.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 5


Proceedings of ICCNS 08 , 27-28 September 2008<br />

SHA-1 algorithm based Integrity checking tool<br />

for the <strong>Security</strong> Enhancement<br />

Mohd Ashraf 1 <strong>and</strong> Rashid Ali 2<br />

1 Department of <strong>Computer</strong> science <strong>and</strong> Engineering,<br />

IILM Academy of Higher Learning,Greator Noida, India<br />

2 Department of <strong>Computer</strong> Engineering, A. M.U., Aligarh, India<br />

Abstract— As the importance of data in our computing systems has<br />

increased, number of viruses that may harm its integrity has also<br />

increased. It is very necessary to have a virus detecti<strong>on</strong> system that<br />

detects all the known as well as unknown viruses. In this paper, we<br />

discuss an integrity-checking tool that has been implemented using<br />

SHA-1 algorithm. The tool generates check-codes of files. It<br />

generates 160-bit check-code <strong>and</strong> therefore provides more security<br />

than CRC-32 (32-bit check-code). The probability of forgery in<br />

SHA-1 is 2-160, which implies that it is very difficult to generate a<br />

different message having the same check-code.<br />

Keyword: Enhancing <strong>Security</strong>, virus, Integrity Checking, SHA-1,<br />

Cryptography<br />

I. INTRODUCTION<br />

As the importance of data in our computing systems has<br />

increased, number of viruses that may harm its integrity has<br />

also increased. It has become very important to detect them, so<br />

that we can remove them as well as disinfect the infected files.<br />

Therefore any defense system should have a comp<strong>on</strong>ent that<br />

detects the presence of any kind of malicious code. There are<br />

four basic types of virus detecti<strong>on</strong> techniques: Integrity<br />

Checking, Signature Scanning, Activity M<strong>on</strong>itoring <strong>and</strong><br />

Heuristic method. Each has pros <strong>and</strong> c<strong>on</strong>s of its own.<br />

This paper analyzes the problem of virus detecti<strong>on</strong> using<br />

Integrity Checking Technique <strong>and</strong> its reliance <strong>on</strong> the checksumming<br />

technique, which generates the checksum or checkcode<br />

of the file. It is important that this check-code is unique<br />

for every file. In other words, the check-summing technique<br />

should generate a check-code that should not remain same, if<br />

file gets changed in any way. For these reas<strong>on</strong>s, in this<br />

integrity checker program, SHA-1, a cryptographically str<strong>on</strong>g<br />

check-summing technique with reas<strong>on</strong>able performance<br />

characteristics has been used. It generates 160-bit check-code,<br />

which is large enough to avoid forgery.<br />

In technical terms, a computer virus c<strong>on</strong>sists of three parts:<br />

• The infecti<strong>on</strong> mechanism,<br />

• The trigger,<br />

• The payload.<br />

The infecti<strong>on</strong> mechanism part looks for victims <strong>and</strong> mostly<br />

avoids multiple infecti<strong>on</strong>s. After that either it overwrites the<br />

victim or attaches itself at the end or at the beginning of file. A<br />

trigger is a specified event when the payload has to be<br />

executed. The payload causes some malicious behavior, e.g.<br />

corrupting the boot sector of floppy, formatting the hard disk<br />

drive or manipulati<strong>on</strong> of files.<br />

Worms are another form of malicious software but unlike<br />

viruses, worms are independent programs that can travel<br />

across network c<strong>on</strong>necti<strong>on</strong>s. Therefore worms do not really<br />

need to change other programs.<br />

II.<br />

ANTIVIRUS SOLUTION<br />

As the number of viruses increases <strong>on</strong> daily basis, there is<br />

a need of virus detecti<strong>on</strong> tools so that they can be eradicated<br />

from the system. Generally there are four types of virus<br />

detecti<strong>on</strong> techniques<br />

(i) Signature scanning technique: Signature scanner<br />

operates by reading data from disk <strong>and</strong> applying pattern<br />

matching operati<strong>on</strong>s against a list of known virus patterns. If a<br />

match is found for a pattern, presence of a virus instance is<br />

announced [5]. Scanner is easy to use, but to maintain its<br />

effectiveness, the list of patterns must be kept up-to-date.<br />

Otherwise it will never detect the unknown viruses <strong>and</strong><br />

produce false negatives.<br />

Cohen says that signature scanning technique is not a good<br />

approach against computer viruses because scanning cannot<br />

find new viruses before their patterns are known, nor will such<br />

methods work against polymorphic viruses. He dem<strong>on</strong>strates<br />

that integrity checking is the most cost-effective approach to<br />

virus protecti<strong>on</strong>..<br />

(ii) Activity m<strong>on</strong>itoring technique. In this technique, some<br />

programs are used to m<strong>on</strong>itor the behavior of other programs<br />

that are executed. These m<strong>on</strong>itoring programs are called<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 6


Proceedings of ICCNS 08 , 27-28 September 2008<br />

behavior m<strong>on</strong>itors <strong>and</strong> reside in main memory. In case if a<br />

normal program tries to modify interrupt table, boot sector,<br />

partiti<strong>on</strong> table, or performs some other suspicious activities,<br />

behavior m<strong>on</strong>itors raise an alarm or perform some acti<strong>on</strong> to<br />

prevent it [4].<br />

This technique maintains the database of all behaviors that<br />

viruses are supposed to have. But the new viruses may use<br />

another method to infect system that is not listed in the<br />

database <strong>and</strong> in that case it will never help in finding the virus.<br />

Sometimes some normal TSRs perform acti<strong>on</strong>s that have been<br />

called suspicious, which is likely to give the false positives.<br />

Also some viruses can avoid this defense by getting activated<br />

earlier in boot sequence than the behavior m<strong>on</strong>itors.<br />

Furthermore, viruses can modify these m<strong>on</strong>itors if machines<br />

do not have hardware memory protecti<strong>on</strong>.<br />

(iii) Heuristics scanner: Heuristic scanner can find<br />

unknown viruses <strong>and</strong> threats, because it looks at<br />

characteristics of a file. Also it checks the code statically <strong>and</strong><br />

dynamically <strong>and</strong> determines the chances of infecti<strong>on</strong>.<br />

Sometimes it can find many new viruses before they get<br />

chance to execute. This technique is working <strong>on</strong> the<br />

probabilities of a file being infected. Therefore sometimes an<br />

innocent file may be placed in the list of infected files.<br />

(iv) Integrity checking technique: The integrity checker<br />

program uses a check summing technique that generates<br />

check-codes of the files to be checked for the viruses. Now <strong>on</strong><br />

a regular basis these checksums are recomputed <strong>and</strong> compared<br />

against the previously stored checksums. If there is any<br />

mismatch between these two, it clearly indicates that the<br />

specified file has been modified [3]. Since this technique<br />

detects presence of virus by the changes in files, it is capable<br />

to detect unknown viruses also. The initial calculati<strong>on</strong> of<br />

checksums has to be performed <strong>on</strong> a clean system that does<br />

not c<strong>on</strong>tain any viruses. If some files are already infected<br />

before running integrity checker, then next time their checkcode<br />

will be same <strong>and</strong> tool will announce them as uninfected.<br />

Therefore it is important that system is uninfected while initial<br />

computati<strong>on</strong>s of check-codes.<br />

When a virus infects a file, it certainly modifies the file;<br />

hence the c<strong>on</strong>tents as well as length of file <strong>and</strong> date of<br />

modificati<strong>on</strong> get changed. This may be another criteri<strong>on</strong> to<br />

detect the modificati<strong>on</strong>, but this al<strong>on</strong>e is not sufficient.<br />

Because viruses may infect file in such a way that its length is<br />

still same <strong>and</strong> they can restore the date of modificati<strong>on</strong> also<br />

after infecting the file. This is not the case with check-codes<br />

since it is not easy to modify file without changing its checkcode.<br />

Though al<strong>on</strong>g with check-code, file size, date of creati<strong>on</strong><br />

<strong>and</strong> date of modificati<strong>on</strong> can be kept <strong>and</strong> before computing the<br />

check-code we can compare all these attributes of file. If there<br />

is any change in these attributes then file will be announced as<br />

modified without checking its check-code.<br />

(v) Summary of anti virus soluti<strong>on</strong>s: As given here there<br />

are several methods of defense against viruses. Which <strong>on</strong>e is<br />

better, still cannot be decided. Each <strong>on</strong>e has its pros <strong>and</strong> c<strong>on</strong>s.<br />

Integrity checking <strong>and</strong> behavior m<strong>on</strong>itoring techniques are<br />

generic while signature-scanning technique is the specific<br />

method. Specific methods can detect <strong>on</strong>ly the known viruses<br />

but generic <strong>and</strong> heuristic methods can detect new viruses also.<br />

Heuristic technique looks at the code characteristics of viruses.<br />

Today when lots of viruses are coming up with new<br />

characteristics, it seems that the technque al<strong>on</strong>e is not<br />

sufficient. Behavior m<strong>on</strong>itoring also has some disadvantages;<br />

it cannot do anything if virus infects system before m<strong>on</strong>itor<br />

becomes memory resident. Also, since m<strong>on</strong>itor remains<br />

memory resident, there are chances that viruses can neutralize<br />

it. Integrity checker works <strong>on</strong>ly <strong>on</strong> the basis of modificati<strong>on</strong>s<br />

that viruses are sure to perform therefore it is capable to detect<br />

all infecti<strong>on</strong>s caused by known as well as unknown viruses<br />

<strong>and</strong> also without being memory resident..<br />

III.<br />

CHECKSUMMING<br />

To implement integrity checker tool, first we need to<br />

compute a small value for each <strong>and</strong> every file in the system.<br />

This small value is known as check-code, which needs to be<br />

compared instead of the whole file to find out if file has been<br />

modified or not. The initial calculati<strong>on</strong> of check-codes is d<strong>on</strong>e<br />

when the system is supposed to be uninfected. After certain<br />

interval these values are again computed <strong>and</strong> compared<br />

against the previous versi<strong>on</strong>. Any mismatch will indicate that<br />

file has been modified.<br />

Now we need to choose a functi<strong>on</strong> to calculate the checkcode<br />

of file, it should satisfy certain criteria:<br />

1. The computati<strong>on</strong> of check-code should be easy <strong>and</strong> fast.<br />

2. The length of generated check-code should be<br />

reas<strong>on</strong>able, neither too small nor too large.<br />

3. The generated check-code should be unique, i.e. no<br />

other file should have the same check-code. It is difficult to<br />

achieve but at least, the probability of existence of a file with<br />

same check-code should be very less.<br />

IV.<br />

SHA-1 ALGORITHM<br />

SHA (The Secure Hash Algorithm) is a cryptographic<br />

message digest algorithm specified in the Secure Hash<br />

St<strong>and</strong>ard (SHS, FIPS 180), <strong>and</strong> was developed by NIST [7].<br />

SHA-1 is a revisi<strong>on</strong> to SHA that was published in 1994. When<br />

a message of any length less than 264 bits is input to SHA-1,<br />

the result is an output called message digest or check-code of<br />

160-bits. This is called secure because, it is computati<strong>on</strong>ally<br />

infeasible to find a message that corresp<strong>on</strong>ds to the given<br />

check-code, or to find two different messages that produce the<br />

same check-code. Any change to the message will, with very<br />

high probability, result in a different check-code, <strong>and</strong> will fail<br />

to verify.<br />

A. Bit String <strong>and</strong> Integer<br />

The following terminology related to bit strings <strong>and</strong><br />

integers will be used:<br />

(i). A hex digit is an element of the set {0, 1, 9, A, ..., F}.<br />

A hex digit is the representati<strong>on</strong> of a 4-bit string.<br />

Examples: 7 = 0111, A = 1010.<br />

(ii). A word equals a 32-bit string, which may be<br />

represented as a sequence of 8 hex digits. To c<strong>on</strong>vert a word<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 7


Proceedings of ICCNS 08 , 27-28 September 2008<br />

to 8 hex digits each 4-bit string is c<strong>on</strong>verted to its hex<br />

equivalent as described in (a) above.<br />

For example : 1010 0001 0000 0011 1111 1110 0010 0011<br />

= A103FE23.<br />

(iii). An integer between 0 <strong>and</strong> 232 - 1 inclusive may be<br />

represented as a word. The least significant four bits of the<br />

integer are represented by the right-most hex digit of the word<br />

representati<strong>on</strong>.<br />

For example: the integer 291 = 28+25+21+20 =<br />

256+32+2+1 is represented by the hex word, 00000123.<br />

If z is an integer, 0


Proceedings of ICCNS 08 , 27-28 September 2008<br />

ft(B,C,D) = (B AND C) OR ((NOT B) AND D) ( 0


Proceedings of ICCNS 08 , 27-28 September 2008<br />

(i) Every bit in the message c<strong>on</strong>tributes to the check-code.<br />

This means that changing any bit in the message should<br />

change check-code also.<br />

(ii) Relatively small changes in the message should always<br />

result in changes in the check-code. We want to be sure that it<br />

would take an extremely unlikely combinati<strong>on</strong> of errors to<br />

produce an identical check-code.<br />

SHA-1 gives a larger checksum that makes it more<br />

resistant to brute force attacks, such as Birthday attacks, which<br />

choose messages at r<strong>and</strong>om in an attempt to generate the same<br />

checksum. It is well-known that CRCs are not<br />

cryptographically str<strong>on</strong>g. It fails to provide the required<br />

integrity protecti<strong>on</strong> <strong>and</strong> not advised to be used in place of<br />

SHA-1. CRCs will not protect against intenti<strong>on</strong>al damage,<br />

because it is fairly easy to fiddle the file to make the checksum<br />

come out the same, which is very difficult with SHA-1. In<br />

case of SHA-1, the chances of having two r<strong>and</strong>om documents<br />

hash to the same value is very small, which is 1 in 2160, while<br />

in the case of CRC, it is 1 in 232. This means that while CRC-<br />

32 will be an excellent judge of unintenti<strong>on</strong>al damage to files,<br />

it is possible that a clever virus will be able to defeat it.<br />

Though, CRC-32 is fast, but not secure. So where security<br />

is more important, a slower, but really secure soluti<strong>on</strong> is better<br />

than an insecure though fast soluti<strong>on</strong>.<br />

Viruses have great difficulty in infecting machines without<br />

making some changes in it. To detect a change is to begin the<br />

process of detecting a virus, that is the approach integrity<br />

checker is using. It uses SHA-1 algorithm to generate 160-bit<br />

check-code, which is large enough to avoid forgery. It also<br />

stores file size, creati<strong>on</strong> date <strong>and</strong> last modificati<strong>on</strong> date, to<br />

avoid check-code computati<strong>on</strong> if change is found in any of<br />

these attributes. It detects all the infecti<strong>on</strong>s whether it is by<br />

known or unknown viruses with acceptable performance.<br />

If storage <strong>and</strong> time are not at a premium, then integrity<br />

checker can combine two or more techniques to generate the<br />

check-code. In this way, more security can be obtained but at<br />

the cost of speed <strong>and</strong> memory.<br />

VII.<br />

CONCLUSION<br />

In this paper, we discussed the development <strong>and</strong><br />

implementati<strong>on</strong> of an integrity checker tool called CHECKER.<br />

CHECKER is an <strong>on</strong>-dem<strong>and</strong> integrity checker tool that uses<br />

SHA-1 algorithm to generate a cryptographic check-code for<br />

verifying the integrity of informati<strong>on</strong> in computer systems.<br />

This technique produces a 160-bit c<strong>on</strong>densed representati<strong>on</strong> of<br />

the message called check-code, which is large enough to avoid<br />

forgery. We also discussed the advantages of using SHA-1<br />

algorithm in place of CRCs <strong>and</strong> found that the use of SHA-1<br />

provides us with more security than the CRCs could provide.<br />

REFERENCES<br />

[1] Pathology of computer viruses March-April 2001.<br />

[2] http://www.leavenworth.army.mil/milrev/download/English/M<br />

arApr01/deal.pdf.<br />

[3] www.cs.wright.edu/~pmateti/Courses/499/Viruses/<br />

[4] Yisrael Radai. “Checksumming Techniques for Anti-Viral<br />

Purposes". Proceedings of the Fifth <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <strong>Computer</strong><br />

Virus & <strong>Security</strong> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>. 1992. Page 783.<br />

[5] Mort<strong>on</strong> Swimmer, Baudouin Le Charlier, <strong>and</strong> Abdelaziz<br />

Mounji. “Dynamic Detecti<strong>on</strong> <strong>and</strong> Classificati<strong>on</strong> of <strong>Computer</strong><br />

Viruses Using Behavior Patterns”. Proceedings of the 1995<br />

Virus Bulletin <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>. 1995. Page 75.<br />

[6] http://www.extremetech.com/article2/0,1697,1154648,00.asp<br />

[7] www.boll.ch/fortinet/assets/AntiVirus.pdf<br />

[8] Nati<strong>on</strong>al Institute of St<strong>and</strong>ards <strong>and</strong> Technology, Specificati<strong>on</strong>s<br />

for the SECURE HASH STANDARD, August 2002.<br />

[9] Nati<strong>on</strong>al Institute of St<strong>and</strong>ards <strong>and</strong> Technology, Descripti<strong>on</strong>s of<br />

SHA-256, SHA-384, <strong>and</strong> SHA-512, August 2002.<br />

[10] Nati<strong>on</strong>al Institute of St<strong>and</strong>ards <strong>and</strong> Technology, Descripti<strong>on</strong> of<br />

SHA-1, Federal Informati<strong>on</strong> Processing St<strong>and</strong>ards Publicati<strong>on</strong><br />

180-1, 1995 April 17.<br />

[11] SANS Institute, A Guide to Hash Algorithm by Britt Savage,<br />

April 2003.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 10


Cross layer Backb<strong>on</strong>e Routing for MANET<br />

based <strong>on</strong> B<strong>and</strong>width Estimati<strong>on</strong><br />

Rekha Patil 1 , Dr. A. Damodaram 2 Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract: A mobile ad-hoc network(MANET) is baseless stati<strong>on</strong><br />

that is composed of aut<strong>on</strong>omous collecti<strong>on</strong> of mobile devices which<br />

communicate with each other over wireless links <strong>and</strong> cooperate in a<br />

distributed manner in order to provide the necessary network<br />

functi<strong>on</strong>ality. There are various types of restricti<strong>on</strong>s. The biggest<br />

restricti<strong>on</strong> is the energy of the batteries. Routing is also a major issue<br />

because of dynamic topology. The communicati<strong>on</strong> reliability within<br />

an ad-hoc network <strong>and</strong> how the different nodes act, are managed by<br />

routing protocols. This project deals with enhancing AODV routing<br />

protocol using the backb<strong>on</strong>e-nodes. Backb<strong>on</strong>e routing, which is an<br />

alternate form of routing, has gained importance as it can be used to<br />

enhance reliability of the network <strong>and</strong> it saves the c<strong>on</strong>trol overhead,<br />

which potentially improves the data rate <strong>and</strong> the QOS in turn. The<br />

QOS will be degraded if the backb<strong>on</strong>e nodes are flooded with too<br />

much packets, c<strong>on</strong>sequently transmissi<strong>on</strong> may suffer. Hence a cross<br />

layer based method is proposed here whereby the network layer will<br />

fragment or decide the packet sending rate at the backb<strong>on</strong>e node<br />

based <strong>on</strong> estimated b<strong>and</strong>width, informati<strong>on</strong> provided by MAC layer.<br />

Simulati<strong>on</strong> results show that the proposed protocol performs better<br />

even at higher load.<br />

Key Words: MANET, Cross layer ,Backb<strong>on</strong>e,AODV.<br />

I. INTRODUCTION<br />

MANET c<strong>on</strong>cept defines simple mechanisms, which<br />

enable mobile devices to form a temporary community<br />

without any planned installati<strong>on</strong>, or human interventi<strong>on</strong>. The<br />

idea is to form a totally improvised network that does not<br />

require any pre-established infrastructure. This is achieved as<br />

each node acts as a host <strong>and</strong> a router at the same time.<br />

The topologies of such network changes very frequently.<br />

Hence routing cannot always provide the desired QOS.<br />

Proposed Backb<strong>on</strong>e oriented architecture can provide more<br />

stability to the Network <strong>and</strong> in turn can offer better QOS.In<br />

the proposed architecture, the network will be divided into<br />

regi<strong>on</strong>s. Each regi<strong>on</strong> will have a backb<strong>on</strong>e node which<br />

essentially should be the highest energy node in the regi<strong>on</strong>.<br />

All the packets in a regi<strong>on</strong> would be routed via the<br />

corresp<strong>on</strong>ding backb<strong>on</strong>e.<br />

Let, N mobile stati<strong>on</strong>s (MS) be covered By M mobile routers<br />

(MR). All located <strong>on</strong> a flat rectangular field of surface AxB.<br />

Each mobile node MSi is represented by the geometrical<br />

point Pi with coordinates (xi, yi), Each mobile router MRj is<br />

represented by the geometrical point Qj with coordinates (aj,<br />

1Rekha Patil is Asst. prof., Dept. of <strong>Computer</strong> Science & Engg.,<br />

P.D.A.College of Engg., Gulbarga rekha.patilcse@gmail.com<br />

2 Dr. A. Damodaram is Professor Dept of <strong>Computer</strong> Science & Engg.,<br />

J.N.T.U College of Engg., Hyderabad. damodarama@gmail.com<br />

bj). Rr denotes the mobile router transmissi<strong>on</strong> range, Rm<br />

denotes the mobile stati<strong>on</strong> transmissi<strong>on</strong> range, d(J,K) denotes<br />

the Euclidian distance between geometrical points J <strong>and</strong> K.<br />

In order to be covered by a router, the distance between a<br />

mobile stati<strong>on</strong> <strong>and</strong> its closest router must be less than Rm.<br />

Two mobile routers are neighbors (i.e. adjacent in the<br />

backb<strong>on</strong>e network) if the distance between them is less than<br />

Rr.<br />

We define:<br />

X min = min(x i ) , x max =max(x i )<br />

1


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A backb<strong>on</strong>e h<strong>and</strong>les all the incoming <strong>and</strong> outgoing packets<br />

to <strong>and</strong> from the current regi<strong>on</strong>. Because of this high load the<br />

backb<strong>on</strong>e nodes are subjected to c<strong>on</strong>gesti<strong>on</strong>, which may<br />

reduce the overall efficiency or throughput of the system.<br />

Hence a cross layerd approach is proposed here. The MAC<br />

layer will estimate the b<strong>and</strong>width prior to transmissi<strong>on</strong> <strong>and</strong><br />

would notify the Network layer about the state of the channel.<br />

Based <strong>on</strong> the available b<strong>and</strong>width network layer will transmit<br />

the packets.<br />

Rest of paper is organized as, Secti<strong>on</strong> II discuss related<br />

work secti<strong>on</strong> III Explains about methodology <strong>and</strong> algorithm.<br />

Simulati<strong>on</strong> <strong>and</strong> results shown in Secti<strong>on</strong> IV. Article<br />

c<strong>on</strong>cludes in Secti<strong>on</strong> V.<br />

II. RELATED WORK<br />

Ad-hoc On-dem<strong>and</strong> Distance Vector (AODV) routing<br />

protocol, in MANETs. In AODV[1]When a source node<br />

wants to send a packet to some destinati<strong>on</strong> node <strong>and</strong> does not<br />

have a valid route to that destinati<strong>on</strong>, it initiates a path<br />

discovery process to locate the destinati<strong>on</strong>. It broadcasts a<br />

RREQ (Route Request) packet to its neighbors, which forward<br />

the request to their neighbors, <strong>and</strong> so <strong>on</strong>, until the destinati<strong>on</strong><br />

is located or an intermediate node with a “fresh enough” route<br />

to the destinati<strong>on</strong> is located. During the process of forwarding<br />

the RREQ, intermediate nodes record in their route tables the<br />

address of neighbors from which the RREQ was received,<br />

thereby establishing a reverse path. When the RREQ has<br />

reached the destinati<strong>on</strong> or intermediate node with a “fresh<br />

enough” route, the destinati<strong>on</strong>/intermediate node resp<strong>on</strong>ds by<br />

unicasting a RREP (route reply) packet back to the neighbor<br />

from which it first received the RREQ. As the RREP is routed<br />

back al<strong>on</strong>g the reverse path, nodes al<strong>on</strong>g this path set up<br />

forward route entries in their route tables. Finally, the source<br />

node can send its packets to the destinati<strong>on</strong> via the established<br />

path.<br />

Cross-Layer<br />

At present, seen from whether OSI seven layers model or<br />

TCP/IP protocols stack, Internet has a layered structure. The<br />

layering method is the base to design network protocols <strong>and</strong> it<br />

make designer divide a complex questi<strong>on</strong> into several<br />

different sub-questi<strong>on</strong>s of different layers. So, people can<br />

analyze <strong>and</strong> settle these sub-questi<strong>on</strong>s <strong>on</strong>e by <strong>on</strong>e. However,<br />

the barrier of operati<strong>on</strong> in different layers affect the<br />

optimizati<strong>on</strong> in <strong>on</strong>e certain layer. It decreases the efficiency of<br />

the software that is designed according to strict layered<br />

method. So, when designing protocols, keeping the separati<strong>on</strong><br />

of layers, relaxing the strict dem<strong>and</strong> of layered <strong>and</strong> allowing<br />

protocols in different layers sharing the status informati<strong>on</strong> of<br />

networks has been a promising method. It results in crossing<br />

layer[2].<br />

It is based <strong>on</strong> classic AODV routing protocol <strong>and</strong> utilizes<br />

useful informati<strong>on</strong> of MAC sub-layer in routing. At the same<br />

time, it improves the sending, receiving <strong>and</strong> processing<br />

mechanism of the timed HELLO messages[3].<br />

This paper [4]focuses <strong>on</strong> methodology to build a hierarchical<br />

large-scale ad hoc network using different types of radio<br />

capabilities at different layers. In such a structure, nodes are<br />

first dynamically grouped into multihop clusters. Each group<br />

elects a cluster-head to be a backb<strong>on</strong>e node (BN).<br />

Then higher-level links are established to c<strong>on</strong>nect the BNs<br />

into a backb<strong>on</strong>e network. Following this method recursively, a<br />

multilevel hierarchical network can be established. Three<br />

critical issues are addressed in this paper. First analyze the<br />

optimal number of BNs for a layer in theory. They have also<br />

proposed a new stable clustering scheme to deploy the BNs.<br />

Finally LANMAR routing is extended to operate the physical<br />

hierarchy efficiently.<br />

They have investigated the situati<strong>on</strong>s where the<br />

c<strong>on</strong>nectivity of a set of nodes cannot be guaranteed (if they<br />

are too far apart); moreover, no QoS can be offered since the<br />

number of hops <strong>and</strong> the signal quality (thus the throughput)<br />

cannot be c<strong>on</strong>trolled. They propose to deploy a c<strong>on</strong>trolled<br />

backb<strong>on</strong>e in the ad hoc envir<strong>on</strong>ment using movable mobile<br />

routers. This paper c<strong>on</strong>centrates <strong>on</strong> two fundamental<br />

problems: <strong>on</strong> the <strong>on</strong>e h<strong>and</strong>, global c<strong>on</strong>nectivity of the network<br />

is investigated, <strong>and</strong> <strong>on</strong> the other h<strong>and</strong>, it elaborate mechanisms<br />

that allow QoS support by setting an upper bound <strong>on</strong> the<br />

number of wireless hops. They describe the Mixed Integer<br />

Linear Programming (MILP) models for these deployment<br />

policies with respect to the c<strong>on</strong>straints within these<br />

envir<strong>on</strong>ments. Their approach suggested for backb<strong>on</strong>e<br />

topology c<strong>on</strong>trol allows <strong>on</strong>e to achieve an efficient usage of<br />

resources [5].<br />

Based <strong>on</strong> the observati<strong>on</strong> that most of the orphan clusters are<br />

generated from boundary nodes, they proposed a Boundary-<br />

First Cluster-Minimized (BFCM) clustering algorithm to<br />

minimize the number of generated orphan cluster by boundary<br />

node [6].<br />

This proves that backb<strong>on</strong>e-based hybrid network architecture<br />

has the potential to enhance the c<strong>on</strong>nectivity <strong>and</strong> throughput<br />

capacity of wireless ad-hoc networks. A fundamental problem<br />

for this hybrid network architecture is designing the optimal<br />

network topology under certain topological c<strong>on</strong>straints [7].<br />

[8] Presents an enhanced mobile backb<strong>on</strong>e network topology<br />

synthesis algorithm for c<strong>on</strong>structing <strong>and</strong> maintaining a<br />

dynamic backb<strong>on</strong>e structure in mobile wireless ad hoc<br />

networks.<br />

Paper [9] has proposed the metrics for various b<strong>and</strong>width<br />

measurement <strong>and</strong> calculati<strong>on</strong>. The throughput based<br />

b<strong>and</strong>width <strong>and</strong> delay based b<strong>and</strong>width estimati<strong>on</strong> matrices <strong>and</strong><br />

techniques are proposed.<br />

III. METHODOLOGY<br />

The proposed protocol is explained as phases. These<br />

phases are as explained bellow.<br />

Route Establishment: When a source wants to communicate<br />

with the destinati<strong>on</strong>, it will generate a RREQ packet. The<br />

Packet will be directly unicasted to the backb<strong>on</strong>e node <strong>and</strong> the<br />

backb<strong>on</strong>e will broadcast it to the neighbors of it. Therefore the<br />

packet will reach to all the backb<strong>on</strong>es of the other regi<strong>on</strong>s <strong>and</strong><br />

the mobiles nodes of the same regi<strong>on</strong> hence if the destinati<strong>on</strong><br />

lies in the current regi<strong>on</strong>, the RREP packet will be sent<br />

directly to the source through the backb<strong>on</strong>e. Else the other<br />

regi<strong>on</strong> backb<strong>on</strong>e will broadcast the same packets to it’s<br />

neighbors. Therefore a path is established in the same way<br />

that of AODV.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 12


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Data Communicati<strong>on</strong>: Once the path is established, the<br />

packets are transmitted from the source to the destinati<strong>on</strong>. A<br />

backb<strong>on</strong>e in any regi<strong>on</strong> may h<strong>and</strong>le more than <strong>on</strong>e route <strong>and</strong><br />

therefore there may be a queue overflow at the backb<strong>on</strong>e or<br />

the link may suffer less b<strong>and</strong>width.<br />

B<strong>and</strong>width Estimati<strong>on</strong>: Layer 2 will issue a RTS packet before<br />

the transmissi<strong>on</strong> to a Neighbor <strong>and</strong> the neighbor will reply<br />

with the CTS packet. The total time from issuing a RTS to<br />

receiving a CTS depicts the total round trip delay between two<br />

nodes. B<strong>and</strong>width is inversely proporti<strong>on</strong>al to the delay. As<br />

the delay increases, the b<strong>and</strong>width decreases. When a node<br />

realizes that the available b<strong>and</strong>width between two node is<br />

minimum, as calculated by the MAC layer, the network layer<br />

minimizes the transmissi<strong>on</strong> rate.<br />

The b<strong>and</strong>width estimati<strong>on</strong> is carried out based <strong>on</strong> the<br />

channel delay measured by the MAC layer as Round trip<br />

delay from sending RTS packets to receiving the CTS packets.<br />

The B<strong>and</strong>width estimati<strong>on</strong> technique is as follows.<br />

We measure the throughput of transmitting a packet as _<br />

,<br />

where S isthe size of the packet, tr <strong>and</strong> ts is the time the ACK<br />

is received <strong>and</strong> ts is the time the ACK is received.<br />

Hence (tr- ts) represents round trip delay. We keep separate<br />

throughput estimates to different neighbors because the<br />

channel c<strong>on</strong>diti<strong>on</strong>s may be very different to each <strong>on</strong>e. This<br />

link layer measurement mechanism captures the effect of<br />

c<strong>on</strong>tenti<strong>on</strong> <strong>on</strong> available b<strong>and</strong>width. As (tr- ts) increases<br />

throughput TP decreases. Our available b<strong>and</strong>width<br />

measurement mechanism thus takes into account the<br />

phenomena causing it to decrease from the theoretical<br />

maximum channel capacity. It should be noted that the<br />

available b<strong>and</strong>width is measured using <strong>on</strong>ly successful<br />

linklayer transmissi<strong>on</strong>s of an <strong>on</strong>going data flow.<br />

It is clear that the measured throughput of a packet depends <strong>on</strong><br />

the size of a packet.<br />

Backb<strong>on</strong>e maintenance: The energy of the backb<strong>on</strong>e nodes<br />

degrades very rapidly if they are battery driven. Therefore<br />

there is a possibility that the back b<strong>on</strong>e node is down. If the<br />

backb<strong>on</strong>e in <strong>on</strong>e area stops performing, then the entire<br />

network st<strong>and</strong>s a possibility to malperform. Therefore there is<br />

a need to find out an alternative backb<strong>on</strong>e as so<strong>on</strong> as the<br />

original backb<strong>on</strong>e is down. When a backb<strong>on</strong>e observes that<br />

it’s energy is minimum, it notifies it’s neighbors about that.<br />

Other nodes now should resolve which node c<strong>on</strong>tains<br />

maximum energy <strong>and</strong> must calculate an alternative backb<strong>on</strong>e.<br />

As so<strong>on</strong> as the backb<strong>on</strong>e breakup notificati<strong>on</strong> arrives, each<br />

node transmits their relative energy to the original backb<strong>on</strong>e<br />

node. The node calculates the node with highest residual<br />

energy <strong>and</strong> selects the next backb<strong>on</strong>e. This is d<strong>on</strong>e by issuing<br />

a backb<strong>on</strong>e packet to that node. All the routes are further<br />

modified through the new backb<strong>on</strong>e.<br />

Algorithm:<br />

Establish MANET Envir<strong>on</strong>ment<br />

Divide into Regi<strong>on</strong>s<br />

Select a backb<strong>on</strong>e for each regi<strong>on</strong> based <strong>on</strong> energy<br />

Dynamically select source <strong>and</strong> Destinati<strong>on</strong><br />

Generate RREQ<br />

Transmit RREP through backb<strong>on</strong>e<br />

Select Route via Backb<strong>on</strong>e node<br />

Initialize load=N;<br />

For data=0:N<br />

Begin:<br />

Store in Network Layer Queue<br />

Estimate B<strong>and</strong>width<br />

Re c<strong>on</strong>figure packet rate based <strong>on</strong> estimated b<strong>and</strong>width.<br />

Transmit<br />

// in the channel<br />

If(Bwreq < Bwtotal)<br />

{Packet Loss++;<br />

}<br />

End<br />

IV. SIMULATION<br />

We have assumed an area of 400 x 400 meters, which is<br />

divided into 2x2, cells each cell having a Backb<strong>on</strong>e. At the<br />

beginning we have selected maximum number of mobiles.<br />

These mobiles would be places <strong>on</strong>e in a cell r<strong>and</strong>omly. A<br />

source <strong>and</strong> the destinati<strong>on</strong>s destinati<strong>on</strong> are to be manually<br />

selected by the user. Initially all the mobiles would be given<br />

some initial energy. As the packets are to be transmitted<br />

through the nodes, they would loose some energy. A threshold<br />

would be selected. From the rest of the nodes in the area, any<br />

node would re elected dynamically as the B-Node. If the<br />

elected node does not have enough energy, the situati<strong>on</strong> has to<br />

repeat. To solve this problem we have suggested a new<br />

method, during the B-Node selecti<strong>on</strong> <strong>on</strong>ly, the node with the<br />

highest energy would be selected. Therefore the repentance<br />

would not occur. In the observati<strong>on</strong> period the group table is<br />

formed. User selects a data load <strong>and</strong> transmissi<strong>on</strong> begins. All<br />

the nodes would loose energy during entire transmissi<strong>on</strong><br />

period.<br />

Cross layered backb<strong>on</strong>e MANET is simulated with Turbo C.<br />

Respective functi<strong>on</strong>s are designed for Backb<strong>on</strong>e initializati<strong>on</strong>,<br />

Route Discovery, Transmissi<strong>on</strong>, B<strong>and</strong>width estimati<strong>on</strong> <strong>and</strong><br />

updati<strong>on</strong>, MAC-Network message exchange, Performance<br />

measure. As the communicati<strong>on</strong> in MANET is normally a<br />

layered approach, top down model of C is very efficient in<br />

designing <strong>and</strong> modeling the network. Cross layer<br />

communicati<strong>on</strong> is simulated by the c<strong>on</strong>trol statements before<br />

the transmissi<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 13


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Throughput in %<br />

120<br />

100<br />

80<br />

60<br />

40<br />

20<br />

RESULTS<br />

Load v/s Throughput<br />

0<br />

0 20 40 60 80 100 120<br />

Load in %<br />

Series1<br />

Figure 1:<br />

The throughput performance elaborates that the throughput is<br />

maintained at a very high level even when the offered load is<br />

about 100%. The cross layered approach enables the<br />

backb<strong>on</strong>es to transmit at a rate to obtain high throughput.<br />

Throughput<br />

120<br />

100<br />

80<br />

60<br />

40<br />

20<br />

Mobility v/s Throughput<br />

0<br />

0 5 10 15<br />

Velocity in m/s(*40)<br />

Series1<br />

Figure 2: In normal AODV, as the mobility of the nodes<br />

increases, the throughput decreases exp<strong>on</strong>entially. A simple<br />

AODV simulati<strong>on</strong> shows the throughput to be bellow 15% at<br />

maximum specified speed limit. But the current algorithm<br />

shows an improvement over the existing system <strong>and</strong> is<br />

apparent from figure 2 that throughput is almost twice as<br />

better than the normal AODV.<br />

Delay in millisec<strong>on</strong>ds<br />

20<br />

15<br />

10<br />

5<br />

Load v/s Queue Delay(Transmissi<strong>on</strong><br />

Delay)<br />

0<br />

0 50 100 150<br />

-5<br />

Load<br />

Series1<br />

Figure3: the Load v/s the queue delay shows that the delay<br />

never shows an upward trend. Occasi<strong>on</strong>ally it would go high<br />

due to l<strong>on</strong>g waiting in the queue in the absence of b<strong>and</strong>width<br />

but it improves as so<strong>on</strong> as the required b<strong>and</strong>width is available.<br />

C<strong>on</strong>trol Overhead<br />

Mobility v/s C<strong>on</strong>trol Overhead<br />

45<br />

40<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

-5 0 5 10 15<br />

Mobility<br />

Series1<br />

Figure 4 shows that the c<strong>on</strong>trol overhead is always almost<br />

c<strong>on</strong>stant. This is due to the stable topology. As the backb<strong>on</strong>e<br />

node m<strong>on</strong>itors the maintenance of the network, c<strong>on</strong>trol<br />

overhead is optimum.<br />

V. CONCLUSION<br />

The Backb<strong>on</strong>e routing for MANET provides a str<strong>on</strong>g<br />

alternative to c<strong>on</strong>venti<strong>on</strong>al MANET topologies <strong>and</strong> routing<br />

algorithm. Backb<strong>on</strong>es provide better route m<strong>on</strong>itoring <strong>and</strong><br />

maintenance. The cross layer design approach improves the<br />

performance of the Backb<strong>on</strong>e network significantly when they<br />

operate at very high load. B<strong>and</strong>width estimati<strong>on</strong> technique is<br />

based <strong>on</strong> channel delay hence it takes into account of the<br />

c<strong>on</strong>taminated packets like the time out packets <strong>and</strong> the retransmitted<br />

packets. The work can be further incorporated<br />

with the channel capacity estimati<strong>on</strong> which would take into<br />

account the fading <strong>and</strong> other physical behavior of the<br />

channels.<br />

REFERENCES<br />

[1] Charles E_ Perkins, Sun Microsystems Laboratories,<br />

Elizabeth M_ Royer, Dept_ of Electrical <strong>and</strong> <strong>Computer</strong><br />

Engineering, “Adhoc On Dem<strong>and</strong> Distance Vector Routing”.<br />

[2]. ] Safwati A., Hassanein H., Mouftah H., “Optimal crosslayer<br />

designs for energy-efficient wireless ad hoc <strong>and</strong> sensor<br />

networks,” Performance,Computing, <strong>and</strong> Communicati<strong>on</strong>s<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, Proceedings of the 2003.IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g>, pp.<br />

123 – 128, April 2003.<br />

[3] A Cross-Layer AODV Routing Protocol<br />

Zhi Ren <strong>and</strong> Jing Su Wei Guo. Proceedings of the IEEE<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Mechatr<strong>on</strong>ics & Automati<strong>on</strong><br />

Niagara Falls, Canada • July 2005.<br />

[4] Kaixin Xu, Xiaoyan H<strong>on</strong>g, Mario Gerla <strong>Computer</strong><br />

Science Department at UCLA, “ An Ad Hoc Network with<br />

Mobile Backb<strong>on</strong>es ”<br />

[5] Rabah Meraihi, Gwendal Le Gr<strong>and</strong>, Nicolas Puech,<br />

Michel Riguidel , Samir Tohmé CNRS-PRiSM Lab,<br />

“Improving ad hoc network performance with backb<strong>on</strong>e<br />

topology c<strong>on</strong>trol”<br />

[6] Chih-Cheng Tseng Graduate Institute of Communicati<strong>on</strong><br />

Engineering, Kwang-Cheng Chen Graduate Institute of<br />

Communicati<strong>on</strong> Engineering,<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 14


Proceedings of ICCNS 08 , 27-28 September 2008<br />

“Clustering Wireless Ad Hoc <strong>Networks</strong> with Boundary<br />

Nodes”<br />

[7] Yufeng Xin, Tuna GÄuven, Mark A. Shayman Institute for<br />

Advanced <strong>Computer</strong> Studies,University of Maryl<strong>and</strong>,<br />

“Topology design for wireless ad-hoc networks with<br />

backb<strong>on</strong>e support “.<br />

[8] Kaixin Xu, Xiaoyan H<strong>on</strong>g, Mario Gerla <strong>Computer</strong> Science<br />

Department<br />

University of California, Los Angeles, “L<strong>and</strong>mark Routing in<br />

Ad Hoc <strong>Networks</strong> with Mobile Backb<strong>on</strong>es ”<br />

[9] R. S. Prasad M. Murray_ C. Dovrolis K. Claffy_<br />

“B<strong>and</strong>width estimati<strong>on</strong>: metrics, measurement techniques”,<br />

<strong>and</strong> tools.<br />

[10] Jin-Man Kim, J<strong>on</strong>g-Wook Jang Department of <strong>Computer</strong><br />

Engineering, D<strong>on</strong>geui University, “A Performance Evaluate<br />

of Improved AODV-Based Power-Aware Routing Protocol in<br />

MANET”.<br />

[11] Hueijiun Ju <strong>and</strong> Izhak Rubin Electrical Engineering<br />

Department University of California, Los Angeles,” Enhanced<br />

Backb<strong>on</strong>e Net Synthesis for Mobile Wireless Ad Hoc<br />

<strong>Networks</strong>“<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 15


Vulnerability in WiMAX MAC<br />

Prof. P.A. Bamnodkar, Prof. G.V. Garje, Mr. Pankaj Kulkarni<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract In this paper we will discuss how the model<br />

provided by the Intel is insecure that is the model IXP which is the<br />

Wi max MAC processor can be modified <strong>and</strong> visualize as normal<br />

node though working abnormally. First is <strong>Security</strong> for Fast path<br />

activities which are time critical. Each module can be modified<br />

<strong>and</strong> then it can be installed <strong>on</strong> the same processor. If the node is<br />

the IXP processor then definitely software is installed for<br />

scheduling, packing, framing. The modificati<strong>on</strong> in the software<br />

can be d<strong>on</strong>e by changing some of the parameters. Which will<br />

make that node either a faulty node or rather can create multiple<br />

problems into the actual transmissi<strong>on</strong> by sending incorrect<br />

messages or negative acknowledgement at all Thus we can say<br />

that IXP processor could be vulnerable if the software installed<br />

<strong>on</strong>to it is not the development kit offered be the Intel. Once the<br />

hacker is successful to install the modified software then it can be<br />

harmful node in the Wimax envir<strong>on</strong>ment.<br />

Keyword: Intel IXP network processor, Wi max MAC,<br />

Quality of Service, Data Plane, C<strong>on</strong>trol Plane<br />

I. INTRODUCTION<br />

The tasks performed by the 802.16 MAC protocol can be<br />

roughly partiti<strong>on</strong>ed into two different categories: periodic<br />

(per-frame) “fast path” activities, <strong>and</strong> aperiodic “slow path”<br />

activities. Fast path activities (such as scheduling, packing,<br />

fragmentati<strong>on</strong>, <strong>and</strong> ARQ) must be performed at the<br />

granularity of single frames, <strong>and</strong> they are subject to hard<br />

real-time deadlines. <strong>Security</strong> should be provided for this<br />

time critical framing. They must complete in time for<br />

transmissi<strong>on</strong> of the frame they are associated with. Attack<br />

can increase the frame transmissi<strong>on</strong> time, which is not<br />

expected in hard real time deadlines. In c<strong>on</strong>trast, slow path<br />

activities typically execute according to timers that are not<br />

associated with a specific frame or the frame period <strong>and</strong> as<br />

such do not have strict deadlines. The two categories of<br />

tasks described above interact in that the slow path<br />

activities described above typically dictate the mode of<br />

operati<strong>on</strong> of the fast path activities. For instance, SS<br />

registrati<strong>on</strong> <strong>and</strong> associati<strong>on</strong> with a BS, which occurs<br />

through the exchange of several messages, results in the<br />

creati<strong>on</strong> of several c<strong>on</strong>necti<strong>on</strong>s <strong>and</strong> associated state<br />

between the SS <strong>and</strong> BS. These c<strong>on</strong>necti<strong>on</strong>s can include<br />

state to be tracked in the fast path such as fragmentati<strong>on</strong><br />

status, ARQ retransmissi<strong>on</strong>s, <strong>and</strong> packing.<br />

In additi<strong>on</strong> to supporting the QoS <strong>and</strong> MAC functi<strong>on</strong>ality<br />

it is expected that at system setup time it will be possible to<br />

c<strong>on</strong>figure single systems to treat multiple air channels as<br />

separate MAC instances. Thus a single BS (<strong>and</strong> associated<br />

MAC implementati<strong>on</strong>) might for example utilize two 10<br />

MHz channels in parallel as two separate MAC instances.<br />

This type of virtualizati<strong>on</strong> is necessary because the usage<br />

<strong>and</strong> allocati<strong>on</strong> of available air b<strong>and</strong>width is highly<br />

dependent <strong>on</strong> carrier policies, system loading, <strong>and</strong> radio<br />

envir<strong>on</strong>ment. If it fails to create such instances then<br />

c<strong>on</strong>necti<strong>on</strong> can not be establish.<br />

II. IXP<br />

Intel IXP network processors are suited for high-density<br />

networking applicati<strong>on</strong>s like access points, routers, <strong>and</strong><br />

gateways. It is also a natural choice for WiMAX BSs. It<br />

may be used for SS’s playing the role of residential routing<br />

gateways. While the BS feature set is user-specific, the<br />

802.16 MAC software is <strong>on</strong>e of the most important BS<br />

comp<strong>on</strong>ents. Therefore it is easy to combine the MAC with<br />

modules, be they IPv4, IPv6, or Multiprotocol Label<br />

Switching (MPLS). Moreover, a rich choice of network<br />

access interfaces is supported, e.g., Ethernet (100M, 1G,<br />

10G), ATM (including TM4.1), <strong>and</strong> Packet Over SONET<br />

(POS).<br />

Prof. P.A. Bamnodkar is lecturer in Pune Vidyarthi Griha’s College of<br />

Engineering & Technology (ph<strong>on</strong>e: 9823031243; (e-mail:<br />

pab_comp@pvgcoet.ac.in).<br />

Prof. G.V. Garje, is Assistant Professor & Head, Department of<br />

<strong>Computer</strong> Engineering & IT in Pune Vidyarthi Griha’s College of<br />

Engineering & Technology .He is also a Chairman , Board of Studies,<br />

<strong>Computer</strong> Engg.,University of Pune(ph<strong>on</strong>e: 9850809413; (e-mail:<br />

gvg_comp@pvgcoet.ac.in).<br />

Mr. Pankaj Kulkarni is with Synechr<strong>on</strong>, Pune (ph<strong>on</strong>e: 9823013243; (email:<br />

pankajcoolkarni@gmail.com).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 16


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Figure (a)<br />

Figure (a) shows a sample WiMAX BS software<br />

partiti<strong>on</strong>ing. The fast path activities are referred to as Data<br />

Plane (DP) activities, <strong>and</strong> slow path activities are known as<br />

C<strong>on</strong>trol Plane (CP) activities. The CP- modules deal with<br />

policies, while the DP- modules are c<strong>on</strong>cerned with<br />

executi<strong>on</strong>. The CP sets c<strong>on</strong>trol tables used by the DP.<br />

An IXP network processor hosts both the DP modules<br />

<strong>and</strong> CP modules. As shown in the figure, the DP modules<br />

run partly <strong>on</strong> IXP microengines (<strong>and</strong> are frequently referred<br />

to as “microblocks”) <strong>and</strong> partly <strong>on</strong> the integrated c<strong>on</strong>trol<br />

processor.<br />

The DP part has 802.16 MAC, including UL <strong>and</strong> DL<br />

schedulers, <strong>and</strong> typically also some forwarder module.<br />

From the RF side, it interfaces to the 802.16 PHY (OFDM,<br />

OFDMA), implementing base b<strong>and</strong> processing, using PHY<br />

Service Access Point Applicati<strong>on</strong> Programming Interface<br />

(SAP API). The interface to the CP is d<strong>on</strong>e using IXP<br />

shared memory.<br />

Some tasks such as h<strong>and</strong>ling the MAC c<strong>on</strong>trol messages<br />

are served by the DP or CP. For example, the 802.16 DP<br />

will service B<strong>and</strong>width Requests (in), ARQ (in, out), DL-<br />

MAP (out), UL-MAP (out), DCD/UCD (out), while the<br />

other MAC c<strong>on</strong>trol messages that are not time critical will<br />

be passed to the CP for processing. We call this class<br />

“signaling messages”; they are h<strong>and</strong>led according to the<br />

state machines maintained by the CP.<br />

III. PROBLEM OF FINDING A CENTRALIZED<br />

SCHEDULER<br />

C<strong>on</strong>sider the problem of finding a centralized scheduler<br />

that satisfies Property 1 where we assume that the scheduler<br />

has perfect informati<strong>on</strong> about the backlog at individual<br />

nodes, but does not have any knowledge about the packet<br />

arrival rates. Using backlog informati<strong>on</strong>, the scheduler<br />

decides which node is transmits the next packet. If the<br />

delays are generated <strong>and</strong> the packet will experience the<br />

delay which is not expected<br />

A. PROPERTY OF WIRELESS NETWORK:<br />

Property: For a wireless network c<strong>on</strong>sisting of nodes<br />

n=1...N, we say that a MAC protocol implements a<br />

distributed buffer with service rate U if the following is<br />

true.<br />

(a) All packets experience the same expected delay, i.e.<br />

we have<br />

(b) The packet-drop probability is identical at all nodes,<br />

i.e. we have,<br />

(c) The throughput is a n<strong>on</strong>-decreasing functi<strong>on</strong> in<br />

The above property states that a fair MAC protocol<br />

should serve packets as if the network traffic shares a<br />

comm<strong>on</strong> buffer that is served at rate U, i.e. all packets<br />

entering the network should experience the same average<br />

delay <strong>and</strong> drop probability. The delay time should be<br />

maintained properly. Wimax protocol does not satisfy<br />

Property 1, as it does not always divide equally the network<br />

throughput. From a QoS <strong>and</strong> traffic management point of<br />

view, the main problem with wireless networks is the<br />

relative low capacity of the shared radio channel. The<br />

nature of the radio channel <strong>and</strong> the access to the shared<br />

resource cause variable packet delay <strong>and</strong> loss rate. The<br />

traffic load is defined by the network delay.<br />

Definiti<strong>on</strong> of delay: The delay of a packet in a network<br />

is the time it takes the packet to reach the destinati<strong>on</strong> after it<br />

leaves the source<br />

B. CP-DP Cooperati<strong>on</strong><br />

The CP cooperates with the DP across the FAPI. The CP<br />

issues requests, which may c<strong>on</strong>vey c<strong>on</strong>figurati<strong>on</strong> data,<br />

queries, or they may c<strong>on</strong>tain MAC Management messages<br />

(to be sent to a remote SS),There should also be<br />

authenticati<strong>on</strong> between SS <strong>and</strong> CP <strong>and</strong> it receives<br />

resp<strong>on</strong>ses to those requests <strong>and</strong> also asynchr<strong>on</strong>ous events<br />

(e.g., MAC Management messages coming from remote<br />

SS’s). PEAP is the authenticati<strong>on</strong> protocol used for<br />

authenticati<strong>on</strong> in wireless networks. Up till now PEAP is<br />

working at its best since it is base <strong>on</strong> public key<br />

certificati<strong>on</strong> technique. So the communicati<strong>on</strong> between the<br />

SS <strong>and</strong> CP is secure but <strong>on</strong>ce the packet is coming at CP<br />

then it is forwarded to the scheduler <strong>and</strong> can be modified.<br />

C. MAC-PHY Cooperati<strong>on</strong><br />

The MAC <strong>and</strong> PHY layers cooperate across the PHY<br />

SAP API. This interface enables a fast <strong>and</strong> low-latency<br />

exchange of traffic data between PHY <strong>and</strong> MAC, <strong>and</strong> also<br />

supports in-b<strong>and</strong> PHY c<strong>on</strong>figurati<strong>on</strong> (setting TX/RX<br />

Vector, a data structure equivalent to DL-MAP <strong>and</strong> UL-<br />

MAP, which has to be provided for the PHY frame after<br />

frame). The interface is asynchr<strong>on</strong>ous <strong>and</strong> supports multiple<br />

MAC instances, which enables parallel servicing of many<br />

transmissi<strong>on</strong> channels.<br />

It is assumed that it is PHY that maintains precise time<br />

synchr<strong>on</strong>izati<strong>on</strong> needed to transmit or receive a frame.<br />

MAC is loosely coupled with PHY over the PHY SAP API.<br />

D. MAC-Forwarder Cooperati<strong>on</strong><br />

The CS interface utilizes a “no packet copying”<br />

approach. The MAC prepares a h<strong>and</strong>le to a c<strong>on</strong>trol structure<br />

pointing at a data buffer (a porti<strong>on</strong> of a buffer or even a<br />

buffer chain) when passing an SDU to a forwarder. A<br />

forwarder uses the same mechanism when passing an SDU<br />

to the MAC for transmissi<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 17


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The MAC <strong>and</strong> a forwarder are loosely coupled via an<br />

elasticity buffer between the two.<br />

IV. IXP MICROBLOCKS<br />

Figure shows the microblocks implementing the fast-path<br />

processing <strong>on</strong> IXP microengines. The current code supports<br />

the OFDM PHY <strong>and</strong> multiple MAC instances. The chosen<br />

architecture guarantees that the implementati<strong>on</strong> c<strong>on</strong>stitutes<br />

a good starting point for implementati<strong>on</strong> of future 802.16<br />

st<strong>and</strong>ard extensi<strong>on</strong>s as well as for cooperati<strong>on</strong> with other<br />

PHY types. Part of the code may be reused for the SS MAC<br />

implementati<strong>on</strong>. The microblocks optimize usage of the<br />

radio link <strong>and</strong> support all service flow types <strong>on</strong> the UL<br />

directi<strong>on</strong>; they provide efficient DL traffic h<strong>and</strong>ling in both<br />

the TDD <strong>and</strong> FDD mode of operati<strong>on</strong>, including h<strong>and</strong>ling<br />

of half-duplex SS’s. The microcode blocks cooperate using<br />

messages passed via ring structures as depicted in Figure<br />

(a). Because the message formats are well-defined, it is<br />

possible to customize or even replace certain blocks to<br />

enable easy product differentiati<strong>on</strong>. In particular, it is<br />

possible to introduce customer-designed schedulers. This<br />

way, extensibility of the design is guaranteed.<br />

The other important data structures include the<br />

C<strong>on</strong>necti<strong>on</strong> Record <strong>and</strong> Frame Definiti<strong>on</strong>. The C<strong>on</strong>necti<strong>on</strong><br />

Record holds all c<strong>on</strong>necti<strong>on</strong> data <strong>on</strong> a per CID <strong>and</strong> MAC<br />

instance basis. Its c<strong>on</strong>tents are defined by the CP <strong>and</strong> used<br />

by the DP. The Frame Definiti<strong>on</strong> structure determines the<br />

DL-MAP <strong>and</strong> UL-MAP for the current frame.<br />

The microblocks are described below. They are grouped<br />

into UL Path, DL Path, <strong>and</strong> Service Blocks.<br />

HCS <strong>and</strong> CRC, <strong>and</strong> decrypted if needed). It also extracts<br />

Grant Requests (from st<strong>and</strong>-al<strong>on</strong>e headers).<br />

Vulnerability introduced in the UL PATH: Extracted<br />

informati<strong>on</strong> is passed further <strong>and</strong> can be used in the another<br />

way .since it c<strong>on</strong>tains the important informati<strong>on</strong> which has<br />

a lot meaning .<strong>on</strong>e way is to modify this informati<strong>on</strong> which<br />

leads to incorrect informati<strong>on</strong> <strong>and</strong> pass the modified<br />

informati<strong>on</strong> to the next module.<br />

MAC PDU RX prepares MAC SDUs from MAC PDUs<br />

(with unpacking <strong>and</strong> defragmentati<strong>on</strong>, in two versi<strong>on</strong>s: with<br />

<strong>and</strong> without ARQ), extracts ARQ feedback IEs,<br />

piggybacked Grant Requests, <strong>and</strong> MAC Management<br />

messages destined for the CP. It detects missing blocks <strong>and</strong><br />

(for ARQ c<strong>on</strong>necti<strong>on</strong>s) signals this to the ARQ Engine.<br />

Complete MAC SDUs are passed to the forwarder.<br />

Vulnerability introduced in the MAC PDU RX:<br />

Piggybacked Grant Requests <strong>and</strong> MAC Management<br />

messages can be modified by sensing the line of<br />

communicati<strong>on</strong>. Once the pattern is recognized the<br />

sequence nos. can be used to pass the negative<br />

acknowledgment or will not be passed to the forwarder can<br />

be kept at the hackers end for his use.<br />

B. The UL Scheduler<br />

The UL Scheduler receives Grant Requests <strong>and</strong> plans<br />

when those requests may be fulfilled, based <strong>on</strong> the service<br />

parameters associated with a given c<strong>on</strong>necti<strong>on</strong>. It prepares<br />

the UL porti<strong>on</strong> of the Frame Definiti<strong>on</strong> structure. It operates<br />

<strong>on</strong> an abstract allocati<strong>on</strong> unit. Because the UL Scheduler<br />

processes input in the form of a grant request message, <strong>and</strong><br />

produces output to a shared memory, a Frame Definiti<strong>on</strong><br />

structure.<br />

Vulnerability introduced in the UL Scheduler:<br />

Allocati<strong>on</strong> sequence can also be change .It may schedule<br />

incorrectly if it has already received wr<strong>on</strong>g informati<strong>on</strong> .It<br />

can pass the wr<strong>on</strong>g output to the shared memory.<br />

C. DL Path<br />

Figure b: Data plane MAC software modules <strong>on</strong> IXP<br />

microengines<br />

A. UL Path<br />

PHY SDU RX reassembles messages received from<br />

PHY into PHY SDUs, prepares MAC PDUs (with validated<br />

MAC SDU TX h<strong>and</strong>les MAC SDUs arriving from the<br />

forwarder, CP (i.e., MAC Management messages), <strong>and</strong><br />

from retransmit queues (ARQ c<strong>on</strong>necti<strong>on</strong>s <strong>on</strong>ly). This block<br />

performs fragmentati<strong>on</strong>, if necessary. It forms incomplete<br />

MAC PDUs (which can be later packed). For ARQ use, it<br />

saves a copy of the porti<strong>on</strong> prepared for transmissi<strong>on</strong> <strong>and</strong><br />

starts the retransmissi<strong>on</strong> timer.<br />

Vulnerability introduced in the DL Path: Packet<br />

fragmentati<strong>on</strong> can be d<strong>on</strong>e in the wr<strong>on</strong>g way so that next<br />

node will defragments the improper packet. And hence<br />

change the meaning of the data.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 18


Proceedings of ICCNS 08 , 27-28 September 2008<br />

MAC PDU TX performs MAC PDU queuing per CID,<br />

destinati<strong>on</strong> SS, <strong>and</strong> Burst Profile. The amount of queued<br />

data depends <strong>on</strong> the free space remaining in the currently<br />

prepared frame (the informati<strong>on</strong> is available in the Frame<br />

definiti<strong>on</strong> structure). It also does dequeuing of MAC PDUs<br />

for final processing <strong>and</strong> transmissi<strong>on</strong>. At this stage packing<br />

<strong>and</strong> c<strong>on</strong>catenati<strong>on</strong> take place.<br />

Vulnerability introduced in the MAC PDU TX: Queue<br />

structure available can empty. Since dequeing is d<strong>on</strong>e at<br />

this module. MAC PDU’s c<strong>on</strong>tent are c<strong>on</strong>catenated over<br />

here, extra strings can also be inserted at this stage.<br />

Map Builder is a PHY-specific module, which processes<br />

the Frame Definiti<strong>on</strong> structure c<strong>on</strong>tents <strong>and</strong> produces<br />

specifically formatted RX/TX informati<strong>on</strong> both for the local<br />

PHY (as TX/RX Vector) <strong>and</strong> for remote SS PHYs (as DL-<br />

MAP <strong>and</strong> UL-MAP MAC Management messages).<br />

Map builder is working in proper manner so there is no<br />

need to reset the c<strong>on</strong>necti<strong>on</strong> .it will create the impressi<strong>on</strong> to<br />

the neighboring nodes that whatever informati<strong>on</strong> they are<br />

going to receive is correct <strong>and</strong> reliable.<br />

PHY SDU TX finalizes processing of each MAC PDU,<br />

by preparing HCS, encrypting its payload (if required) <strong>and</strong><br />

generating a CRC. MAC PDUs bel<strong>on</strong>ging to the same burst<br />

are then sent as a multisegment PHY SDU to the PHY for<br />

transmissi<strong>on</strong>. This microblock also passes the TX/RX<br />

Vector to the PHY <strong>and</strong> processes c<strong>on</strong>firmati<strong>on</strong>s from PHY<br />

(forwarded by the PHY SDU RX microblock).<br />

The CRC generated will be of incorrect message so the<br />

CRC can be generated as it is. Actually this module can<br />

also be changed but if this changed output is observed by<br />

neighboring nodes then the c<strong>on</strong>cerned node could be<br />

c<strong>on</strong>sidered as faulty <strong>and</strong> can e removed or by pass by the<br />

router.<br />

D. Service Blocks<br />

The ARQ Engine processes ARQ feedback IEs arriving<br />

from remote SS’s <strong>and</strong> also signals coming from the local<br />

timer <strong>and</strong> from the MAC SDU TX. It runs state machines to<br />

maintain RX window <strong>and</strong> TX window data structures, used<br />

to c<strong>on</strong>trol MAC SDU reassembly <strong>and</strong> retransmissi<strong>on</strong>. This<br />

block also h<strong>and</strong>les resynchr<strong>on</strong>izati<strong>on</strong> between SS’s <strong>and</strong><br />

BS’s, if they get out of sync.<br />

E. Timer<br />

Timer is a universal block, receiving wake-up requests<br />

from the remaining microblocks <strong>and</strong> processing them in the<br />

expirati<strong>on</strong> time sequence. The Timer also processes timeout<br />

cancellati<strong>on</strong> orders. When the active timer expires, a<br />

message is sent to the requested microblock with sufficient<br />

c<strong>on</strong>text informati<strong>on</strong> to h<strong>and</strong>le the event correctly.<br />

Mainly if so many blocks are not giving there resp<strong>on</strong>ses<br />

<strong>on</strong> time then this block will definitely perform time out<br />

cancellati<strong>on</strong> orders. So timely executi<strong>on</strong> is again an<br />

important criteri<strong>on</strong> for hacking the micro engine .since this<br />

timer module can’t be removed from the software because<br />

it helps for synchr<strong>on</strong>izati<strong>on</strong> between the nodes.<br />

V. CONCLUSION:<br />

If at all it is expected that the modified software should<br />

be there in the system. If this is detected then can be<br />

uninstall <strong>and</strong> new original versi<strong>on</strong> can be install. So it is<br />

important to create a virtual view that everything is going<br />

smoothly. So some modules should work as it is, <strong>and</strong> some<br />

can be modified exactly appear as the original <strong>on</strong>e.<br />

Thus the software can affect the performance of the node<br />

.<strong>on</strong>ce the installati<strong>on</strong> is d<strong>on</strong>e .unfortunately it will leads to<br />

the unexpected result. And really this kind of attacks are<br />

rarely detected .Positive point is <strong>on</strong>ly that its somewhat<br />

difficult to install such software <strong>on</strong> the node, but internally<br />

employee who has access to that node can do this. Such<br />

internal threats are really difficult to detect <strong>and</strong> creates<br />

challenge for the security developers.<br />

REFERENCES:<br />

[1] Corvaja, R., Zanella, A., Dossi, M., T<strong>on</strong>toli, A., Zennaro, P., (2004)<br />

“Experimental Performance of the H<strong>and</strong>over Procedure in a Wifi<br />

Network”, Proceedings of WPMC04, Abano Terme (Padova),Italy.<br />

[2] www.intel.com/products/Centrino/compare.htm<br />

[3] WiMax Operator's Manual: Building 802.16 Wireless <strong>Networks</strong><br />

(Paperback) by Daniel Sweeney (Author)<br />

[4] Wi max st<strong>and</strong>ards <strong>and</strong> security by Syed Ahs<strong>on</strong> <strong>and</strong> Mohhamad Ilyas<br />

[5] Wimax explained System Fundamentals Authors: Lawrence Harte,<br />

Dr. Kalai<br />

[6] Fundamentals of WiMAX: Underst<strong>and</strong>ing Broadb<strong>and</strong> Wireless<br />

Network... by Jeffrey G. Andrews<br />

[7] Intel journal downloaded<br />

ftp://download.intel.com/technology/itj/2004/volume08issue03/vol8_<br />

iss03.pdf<br />

[8] Fundamentals of WiMAX: Underst<strong>and</strong>ing Broadb<strong>and</strong> Wireless<br />

Networking Jeffrey G. Andrews (Author), Arunabha Ghosh<br />

(Author), Rias Muhamed (Author)<br />

Vulnerability introduced in the Service Blocks: RX<br />

window <strong>and</strong> TX window data structures are maintained at<br />

this block, by changing the window size packets can be<br />

dropped. MAC SDU reassembly <strong>and</strong> retransmissi<strong>on</strong> is<br />

d<strong>on</strong>e at this block if these module is disabled then the lost<br />

frame will never retransmitted through the intermediate<br />

node this will increase the waiting time of the receiving<br />

node.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 19


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Efficient Indexing <strong>and</strong> Searching For<br />

Dynamic Website<br />

Karunendra Verma 1 , Prof. R. V. Pawar 2<br />

Abstract This paper discusses the efficiency <strong>and</strong> performance<br />

improvement of the search engine by creating Index .The<br />

performance of index fundamentally affects the result of retrieval in<br />

search engine, it is also useful for space usage <strong>and</strong> executing speed.<br />

In traditi<strong>on</strong>al search engine, index is recreated whenever any<br />

updati<strong>on</strong> occurs in repository. Compared with the traditi<strong>on</strong>al index<br />

architecture, current scheme is comprised of main inverted index,<br />

append inverted index, <strong>and</strong> deleted file list, fitting for the frequent<br />

update problem of index. An inverted index scheme is proposed to<br />

solve the frequent update in traditi<strong>on</strong>al search engine.<br />

Keywords— Performance, Index, Traditi<strong>on</strong>al search engine,<br />

Updating, Inverted index.<br />

I. INTRODUCTION<br />

Informati<strong>on</strong> <strong>on</strong> Internet is growing exp<strong>on</strong>entially. As the<br />

growing informati<strong>on</strong> <strong>on</strong> Internet, the organizati<strong>on</strong> <strong>and</strong><br />

utilizati<strong>on</strong> of informati<strong>on</strong> resources has become a research<br />

spot in informati<strong>on</strong> technology. Search Engine technology is<br />

<strong>on</strong>e of its research objects. Since the Web-based search engine<br />

appeared in 1994. It aims for informati<strong>on</strong> Navigati<strong>on</strong> offering<br />

the retrieval service for users by searching, gathering, <strong>and</strong><br />

underst<strong>and</strong>ing, extracting, organizing, <strong>and</strong> processing the<br />

informati<strong>on</strong> <strong>on</strong> Internet with certain tactics. With the lasting<br />

growth of informati<strong>on</strong> <strong>on</strong> Internet, the informati<strong>on</strong> coverage<br />

rate <strong>and</strong> retrieval precisi<strong>on</strong> of generic search engine decreases<br />

c<strong>on</strong>tinuously. Therefore, the development of topic-focused<br />

informati<strong>on</strong> search tool has become a trend. The topic is the<br />

characteristic of informati<strong>on</strong> Specific for users; according to<br />

different topic the search engine gathers web pages for postprocessing.<br />

Compared with traditi<strong>on</strong>al search engine the topic<br />

search engine has its advantages: Smaller searching z<strong>on</strong>e;<br />

faster gathering <strong>and</strong> updating of' Informati<strong>on</strong>; more accurate<br />

webpage retrieval; higher correlati<strong>on</strong> with users; lower cost<br />

for implementing.<br />

The search engine is usually divided into three parts:<br />

Informati<strong>on</strong>-gathering module, index module, <strong>and</strong> inquiry<br />

service module. The purpose of setting up index is to improve<br />

the speed for looking up through the index data structure.<br />

With the popularizati<strong>on</strong> of Internet, it is more c<strong>on</strong>venient to<br />

obtain the documents in larger quantity. The traditi<strong>on</strong>al<br />

algorithms, directly sequential keywords-scanning, have been<br />

far from meeting the resp<strong>on</strong>se timing requirements of modern<br />

1 Karunendra Verma is Research Scholar at Vishwakarma Institute of<br />

Technology, Pune-37 <strong>and</strong> pursuing M.E. (CSE)-IT.<br />

Prof. R. V. Pawar is Assistant Professor in Informati<strong>on</strong> Technology at<br />

Department of <strong>Computer</strong> Engineering, Vishwakarma Institute of Technology,<br />

Pune-37. (email: rvspawar@rediffmail.com)<br />

Informati<strong>on</strong> retrieval system. So the research <strong>on</strong> this topic has<br />

been launched.<br />

II. RELATED WORK<br />

Extensive research has been focused <strong>on</strong> the index technology,<br />

<strong>and</strong> various methods have been introduced. The primary<br />

problem of c<strong>on</strong>structing the index is the choice of an index<br />

model. Inverted index model, Pat array model, <strong>and</strong> signature<br />

file model are three kinds of full text index model. Inverted<br />

index model is derived from the book c<strong>on</strong>tent. Because of its<br />

easy implementing, the inverted index model has become<br />

widely used . Pat array model [1] is suited for more complex<br />

inquiry, for instance, prefix inquiry <strong>and</strong> range inquiry.<br />

However, it is difficult to c<strong>on</strong>struct <strong>and</strong> maintain. Signature<br />

file model, popular in 1980's, has gradually been replaced by<br />

inverted index model.<br />

Modificati<strong>on</strong> has been made for Pat array model for<br />

improving the efficiency of space <strong>and</strong> time. Because of the<br />

relative stability of the indexed documents, static indexing<br />

technology is adopted in the early informati<strong>on</strong> retrieval<br />

system. Ricardo [4] <strong>and</strong> Charles have <strong>on</strong>ly illustrated the static<br />

index technology when explaining the full text inverted<br />

technology. This technology needs to rebuild the global index<br />

repository, when updating the index, supposed those indexed<br />

documents are seldom changed or the changing period is<br />

comparatively l<strong>on</strong>g.<br />

With the rapid development of Internet, the index of the<br />

search engine needs frequent update. Therefore, the worse<br />

updating performance of static index technology gradually is<br />

uncovered. Three kinds updating tactics, eager, piggyback,<br />

<strong>and</strong> batch approach, are compared <strong>and</strong> the c<strong>on</strong>clusi<strong>on</strong> is<br />

drawn that the performance of piggyback is superior to the<br />

other two methods. Google [1], widely used under the<br />

hyperlink data envir<strong>on</strong>ment, is an excellent search engine. It<br />

adopts the keyword-based technology breaking through the<br />

restricti<strong>on</strong> of inquiry topic, <strong>and</strong> analyzes in depth the<br />

hyperlinks to web pages with its original Page Rank algorithm<br />

for sorting the search results, which greatly improves the<br />

search performance <strong>and</strong> makes itself <strong>on</strong>e of the best<br />

commercial <strong>on</strong>e.<br />

III. INDEX<br />

Index is data structures over the text (called indices) to speed<br />

up the search .it is worth- while building <strong>and</strong> maintaining an<br />

index when the text collecti<strong>on</strong> is large <strong>and</strong> semi-static .Semi<br />

static collecti<strong>on</strong>s can be updated at reas<strong>on</strong>able regular interval<br />

(e.g. daily).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 20


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The goal of storing an index is to optimize the speed <strong>and</strong><br />

performance of finding relevant documents for a search query.<br />

Without an index, the search engine would scan every<br />

document in the corpus, which would take a c<strong>on</strong>siderable<br />

amount of time <strong>and</strong> computing power. For example, an index<br />

of 10,000 documents can be queried within millisec<strong>on</strong>ds,<br />

where a sequential scan of every word in 10,000 large<br />

documents could take hours. No search engine user would be<br />

comfortable waiting several hours to get search results. The<br />

trade off for the time saved during retrieval is that additi<strong>on</strong>al<br />

storage is required to store the index <strong>and</strong> that it takes a<br />

c<strong>on</strong>siderable amount of time to update.<br />

IV. INDEX DESIGN FACTORS<br />

Major factors in designing a search engine’s architecture<br />

include:<br />

1. Merge factors<br />

How data enters the index, or how words or subject features<br />

are added to the index during corpus traversal, <strong>and</strong> whether<br />

multiple indexers can work asynchr<strong>on</strong>ously. The indexer must<br />

first check whether it is updating old c<strong>on</strong>tent or adding new<br />

c<strong>on</strong>tent. Traversal typically correlates to the data collecti<strong>on</strong><br />

policy.<br />

2. Storage techniques<br />

How to store the index data - whether informati<strong>on</strong> should be<br />

compressed or filtered<br />

3. Index size<br />

How much computer storage is required to support the index .<br />

4. Lookup speed<br />

How quickly a word can be found in the inverted index. How<br />

quickly an entry in a data structure can be found, versus how<br />

quickly it can be updated or removed, is a central focus of<br />

computer science.<br />

5. Maintenance<br />

Maintaining or updating the index over time.<br />

V SYSTEM ARCHITECTURE AND DATA STRUCTURE OF INDEX MODULE:<br />

This system is implemented utilizing the inverted index<br />

module. Its architecture is shown in Figure 1.The index<br />

module is mainly comprised of web pages parser, document<br />

index, index lexic<strong>on</strong> ,forward index ,inverted index ,index<br />

manager <strong>and</strong> segment lexic<strong>on</strong> .<br />

This structure is some different from the traditi<strong>on</strong>al system, In<br />

traditi<strong>on</strong>al System there is <strong>on</strong>ly <strong>on</strong>e inverted index module <strong>and</strong><br />

any updati<strong>on</strong> happen in repository it is always updated same<br />

index by recreating index repository .Where as in this system<br />

this single module is divide in three different modules,<br />

appended index for adding new document in the index, delete<br />

file list for deleti<strong>on</strong> of document from index <strong>and</strong> main inverted<br />

index.<br />

A. Web Page Parser:<br />

Crawlers are primarily read out for further analyzing. It<br />

functi<strong>on</strong>s as:<br />

1. Remove the irrelevant informati<strong>on</strong>, such as advertisement,<br />

from web pages <strong>and</strong> extract the main c<strong>on</strong>tent.<br />

2. Compute the checksum of web page URL.<br />

3. Segment words, count their frequency of usage, <strong>and</strong><br />

compute their weights according to their word-locati<strong>on</strong>, f<strong>on</strong>t,<br />

color, <strong>and</strong> word-frequency.<br />

Categorize documents based <strong>on</strong> their c<strong>on</strong>tents <strong>and</strong> number<br />

each document according to the categorizati<strong>on</strong>. In additi<strong>on</strong>,<br />

web page parser is tolerant of possible errors, such as spelling<br />

error in html label, blank missing in label definiti<strong>on</strong>, n<strong>on</strong>-<br />

ASCII character, <strong>and</strong> error-nested html label. Web page parser<br />

plays a key role in search engine. A good parser can<br />

accurately analyze the c<strong>on</strong>tent, architecture, <strong>and</strong><br />

characteristics of web pages, <strong>and</strong> regulate their c<strong>on</strong>tributi<strong>on</strong>s<br />

to the web pages improving the precisi<strong>on</strong> of search results.<br />

Repository<br />

Parser<br />

Forward Index<br />

Append<br />

Inverted<br />

Index<br />

Deleted<br />

File List<br />

Inverted Index<br />

Index Manager<br />

Segment Lexic<strong>on</strong><br />

Document Index<br />

Index<br />

Lexic<strong>on</strong><br />

Main<br />

Inverted<br />

Index<br />

Figure 1: Index Management<br />

Query<br />

Result<br />

B. Document indexing:<br />

Repository stores the informati<strong>on</strong> of each parsed document.<br />

The repository is indexed by DocID (Document<br />

Identificati<strong>on</strong>). The indexes item is comprised of the<br />

corresp<strong>on</strong>ding URL checksum, type, locati<strong>on</strong> in repository,<br />

abstract, <strong>and</strong> length of each document.<br />

C. Index Lexic<strong>on</strong> <strong>and</strong> Segment Lexic<strong>on</strong>:<br />

Index lexic<strong>on</strong> stores the words to be indexed, corresp<strong>on</strong>dingly<br />

with their serial number, <strong>and</strong> locati<strong>on</strong> in indices (inverted<br />

index <strong>and</strong> append index), shown in Figure 2. New words<br />

when parsing the web pages should-be appended to the<br />

lexic<strong>on</strong>. Segment lexic<strong>on</strong> is utilized in document segmentati<strong>on</strong><br />

<strong>and</strong> merging the segments [1].<br />

Figure 2: Data Structure of Index Lexic<strong>on</strong><br />

The Character-based method <strong>and</strong> word-based <strong>on</strong>e have<br />

different advantages <strong>and</strong> disadvantages respectively.<br />

Character-based method is more general with easier<br />

implementing <strong>and</strong> lower maintaining cost. Nevertheless, this<br />

method may obtain irrelevant documents ignoring their<br />

meaning, <strong>and</strong> require more storage space.<br />

As a c<strong>on</strong>trast, in word-based method its index repository could<br />

be organized as a Smaller <strong>on</strong>e with a relative faster resp<strong>on</strong>se,<br />

<strong>and</strong> c<strong>on</strong>cept-based retrieval could be performed implementing<br />

syn<strong>on</strong>ym <strong>and</strong> ant<strong>on</strong>ym processing.<br />

R<br />

E<br />

T<br />

R<br />

I<br />

E<br />

V<br />

A<br />

L<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 21


Proceedings of ICCNS 08 , 27-28 September 2008<br />

However, this method needs the segment processing for<br />

source document, <strong>and</strong> large quantity words need to be stored.<br />

The relative c<strong>on</strong>centrati<strong>on</strong> of c<strong>on</strong>tents, high accurate of<br />

segments, comparatively smaller words in lexic<strong>on</strong> characterize<br />

this system .Therefore, the word-based lexic<strong>on</strong> is utilized in<br />

this system. Index lexic<strong>on</strong> is stored in memory employing the<br />

Hash functi<strong>on</strong> for retrieval. In index lexic<strong>on</strong> data structure, the<br />

first positi<strong>on</strong> is mapped from the positi<strong>on</strong> in main inverted<br />

index, <strong>and</strong> the sec<strong>on</strong>d positi<strong>on</strong> is mapped from the positi<strong>on</strong> in<br />

append index. A null pointer is assigned to indicate no such<br />

word in indices or in the append index [1].<br />

D. Forward Index:<br />

Forward index take the DocID as index item. Index is sorted<br />

according to the number of document followed by the<br />

numbered words <strong>and</strong> their frequency .The index unit list<br />

follows each numbered word. Figure 3 show the structure of<br />

the forward index.<br />

Figure 3: Data Structure of Forward Index<br />

E. Hit Lists:<br />

A hit list corresp<strong>on</strong>ds to a list of occurrences of a particular<br />

word in a particular document including positi<strong>on</strong> <strong>and</strong> f<strong>on</strong>t<br />

informati<strong>on</strong>. Hit lists account for most of the space used in<br />

both the forward <strong>and</strong> the inverted indices. Because of this, it is<br />

important to represent them as efficiently as possible. We<br />

c<strong>on</strong>sidered several alternatives for encoding positi<strong>on</strong> <strong>and</strong> f<strong>on</strong>tsimple<br />

encoding (a triple of integers). The details of the hits<br />

are shown in Figure 4.<br />

Figure 4: Data Structure of Hit<br />

Compact encoding uses two bytes for every hit. There are two<br />

types of hits: fancy hits <strong>and</strong> plain hits. Fancy hits include hits<br />

occurring in a URL, title, anchor text, or Meta tag. Plain hits<br />

include everything else. A plain hit c<strong>on</strong>sists of f<strong>on</strong>t size <strong>and</strong><br />

13 bits of word positi<strong>on</strong> in a document. F<strong>on</strong>t size is<br />

represented relative to the rest of the document using three<br />

bits (<strong>on</strong>ly 7 values are actually used because 111 is the flag<br />

that signals a fancy hit). A fancy hit c<strong>on</strong>sists of the f<strong>on</strong>t size<br />

set to 7 to indicate it is a fancy bit, 4 bits to encode the type of<br />

fancy hit, The length of a hit list is stored before the hits<br />

themselves. to save space, the length of the hit list is combined<br />

with the WordID in the forward index <strong>and</strong> the DocID in the<br />

inverted index[1].<br />

F. Inverted Index:<br />

For the real-time update of index, the inverted index module is<br />

composed of three comp<strong>on</strong>ents: main inverted index, append<br />

inverted index, <strong>and</strong> deleted file list.<br />

Main inverted index <strong>and</strong> append inverted index are both<br />

sorted by WordID. DocID, weight, <strong>and</strong> index, unit are three<br />

items in the lists. Figure 5 show the structure of inverted<br />

index.<br />

Figure 5: General Process for indexing<br />

VII. USED ALGORITHM<br />

1. Delta Encoding for Compressi<strong>on</strong><br />

Delta encoding is a way of storing or transmitting data in the<br />

form of differences between sequential data rather than<br />

complete files. Delta encoding is sometimes called delta<br />

compressi<strong>on</strong>. The differences are recorded in discrete files<br />

called”deltas” or ”diffs”. Because changes are often small,<br />

delta encoding greatly reduces data redundancy. Collecti<strong>on</strong>s<br />

of unique deltas are substantially more space-efficient than<br />

their n<strong>on</strong>-encoded equivalents. Before storing in to the index<br />

first we will compress the word by using delta encoding <strong>and</strong><br />

then store in index. here giving pseudo code for delta<br />

encoding algorithm [9] .<br />

void delta encode(char * buffer, int length)<br />

{<br />

char *temp1,static _temp2 = null;<br />

int i; temp1 = buffer;<br />

for (i = 0; i < length; + + i)<br />

{<br />

if(temp1[i] == temp2[i])<br />

{<br />

count + +;<br />

}<br />

else break;<br />

}<br />

temp2 = buffer;<br />

Printf(%d%s,count,temp1 + count);<br />

}<br />

2. MergeSort Algorithm<br />

The sorting algorithm Mergesort produces a sorted sequence<br />

by sorting its two halves <strong>and</strong> merging them.Mergesort is also<br />

efficient <strong>on</strong> list <strong>and</strong> we are storing word,documented using<br />

List. here giving pseudocode for Mergesort algorithm [9] .<br />

void mergesort(int low, int high)<br />

{<br />

if(low


Proceedings of ICCNS 08 , 27-28 September 2008<br />

void merge(int low, int m, int high)<br />

{<br />

int i, j, k;<br />

for (i=low; i


Proceedings of ICCNS 08 , 27-28 September 2008<br />

IX. CONCLUSION<br />

Different methods to index implementati<strong>on</strong> are studied.<br />

According to the characteristics of search engine, real time<br />

updati<strong>on</strong> in index is requiring. A particular index model is<br />

designed, the inverted index of which is comprised of main<br />

inverted index, append Inverted index, <strong>and</strong> deleted file list,<br />

solving the index update problem. Different implementati<strong>on</strong>s<br />

in main inverted index <strong>and</strong> append inverted index further<br />

c<strong>on</strong>tributes the Performance improvement.<br />

REFERENCES<br />

[1] An Index Design in Topic-focused SearchEngine0-7803-<br />

8125- 4/03/20.00@2005IEEE.<br />

[2] Efficient Update of Indexes for Dynamically Changing<br />

Web Documents Lipyeow Lim.MinWang Sriram<br />

Padmanabhan Jeffrey Scott Vitter.Ramesh Agarwal Received:<br />

4 April 2004 / Revised: 17 March 2005 /Accepted:6<br />

November 2006 / Published <strong>on</strong>-line: 2 March 2007 Springer.<br />

[3] Sec<strong>on</strong>d <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Availability,<br />

Reliability <strong>and</strong> <strong>Security</strong> (ARES’07)<br />

0-7695-2775-2/0720.00 2007 IEEE<br />

[4] ” Modern Informati<strong>on</strong> Retrieval” by Ricardo Baeza-Yates<br />

<strong>and</strong> Berthier Ribeiro Neto:changes in modern informati<strong>on</strong><br />

retrieval <strong>and</strong> how to provide relevant informati<strong>on</strong> in this book<br />

about IR technology <strong>and</strong> Block addressing indices for<br />

approximate text retrieval.<br />

[5] Parsing, indexing, <strong>and</strong> searching XML with Digester <strong>and</strong><br />

Lucene by Otis Gospodnetic (developerWorks, June 2003).<br />

[6] Apparao, V., Byrne, S., Champi<strong>on</strong>, M., Isaacs, S., Jacobs,<br />

I., Le Hors, A., Nicol, G.Robie, J.,Sutor, R., Wils<strong>on</strong>, C.,<br />

Wood, L.http://www.w3.org/TR/REC-DOM<br />

[7] Boyer, R.S., Moore, J.S.: A fast string searching<br />

algorithm. Commun. ACM 20,762<br />

[8] A. F. Lucene. Apache lucene. http://lucene.apache.org/, 10<br />

2006.<br />

[9]Performance Analysis <strong>and</strong> Optimizati<strong>on</strong> <strong>on</strong> Lucene by<br />

David Chi-Chuan Su 609 Es- c<strong>on</strong>dido Road Stanford, CA<br />

94305 +1 650 497 7416 dsu800@stanford.edu<br />

[10]http://www.dcs.gla.ac.uk/Keith/Chapter.1/Ch.1.html<br />

[11]http://www.dcs.gla.ac.uk/Keith/Chapter.2/Ch.2.html<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 24


Proceedings of ICCNS 08 , 27-28 September 2008<br />

ARBSGen: Associati<strong>on</strong> Rule Based automatic<br />

worm Signature Generati<strong>on</strong><br />

S<strong>and</strong>eep Thorat , Rohit Khot<br />

s<strong>and</strong>eep_thorat,rohit_a{students.iiit.ac.in}<br />

Abstract— In recent era, Internet worms are <strong>on</strong>e of serious<br />

threats which have been a major cause of intrusi<strong>on</strong> attempts.<br />

Traditi<strong>on</strong>al Intrusi<strong>on</strong> Detecti<strong>on</strong> Systems (IDS) store all known worm<br />

signatures <strong>and</strong> m<strong>on</strong>itors real time traffic to find out these signatures<br />

<strong>and</strong> prevent possible intrusi<strong>on</strong> attempts. This approach is not useful<br />

for newly evolved worms due to the unavailability of their signatures.<br />

Present worm signature generati<strong>on</strong> work needs manual analysis<br />

which is time c<strong>on</strong>suming process. To circumvent these problems<br />

substantial efforts have been made which automate the process of<br />

worm signature generati<strong>on</strong>.<br />

In this paper we address the problem of automating worm<br />

signature generati<strong>on</strong> process. We propose an Associati<strong>on</strong> Rule Based<br />

Signature Generati<strong>on</strong> (ARBSGen) algorithm which operates at<br />

network entry point to find out new attack patterns <strong>and</strong> generate<br />

signatures. We use c<strong>on</strong>tent invariance <strong>and</strong> prevalence characteristics<br />

of the worms for worm signature generati<strong>on</strong>. Our system is highly<br />

effective against newly evolved worms <strong>and</strong> slow propagating worms.<br />

Our System operates offline <strong>and</strong> hence is stable against Denial of<br />

Service attacks (DOS). These are significant improvements over<br />

existing automated worm signature generati<strong>on</strong> methods like Earlybird<br />

<strong>and</strong> Autograph.<br />

Keywords - Associati<strong>on</strong> Rule mining, Network <strong>Security</strong>,<br />

Signature Generati<strong>on</strong>s, Worms.<br />

I. INTRODUCTION AND MOTIVATION<br />

Intrusi<strong>on</strong> refers to any acti<strong>on</strong> d<strong>on</strong>e intenti<strong>on</strong>ally or<br />

unintenti<strong>on</strong>ally, which threatens the <strong>Security</strong>, Integrity,<br />

Availability <strong>and</strong> C<strong>on</strong>fidentiality of the system. Intrusi<strong>on</strong><br />

detecti<strong>on</strong> systems detect such intrusi<strong>on</strong>s attempts <strong>and</strong> help to<br />

secure computing envir<strong>on</strong>ments. In recent year’s sudden<br />

increase in malicious activities across the network made<br />

Intrusi<strong>on</strong> detecti<strong>on</strong> as <strong>on</strong>e of the most c<strong>on</strong>cerned areas.<br />

Internet worms are a major source for Intrusi<strong>on</strong> attempts. A<br />

worm is a self-replicating program moving across the<br />

networks. Worms remotely exploit software vulnerabilities of<br />

a victim host <strong>and</strong> spread infecti<strong>on</strong>s to other machines utilizing<br />

current victim’s resources. Since worms are spreading at an<br />

enormous rate they causes major outburst. Unfortunately,<br />

existing techniques to defend against these outbreaks are<br />

extremely poor. Typically, new worms are detected in an ad<br />

hoc fashi<strong>on</strong> by a combinati<strong>on</strong> of intrusi<strong>on</strong> detecti<strong>on</strong> systems<br />

<strong>and</strong> administrator h<strong>and</strong>work. After isolating an instance of a<br />

worm, skilled security professi<strong>on</strong>als manually characterize the<br />

worm signature. This signature is used to prevent subsequent<br />

infecti<strong>on</strong>s by updating Intrusi<strong>on</strong> Preventi<strong>on</strong> Systems signature<br />

database. But this approach is quantitatively insufficient as<br />

manual signature generati<strong>on</strong> is often slow <strong>and</strong> expensive [13].<br />

Therefore steps are needed to automate worm signature<br />

generati<strong>on</strong> process. A lot of work has been d<strong>on</strong>e in Host based<br />

intrusi<strong>on</strong> detecti<strong>on</strong> areas in this regard. Host based Intrusi<strong>on</strong><br />

detecti<strong>on</strong> systems m<strong>on</strong>itor the system calls executed to find out<br />

the malicious behavior/pattern in executi<strong>on</strong>. But these systems<br />

are extremely complex to build. Another major deficiency with<br />

these methods is that, these systems are used for protecti<strong>on</strong> of<br />

end host systems rather than protecti<strong>on</strong> of the entire network.<br />

From Administrator point of view network protecti<strong>on</strong> is more<br />

effective. So network based intrusi<strong>on</strong> detecti<strong>on</strong>s <strong>and</strong><br />

preventi<strong>on</strong>s are always preferred to protect entire network<br />

from attacks [3]. For tackling worms <strong>on</strong>e possible directi<strong>on</strong> is<br />

find out IP addresses of infected machines <strong>and</strong> block these IP<br />

addresses. Ideally this will prevent further infecti<strong>on</strong>s in the<br />

network. But this is often too blunt instrument to be used<br />

al<strong>on</strong>e; simply blocking all traffic for port 80 at edge networks<br />

across the Internet shuts down the entire web when a worm<br />

that targets web servers is released. Moore et al. [11]<br />

compared the relative efficacy of source-address filtering <strong>and</strong><br />

c<strong>on</strong>tent-based filtering. Their results show that c<strong>on</strong>tent-based<br />

filtering of infecti<strong>on</strong> attempts slows the spreading of a worm<br />

more effectively. Motivated by the efficiency of c<strong>on</strong>tent-based<br />

filtering different systems were built which detect <strong>and</strong> prevent<br />

worms using c<strong>on</strong>tent of traffic. In year 2004 Earlybird [1] <strong>and</strong><br />

Autograph [2] systems addressed this problem at network<br />

entry point.<br />

The rest of the paper is organized as, Secti<strong>on</strong> 2 discusses<br />

about worm behavior <strong>and</strong> limitati<strong>on</strong>s of Earlybird <strong>and</strong><br />

Autograph. In Secti<strong>on</strong> 3 we present detail architecture of<br />

ARBSGen system followed by the algorithms used in system.<br />

The Secti<strong>on</strong> 4 gives implementati<strong>on</strong> envir<strong>on</strong>ment <strong>and</strong><br />

experimental results. We describe some deficiencies of our<br />

method in Secti<strong>on</strong> 5. Finally, in Secti<strong>on</strong> 6 we summarize our<br />

work <strong>and</strong> c<strong>on</strong>clude.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 25


Proceedings of ICCNS 08 , 27-28 September 2008<br />

II. WORM BEHAVIOR ANALYSIS FOR SIGNATURE<br />

GENERATION<br />

A worm tends to behave quite differently from the general<br />

client-server <strong>and</strong> peer-to-peer applicati<strong>on</strong>s deployed <strong>on</strong><br />

networks. In this secti<strong>on</strong> we explore key behavioral<br />

characteristics of a worm in more detail <strong>and</strong> we discuss how<br />

they are exploited to detect <strong>and</strong> characterize network worms<br />

[2].<br />

A. C<strong>on</strong>tent Invariance<br />

For most of the worms the program c<strong>on</strong>tent (worm’s attack<br />

code) is invariant across every copy. Typically, the entire<br />

worm program is identical across every host it infects.<br />

However, some worms make use of limited polymorphism.<br />

The polymorphic worms change the attack code c<strong>on</strong>tent by<br />

encrypting each worm instance independently <strong>and</strong>/or<br />

r<strong>and</strong>omizing smaller text. In these cases, much of the worm<br />

body is variable, but key porti<strong>on</strong>s are still invariant (e.g., the<br />

decrypti<strong>on</strong> routine).<br />

B. C<strong>on</strong>tent Prevalence<br />

Since worms are designed to spread very fast, the invariant<br />

porti<strong>on</strong> of a worm's attack code appears frequently <strong>on</strong> the<br />

network as it spreads. Also worm always target a particular<br />

service <strong>on</strong> the machine. Worms exploit these services to<br />

propagate further. Since the services are identified with<br />

Destinati<strong>on</strong> port, worms generate frequent traffic <strong>on</strong> particular<br />

destinati<strong>on</strong> port.<br />

C. Suspicious C<strong>on</strong>necti<strong>on</strong>s<br />

When worms start spreading they use different scanning<br />

techniques to find out new victims. These scanning techniques<br />

cause many failed c<strong>on</strong>necti<strong>on</strong> attempts in the network. Since<br />

the IP address they are trying to c<strong>on</strong>nect may not be in<br />

existence (some worms generates IP address r<strong>and</strong>omly), or the<br />

service they are attempting to exploit may not be running <strong>on</strong><br />

destinati<strong>on</strong> host. So if we track out the IP addresses causing<br />

failed c<strong>on</strong>necti<strong>on</strong>s attempts inside the network, it’s sufficient<br />

to track <strong>on</strong>ly c<strong>on</strong>necti<strong>on</strong>s made by these IP addresses to find<br />

out worm signatures. It’s more likely that these IP addresses<br />

are infected with worms <strong>and</strong> will make worm attacks.<br />

In this paper we will present ARBSGen system for<br />

Automatic worm signature. ARBSGen is based <strong>on</strong> c<strong>on</strong>tent<br />

prevalence <strong>and</strong> c<strong>on</strong>tent invariance characteristics of worm.<br />

The system finds out frequent packet payload strings flowing<br />

into network targeted <strong>on</strong> particular destinati<strong>on</strong> port, which is<br />

more likely to be a worm code. For finding out these frequent<br />

strings targeted for a particular destinati<strong>on</strong> port ARBSGen<br />

uses Associati<strong>on</strong> Rule Mining techniques. Associati<strong>on</strong> Rule<br />

mining is useful to find out str<strong>on</strong>g relati<strong>on</strong>ship between<br />

different columns of the relati<strong>on</strong>al databases [7]. ARBSGen<br />

uses Associati<strong>on</strong> rule mining techniques to find str<strong>on</strong>g<br />

relati<strong>on</strong>ship between a frequent payload <strong>and</strong> destinati<strong>on</strong> port.<br />

From above discussi<strong>on</strong>, finding out worm signature is<br />

equivalent to find out str<strong>on</strong>g relati<strong>on</strong>ship between payload <strong>and</strong><br />

destinati<strong>on</strong> port. The associati<strong>on</strong> rules generated is in the form<br />

of:<br />

Frequent Payload Destinati<strong>on</strong> Port<br />

Later these Associati<strong>on</strong> rules are used as worm signature in<br />

IDS systems to prevent further infecti<strong>on</strong>s [5, 12].<br />

Since major algorithms in ARBSGen are using Associati<strong>on</strong><br />

Rule mining strategies which carried out at offline, it has<br />

following merits compared to Earlybird <strong>and</strong> Autograph. [1, 2]<br />

1 Effectiveness against the slow propagating worms<br />

Earlybird <strong>and</strong> Autograph rely <strong>on</strong> real time m<strong>on</strong>itoring,<br />

processing of the packet payloads. Due to the real time<br />

m<strong>on</strong>itoring, these methods have limitati<strong>on</strong>s in amount of data<br />

they process <strong>and</strong> as a result of this effectiveness of the<br />

operati<strong>on</strong>s is affected. Since incoming data is very high in<br />

volume, these systems have to run garbage collectors to dump<br />

all data after certain periodic interval <strong>and</strong> start analysis from<br />

scratch. As in case of slow propagating worm’s attack is not in<br />

form of bursts but steadily going. Earlybird <strong>and</strong> Autograph fail<br />

against them since required data must have been dumped<br />

before recognizing it as a worm. In ARBSGen we are using<br />

Associati<strong>on</strong> Rule Mining in incremental way [7], so more<br />

effectiveness against slow propagating worms is achieved.<br />

2 Robustness against DOS attacks <strong>on</strong> the system itself<br />

Earlybird <strong>and</strong> Autograph carry out processing of packets at<br />

real time. If packet rate is very high it results either in<br />

dropping few packets from processing or DOS attack <strong>on</strong> the<br />

system. This makes possibility of evasi<strong>on</strong> against the system as<br />

system is unable to capture required data. Since Earlybird <strong>and</strong><br />

Autograph carry packet processing at real time, they have the<br />

edge with respect to time taken to generate worm signatures.<br />

But since our main motto is to find out the signature of newly<br />

arriving worms; we can accommodate certain latency in<br />

signature generati<strong>on</strong> part. So if we move packet processing<br />

part offline rather than real time, we get better effectiveness<br />

<strong>and</strong> correctness in the signatures generated by the system. The<br />

ARBSGen carries major data processing offline; hence the<br />

system is safe against any DOS attempts against it.<br />

III. ARBSGEN SYSTEM ARCHITECTURE AND<br />

WORKING<br />

In this secti<strong>on</strong> we present architecture of ARBSGen in detail<br />

(See Figure 1). The system is deployed at network’s entry<br />

point so that it m<strong>on</strong>itors all incoming traffic. First, a suspicious<br />

traffic selecti<strong>on</strong> stage uses heuristics to classify inbound TCP<br />

flows as either suspicious or n<strong>on</strong>-suspicious. This decisi<strong>on</strong><br />

depends <strong>on</strong> worm’s characteristic of target scanning before<br />

spreading (as seen in 2.C), which causes many failed<br />

c<strong>on</strong>necti<strong>on</strong> attempts inside the network. So <strong>on</strong>ce we identify<br />

suspicious IP’s causing number of failed c<strong>on</strong>necti<strong>on</strong>s, we<br />

designate any c<strong>on</strong>necti<strong>on</strong> from such IP’s as suspicious<br />

c<strong>on</strong>necti<strong>on</strong>. Thus, this comp<strong>on</strong>ent reduces the volume of<br />

traffic that must be processed subsequently to a great extent.<br />

Also it will reduce the number of false positives in generated<br />

signatures since we are m<strong>on</strong>itoring <strong>on</strong>ly suspicious<br />

c<strong>on</strong>necti<strong>on</strong>s.<br />

After above processing ARBSGen performs TCP flow<br />

reassembly for inbound payloads in the suspicious flow pool if<br />

required. The resulting reassembled payloads are analyzed for<br />

generating worm signatures. Flow reassembly removes<br />

possibility of signature evading by distributing worm code<br />

over multiple packets [2].<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 26


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Signature generati<strong>on</strong> requires analysis of the c<strong>on</strong>tent of<br />

payloads of suspicious flows to find out the signatures. We<br />

have seen in secti<strong>on</strong> 2 that as per Moore’s observati<strong>on</strong>s two<br />

properties of worms suggest c<strong>on</strong>tent analysis is fruitful for<br />

signature generati<strong>on</strong>. First, a worm propagates by exploiting<br />

<strong>on</strong>e software vulnerability or a set of such vulnerabilities. And<br />

thus payload c<strong>on</strong>tent across worm infecti<strong>on</strong> has to be frequent.<br />

Even in those cases where multiple variants of a worm’s<br />

payload have existed (e.g., Blaster), those variants have shared<br />

significant overlapping c<strong>on</strong>tent. Sec<strong>on</strong>d, a worm generates<br />

voluminous network traffic as it spreads; this trait stems from<br />

worms’ self-propagating nature. For port-scanning worms, the<br />

exp<strong>on</strong>ential growth in the populati<strong>on</strong> of infected hosts <strong>and</strong><br />

attendant exp<strong>on</strong>ential growth in infecti<strong>on</strong> attempt traffic are<br />

well known.<br />

data. In ARBSGen we have chosen functi<strong>on</strong> Prologue <strong>and</strong><br />

Epilogue procedure codes as anchors for selecting these<br />

boundaries. Prologue <strong>and</strong> Epilogue identifies logical units of<br />

the program, which is indirectly indicates semantics of the<br />

data.<br />

Once we have found c<strong>on</strong>tent based payload partiti<strong>on</strong>s these<br />

partiti<strong>on</strong>s are hashed to get unique hash values. And these hash<br />

values are stored in the Traffic Log Database in a tuple of the<br />

form:<br />

.<br />

If the hash value is already present in the database count field<br />

is incremented by 1. Since in this scenario we are more<br />

c<strong>on</strong>cerned towards the efficiency of the hash rather than hash<br />

collisi<strong>on</strong> rate; we have chosen SuperFast Hash functi<strong>on</strong>.[16]<br />

This procedure is given in algorithm Data Capture.(See fig 2)<br />

During signature generati<strong>on</strong>, ARBSGen finds the frequent<br />

payloads by measuring the frequencies with which different<br />

payload substrings occur across all suspicious c<strong>on</strong>necti<strong>on</strong>s.<br />

Also it finds frequent destinati<strong>on</strong> port by measuring the<br />

frequencies of each destinati<strong>on</strong> port in network traffic. After<br />

that ARBSGen finds out associati<strong>on</strong> rule between payload <strong>and</strong><br />

destinati<strong>on</strong> port which indicates str<strong>on</strong>g relati<strong>on</strong> between these<br />

2 fields of the packet header. The associati<strong>on</strong> rules generated<br />

is used as worm signature.<br />

But since most of the times when worm code is propagating;<br />

whole packet payload is not repeating but certain part of<br />

payload is very frequent. So it’s not useful to check out for<br />

frequently occurring packet payloads but it is required to find<br />

repeating part of packet payloads. This care is taken by the<br />

next comp<strong>on</strong>ent in architecture i.e. C<strong>on</strong>tent based payload<br />

partiti<strong>on</strong>ing. So rather than representing packet as a single unit,<br />

it is divided into multiple parts <strong>and</strong> frequency of these<br />

partiti<strong>on</strong>s is checked. If we divide packet payload into fixed<br />

length partiti<strong>on</strong>s, it w<strong>on</strong>’t be useful. Since it is not possible to<br />

predict exact starting positi<strong>on</strong> of the worm signature; we need<br />

to partiti<strong>on</strong> the packet according to the semantics of the data in<br />

the packet. This problem is equivalent to given 2 files; find out<br />

if these files are similar [6]. So we divide a flow’s payload into<br />

variable-length c<strong>on</strong>tent blocks using COntent-based Payload<br />

Partiti<strong>on</strong>ing (COPP) [2]. Because COPP determines the<br />

boundaries of each block based <strong>on</strong> payload c<strong>on</strong>tent, the set of<br />

blocks COPP generates changes little under byte inserti<strong>on</strong> or<br />

deleti<strong>on</strong>. This adds robustness in signature detecti<strong>on</strong> process.<br />

For COPP we need to decide the anchors which will determine<br />

the partiti<strong>on</strong> boundaries depending <strong>on</strong> the semantics of the<br />

For each packet do<br />

{<br />

Check if packet is from suspicious sender if not c<strong>on</strong>tinue;<br />

If required carry out Fragmentati<strong>on</strong> & reassembly;<br />

Apply C<strong>on</strong>tent based payload partiti<strong>on</strong>ing <strong>on</strong> packet;<br />

Find out hash value of c<strong>on</strong>tent based partiti<strong>on</strong>;<br />

Check if Hash Value already present in database if yes<br />

Increment corresp<strong>on</strong>ding counter value in database &<br />

update entry time;<br />

Else<br />

Add new entry in database for current packet;<br />

}<br />

Fig 2: Algorithm Data Capture<br />

After periodic intervals associati<strong>on</strong> rule mining technique is<br />

applied <strong>on</strong> Traffic Log Database to find out possible worm<br />

signatures. In ARBSGen we are using algorithm similar to<br />

apriori associati<strong>on</strong> rule mining algorithm. It requires two scans<br />

of the current database to find out the relati<strong>on</strong> between<br />

frequent payload <strong>and</strong> destinati<strong>on</strong> ports. It gives the payloads<br />

<strong>and</strong> destinati<strong>on</strong> port which have str<strong>on</strong>g relati<strong>on</strong> between each<br />

other; which means that they occur frequently together. We<br />

also run garbage collector module periodically <strong>on</strong> the Traffic<br />

Log Database. The Garbage Collector will remove the tuples<br />

from Traffic Log Database which are either too old or having<br />

very less frequency (very small value of count). The threshold<br />

values for Support, C<strong>on</strong>fidence, <strong>and</strong> timeout period for<br />

garbage collector are tunable. So according to the nature of the<br />

traffic these values are adjusted in ARBSGen system. This will<br />

help to keep database size within certain limits. See fig. 3 for<br />

detail associati<strong>on</strong> rule mining algorithm.<br />

Initially system is trained for certain time period, so that it<br />

will capture all frequent data packets specific to network.<br />

Using this frequent data a white list is prepared. Generated<br />

signatures are checked if they are part of white list. If not<br />

signature is added to Signature database. Signatures are stored<br />

in Snort compatible format. So these signatures used directly<br />

be used by IDS system like Snort<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 27


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Using the Traffic Log Database do-:<br />

Find the c<strong>on</strong>tent based payload partiti<strong>on</strong>s which crosses<br />

threshold count value.<br />

Find the destinati<strong>on</strong> ports occurring frequently (crossing<br />

threshold).<br />

Generate all possible combinati<strong>on</strong>s of payload & ports<br />

from above values. (Each combinati<strong>on</strong> represents a rule).<br />

Check c<strong>on</strong>fidence of each rule & select those rules which<br />

satisfy user set c<strong>on</strong>fidence, support criteria’s.<br />

Add the selected rules in signature database.<br />

Fig 3: Algorithm Associati<strong>on</strong> Rule Mining<br />

IV. EXPERIMENT ENVIORNMENT AND RESULTS<br />

The ARBSGen system is implemented <strong>on</strong> st<strong>and</strong>ard Linux<br />

2.6 kernel. The system is placed near network entry point, so<br />

as to pass all data flowing inside the network through the<br />

system. The ARBSGen sensor itself is a single threaded<br />

applicati<strong>on</strong> which executes at user-level <strong>and</strong> captures packets<br />

passively. The program is implemented in C language using<br />

the popular libpcap packet [15] capturing library. The system<br />

uses SuperFast hash functi<strong>on</strong> for getting hash values. Mysql is<br />

used as back end for storing traffic log database.<br />

The following is Blaster worm signature we got using<br />

ARBSGen. The payload given in signature is buffer overflow<br />

code used by Blaster worm to exploit RPC service <strong>on</strong> the<br />

victim.<br />

0xB0,0x70,0xDD,0xAE,0x74,0x2C,0x96,0xD2,0x<br />

60,0x5E,0x0D,0x00,0x01,0x00,0x00,0x00,0x00,0x<br />

00,0x00,0x00,0x70,0x5E,0x0D,0x00,0x02,0x00,0x<br />

00,0x00,0x7C,0x5E,0x0D,0x00,0x00,0x00,0x00,0<br />

x00,0x10,0x00,0x00,0x00,0x80,0x96,0xF1,0xF1,0<br />

x2A,0x4D,0xCE,0x11,0xA6,0x6A,0x00,0x20,<br />

0xAF Destinati<strong>on</strong> port 135<br />

Fig 4 : Blaster Worm Signature<br />

The following is Code Red I worm signature we got using<br />

ARBSGen. The Code Red worm is c<strong>on</strong>sidered as slow<br />

propagating worm. The payload given in signature is buffer<br />

overflow code used by worm to exploit IIS server <strong>on</strong> the<br />

victim.<br />

0x74,0x8B,0x95,0x68,0xFE,0xFF,0xFF,0x7A,0x0F,<br />

0xBE,0x02,0x7D,0x85,0xC0,0x7F,0x0F,0x84,0x8D,<br />

0x00,0x00,0x00,0x8B,0x8D,0x68,0xFE,0xFF,0xFF,<br />

0x0F,0xBE,0x11,0x83,0xFA,0x09,0x75,0x21,0x8B,<br />

0x85,0x68,0xFE,0xFF,0xFF,0x83,0xC0,0x01<br />

Destinati<strong>on</strong> port 80<br />

Fig 5 : Code Red I Worm Signature<br />

In similar way ARBSGen have found signatures of other<br />

worms which are frequent <strong>on</strong> our university campus network.<br />

V. LIMITATIONS OF THE SYSTEM<br />

Though ARBSGen has edge over Earlybird <strong>and</strong> Autograph<br />

in terms of effectiveness <strong>and</strong> efficiency; it faces some of<br />

similar limitati<strong>on</strong> which is faced by these systems. The<br />

following are possible limitati<strong>on</strong>s of the ARBSGen.<br />

1) Polymorphic Worms<br />

The polymorphic worms have changing signatures <strong>and</strong> <strong>on</strong>ly<br />

very small part of worm code is invariant. Due to this we get<br />

small invariant part of worm code as a worm signature. A<br />

small worm signature causes high false positive rate in worm<br />

detecti<strong>on</strong> when applied <strong>on</strong> real time traffic; since its more<br />

likely that small code segment is part of benign traffic.<br />

2) Hit List based scanning<br />

Sometimes worm’s takes help hit list scanning for<br />

performing attacks where probability of failed c<strong>on</strong>necti<strong>on</strong>s<br />

attempts is very less. In ARBSGen we are using failed<br />

c<strong>on</strong>necti<strong>on</strong> attempts to identify the suspicious c<strong>on</strong>necti<strong>on</strong>.<br />

So our system will not m<strong>on</strong>itor these c<strong>on</strong>necti<strong>on</strong>s. It results<br />

in failure of the system for signature generati<strong>on</strong>. To h<strong>and</strong>le<br />

this situati<strong>on</strong> we need to build a complete system which can<br />

track out every possibility of suspicious c<strong>on</strong>necti<strong>on</strong> <strong>and</strong> find<br />

such c<strong>on</strong>necti<strong>on</strong>s.<br />

VI. CONCLUSIONS<br />

In this paper, we have given a method for real time detecti<strong>on</strong><br />

of unknown worms <strong>and</strong> automated extracti<strong>on</strong> of worm<br />

signatures. Due to offline <strong>and</strong> incremental processing, our rule<br />

generati<strong>on</strong> algorithm works effectively against the slow<br />

propagating worms. Also ARBSGen algorithm has been<br />

observed as robust against DOS attacks. We have implemented<br />

the algorithm with moderate memory <strong>and</strong> computati<strong>on</strong>al<br />

requirements.<br />

ARBSGen system has been able to detect <strong>and</strong> extract<br />

signatures for all c<strong>on</strong>temporary worms. These types of systems<br />

can also be helpful for solving SPAM like problems where<br />

unwanted frequent c<strong>on</strong>tent is moving <strong>on</strong> the network. Finally,<br />

our system dem<strong>on</strong>strates the feasibility of automated high<br />

speed network security which is dem<strong>and</strong> of future network<br />

security applicati<strong>on</strong>s.<br />

REFERENCES<br />

[1] Sumeet Singh, Cristian Estan, George Varghese <strong>and</strong><br />

Stefan Savage “Automated Worm Fingerprinting” OSDI<br />

2004<br />

[2] Hyang-Ah Kim, Brad Karp “Autograph: Toward<br />

Automated, Distributed Worm Signature Detecti<strong>on</strong>”<br />

Usenix2004<br />

[3] Ramana Rao Kompella “On Scalable Attack Detecti<strong>on</strong> in<br />

the Network” IMC’04<br />

[4] C. Estan, G. Varghese, <strong>and</strong> M. Fisk. “Bitmap algorithms<br />

for counting active flows <strong>on</strong> high speed links”. In<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 28


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Proceedings of the ACM Internet Measurement<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, Oct. 2003.<br />

[5] Snort: Open source network intrusi<strong>on</strong> detecti<strong>on</strong> system<br />

www.snort.org 2002<br />

[6] Athicha Muthita charoen “A Low-b<strong>and</strong>width Network<br />

File System” SOSP 2001<br />

[7] Rakesh Agrwal, Arun Swami “Mining Associati<strong>on</strong> Rules<br />

between Sets of Items in Large Databases” SIGMOD<br />

1993<br />

[8] Mikolaj Morzy, Tadeusz Morzy “Incremental<br />

Associati<strong>on</strong> Rule Mining using Materialized Data<br />

Mining Views” ADVIS 2004<br />

[9] Like Zhang, Gregory White “Analysis Of Payload Based<br />

Applicati<strong>on</strong> Level Network Anomaly Detecti<strong>on</strong>” 40 th<br />

Hawaii <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> System sciences<br />

2007<br />

[10]J. Zico Kolter Marcus Maloof “Learning To Detect <strong>and</strong><br />

Classify Malicious Executable In The Wild” Journal of<br />

machine learning research 2006<br />

[11]Moore, D., Shann<strong>on</strong>, C., Volekar, G. M., And Savage, S.<br />

Internet Quarantine: Requirements for C<strong>on</strong>taining Self-<br />

Propagating Code. In Proceedings of IEEE INFOCOM<br />

2003.<br />

[12]Paxs<strong>on</strong>, V. Bro: A System for Detecting Network<br />

Intruders in Real-Time. <strong>Computer</strong> <strong>Networks</strong> 31, 23-24<br />

(Dec. 1999).<br />

[13]F. Cohen. <strong>Computer</strong> Viruses . Theory <strong>and</strong> Experiments.<br />

<strong>Computer</strong>s <strong>and</strong> <strong>Security</strong>, 1987.<br />

[14]www.symantec.com<br />

[15]Libpcap project http://sourceforge.net/projects/libpcap/<br />

[16]Super Fast Hash Functi<strong>on</strong>:<br />

http://www.azilli<strong>on</strong>m<strong>on</strong>keys.com/qed/hash.html<br />

[17]M. Mah<strong>on</strong>ey. “Network Traffic Anomaly Detecti<strong>on</strong> Based<br />

<strong>on</strong> Packet Bytes” Proc. ACM-SAC 2003<br />

[18]V. Paxs<strong>on</strong>, Bro: “A System for Detecting Network<br />

Intruders in Real-Time”, <strong>Computer</strong> <strong>Networks</strong>, 31(23-24),<br />

pp. 2435-2463, 1999<br />

[19]U.Manber. “Finding similar files in a large file system” In<br />

Proceedings of the USENIX Winter Technical<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, 1994.<br />

[20]J. Hoagl<strong>and</strong>, SPADE, Silican Defense,<br />

http://www.silic<strong>on</strong>defense.com/software/spice, 2000.<br />

[21]Athicha Muthitacharoen, Benjie Chen, <strong>and</strong> David<br />

Mazières, “A Low-b<strong>and</strong>width Network File System”<br />

In the Proceedings of the 18th Symposium <strong>on</strong> Operating<br />

Systems Principles (SOSP). Banff, Canada. October, 2001<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 29


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Integrated Approach for Signature Extracti<strong>on</strong> <strong>and</strong><br />

Profile Generati<strong>on</strong> of Malwares with M<strong>on</strong>itoring<br />

<strong>and</strong> Detecti<strong>on</strong><br />

Suhel Ahamed, Dr. J.L. Rana, R.K. Pateriya<br />

Abstract:-Software security assurance <strong>and</strong> malware<br />

(Trojans, worms, <strong>and</strong> viruses, etc.) detecti<strong>on</strong> are important topics<br />

of informati<strong>on</strong> security. Today many Antivirus Scanner just look<br />

for simple signature obtained by the simple dissembling of the<br />

malware, but there are several new type of malwares have arrived<br />

which can easily subvert the detecti<strong>on</strong>, also several new variants<br />

of viruses are being created everyday, which is another challenge<br />

for Antivirus Scanners. In this paper, we present an Integrated<br />

Approach of str<strong>on</strong>ger signature extracti<strong>on</strong> <strong>and</strong> profile generati<strong>on</strong><br />

of malwares <strong>on</strong> the basis of there system call sequences, hidden<br />

capabilities, <strong>and</strong> behavioral data like obfuscati<strong>on</strong> methods. The<br />

str<strong>on</strong>ger signature or profile generated thru this approach can be<br />

used to identify several new variants of malwares <strong>and</strong> newly<br />

arrived malware that uses obfuscati<strong>on</strong> methods like packers, root<br />

kit, <strong>and</strong> polymorphism etc. we also have a trust level based<br />

m<strong>on</strong>itoring system that can be used for further detecti<strong>on</strong>.<br />

Keywords: - Signature Extracti<strong>on</strong>, Obfuscati<strong>on</strong>, Static<br />

Analysis, Dynamic Analysis, Polymorphism, Trust levels etc.<br />

I. INTRODUCTION<br />

Today, many anti-virus (AV) scanners primarily detect<br />

viruses by looking for simple virus signatures within the<br />

file being scanned. The signature of a virus is typically<br />

created by disassembling the virus into assembly code,<br />

analyzing it, <strong>and</strong> then selecting those secti<strong>on</strong>s of code that<br />

seem to be unique to the virus. The binary bits of those<br />

unique secti<strong>on</strong>s become the signature for the virus.<br />

However, this approach can be easily subverted by<br />

polymorphic viruses, which change their code (<strong>and</strong> virus<br />

signature) every time they’re run.<br />

Theoretical studies have established that there is no<br />

algorithm that can detect all types of viruses, [1] [2].<br />

Current commercial anti-virus software, however, are<br />

mostly ineffective in scanning polymorphic <strong>and</strong><br />

metamorphic versi<strong>on</strong>s of identified malware. Detecti<strong>on</strong><br />

techniques that use program annotati<strong>on</strong> have been<br />

proposed; however, the amount of time required for<br />

analysis <strong>and</strong> annotati<strong>on</strong>, as reported, is too high for even<br />

fairly simple malware to be, practical [3][4]. The work<br />

present in this paper is an integrated approach toward the<br />

analysis methods like disassembly (static), behavioral<br />

analysis (dynamic), etc. to generate a str<strong>on</strong>ger signature or<br />

profile to detect Polymorphic Virus, obfuscated codes, <strong>and</strong><br />

dynamic variants of viruses.<br />

II.<br />

MALWARE TECHNIQUES<br />

Nowadays malwares are trying every sort of thing to<br />

prevent detecti<strong>on</strong> such as obfuscati<strong>on</strong> methods.<br />

Obfuscati<strong>on</strong> is a technique to obscure informati<strong>on</strong> such<br />

that others cannot c<strong>on</strong>strue the true meaning. With respect<br />

to malware, code obfuscati<strong>on</strong> is an appealing technique to<br />

hinder detecti<strong>on</strong>. A simple obfuscati<strong>on</strong>, requiring very<br />

little effort <strong>on</strong> the part of the virus writer, may render a<br />

known virus completely undetectable to the commercial<br />

scanners.<br />

Following Obfuscati<strong>on</strong> methods are being used by<br />

malwares today:<br />

1. Code obfuscati<strong>on</strong><br />

2. Polymorphism<br />

3. Packers<br />

4. Root-kits<br />

A. Code obfuscati<strong>on</strong><br />

For simplicity the code obfuscated malware have been<br />

classified into five types. Generally, the complexity <strong>and</strong><br />

‘robustness’ of the malware increases as their type indices<br />

increases.<br />

Type 1: Null operati<strong>on</strong>s <strong>and</strong> dead code inserti<strong>on</strong><br />

NOPs are inserted into the malicious code. There is<br />

virtually no modificati<strong>on</strong> to data or c<strong>on</strong>trol flow. An<br />

example of a type 1 transformati<strong>on</strong> is presented in Figure 1<br />

below. On the left we have the original code <strong>and</strong> <strong>on</strong> the<br />

right we have the modified code with null operati<strong>on</strong>s<br />

inserted after every two lines.<br />

Original code<br />

mov eax, -44(ebp)<br />

mov -44(ebp), ebx<br />

sub 12, esp<br />

lea -24(ebp)<br />

push eax<br />

After transformati<strong>on</strong><br />

mov eax, -44(ebp)<br />

mov -44(ebp), ebx<br />

Nop<br />

Sub 12, esp<br />

Lea -24(ebp)<br />

Nop Null Operati<strong>on</strong><br />

Push Eax<br />

Figure 1: Example of null operati<strong>on</strong> inserti<strong>on</strong><br />

Inserting null operati<strong>on</strong>s is similar to inserting white space<br />

in a document: it may take l<strong>on</strong>ger to read but no more<br />

difficult as the c<strong>on</strong>tent remains the same.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 30


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Type 2: Data modificati<strong>on</strong><br />

Some data obfuscating transformati<strong>on</strong> is applied,<br />

such as string splitting or variable type replacement.<br />

For example, we could replace a Boolean variable with<br />

two integers. If they are equal, the statement is true,<br />

otherwise it is false. In the example below, Figure 2, x is a<br />

Boolean variable <strong>and</strong> a, b are integers. The code <strong>on</strong> the left<br />

is the original c<strong>on</strong>trol flow <strong>and</strong> the code <strong>on</strong> the right<br />

performs exactly the same but has a different signature.<br />

Original code <strong>and</strong> meaning<br />

cmpb 0, x if (x ==true)<br />

je .sub goto sub<br />

Transformed code <strong>and</strong> meaning<br />

mov a, eax if (a < b)<br />

cmpl b, eax goto sub<br />

jge .sub<br />

Figure 2: Example of data flow obfuscati<strong>on</strong><br />

Type 3: C<strong>on</strong>trol flow modificati<strong>on</strong><br />

C<strong>on</strong>trol flow obfuscating transformati<strong>on</strong>s are<br />

applied. Code is swapped around <strong>and</strong> jump instructi<strong>on</strong>s are<br />

inserted. For example, we could copy the c<strong>on</strong>tents of a<br />

subroutine to another locati<strong>on</strong> in the file <strong>and</strong> add jumps to<br />

<strong>and</strong> from the subroutine. The code would work exactly the<br />

same but look quite different. In<br />

Figures 3 below, three lines of code have been shifted to<br />

some locati<strong>on</strong> (denoted as [shift]) <strong>and</strong> helper code has<br />

been inserted.<br />

Original code<br />

cmp 24, eax<br />

jne .sub<br />

sub 12, eax<br />

push eax<br />

Figure 3: Example of c<strong>on</strong>trol flow obfuscati<strong>on</strong><br />

After transformati<strong>on</strong><br />

jmp [shift]<br />

nop Helper Code<br />

nop<br />

push eax<br />

Original executi<strong>on</strong> path resumes<br />

cmp 24, eax<br />

jne .sub – [shift]<br />

sub 12, eax<br />

jmp -[shift]Helper Code<br />

Type 4: Pointer aliasing<br />

The last technique is to introduce pointer aliasing.<br />

Variables are replaced with global pointers <strong>and</strong> functi<strong>on</strong>s<br />

are referred to by arrays of functi<strong>on</strong> pointers. This type of<br />

transformati<strong>on</strong> is relatively easy to implement using high<br />

level languages that allow pointer references but tricky (at<br />

best) using assembly languages. Pointer aliasing can be as<br />

simple as changing a = b into *a = **b or as complex as<br />

c<strong>on</strong>verting all variables <strong>and</strong> functi<strong>on</strong>s into an array of<br />

pointers to be referenced by pointers to pointers.<br />

Type 5: Data <strong>and</strong> c<strong>on</strong>trol flow modificati<strong>on</strong><br />

Pull out all the stops <strong>and</strong> combine data <strong>and</strong> c<strong>on</strong>trol<br />

flow transformati<strong>on</strong>s. At this level junk code is inserted<br />

<strong>and</strong> variables can be completely replaced with large<br />

secti<strong>on</strong>s of needless code. For example, we can modify all<br />

Boolean variables as above <strong>and</strong> transpose the program’s<br />

entry point as in Figure 4.<br />

Original code<br />

cmp 24, eax<br />

jne .sub<br />

sub 12, eax<br />

push eax<br />

After transformati<strong>on</strong><br />

jmp [shift]<br />

nop Helper Code<br />

nop<br />

push eax<br />

Original executi<strong>on</strong> path resumes<br />

mov 24, eax Data obfuscati<strong>on</strong><br />

cmpl b, eax Data obfuscati<strong>on</strong><br />

jle .dead_code<br />

jne .sub – [shift]<br />

sub 12, eax<br />

jmp -[shift]Helper Code<br />

Figure 4: Example of data <strong>and</strong> c<strong>on</strong>trol Flow obfuscati<strong>on</strong><br />

B. Polymorphism<br />

Polymorphic computer viruses are the most complex<br />

<strong>and</strong> difficult viruses to detect, often requiring anti-virus<br />

companies to spend days or m<strong>on</strong>ths creating the detecti<strong>on</strong><br />

routines needed to catch a single polymorphic.<br />

Polymorphic virus is a computer virus that can mutate<br />

itself every time it runs. Polymorphic virus uses a<br />

Mutati<strong>on</strong> Engine with infinite number of decryptor loop to<br />

encrypt <strong>and</strong> decrypt the virus body <strong>and</strong> mutati<strong>on</strong> engine as<br />

well. Although polymorphism is independent of<br />

encrypti<strong>on</strong>, it is easier to use encrypti<strong>on</strong> to hide the main<br />

body of the virus <strong>and</strong> implement a polymorphic decryptor.<br />

The first known polymorphic virus was written by Mark<br />

Washburn [6]. The virus, called 1260, was written in 1990.<br />

A more well-known polymorphic virus was invented in<br />

1992 by the Bulgarian cracker Dark Avenger (a<br />

pseud<strong>on</strong>ym) as a means of avoiding pattern recogniti<strong>on</strong><br />

from antivirus software. In 1992, Dark Avenger [6], author<br />

of Maltese Amoeba, distributed the Mutati<strong>on</strong> Engine, also<br />

known as MtE, to other virus authors with instructi<strong>on</strong>s <strong>on</strong><br />

how to use it to build still more polymorphic.<br />

Today, anti-virus researchers report that polymorphic<br />

viruses comprise about five percent of the more than 8,000<br />

known viruses.<br />

Two polymorphic [7] — One Half <strong>and</strong> Natas — rank<br />

am<strong>on</strong>g the 20 most-prevalent computer viruses, according<br />

to the 1996 <strong>Computer</strong> Virus Prevalence Survey c<strong>on</strong>ducted<br />

by the Nati<strong>on</strong>al <strong>Computer</strong> <strong>Security</strong> Associati<strong>on</strong> (NCSA).<br />

One Half slowly encrypts a hard disk. Natas, also known<br />

as SatanBug.Natas, is highly polymorphic, designed to<br />

evade <strong>and</strong> attack anti-virus software. It infects .COM <strong>and</strong><br />

.EXE program files.<br />

A few modern polymorphic viruses use encrypti<strong>on</strong> in a<br />

more powerful way, by encrypting parts of themselves <strong>and</strong><br />

not including the decrypti<strong>on</strong> key within the virus. Without<br />

the decrypti<strong>on</strong> key, a human analyst cannot determine<br />

what that part of the virus would do if it were to be<br />

decrypted <strong>and</strong> executed. Viruses store their decrypti<strong>on</strong> key<br />

<strong>on</strong> an an<strong>on</strong>ymous text file whose checksum is used to trace<br />

it by virus to decrypt itself.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 31


Proceedings of ICCNS 08 , 27-28 September 2008<br />

C. Packers<br />

Gradually, viruses - malicious programs that can<br />

functi<strong>on</strong> <strong>on</strong>ly within a victim body <strong>and</strong> which are unable to<br />

exist as a separate file - are being replaced by Trojans,<br />

which are fully independent malicious programs. This<br />

process began when the Internet was still slow <strong>and</strong> more<br />

limited than it is today. Hard disks <strong>and</strong> floppy disks were<br />

small, which meant that the size of a program was very<br />

important. In order to reduce the size of a Trojan, virus<br />

writers began to utilize so-called packers - even back in the<br />

DOS era. Packers are dedicated programs that compress<br />

<strong>and</strong> archive files.<br />

A side effect of using packers that can actually be useful<br />

from a malware point of view is that packed malicious<br />

programs are more difficult to detect using file methods.<br />

When creating a new modificati<strong>on</strong> of an existing malicious<br />

program; the virus writer usually changes several lines of<br />

code, while leaving the heart of the program untouched. In<br />

the compiled file, the bytes for a certain sequence of code<br />

will also be altered <strong>and</strong> if the antivirus signature does not<br />

include that very sequence, then the malicious program<br />

will still be detected as before. Compressing a program<br />

with a packer solves this problem as changing even just<br />

<strong>on</strong>e byte in the source executable results in an entirely new<br />

byte sequence in the packed file. [5]<br />

D. Root-kits<br />

Malicious programs for the Windows operating<br />

system started using stealth technologies to hide their<br />

presence in the system in the first years of the new<br />

millennium. As menti<strong>on</strong>ed above, this was approximately<br />

10 years after stealth programs appeared as a c<strong>on</strong>cept <strong>and</strong><br />

was implemented for DOS. In early 2004, Kaspersky Lab<br />

encountered a surprising program that couldn't be seen in<br />

the Windows processes <strong>and</strong> files list. For many antivirus<br />

experts, this was a new beginning – underst<strong>and</strong>ing stealth<br />

technologies for malicious programs for Windows – <strong>and</strong> it<br />

was the harbinger of a major new trend in the virus writing<br />

industry. [5]<br />

The term “root-kit” stems from UNIX utilities that are<br />

designed to provide a user with unsancti<strong>on</strong>ed root access<br />

within the system without being noticed by the system<br />

administrator. Today, the word root-kit covers dedicated<br />

utilities used to c<strong>on</strong>ceal informati<strong>on</strong> in the system, as well<br />

as malicious programs with functi<strong>on</strong>ality which enables<br />

them to mask their presence. These include the<br />

manifestati<strong>on</strong>s of any third-party registered applicati<strong>on</strong>s: a<br />

string in the list of processes, a file <strong>on</strong> disk, a registry key<br />

or even network traffic. How do root-kit technologies<br />

which are designed to c<strong>on</strong>ceal malicious programs in the<br />

system make it so difficult to detect the malicious<br />

programs using antivirus or other security software It’s<br />

very simple: an antivirus utility is an external agent just<br />

like the user. Generally, if a user can't see something, then<br />

an antivirus program can't see it either. However, some<br />

antivirus soluti<strong>on</strong>s implement technologies which sharpen<br />

their visi<strong>on</strong>, enabling them to detect root-kits when users<br />

cannot see them. A root-kit is based <strong>on</strong> the same principle<br />

as DOS stealth viruses. A large number of root-kits have<br />

mechanisms which modify a chain of system calls<br />

(Executi<strong>on</strong> Path Modificati<strong>on</strong>). This kind of root-kit may<br />

act as a hook located at a certain point of a route al<strong>on</strong>g<br />

which comm<strong>and</strong>s or informati<strong>on</strong> are exchanged. It will<br />

modify these comm<strong>and</strong>s or informati<strong>on</strong> in order to distort<br />

them or c<strong>on</strong>trol what happens <strong>on</strong> the recipient's end<br />

without the recipient's knowledge. Theoretically, the<br />

number of points at which a hook can be located is<br />

limitless. In practice, there are currently several different<br />

methods comm<strong>on</strong>ly used to hook APIs <strong>and</strong> kernel system<br />

functi<strong>on</strong>s. Examples of this kind of root-kit include the<br />

widely known utilities Vanquish <strong>and</strong> Hacker Defender <strong>and</strong><br />

malicious programs such as<br />

Backdoor.Win32.Haxdoor, Email- Worm.Win32.Mailbot<br />

<strong>and</strong> certain versi<strong>on</strong>s of Email-Worm.Win32.Bagle.Another<br />

comm<strong>on</strong> type of root-kit technology is Direct Kernel<br />

Object Modificati<strong>on</strong> (DKOM), which can be viewed as an<br />

insider that modifies informati<strong>on</strong> or comm<strong>and</strong>s directly in<br />

their sources. These root-kits alter system data. A typical<br />

example is the FU utility; the same functi<strong>on</strong>s can be found<br />

in Gromoz<strong>on</strong> (Trojan.Win32.Gromp). A newer technology<br />

that officially corresp<strong>on</strong>ds to the root-kit classificati<strong>on</strong><br />

c<strong>on</strong>ceals files in alternate data streams (ADS) in NTFS file<br />

systems. This technology was first implemented in 2000 in<br />

the malicious program Stream (Virus.Win32.Stream), <strong>and</strong><br />

got a sec<strong>on</strong>d wind in 2006 in the form of Mailbot <strong>and</strong><br />

Gromoz<strong>on</strong>. Strictly speaking, exploiting ADS is not so<br />

much a means of tricking the system as of taking<br />

advantage of little-known functi<strong>on</strong>s, which is why this<br />

particular technology isn't likely to become very<br />

widespread.<br />

There is another rare technology which <strong>on</strong>ly partially falls<br />

into the root-kit category (but it corresp<strong>on</strong>ds even less to<br />

the other classes of malware self-defense examined in this<br />

article). This technology uses bodiless files - this means<br />

malicious programs do not have any body whatsoever <strong>on</strong><br />

the disk. There are currently two known representatives of<br />

this subgroup: CodeRed, which emerged in 2001 (Net-<br />

Worm.Win32.CodeRed) which exists in this form <strong>on</strong>ly<br />

within the c<strong>on</strong>text of MS IIS, <strong>and</strong> a recent proof of c<strong>on</strong>cept<br />

Trojan that stores its body in the registry.<br />

The modern root-kit trend aims towards the virtualizati<strong>on</strong><br />

<strong>and</strong> use of system functi<strong>on</strong>s – in other words, penetrating<br />

even more deeply into the system. [5]<br />

III.<br />

Integrated approach framework<br />

We are working <strong>on</strong> an integrated approach of signature<br />

extracti<strong>on</strong> in which all key features of a malware shall be<br />

included. For this we are using techniques like<br />

disassembly, behavioral m<strong>on</strong>itor etc. to generate str<strong>on</strong>ger<br />

signature.<br />

We divide the whole process in to two main parts<br />

1 static analysis i.e. disassembly process (figure 5)<br />

2 dynamic analysis i.e. behavioral m<strong>on</strong>itoring (fig 6)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 32


Proceedings of ICCNS 08 , 27-28 September 2008<br />

B. Dynamic Analysis<br />

Dynamic analysis is based <strong>on</strong> the behavioral<br />

m<strong>on</strong>itoring of the malware, as shown in figure 6 lots of<br />

m<strong>on</strong>itoring tools like filem<strong>on</strong>, regm<strong>on</strong> <strong>and</strong> also ids <strong>and</strong><br />

firewall is used to generate behavioral data, <strong>on</strong> the basis of<br />

which we extract some unique features <strong>and</strong> creates a<br />

profile this profile <strong>and</strong> static signature get integrated thus<br />

generating str<strong>on</strong>ger signature for detecti<strong>on</strong>. Once more this<br />

str<strong>on</strong>ger signature will not be simple bit string but a two<br />

layer framed signature<br />

Figure 5: Static Analysis for generating static signature.<br />

A. Static Analysis<br />

As shown in figure 5 this method starts analyzing<br />

virus with some checks 1) Encrypti<strong>on</strong> check 2) Packer<br />

check. If the malware found encrypted then some<br />

cryptanalysis methods will be applied over it thus<br />

decrypting the code <strong>and</strong> generating the crypto-signature,<br />

which will be a part of the str<strong>on</strong>ger signature so next time<br />

a virus could be opened easily.<br />

If a malware found packed then using some well known<br />

<strong>and</strong> latest packer techniques it will be unpacked or<br />

decompressed, again a packing-signature will be generated<br />

to be a part of str<strong>on</strong>ger signature. Then we use the<br />

dissembler to c<strong>on</strong>vert object code in to assembly code.<br />

After c<strong>on</strong>versi<strong>on</strong> to assembly code it will examine the code<br />

obfuscati<strong>on</strong> methods used <strong>and</strong> will remove those also this<br />

pattern will be stored. Then code parser will be used to<br />

generate API sequences.<br />

This will be stored in a finite state automat<strong>on</strong> <strong>and</strong> also<br />

functi<strong>on</strong>al flow of the malware <strong>and</strong> code will be used to<br />

identify the hidden behaviors of the malware such as<br />

trigger <strong>on</strong> a special date etc. it will then create a profile for<br />

that virus or malware. The profile <strong>and</strong> the other signature<br />

stored will be used to create a static signature which will<br />

not be a simple bit string but the framed informati<strong>on</strong> yet<br />

c<strong>on</strong>cise this will be sent to the next level for final signature<br />

extracti<strong>on</strong>. Static signature S(sig) could be formulated as<br />

S(sig) = F ( Cr(sig) + Pc(sig) + FSA(sig) )<br />

Where Cr(sig) is crypto-signature, Pc(sig) is packing<br />

signature, FSA(sig) is Finite state automat<strong>on</strong> generated<br />

signature, <strong>and</strong> F is the signature generati<strong>on</strong> functi<strong>on</strong> that<br />

generate the framed <strong>and</strong> c<strong>on</strong>cise signature based <strong>on</strong><br />

uniqueness <strong>and</strong> family structure of malwares.<br />

Figure 6: Dynamic Analysis for generating a profile, profile <strong>and</strong><br />

static signature integrating in to a str<strong>on</strong>ger signature.<br />

Dynamic signature D(sig) <strong>and</strong> str<strong>on</strong>ger signature I(sig) can<br />

be formulated as<br />

D(sig) = F ( B(sig) + Profile) )<br />

Str<strong>on</strong>ger Signature I(sig) = ∫ ( S(sig) + D(sig) )<br />

Where B(sig) is Behavioral signature <strong>and</strong> ∫ is the integrati<strong>on</strong><br />

functi<strong>on</strong> to create two layer framed <strong>and</strong> c<strong>on</strong>cise signature<br />

I(sig).<br />

IV.<br />

M<strong>on</strong>itoring <strong>and</strong> Detecti<strong>on</strong><br />

For detecti<strong>on</strong> of many complex <strong>and</strong> new viruses <strong>on</strong>ly file<br />

scanning is not suffice we also must have a m<strong>on</strong>itoring<br />

system. Here we have proposed a trust level based<br />

m<strong>on</strong>itoring system.<br />

A. Trust level based m<strong>on</strong>itoring<br />

We have proposed a five level trust system in which<br />

every type of file will be flagged as following five levels:<br />

1. Trusted file: the file which would very well<br />

found to be trusted<br />

2. Vulnerable file: any n<strong>on</strong> associated file or<br />

vulnerable system files that needs to be<br />

m<strong>on</strong>itored. It will be given more priority then<br />

trusted file for m<strong>on</strong>itoring.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 33


Proceedings of ICCNS 08 , 27-28 September 2008<br />

3. Suspected file: any encrypted file whose source<br />

is not known or which is alien to the system will<br />

be taken as regard to suspected file. Some<br />

heuristic methods will be used to identify it.<br />

4. Highly Suspected file: File performing<br />

unauthorized task will be deemed as highly<br />

suspected file. It mainly covers the executable<br />

files <strong>and</strong> scripts.<br />

5. Malware: if a file found to do malicious task will<br />

be immediately flagged as malware <strong>and</strong> any<br />

access to this file will be denied. And <strong>on</strong> users<br />

c<strong>on</strong>sent it will be deleted or quarantined.<br />

Priority of m<strong>on</strong>itoring increases from trusted file to<br />

malware, i.e. a trusted file will be less m<strong>on</strong>itored then<br />

malware to reduce the time complexity or we can say that<br />

a harmful or suspected file will be m<strong>on</strong>itored in a top<br />

priority.<br />

B. Detecti<strong>on</strong><br />

The str<strong>on</strong>ger signature extracted from the viruses is a<br />

two level signature so a suspected file will be examined <strong>on</strong><br />

the basis of this two, first the dynamic signature will be<br />

checked i.e. the behavior of the file will be observe in a<br />

particular manner to find from the signature, then the static<br />

signature will be used to underst<strong>and</strong> <strong>and</strong> detect the file.<br />

For dynamic signature file will be examined for some<br />

unique feature of malware to put it in a family, then the<br />

static signature will be used to open it, if it is encrypted or<br />

packed or obfuscated then through this signature we can<br />

easily open it <strong>and</strong> underst<strong>and</strong> it.<br />

Then if it is found as a malware it will be treated as accord<br />

but if it is still a mysterious file then it will be sent to<br />

signature extracti<strong>on</strong> process. See fig .7<br />

Figure 7: Detecti<strong>on</strong> Method<br />

V. Scope <strong>and</strong> limitati<strong>on</strong>s<br />

This approach has a great scope as it can be used to<br />

identify new variants <strong>and</strong> obfuscated malwares.<br />

I(sig) has two layers thus for a normal detecti<strong>on</strong> at run time<br />

D(sig) will be used to identify the suspect <strong>and</strong> S(sig) will be<br />

used to open <strong>and</strong> identify the actual threat, this way even<br />

very hard to detect malwares could be examined <strong>and</strong><br />

detected. But this approach has a limitati<strong>on</strong> of time<br />

complexity <strong>and</strong> space complexity for simple <strong>and</strong> generally<br />

wide spread viruses because they are less or not complex<br />

at nature.<br />

On the other way this approach has very less, time <strong>and</strong><br />

space complexity for complex viruses <strong>and</strong> malwares like<br />

polymorphic <strong>and</strong> metamorphic viruses i.e. this approach<br />

takes very less time <strong>and</strong> space to detect complex malwares<br />

in compare to other techniques available.<br />

Also the trust level based m<strong>on</strong>itoring system is used to<br />

m<strong>on</strong>itor every file according to trust level this is an<br />

effective yet less time stealing approach.<br />

VI.<br />

Future work<br />

As menti<strong>on</strong>ed in the limitati<strong>on</strong> of this approach having<br />

more time <strong>and</strong> space complexity for simple <strong>and</strong> generally<br />

widespread malwares, thus our future work involves the<br />

reducti<strong>on</strong> of time <strong>and</strong> space complexity of this approach<br />

for this type of malwares.<br />

VII.<br />

C<strong>on</strong>clusi<strong>on</strong><br />

Several methods have been brought forward to fight<br />

against the new age malware techniques like obfuscati<strong>on</strong>,<br />

polymorphism, rootkit etc. we have applied an integrated<br />

approach toward this by generati<strong>on</strong> of str<strong>on</strong>ger signature<br />

using every possible informati<strong>on</strong> of malwares acquired<br />

through the static <strong>and</strong> dynamic analysis together yet<br />

creating <strong>and</strong> using a c<strong>on</strong>cise <strong>and</strong> framed signature.<br />

Also detecti<strong>on</strong> <strong>and</strong> m<strong>on</strong>itoring method using trust based<br />

system is proposed to reduce the false positive <strong>and</strong> false<br />

negative rate of detecti<strong>on</strong>.<br />

VIII.<br />

References<br />

[1] F. Cohen, “<strong>Computer</strong> viruses: Theory <strong>and</strong> experiments”,<br />

<strong>Computer</strong>s <strong>and</strong> <strong>Security</strong>, Vol.6, 1987, pp. 22-35.<br />

[2] Chess <strong>and</strong> S. White, “An Undetectable <strong>Computer</strong> Virus”,<br />

Virus Bulletin <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, September 2000.<br />

[3] J. Berger<strong>on</strong>, M. Debbabi, M. M. Erhioui <strong>and</strong> B. Ktari,<br />

“Static Analysis of Binary Code to Isolate Malicious<br />

Behaviors”, In Proceedings of the IEEE 4th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

Workshops <strong>on</strong> Enterprise <strong>Security</strong> (WETICE'99),<br />

Stanford University, California, USA, 1999, IEEE Press.<br />

[4] M. Christodorescu <strong>and</strong> S. Jha, “Static Analysis of<br />

Executables to Detect Malicious Patterns”, Usenix<br />

<strong>Security</strong> Symposium, 2003, pp. 169-186.<br />

[5] Alisa Shevchenko, “Traditi<strong>on</strong>al antivirus soluti<strong>on</strong>s - The<br />

evoluti<strong>on</strong> of self-defense technologies in malware”,<br />

http://www.viruslist.com/en/analysis<br />

[6] http://en.wikipedia.org/wiki/Polymorphic_code.<br />

[7] Carey Nachenberg, “Underst<strong>and</strong>ing <strong>and</strong> Managing<br />

Polymorphic Viruses” - The Symantec Enterprise Papers.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 34


Proceedings of ICCNS 08 , 27-28 September 2008<br />

MIDlet <strong>Security</strong> <strong>Security</strong>: in Java2 An Micro Editi<strong>on</strong> Overview using MIDlet<br />

By banking, <strong>on</strong>line ticket reservati<strong>on</strong>, stock<br />

Vasanth .G<br />

trading etc, the user is skeptical of the<br />

security of sensitive data as data is being<br />

Assistant Professor, Department of <strong>Computer</strong> Science, Yellamma Dasappa Institute of<br />

transmitted across wireless networks<br />

Technology, Bangalore – 560062. Email: gvasanth_ss@yahoo.co.in<br />

Pradeep B.S<br />

Assistant Professor, Department of <strong>Computer</strong> Science, Yellamma Dasappa Institute of<br />

Technology, Bangalore – 560062. Email: pradeepbs78@yahoo.com<br />

Soumya.S<br />

Lecturer, Department of MCA, RV College of Engineering, Bangalore, Karnataka.<br />

Venugopal A.G*<br />

8th semester student of Informati<strong>on</strong> Science, Yellamma Dasappa Institute of Technology,<br />

Bangalore – 560062. Email:venuajay@yahoo.co.in<br />

Abstract<br />

This paper discusses the overview of<br />

security aspects of J2ME (Java2 Micro<br />

Editi<strong>on</strong>). J2ME is a platform developed by<br />

Sun Microsystems to be used with<br />

resource c<strong>on</strong>strained devices like mobile<br />

ph<strong>on</strong>es, PDA’s, set top boxes, embedded<br />

systems etc. Resources could be in the<br />

form of memory, CPU processing power,<br />

display, battery life etc. The biggest<br />

benefit of using the Java platform for<br />

wireless device development is that you're<br />

able to produce portable code that can run<br />

<strong>on</strong> multiple platforms. But even with this<br />

advantage, wireless devices offer a vast<br />

range of capabilities in terms of memory,<br />

processing power, battery life, display<br />

size, <strong>and</strong> network b<strong>and</strong>width. It would be<br />

impossible to port the complete<br />

functi<strong>on</strong>alities of an applicati<strong>on</strong> running<br />

<strong>on</strong> a sophisticated set-top box to a cell<br />

ph<strong>on</strong>e. Even for similar devices such as<br />

PDA’s <strong>and</strong> advanced smart ph<strong>on</strong>es,<br />

establishing portability between the two<br />

often poses a strain to <strong>on</strong>e device <strong>and</strong><br />

underutilizati<strong>on</strong> of the other. Real<br />

portability can <strong>on</strong>ly be achieved am<strong>on</strong>g<br />

groups of similar devices. Recognizing<br />

that <strong>on</strong>e size does not fit all, J2ME has<br />

been carefully designed to strike a balance<br />

between portability <strong>and</strong> usability.<br />

Mobile ph<strong>on</strong>es are now being used for<br />

many critical applicati<strong>on</strong>s like mobile<br />

hence the need to use additi<strong>on</strong>al security<br />

measures like data encrypti<strong>on</strong> is needed.<br />

MIDP security is feasible using the<br />

Bouncy Castle cryptography package,<br />

which is an open source effort, based in<br />

Australia <strong>and</strong> it provides sophisticated,<br />

accessible, industrial strength<br />

cryptography for the MIDP platform.<br />

1. Introducti<strong>on</strong><br />

THE JAVA 2 MICRO EDITION (J2ME)<br />

is the versi<strong>on</strong> of the Java 2 platform that’s<br />

designed for use with smaller, lesspowerful<br />

devices such as mobile ph<strong>on</strong>es,<br />

Pers<strong>on</strong>al Digital Assistants (PDA’s), TV<br />

set-top boxes (for Web browsing <strong>and</strong> e-<br />

mail without a whole computer), <strong>and</strong><br />

embedded devices. Since these devices<br />

vary quite a bit in their capabilities, the<br />

J2ME platform has two different<br />

c<strong>on</strong>figurati<strong>on</strong>s, each with its own choice<br />

of profiles. The CLDC is designed for<br />

mobile ph<strong>on</strong>es <strong>and</strong> low-level PDA’s.<br />

More precisely, CLDC is intended for<br />

devices with a 16-bit or 32-bit processor,<br />

at least 160 kilobytes (KB) of n<strong>on</strong>volatile<br />

memory, at least 32KB of volatile<br />

memory, <strong>and</strong> some network c<strong>on</strong>nectivity,<br />

possibly wireless <strong>and</strong> intermittent.<br />

CLDC’s unique profile is the Mobile<br />

Informati<strong>on</strong> Device Profile (MIDP). The<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 35


Proceedings of ICCNS 08 , 27-28 September 2008<br />

other c<strong>on</strong>figurati<strong>on</strong> associated with J2ME<br />

is the C<strong>on</strong>nected Device C<strong>on</strong>figurati<strong>on</strong><br />

(CDC), this c<strong>on</strong>figurati<strong>on</strong> specifies the<br />

type of Java Virtual Machine (JVM) that’s<br />

used <strong>and</strong> what will be in the minimal class<br />

libraries (the java.* packages <strong>and</strong> the<br />

javax.microediti<strong>on</strong>.io package in the case<br />

of CLDC). CDC specifies a complete<br />

JVM, but the JVM of CLDC has some<br />

limitati<strong>on</strong>s compared to the st<strong>and</strong>ard JVM.<br />

A profile is added <strong>on</strong> top of the<br />

c<strong>on</strong>figurati<strong>on</strong> to define a st<strong>and</strong>ard set of<br />

libraries.<br />

2. Threats in the Mobile Envir<strong>on</strong>ment<br />

Modern mobile ph<strong>on</strong>es <strong>and</strong> h<strong>and</strong>held<br />

computers are systems that have special<br />

Mobile Operating System like Symbian,<br />

Windows CE, Palm OS, EPOC or Linux.<br />

In these devices, users can have different<br />

applicati<strong>on</strong>s like native, MIDP, or browser<br />

based HTTP/WAP -applicati<strong>on</strong>s. These<br />

devices usually have a network c<strong>on</strong>necti<strong>on</strong><br />

through mobile networks like GSM or<br />

GPRS. On top of these carriers MIDP or<br />

native applicati<strong>on</strong>s can have Internet<br />

protocols like HTTP or wireless WAP<br />

protocol. When c<strong>on</strong>sidering threats in this<br />

kind of envir<strong>on</strong>ment, it is apparent that the<br />

envir<strong>on</strong>ment is full of different threats<br />

from almost every possible category.<br />

Internet <strong>and</strong> wireless protocol threats,<br />

mobile network threats <strong>and</strong> physical<br />

threats against devices must be c<strong>on</strong>sidered.<br />

In additi<strong>on</strong> to these, Java applicati<strong>on</strong>s have<br />

some unique threats <strong>and</strong> attacks. Within<br />

the mobile envir<strong>on</strong>ment, the mobile host<br />

must be protected against malicious<br />

mobile software but also the mobile<br />

software must be protected against a<br />

malicious host [1]. Mobile devices have<br />

limited computing capabilities <strong>and</strong> this<br />

means that also the security mechanisms<br />

must be designed appropriately. For<br />

example, Java 2 St<strong>and</strong>ard Editi<strong>on</strong> (J2SE)<br />

has many security related mechanisms <strong>and</strong><br />

APIs that cannot be used in MIDP<br />

applicati<strong>on</strong> because of the resource<br />

c<strong>on</strong>straints in devices.<br />

In secure mobile envir<strong>on</strong>ment, several<br />

security services are needed.<br />

C<strong>on</strong>fidentiality, integrity <strong>and</strong> availability<br />

are the key services <strong>and</strong> also the key assets<br />

that are protected [2]. Also other services<br />

like authenticati<strong>on</strong>, authorizati<strong>on</strong> <strong>and</strong> audit<br />

are needed [3]. These services are also<br />

valid not just for secure mobile<br />

envir<strong>on</strong>ment but for all secure<br />

envir<strong>on</strong>ments whether those are wired,<br />

wireless or just computer systems without<br />

network c<strong>on</strong>nectivity.<br />

2.1 Threats in the Internet Envir<strong>on</strong>ment<br />

Applicati<strong>on</strong>s in the Internet envir<strong>on</strong>ment<br />

face many different threats. Threats <strong>and</strong><br />

attacks can be classified with many ways;<br />

<strong>on</strong>e is to c<strong>on</strong>sider passive <strong>and</strong> active<br />

attacks. Another way is to c<strong>on</strong>sider the<br />

locati<strong>on</strong> of the threat (client, server,<br />

network, etc.).<br />

Attacks against c<strong>on</strong>fidentiality include<br />

eavesdropping the network traffic,<br />

informati<strong>on</strong> theft from the server or from<br />

the client, informati<strong>on</strong> gathering about the<br />

network c<strong>on</strong>figurati<strong>on</strong>s <strong>and</strong> traffic analysis<br />

that can reveal a great deal of informati<strong>on</strong><br />

even if it is <strong>on</strong>ly known about who is<br />

c<strong>on</strong>necting with whom <strong>and</strong> when. Using<br />

cryptography to protect sensitive<br />

informati<strong>on</strong> usually solves these problems.<br />

Attacks against integrity include<br />

modificati<strong>on</strong> of the user’s data <strong>and</strong> the<br />

network traffic, Trojan horse software,<br />

memory modificati<strong>on</strong>s etc<br />

2.2 Mobile Network <strong>and</strong> Physical<br />

Threats<br />

Mobile devices are usually c<strong>on</strong>nected to<br />

some mobile network <strong>and</strong> provide<br />

c<strong>on</strong>nectivity through e.g. GSM or GPRS.<br />

Some h<strong>and</strong>held computers might also have<br />

Wireless LAN (WLAN) c<strong>on</strong>necti<strong>on</strong>. All<br />

these network technologies <strong>and</strong> related<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 36


Proceedings of ICCNS 08 , 27-28 September 2008<br />

protocols introduce security threats for the<br />

mobile applicati<strong>on</strong>s.<br />

GSM network for example does not<br />

provide important security services like<br />

mutual authenticati<strong>on</strong>, end-to-end security,<br />

n<strong>on</strong>-repudiati<strong>on</strong> or user an<strong>on</strong>ymity [1].<br />

There are also a number of problems in<br />

existing GSM protocols <strong>and</strong> cryptographic<br />

algorithms. Various attacks have been<br />

presented against the A5 cipher in GSM<br />

[4], [5]. An attack which enables the<br />

attacker to charge calls to any GSM user<br />

whose identity (IMSI) is known is<br />

presented in [6] <strong>and</strong> [7] describes an attack<br />

which enables the cl<strong>on</strong>ing of the GSM<br />

SIM cards. Like GSM networks, various<br />

threats <strong>and</strong> attacks have also been<br />

described against GPRS [8], [9] <strong>and</strong><br />

WLAN networks.<br />

One particular threat for users <strong>and</strong> mobile<br />

operators in mobile networks is related to<br />

unauthorized network c<strong>on</strong>necti<strong>on</strong>s. Users<br />

are usually charged either based <strong>on</strong> the<br />

time or the amount of data they are<br />

transferring while they are using data<br />

c<strong>on</strong>necti<strong>on</strong>s. If malicious software could<br />

use the data c<strong>on</strong>necti<strong>on</strong> <strong>and</strong> generate<br />

network traffic without user’s knowledge,<br />

this would all be charged from the user<br />

although s/he didn’t authorize the use of<br />

the network. Mobile ph<strong>on</strong>es <strong>and</strong> h<strong>and</strong>held<br />

computers do not have the physical<br />

security that is provided by buildings <strong>and</strong><br />

locks for PCs <strong>and</strong> servers. On the c<strong>on</strong>trary,<br />

these devices are pers<strong>on</strong>al <strong>and</strong> carried<br />

everywhere the user goes. This increases<br />

the risk of theft or lost dramatically<br />

compared with normal computers inside<br />

the corporate premises [10].<br />

2.3 Java Threats<br />

Although security has always been<br />

important part of the Java language, there<br />

are still many threats related to Java<br />

applicati<strong>on</strong>s. Java applicati<strong>on</strong>s are truly<br />

mobile code, they can be downloaded<br />

from the network <strong>and</strong> executed e.g. in<br />

web- browser (Applet), mobile device<br />

(MIDlet) or in digital televisi<strong>on</strong> (Xlet).<br />

When you download some program from<br />

the Internet, how could you really know<br />

what it c<strong>on</strong>tains <strong>and</strong> where it came from<br />

Although you might download it from the<br />

well- known web site, how do you know<br />

that some<strong>on</strong>e doesn’t have DNS spoofed<br />

your c<strong>on</strong>necti<strong>on</strong> to some other site that<br />

just looks like the real <strong>on</strong>e Or that<br />

some<strong>on</strong>e hasn’t modified or hijacked your<br />

TCP/HTTP-c<strong>on</strong>necti<strong>on</strong> so that the<br />

applicati<strong>on</strong> you downloaded is not what<br />

you intended to download.<br />

Java includes the c<strong>on</strong>cept of s<strong>and</strong>box for<br />

mobile code. An applet or MIDlet can be<br />

executed inside the s<strong>and</strong>box where it<br />

doesn’t have access to privileged system<br />

resources. With digital signatures <strong>and</strong><br />

signed code it is also possible to verify the<br />

integrity <strong>and</strong> the signer of the applicati<strong>on</strong><br />

<strong>and</strong> thus trust the code. Java language also<br />

has many other features <strong>and</strong> mechanisms<br />

like type safety, lack of pointers, a byte<br />

code verifier etc [11].<br />

In spite of the Java language features <strong>and</strong><br />

the s<strong>and</strong>box c<strong>on</strong>cept there have been many<br />

problems <strong>and</strong> attacks related to Java code,<br />

especially applets. A great number of<br />

problems <strong>and</strong> related attack applets have<br />

been listed in [11]. The same book<br />

c<strong>on</strong>cludes that (at the time of the<br />

publishing) “all implementati<strong>on</strong>s of Java<br />

have had some rather serious security<br />

flaws”.<br />

Mobile code like Java applicati<strong>on</strong>s could<br />

quite easily cause Denial of Service<br />

attacks. Hostile applicati<strong>on</strong> could steal<br />

CPU cycles, spawn new resource<br />

c<strong>on</strong>suming threads, try to grab as much of<br />

the system memory as possible etc. Also<br />

system devices <strong>and</strong> drivers like audio <strong>and</strong><br />

video devices could be misused. [12],<br />

[13].<br />

From all this, we can c<strong>on</strong>clude that mobile<br />

code like Java applets <strong>and</strong> MIDlets should<br />

not be fully trusted in spite of the language<br />

features such as the s<strong>and</strong>box model <strong>and</strong><br />

signed code.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 37


Proceedings of ICCNS 08 , 27-28 September 2008<br />

3. J2ME CLDC <strong>Security</strong> Architecture<br />

The high-level J2ME CLDC architecture<br />

defines 3 layers <strong>on</strong> top of the device’s<br />

operating system:<br />

The virtual machine (KVM) [14], the<br />

C<strong>on</strong>figurati<strong>on</strong> (CLDC) which is a minimal<br />

set of class libraries that provide the basic<br />

functi<strong>on</strong>alities for a particular range of<br />

devices, <strong>and</strong> the Profile (MIDP) which is<br />

an extensi<strong>on</strong> of the C<strong>on</strong>figurati<strong>on</strong> that<br />

addresses the specific dem<strong>and</strong>s of a device<br />

family. At the implementati<strong>on</strong> level,<br />

MIDP also c<strong>on</strong>sists of a set of Applicati<strong>on</strong><br />

Program Interfaces (APIs). Applicati<strong>on</strong>s<br />

developed for the J2ME CLDC platform<br />

(MIDlets) are downloaded to the device in<br />

the form of two files: the Java Archive<br />

(JAR), <strong>and</strong> the Java Applicati<strong>on</strong><br />

Descriptor (JAD). The JAR is an archive<br />

file that c<strong>on</strong>tains the JAR manifest, which<br />

is a text file that c<strong>on</strong>tains various attributes<br />

like the MIDlet name. It also c<strong>on</strong>tains<br />

preverified class files of the MIDlet, plus<br />

any other Supporting files needed by the<br />

applicati<strong>on</strong> (e.g. graphic files). One JAR<br />

file can c<strong>on</strong>tain more than <strong>on</strong>e MIDlet <strong>and</strong><br />

the set of MIDlets in a JAR file is called<br />

MIDlet suite. The JAD <strong>on</strong> the other h<strong>and</strong>,<br />

is a plain text file that c<strong>on</strong>tains several<br />

attributes like the MIDlet name <strong>and</strong> MIDP<br />

versi<strong>on</strong> needed to run the MIDlet. The<br />

JAD is also used to give some informati<strong>on</strong><br />

about the MIDlet, such as the vendor’s<br />

name, a small descripti<strong>on</strong>, etc. The<br />

software entity <strong>on</strong> the device that is<br />

resp<strong>on</strong>sible for MIDlet management is<br />

called the Applicati<strong>on</strong> Management<br />

System (AMS), or the Java Applicati<strong>on</strong><br />

Manager (JAM).<br />

On J2ME CLDC devices security issues<br />

are classified as:<br />

• Low-level security deals with safety<br />

issues related to the virtual machine. In<br />

general, the role of the low-level security<br />

mechanisms is to ensure that class files<br />

loaded into the virtual machine do not<br />

execute in any way that is not allowed by<br />

the Java virtual machine specificati<strong>on</strong><br />

[14].<br />

• By applicati<strong>on</strong>-level security, we mean<br />

“Java applicati<strong>on</strong>s can access <strong>on</strong>ly those<br />

libraries, system resources <strong>and</strong> other<br />

comp<strong>on</strong>ents that the device <strong>and</strong> the Java<br />

applicati<strong>on</strong> envir<strong>on</strong>ment allow it to<br />

access” [15].<br />

• End-to-end security has a larger scope<br />

involving secure networking. The main<br />

objective of end-to-end security is to<br />

ensure safe delivery of data <strong>and</strong> code<br />

between server machines <strong>and</strong> client<br />

devices.<br />

Low-level <strong>and</strong> applicati<strong>on</strong> security are<br />

addressed in CLDC, while MIDP<br />

addresses applicati<strong>on</strong> <strong>and</strong> end-to-end<br />

security.<br />

3.1 CLDC <strong>Security</strong><br />

To underst<strong>and</strong> the security model of<br />

CLDC, it is important to notice that the<br />

security of CLDC is affected by the<br />

absence of some general Java features –<br />

that are usually present in Java platforms -<br />

<strong>and</strong> that have been dropped because of<br />

performance <strong>and</strong> security issues.<br />

C<strong>on</strong>sequently security in CLDC is<br />

characterized by:<br />

• No Java Native Interface (JNI): Mainly<br />

for security <strong>and</strong> performance reas<strong>on</strong>s,<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 38


Proceedings of ICCNS 08 , 27-28 September 2008<br />

JNI [18] is not implemented in CLDC.<br />

Although, a Kilo Native Interface (KNI)<br />

[19] is provided for J2ME CLDC, KNI<br />

does not have the ability to dynamically<br />

load <strong>and</strong> call arbitrary native functi<strong>on</strong>s<br />

from Java programs (which could cause<br />

significant security problems in the<br />

absence of the full Java 2 security model).<br />

• No user-defined class loaders: Mainly<br />

for security reas<strong>on</strong>s, the class loader in<br />

CLDC is a built-in “bootstrap” class<br />

loader that cannot be overridden, replaced,<br />

or rec<strong>on</strong>figured. The eliminati<strong>on</strong> of userdefined<br />

class loaders is part of the<br />

“S<strong>and</strong>box” security model restricti<strong>on</strong>s.<br />

• No thread groups or daem<strong>on</strong> threads:<br />

While supporting multithreading, CLDC<br />

has no support for thread groups or<br />

daem<strong>on</strong> threads.<br />

• No support for reflecti<strong>on</strong>: No reflecti<strong>on</strong><br />

features are supported, <strong>and</strong> therefore there<br />

is no support for remote method<br />

invocati<strong>on</strong> (RMI) or object serializati<strong>on</strong>.<br />

Low level security in CLDC is mainly<br />

based <strong>on</strong> type safety mechanisms. The<br />

class file verifier is the module in charge<br />

of type safety checking. The class file<br />

verifier ensures that the bytecodes <strong>and</strong><br />

other items stored in class files cannot<br />

c<strong>on</strong>tain illegal instructi<strong>on</strong>s, cannot be<br />

executed in an illegal order, <strong>and</strong> cannot<br />

c<strong>on</strong>tain references to invalid memory<br />

locati<strong>on</strong>s or memory areas that are outside<br />

the Java object memory (the object heap)<br />

[15].<br />

In J2ME CLDC <strong>and</strong> due to the c<strong>on</strong>straints<br />

<strong>on</strong> device resources, this is d<strong>on</strong>e in two<br />

steps:<br />

• Off-device pre-verificati<strong>on</strong><br />

• In-device verificati<strong>on</strong><br />

3.2 Applicati<strong>on</strong>-level <strong>Security</strong><br />

Adopting a s<strong>and</strong>box model, by protecting<br />

system classes, <strong>and</strong> by restricting dynamic<br />

class loading, mainly ensures the CLDC<br />

applicati<strong>on</strong> security:<br />

• S<strong>and</strong>box Model:<br />

1. Java class files are properly verified <strong>and</strong><br />

are valid Java classes.<br />

2. Only a closed predefined set of Java<br />

APIs is available to the applicati<strong>on</strong><br />

programmer, as defined by CLDC,<br />

profiles <strong>and</strong> manufacturer-specific classes.<br />

3. Downloading, installing, <strong>and</strong> managing<br />

MIDlets <strong>on</strong> the devices takes place at the<br />

native level inside the virtual machine.<br />

Therefore, the applicati<strong>on</strong> programmer<br />

cannot modify or bypass the st<strong>and</strong>ard class<br />

loading mechanisms of the virtual<br />

machine.<br />

4. The set of functi<strong>on</strong>s accessible to the<br />

virtual machine is closed. Thus,<br />

developers cannot download any new<br />

libraries c<strong>on</strong>taining native functi<strong>on</strong>ality or<br />

access any native functi<strong>on</strong>s that are not<br />

part of the Java libraries provided by<br />

CLDC, MIDP, or the manufacturer.<br />

• Protecting System Classes:<br />

In CLDC, the applicati<strong>on</strong> programmer<br />

cannot override, modify, or add any<br />

classes to the protected system packages,<br />

i.e. packages bel<strong>on</strong>ging to c<strong>on</strong>figurati<strong>on</strong>,<br />

profile, or manufacturer. Thus, the system<br />

classes are protected from the downloaded<br />

applicati<strong>on</strong>s. Also, the applicati<strong>on</strong><br />

programmer is not able to manipulate the<br />

class file lookup order in anyway.<br />

• Restricti<strong>on</strong>s <strong>on</strong> dynamic class loading:<br />

One important restricti<strong>on</strong> is made <strong>on</strong><br />

dynamically loading class files: A Java<br />

applicati<strong>on</strong> can load applicati<strong>on</strong> classes<br />

<strong>on</strong>ly from its own Java Archive (JAR) file.<br />

4. MIDP <strong>Security</strong><br />

We present the security architecture of<br />

MIDP 1.0 <strong>and</strong> MIDP 2.0. Although<br />

security models in both MIDP 1.0 <strong>and</strong><br />

MIDP 2.0 are limited security models<br />

compared to J2SE/J2EE, MIDP 2.0<br />

provides more security mechanisms than<br />

those provided by MIDP 1.0.MIDP 2.0<br />

exposes to MIDlets more capabilities of<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 39


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the device, <strong>and</strong> provides the security<br />

mechanism needed to c<strong>on</strong>trol the use of<br />

these capabilities.<br />

4.1 MIDP 1.0 <strong>Security</strong><br />

Applicati<strong>on</strong> security in MIDP 1.0 is based<br />

<strong>on</strong> a Java s<strong>and</strong>box model which was<br />

explained earlier. It is also important to<br />

note that in MIDP 1.0, MIDlet suites are<br />

allowed to save data in persistent storage<br />

files (called record stores). However,<br />

sharing of record stores between MIDlet<br />

suites is not allowed. With respect to endto-end<br />

security, MIDP 1.0 specificati<strong>on</strong><br />

does not include any cryptographic<br />

functi<strong>on</strong>ality. The <strong>on</strong>ly network protocol<br />

provided in MIDP 1.0 is the HTTP<br />

protocol.<br />

Threats & Soluti<strong>on</strong> in MIDP 1.0 & 2.0<br />

4.2 MIDP 2.0 <strong>Security</strong><br />

The difference between MIDP 1.0 security<br />

<strong>and</strong> MIDP 2.0 security is that, in MIDP<br />

2.0, accessing sensitive resources (APIs<br />

<strong>and</strong> functi<strong>on</strong>s) is not totally prohibited.<br />

Instead, MIDP 2.0 c<strong>on</strong>trols access to<br />

protected APIs by granting permissi<strong>on</strong>s to<br />

protecti<strong>on</strong> domains <strong>and</strong> binding each<br />

MIDlet <strong>on</strong> the device to <strong>on</strong>e protecti<strong>on</strong><br />

domain. Thus, a MIDlet will be granted all<br />

permissi<strong>on</strong>s provided to the protecti<strong>on</strong><br />

domain that has been bound to it. A<br />

MIDlet is bound to <strong>on</strong>e protecti<strong>on</strong> domain<br />

according to a well defined procedure that<br />

allows the AMS to authenticate the origin<br />

of a MIDlet: If <strong>on</strong>e MIDlet can be<br />

authenticated, then it is qualified as<br />

trusted, otherwise, it will be qualified as<br />

untrusted. In additi<strong>on</strong>, MIDP 2.0<br />

introduces the ability to share record stores<br />

between MIDlet suites. The protecti<strong>on</strong> of<br />

record stores is discussed later in this<br />

secti<strong>on</strong>. Also, an important difference<br />

between the security of MIDP 1.0 <strong>and</strong><br />

MIDP 2.0 is that MIDP 2.0 provides endto-end<br />

security by allowing secure<br />

networking using HTTPS protocol.<br />

4.3 Sensitive APIs<br />

In MIDP 2.0, some capabilities of the<br />

device are exposed to MIDlets through a<br />

set of APIs that are identified as sensitive<br />

<strong>and</strong> therefore should be protected. The<br />

sensitive APIs in MIDP 2.0 are the <strong>on</strong>es<br />

related to c<strong>on</strong>nectivity <strong>and</strong> the<br />

PushRegistry class.<br />

4.4 Permissi<strong>on</strong>s <strong>and</strong> Protecti<strong>on</strong> Domains<br />

Access to sensitive APIs is protected by<br />

permissi<strong>on</strong>s. A protecti<strong>on</strong> domain defines<br />

a set of permissi<strong>on</strong>s, <strong>and</strong> for each<br />

permissi<strong>on</strong>, the protecti<strong>on</strong> domain defines<br />

the level of access to the API protected by<br />

the permissi<strong>on</strong>. The level of access can be<br />

either Allowed or User. For the Allowed<br />

level, the permissi<strong>on</strong> is granted without<br />

involving the user. As for the User level,<br />

access to the protected API requires<br />

explicit authorizati<strong>on</strong> from the user. This<br />

authorizati<strong>on</strong> can be in <strong>on</strong>e the following<br />

modes [16]:<br />

1. Blanket The permissi<strong>on</strong> is valid for<br />

every invocati<strong>on</strong> of the protected API.<br />

2. Sessi<strong>on</strong>: The permissi<strong>on</strong> is valid during<br />

<strong>on</strong>e executi<strong>on</strong> of the MIDlet.<br />

3. Oneshot: The user must be prompted<br />

for each invocati<strong>on</strong> of the protected API.<br />

By default, four protecti<strong>on</strong> domains are<br />

provided by MIDP 2.0:<br />

• Minimum: This domain c<strong>on</strong>tains no<br />

permissi<strong>on</strong>s. Access is denied for all<br />

sensitive APIs.<br />

• Untrusted: Requires that sensitive APIs<br />

can <strong>on</strong>ly be accessed through user<br />

permissi<strong>on</strong>s.<br />

• Trusted: All permissi<strong>on</strong>s are granted.<br />

• Maximum: Same as trusted.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 40


Proceedings of ICCNS 08 , 27-28 September 2008<br />

In [17] which is an addendum to the<br />

MIDP 2.0 specificati<strong>on</strong>, protecti<strong>on</strong><br />

domains are categorized into four classes,<br />

namely, Manufacturer, Operator, Trusted<br />

third party, <strong>and</strong> Untrusted domain.<br />

Protecti<strong>on</strong> domains are defined in a policy<br />

file. An example of the policy file is given<br />

in figure 1 which is the policy file<br />

provided with the RI. The procedure for<br />

determining whether a MIDlet suite is<br />

trusted is device specific.<br />

Some devices might trust <strong>on</strong>ly MIDlet<br />

suites obtained from certain servers. Other<br />

devices might support <strong>on</strong>ly untrusted<br />

MIDlet suites. Others authenticate MIDlet<br />

suites using the Public Key Infrastructure<br />

(PKI), which is the case shown in figure 1.<br />

This authenticati<strong>on</strong> includes certificate<br />

path validati<strong>on</strong>, signature checks <strong>and</strong><br />

expirati<strong>on</strong> checks for the certificates.<br />

4.5 Signing a MIDlet suite<br />

In order to sign a MIDlet suite, the signer<br />

needs to have a private <strong>and</strong> public key<br />

pair, <strong>and</strong> a certificate for his public key. If<br />

this certificate is not a certificate authority<br />

(a certificate that is stored in the device),<br />

there should be another certificate that<br />

vouches that the first <strong>on</strong>e is valid. If this<br />

sec<strong>on</strong>d certificate is still not a certificate<br />

authority, it requires a third certificate<br />

vouching for it, <strong>and</strong> so <strong>on</strong> until a root<br />

certificate is reached.<br />

The procedure of signing the MIDlet<br />

c<strong>on</strong>sists of the executi<strong>on</strong> of the following<br />

steps:<br />

• The signer computes a digital fingerprint<br />

of the JAR file by applying a hash<br />

functi<strong>on</strong> (SHA-1).<br />

• They then sign the digital fingerprint by<br />

encrypting it with the private Key.<br />

• The signed fingerprint is placed in the<br />

JAD file.<br />

• The certificate of the public key is placed<br />

in the JAD (except if the certificate is the<br />

root certificate, which resides <strong>on</strong> the<br />

device), as well as the other certificates, if<br />

any.<br />

4.6 Persistent Storage <strong>Security</strong><br />

In MIDP 2.0 a MIDlet suite can save data<br />

in a persistent storage area. The storage<br />

unit in J2ME CLDC is the record store.<br />

Each MIDlet suite can have <strong>on</strong>e or more<br />

record stores; these are stored <strong>on</strong> the<br />

persistent storage of the device. Record<br />

stores are identified by a unique full name,<br />

which is a c<strong>on</strong>catenati<strong>on</strong> of the vendor<br />

name, the MIDlet suite name, <strong>and</strong> the<br />

record store name. Within the same<br />

MIDlet, two record stores cannot have the<br />

same name. However, if they bel<strong>on</strong>g to<br />

two different MIDlet suites, they can have<br />

the same name since their full names will<br />

be unique. The actual structure of the<br />

record store <strong>on</strong> the device storage c<strong>on</strong>sists<br />

of a header <strong>and</strong> a body. The header<br />

c<strong>on</strong>tains informati<strong>on</strong> about the record<br />

store while the body c<strong>on</strong>sists of a number<br />

of byte arrays called records; these c<strong>on</strong>tain<br />

the actual data to be stored. The part of the<br />

Java platform resp<strong>on</strong>sible for<br />

manipulating the storage is called the<br />

Record Management System (RMS).<br />

For MIDP 1.0, record stores were not<br />

allowed to be shared am<strong>on</strong>g MIDlet suites.<br />

In MIDP 2.0, sharing of record stores is<br />

allowed; the MIDlet suite that created the<br />

record store can choose to make it shared<br />

or not. Moreover, the sharing mode can be<br />

set to read-<strong>on</strong>ly or read/write. Sharing<br />

informati<strong>on</strong> is stored in the header of each<br />

record store, <strong>and</strong> the default mode of<br />

sharing is private (no sharing).<br />

4.7 End-to-end <strong>Security</strong><br />

MIDP 2.0 specificati<strong>on</strong> m<strong>and</strong>ates that<br />

HTTPS be implemented to allow secure<br />

c<strong>on</strong>necti<strong>on</strong> with remote sites. HTTPS<br />

implementati<strong>on</strong>s must provide server<br />

authenticati<strong>on</strong>. The Certificate authorities<br />

present in the device are used to<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 41


Proceedings of ICCNS 08 , 27-28 September 2008<br />

authenticate sites by verifying certificate<br />

chain provided by a server.<br />

C<strong>on</strong>clusi<strong>on</strong><br />

There exist already milli<strong>on</strong>s of MIDP 1.0<br />

enabled mobile devices. These provide a<br />

promising envir<strong>on</strong>ment for mobile<br />

pers<strong>on</strong>al <strong>and</strong> business applicati<strong>on</strong>s. MIDP<br />

1.0 envir<strong>on</strong>ment is full of different threats<br />

<strong>and</strong> without any applicati<strong>on</strong> level<br />

mechanisms, the MIDP 1.0 envir<strong>on</strong>ment is<br />

not secure enough for applicati<strong>on</strong>s dealing<br />

with business critical or pers<strong>on</strong>al<br />

informati<strong>on</strong>. Without any additi<strong>on</strong>al<br />

mechanisms, the MIDP 1.0 envir<strong>on</strong>ment is<br />

suitable for dealing with public Internet<br />

informati<strong>on</strong> like news etc. As a soluti<strong>on</strong><br />

for security needs, some security<br />

mechanisms could be built into<br />

applicati<strong>on</strong>s but this is not easy <strong>and</strong> not all<br />

of the problems could be solved. The new<br />

MIDP 2.0 specificati<strong>on</strong> introduces several<br />

new security c<strong>on</strong>cepts <strong>and</strong> mechanisms.<br />

The new versi<strong>on</strong> includes trusted MIDlets<br />

through code signing, protecti<strong>on</strong> domains,<br />

related policies <strong>and</strong> permissi<strong>on</strong>s. The<br />

applicati<strong>on</strong> signing <strong>and</strong> verificati<strong>on</strong> of<br />

applicati<strong>on</strong>s is based <strong>on</strong> X.509 PKI.<br />

As we have stated, the new security<br />

features in MIDP 2.0 improve the major<br />

problems in MIDP 1.0. These include<br />

applicati<strong>on</strong> integrity <strong>and</strong> authenticati<strong>on</strong> of<br />

origin. Also network c<strong>on</strong>necti<strong>on</strong> related<br />

problems are partly solved with HTTPS<br />

<strong>and</strong> SSL. Although many problems have<br />

been addressed in the new versi<strong>on</strong>, there<br />

still exist problems. These include mainly<br />

PKI related problems but also the whole<br />

signed applicati<strong>on</strong> c<strong>on</strong>cept does not<br />

necessarily work in practice as well as in<br />

theory. New cryptographic protocols, the<br />

PKI related decisi<strong>on</strong>s <strong>and</strong> user approved<br />

permissi<strong>on</strong>s require the user interacti<strong>on</strong>,<br />

which is usually the weakest link in<br />

security.<br />

As menti<strong>on</strong>ed earlier, the new threats in<br />

MIDP 2.0 were <strong>on</strong>ly menti<strong>on</strong>ed briefly.<br />

More thorough analysis is left for future<br />

work. The analysis in this paper is also<br />

based <strong>on</strong> literature; <strong>on</strong>ce the MIDP 2.0<br />

devices are available, more practical issues<br />

could be studied. These could include<br />

actual attacks against devices <strong>and</strong><br />

applicati<strong>on</strong>s to find things like<br />

implementati<strong>on</strong> errors, defects <strong>and</strong><br />

problems in user interfaces. The future<br />

will also show how the J2ME runtime<br />

envir<strong>on</strong>ments are updated in mobile<br />

devices <strong>on</strong>ce the first defects are found<br />

like any other software, the runtime<br />

envir<strong>on</strong>ment should also be updated<br />

against known defects. This must be d<strong>on</strong>e<br />

securely or otherwise there will be trojan<br />

virtual machines <strong>and</strong> libraries in users<br />

devices, which maybe the worst possible<br />

situati<strong>on</strong> to think of.<br />

References<br />

[1] S. Jun-Zhao, D. Howie, A. Koivisto,<br />

<strong>and</strong> J. Sauvola, “A hierarchical framework<br />

model of mobile security,” in Pers<strong>on</strong>al,<br />

Indoor <strong>and</strong> Mobile Radio<br />

Communicati<strong>on</strong>s, 2001. IEEE, 2001.<br />

[2] D. Gollmann, <strong>Computer</strong> <strong>Security</strong>.<br />

USA: John Wiley & Co, 1999.<br />

[3] P. Ashley, H. Hint<strong>on</strong>, <strong>and</strong> M.<br />

V<strong>and</strong>enwauver, “Wired versus Wireless<br />

<strong>Security</strong>: The Internet, WAP <strong>and</strong> iMode<br />

for E-Commerce,” in Proc. Of <strong>Computer</strong><br />

<strong>Security</strong> Applicati<strong>on</strong>s <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> 2001,<br />

USA, 2001.<br />

[4] A. Biryukov, A. Shamir, <strong>and</strong> D.<br />

Wagner, “Real time cryptanalysis of A5/1<br />

<strong>on</strong> a PC,” Lecture Notes in <strong>Computer</strong><br />

Science, vol. 1978, 2001.<br />

[5] L. Tarkkala, “Attacks against A5,”<br />

2000. [Online]. Available:<br />

http://www.hut.fi/u/ltarkkal/netsec.ps<br />

[6] R. Anders<strong>on</strong>, “GSM hack - operator<br />

flunks the challenge,” 1997. [Online].<br />

Available:<br />

http://catless.ncl.ac.uk/Risks/19.48.html#s<br />

ubj5<br />

[7] <strong>Security</strong> Engineering. USA: John<br />

Wiley & S<strong>on</strong>s, 2001.<br />

[8] C. C<strong>and</strong>olin <strong>and</strong> J. Lundberg, “Attacks<br />

<strong>on</strong> GPRS,” 2001. [Online]. Available:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 42


Proceedings of ICCNS 08 , 27-28 September 2008<br />

http://www.tml.hut.fi/<br />

c<strong>and</strong>olin/studies/hakkeri/<br />

[9] J. Rautpalo, “GPRS security - secure<br />

remote c<strong>on</strong>necti<strong>on</strong>s over GPRS,” 2000.<br />

[Online].<br />

Available:<br />

http://citeseer.nj.nec.com/rautpalo00gprs.h<br />

tml<br />

[10] A. K. Ghosh <strong>and</strong> T. M. Swaminatha,<br />

“Software <strong>Security</strong> <strong>and</strong> Privacy Risks in<br />

Mobile E-Commerce,” Communicati<strong>on</strong>s<br />

of the ACM, vol. 44, pp. 51–57, 2 2001.<br />

[11] G. McGraw <strong>and</strong> E. Felten, Securing<br />

JAVA. USA: John Wiley & Co, 1999.<br />

[12] A. Ch<strong>and</strong>er, J. Mitchell, <strong>and</strong> I. Shin,<br />

“Mobile code security by Java bytecode<br />

instrumentati<strong>on</strong>,” in Proc. of DARPA<br />

Informati<strong>on</strong> Survivability <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> &<br />

Expositi<strong>on</strong> II 2001. USA: IEEE, 2001.<br />

[13] M. Shoffner <strong>and</strong> M. Hughes, “Java<br />

<strong>and</strong> web-executable object security,”<br />

Dr.Dobb’s Journal, 11 1996. [Online].<br />

Available:<br />

http://www.ddj.com/documents/ddj9611d/<br />

[14] T. Lindholm <strong>and</strong> F. Yellin. The Java<br />

Virtual Machine Specificati<strong>on</strong> (Sec<strong>on</strong>d<br />

Editi<strong>on</strong>). Addis<strong>on</strong> Wesley, April 1999.<br />

[15] J. Van Peursem. JSR 118 Mobile<br />

Informati<strong>on</strong> Device Profile 2.0, November<br />

2002.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 43


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Using Neuro-Fuzzy Techniques to Reduce False<br />

Alerts in IDS<br />

Pravesh Ga<strong>on</strong>jur, N.Z. Tarapore, <strong>and</strong> S.G. Pukale<br />

Abstract—The problems related to security for network systems<br />

are relative to the design of network architectures, which is<br />

typically based <strong>on</strong> open st<strong>and</strong>ards. M<strong>on</strong>itoring tools based <strong>on</strong><br />

pattern recogniti<strong>on</strong> or behavioral analysis is typically used to ensure<br />

network security. SNORT is <strong>on</strong>e such tool which is based <strong>on</strong><br />

pattern recogniti<strong>on</strong>. SNORT alerts system administrators whenever it<br />

receives packets of informati<strong>on</strong> that match predetermined signatures<br />

c<strong>on</strong>tained in the SNORT ruleset, thereby protecting network systems.<br />

Unfortunately, due to the nature of this design, SNORT operates at<br />

the packet level <strong>and</strong> thereby has no c<strong>on</strong>cept of the specific properties<br />

of the network it is trying to protect.<br />

This paper provides the analysis of NEFCLASS <strong>and</strong> JRip which,<br />

up<strong>on</strong> taking SNORT alerts as input <strong>and</strong> learning from training,<br />

attempts to reduce false-positive <strong>and</strong> negative alerts sent to the system<br />

administrator. The major drawback of SNORT is the amount of false<br />

alerts generated by the SNORT engine, which must then be analyzed<br />

<strong>and</strong> classified by system administrators. This paper dem<strong>on</strong>strates<br />

that Neuro-Fuzzy Classifiers can be used to lessen this burden <strong>and</strong><br />

c<strong>on</strong>siderably reduce the workload of having to classify alerts by<br />

human beings.<br />

Keywords—IDS, <strong>Security</strong>, <strong>Networks</strong>, False Alerts, Neuro-Fuzzy,<br />

JRip.<br />

I. INTRODUCTION<br />

THe IDS looked at most closely in this paper, SNORT, is a<br />

rules-based network intrusi<strong>on</strong> detecti<strong>on</strong> system (NIDS).<br />

Martin Roesch, in his paper entitled “SNORT - Lightweight<br />

Intrusi<strong>on</strong> Detecti<strong>on</strong> for <strong>Networks</strong>,” says “SNORT fills an<br />

important ecological niche in the realm of network security:<br />

a cross-platform, lightweight network intrusi<strong>on</strong> detecti<strong>on</strong> tool<br />

that can be deployed to m<strong>on</strong>itor small TCP/IP networks <strong>and</strong><br />

detect a wide variety of suspicious network traffic as well as<br />

outright attacks”. The SANS Institute also reported SNORT<br />

as becoming the st<strong>and</strong>ard am<strong>on</strong>g intrusi<strong>on</strong> detecti<strong>on</strong> experts<br />

due to the fact that it is open-source, frequently updated, <strong>and</strong><br />

free of charge [17].<br />

A. False Alerts Problem in SNORT<br />

One of the main problems in existing security sensors is<br />

their tendency of producing high rates of false positive logs<br />

<strong>and</strong> alerts. Often, a false alert is generated when in fact the<br />

event that triggered the alarm can be c<strong>on</strong>sidered harmless.<br />

This c<strong>on</strong>diti<strong>on</strong> is aggravated when the attacker has some<br />

Pravesh Ga<strong>on</strong>jur is a Research Scholar from Mauritius, he is currently<br />

researching <strong>on</strong> IDS at the Department of <strong>Computer</strong> Engineering, Vishwakarma<br />

Institute of Technology, Pune, email: p.ga<strong>on</strong>jur@gmail.com<br />

N.Z. Tarapore <strong>and</strong> S.G. Pukale are Assistant Professors at the Department<br />

of <strong>Computer</strong> Engineering, Vishwakarma Institute of Technology, Pune, email:<br />

noshir.tarapore@vit.edu,shraddhan<strong>and</strong>.pukale@vit.edu<br />

prior knowledge of the techniques employed by the security<br />

sensor <strong>and</strong> thus purposely crafts network data to trigger<br />

these false alerts. This will not <strong>on</strong>ly allow an attacker to<br />

c<strong>on</strong>trol the security sensors, but also overwhelm the ability<br />

of the security sensor to functi<strong>on</strong> properly due to the large<br />

amount of traffic that matches its rules or other triggering<br />

alert mechanisms, <strong>and</strong> hence wasting processing resources.<br />

Although an excellent tool, SNORT has three major drawbacks:<br />

• Packet Dropping<br />

• False Positive Alerts<br />

• False Negative Alerts<br />

SNORT may not pick up all packets due to speed issues<br />

with a network. Other factors which can affect SNORT in this<br />

way are the speed of the promiscuous interface <strong>and</strong> the stack<br />

implementati<strong>on</strong> of the operating system. It is important to<br />

note that SNORT is able to be overrun with packet flooding<br />

which then makes the detecti<strong>on</strong> of intrusi<strong>on</strong>s more difficult.<br />

False positives occur when SNORT sends alerts when it<br />

shouldn’t, in other words a false alarm. This can happen for<br />

various reas<strong>on</strong>s. Some of these include:<br />

• Placement of SNORT outside of the security perimeter:<br />

In this case SNORT receives DNS scans, web proxy<br />

scans <strong>and</strong> other various benign informati<strong>on</strong>al network that<br />

would cause overload for the system administrator.<br />

• Site Policy allowing activity that causes IDS alarms:<br />

For instance, using the default setting for SNORT which<br />

would increase the data inflow to an unmanageable level.<br />

• Lack of site awareness in the IDS: Not being aware of<br />

services running <strong>on</strong> hosts, such as IIS (Internet Informati<strong>on</strong><br />

Services) attacks <strong>on</strong> Apache web servers could lead<br />

to false alarms.<br />

False Negatives occur because of any attack not matching<br />

a signature in the ‘known attack’ database. This can happen<br />

because of poor rule design, encrypted or otherwise cleverly<br />

[2] disguised traffic, or simply because the attack is new <strong>and</strong><br />

has never been signature matched.<br />

B. Proposed Soluti<strong>on</strong><br />

The proposed framework is based <strong>on</strong> Artificial Intelligence<br />

Techniques, which is expected to improve the percentage in<br />

the reducti<strong>on</strong> of False Positive alerts. Also the framework<br />

should be able to cater to the main problem in the Neuro-<br />

Fuzzy Technique, which could not reduce the number of<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 44


Proceedings of ICCNS 08 , 27-28 September 2008<br />

False Negatives significantly enough.<br />

Objectives:<br />

1) The first <strong>and</strong> foremost c<strong>on</strong>tributi<strong>on</strong> is the design <strong>and</strong><br />

implementati<strong>on</strong> of an intelligent technique that allows<br />

the system (IDS) to reduce false alerts.<br />

2) Sec<strong>on</strong>dly, the system should be fine tuned such that the<br />

number of False Negatives are also reduced.<br />

3) Finally, an empirical comparis<strong>on</strong> of the results obtained<br />

in tests c<strong>on</strong>ducted using the previously used technique<br />

<strong>and</strong> the improved technique is dem<strong>on</strong>strated.<br />

II. ARTIFICIAL INTELLIGENCE TECHNIQUES<br />

Artificial Intelligence or AI as it is known has been around<br />

for quite some time. It is a field of computer science that<br />

attempts to mimic or copy human-type thinking <strong>and</strong> acti<strong>on</strong>.<br />

Unlike simple processing of informati<strong>on</strong> with selecti<strong>on</strong><br />

statements <strong>and</strong> working memory, artificial intelligence<br />

attempts to replicate thought processes such as reas<strong>on</strong>ing,<br />

intuiti<strong>on</strong>, learning from past trial <strong>and</strong> error, <strong>and</strong> generalizati<strong>on</strong>s<br />

[9].<br />

Although difficult, some success in replicati<strong>on</strong> of human<br />

intelligence has been achieved by what are known as expert<br />

systems. Usually these systems reside <strong>on</strong> very powerful<br />

machines operating at extremely high speeds <strong>and</strong> the<br />

programs themselves are incredibly complex. Expert systems<br />

are actually in a class of artificial intelligence known as<br />

rule-based systems [9].<br />

The more an intrusi<strong>on</strong> detecti<strong>on</strong> system (IDS) knows about<br />

the network it is trying to protect, the better it will be able to<br />

protect the network. This is the fundamental principle behind<br />

target-based intrusi<strong>on</strong> detecti<strong>on</strong>, where an IDS knows about<br />

the hosts <strong>on</strong> the network.<br />

SNORT is the IDS in questi<strong>on</strong> <strong>and</strong> this paper describes<br />

some of its features that users might not be taking advantage<br />

of that would allow the IDS to adapt to networks <strong>and</strong> detect<br />

anomalies. AI alleviates some of the security professi<strong>on</strong>als’<br />

work load by first learning about a network <strong>and</strong> gauging<br />

reacti<strong>on</strong>s from a security professi<strong>on</strong>al to reduce false positives,<br />

<strong>and</strong> sec<strong>on</strong>d, by adapting to changes in the network to identify<br />

new attacks.<br />

There are several different soft computing techniques <strong>and</strong><br />

algorithms that can be successfully used to detect intrusi<strong>on</strong>s.<br />

These techniques include [13]:<br />

• Fuzzy Logic<br />

• Probabilistic Reas<strong>on</strong>ing<br />

• Neural <strong>Networks</strong><br />

• Genetic Algorithms<br />

Combinati<strong>on</strong>s of these can also be used. For example,<br />

genetic algorithms can be used to build a neural network <strong>and</strong><br />

probabilistic reas<strong>on</strong>ing can be built <strong>on</strong> fuzzy logic. Neural<br />

networks are the most comm<strong>on</strong> AI type for an IDS [9]. Our<br />

main focus will be <strong>on</strong> Fuzzy logic techniques since we are<br />

more c<strong>on</strong>cerned with what happens inside the AI logic, a black<br />

box implementati<strong>on</strong> will not be helpful at all for us.<br />

A. NeuroFuzzy Systems<br />

A neuro-fuzzy network can be defined as a fuzzy system<br />

trained with some algorithm derived from the neural network<br />

theory. The integrati<strong>on</strong> of neural networks <strong>and</strong> fuzzy systems<br />

aims at the generati<strong>on</strong> of a more robust, efficient <strong>and</strong> easily<br />

interpretable system where the advantages of each model are<br />

kept <strong>and</strong> their possible disadvantages are removed. Some<br />

neural network models such as the MLP [1] have been<br />

successfully applied to the training of neuro-fuzzy networks.<br />

The NEFCLASS model proposed by Nauck <strong>and</strong> Kruse [3] is<br />

based <strong>on</strong> a three-layer feedforward neural network [1] <strong>and</strong><br />

the FuNN (Fuzzy Neural Network) proposed by Kasabov<br />

is a five-layer feedforward neural network. Both networks<br />

use modified versi<strong>on</strong>s of the back-propagati<strong>on</strong> algorithm to<br />

adjust the membership functi<strong>on</strong>s (activati<strong>on</strong> functi<strong>on</strong>s) <strong>and</strong><br />

c<strong>on</strong>necti<strong>on</strong> weights of the processing units.<br />

Modern neuro-fuzzy approaches are of this form: A<br />

neural network <strong>and</strong> a fuzzy system are combined into <strong>on</strong>e<br />

homogeneous architecture. The system may be interpreted<br />

either as a special neural network with fuzzy parameters, or<br />

as a fuzzy system implemented in a parallel distributed form.<br />

Some of these approaches are reinforcement learning types<br />

that are especially suited for c<strong>on</strong>trol tasks <strong>and</strong> others are<br />

multi-purpose models, which use supervised learning, <strong>and</strong> can<br />

be used for data analysis, like the NEFCLASS approach. As<br />

we are <strong>on</strong>ly interested here in hybrid neuro-fuzzy systems we<br />

restrict ourselves, in the further descripti<strong>on</strong>s to informati<strong>on</strong><br />

needed as a basis for this approach. NAUCK/KRUSE gives a<br />

definiti<strong>on</strong> that shall be used here to specify what a neurofuzzy<br />

system means in this paper:<br />

1) A neuro-fuzzy system is a fuzzy system trained by a<br />

(heuristical) learning algorithm (usually) derived from<br />

neural networks.<br />

2) A neuro-fuzzy system can be represented by a feedforward<br />

neural network architecture. However, this is<br />

not a prerequisite to training, it is merely a c<strong>on</strong>venience<br />

to visualise the structure <strong>and</strong> the flow of data.<br />

3) A neuro-fuzzy system can always be interpreted in terms<br />

of fuzzy if-then rules.<br />

4) A neuro-fuzzy system’s training procedure takes the<br />

semantics of the underlying fuzzy model into account<br />

to preserve the linguistic interpretability of the model.<br />

5) A neuro-fuzzy systems performs (special cases of) functi<strong>on</strong><br />

approximati<strong>on</strong>. It has nothing to do with fuzzy logic<br />

in the narrow sense. i.e. generalized logical rules.<br />

Figure 1 shows this neural network structure which is often<br />

used to dem<strong>on</strong>strate the parallel structure <strong>and</strong> the data flow<br />

through the model, both for learning (backward path) <strong>and</strong> classificati<strong>on</strong><br />

(forward path). Furthermore it is easier to compare<br />

NEFCLASS to other fuzzy classificati<strong>on</strong> approaches if this<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 45


Proceedings of ICCNS 08 , 27-28 September 2008<br />

representati<strong>on</strong> is chosen. But it also should be remembered<br />

again that this is <strong>on</strong>ly <strong>on</strong>e possible visualisati<strong>on</strong>. This system<br />

is not a neural network. It is a hybrid neuro-fuzzy system<br />

which is an integrated system.<br />

C. Applicati<strong>on</strong> to IDS<br />

To reduce the false positive alarms of an IDS, we need an<br />

approach which is able to deal with uncertainty in network<br />

traffic to predict unforeseen <strong>and</strong> noisy data accurately.<br />

Furthermore, the informati<strong>on</strong> provided for alerts through<br />

audit data <strong>and</strong> logs do not hold sufficient facts <strong>on</strong> the<br />

characteristics of the c<strong>on</strong>necti<strong>on</strong>s made <strong>on</strong> the network.<br />

Fuzzy rule based systems have the ability to explain the fuzzy<br />

patterns of alerts attributes. However, these alerts attributes<br />

used to train the fuzzy rules for IDS is usually high in<br />

dimensi<strong>on</strong>ality. For example, alerts generated from DARPA<br />

1999 dataset c<strong>on</strong>tains many attributes to be analyzed. Each<br />

attribute has a various number of possible values ranging from<br />

small number of possible value (e.g. the number of protocols)<br />

to the huge number of possible values (e.g. the IP address).<br />

Therefore, it is not an easy task to explicitly determine the<br />

membership functi<strong>on</strong>s for the fuzzy rules. For this type of<br />

background knowledge, a Neural Network (NN) approach<br />

is acceptable as a powerful learning method to learn from<br />

scratch. For these reas<strong>on</strong>s, the NN can be a useful learning<br />

approach to refine the fuzzy sets <strong>and</strong> membership functi<strong>on</strong> to<br />

be appropriate with the dataset. Due to the reas<strong>on</strong>s menti<strong>on</strong>ed<br />

above, the neuro-fuzzy hybrid approach was investigated to<br />

reduce false positive alerts.<br />

Fig. 1.<br />

Neural Network Structure.<br />

This paper proposes a soluti<strong>on</strong> for the problem of false<br />

negatives, false positives, <strong>and</strong> network noise through the use<br />

of NeuroFuzzy Classifier. From SNORT documentati<strong>on</strong>, it<br />

has been clearly identified that there is simply not enough<br />

informati<strong>on</strong> present inside the SNORT engine to make any<br />

knowledgeable assessment of a true attack. Obviously packet<br />

analysis is necessary to detect attacks, but an additi<strong>on</strong>al level<br />

of informati<strong>on</strong> <strong>and</strong> decisi<strong>on</strong> processing is required.<br />

B. RIPPER<br />

RIPPER was developed by William Cohen [5] based<br />

<strong>on</strong> repeated applicati<strong>on</strong> of Furnkranz <strong>and</strong> Widmer’s<br />

IREP algorithm followed by two new global optimizati<strong>on</strong><br />

procedures. Like other rule-based learners, RIPPER grows<br />

rules in a greedy fashi<strong>on</strong> guided by an informati<strong>on</strong> gain<br />

heuristic. It is comparable in accuracy to similar algorithms<br />

such as C4.5 rules, but is significantly more efficient. This<br />

efficiency combined with RIPPER’s implementati<strong>on</strong> of setvalued<br />

features allows learning in much larger feature spaces<br />

than would be possible with C4.5 rules.<br />

RIPPER has already been applied to a number of st<strong>and</strong>ard<br />

problems in classificati<strong>on</strong> with quite promising results [5]. It is<br />

important to emphasize that RIPPER is a rule-based machine<br />

learning system that has made its mark in a field dominated<br />

by purely statistical algorithms such as Nave Bayes, Widrow-<br />

Hoff, or K-Nearest Neighbor. The high dimensi<strong>on</strong>ality of most<br />

representati<strong>on</strong>s of data has in the past lead researchers away<br />

from rule or tree based learning systems. This makes RIPPER<br />

interesting since most c<strong>on</strong>clusi<strong>on</strong>s about the effectiveness of<br />

various representati<strong>on</strong>s have been drawn in a c<strong>on</strong>text that may<br />

not apply to a rule-based learner.<br />

The most logical improvement would be the additi<strong>on</strong><br />

of an AI technique that will automatically learn from the<br />

history of past attacks. Although SNORT by itself is a<br />

successful, highly rated intrusi<strong>on</strong> detecti<strong>on</strong> device, it offered<br />

no systematic attack analysis by itself. To rectify this situati<strong>on</strong>,<br />

a completely separate, parallel knowledge base would work<br />

in t<strong>and</strong>em with SNORT, which would still functi<strong>on</strong> as the<br />

primary attack detector.<br />

Using SNORT detecti<strong>on</strong> engine, a NeuroFuzzy Classifier<br />

would work in parallel, which would sift through the SNORT<br />

alerts intelligently such that it can act as a security assistant<br />

for the system administrator.<br />

III. EXPERIMENTAL SETUP<br />

Experimental Setup c<strong>on</strong>sisted of the following elements:<br />

1) SNORT IDS<br />

2) DARPA Data Set 1999<br />

3) TcpReplay<br />

4) NeuroFuzzy Classifier<br />

Firstly SNORT [17], a lightweight intrusi<strong>on</strong> detecti<strong>on</strong><br />

system tool that can be deployed <strong>on</strong> TCP/IP network will<br />

be used to detect attacks <strong>and</strong> generate alerts. The default<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 46


Proceedings of ICCNS 08 , 27-28 September 2008<br />

c<strong>on</strong>figurati<strong>on</strong> of SNORT <strong>and</strong> rule sets is used intenti<strong>on</strong>ally<br />

to show how much to reduce the number of false positive<br />

alarms. In this paper, SNORT versi<strong>on</strong> 2.7.0 was used al<strong>on</strong>g<br />

with its corresp<strong>on</strong>ding rules. Sec<strong>on</strong>dly Tcpreplay tool [19]<br />

is c<strong>on</strong>figured to resend the TCP dump raw data of the<br />

DARPA 1999 dataset to generate the alerts <strong>and</strong> log them<br />

into a file. The DARPA 1999 dataset from MIT-Lincoln Lab<br />

is a collecti<strong>on</strong> of four types of network traffic data, which<br />

are inside tcpdump <strong>and</strong> outside tcpdump, audit data (bsm),<br />

<strong>and</strong> file systems data. The dataset c<strong>on</strong>sists of 5 weeks of<br />

traffic. The first three weeks of traffic is attack-free except<br />

for the sec<strong>on</strong>d week that includes labeled known attacks. The<br />

fourth <strong>and</strong> fifth weeks are the testing dataset that c<strong>on</strong>tains<br />

new attacks [18]. Thirdly, Tcpdump binary files of the<br />

outside traffic of the DARPA 1999 dataset were used for the<br />

experiment. The first three weeks of the dataset are used for<br />

training purpose, while the last two weeks of data are used<br />

for evaluati<strong>on</strong>.<br />

The following diagram depicts the architecture of the proposed<br />

experimental setup.<br />

B. Underst<strong>and</strong>ing the Alerts<br />

Underst<strong>and</strong>ing of alerts is a very slow <strong>and</strong> tedious task. If<br />

pre-processing is not d<strong>on</strong>e properly, it is nearly an impossible<br />

task to train a network <strong>and</strong> get acceptable classificati<strong>on</strong> percentages.<br />

The alert of the training phase has to be properly<br />

labeled as true or false alert for us to be able to train the<br />

NeuroFuzzy Network accordingly. If there is a mistake in the<br />

training input, all the analysis that will come later will be<br />

biased. Once our training data is complete, we can freeze this<br />

phase <strong>and</strong> start with training our NeuroFuzzy Network.<br />

1) Alert Correlati<strong>on</strong>: Correlati<strong>on</strong> in Intrusi<strong>on</strong> Detecti<strong>on</strong><br />

c<strong>on</strong>cerns finding a relati<strong>on</strong>ship between alerts generated by a<br />

single (or multiple) data sources <strong>and</strong> coupling this informati<strong>on</strong><br />

with additi<strong>on</strong>al knowledge.<br />

• Explicit Correlati<strong>on</strong><br />

Where it is possible to express some c<strong>on</strong>necti<strong>on</strong> between<br />

known events. This form of knowledge has to be manually<br />

entered in the system.<br />

• Implicit Corrrelati<strong>on</strong><br />

Is used when data analysis brings out some mappings<br />

<strong>and</strong> relati<strong>on</strong>s between events. Implicit correlati<strong>on</strong> can be<br />

based <strong>on</strong> learning techniques <strong>and</strong> statistics.<br />

2) Aggregati<strong>on</strong>: Aggregati<strong>on</strong>, following correlati<strong>on</strong>, is<br />

the process of grouping events together according to certain<br />

criteria to compute aggregated security level. The goal of<br />

aggregati<strong>on</strong> is to discover high-level incidents.<br />

Both correlati<strong>on</strong> <strong>and</strong> aggregati<strong>on</strong> has been used to some extent<br />

to Pre-Process SNORT Alerts, the following secti<strong>on</strong> gives<br />

more detail.<br />

Fig. 2.<br />

Experimental Setup Architecture.<br />

A. Role of NEFCLASS<br />

NEFCLASS is not an automatic classifier creator where data<br />

is fed in <strong>and</strong> a soluti<strong>on</strong> pops out, but it must be seen as a tool<br />

that supports users in finding readable fuzzy classifiers.<br />

Forward Path: Classificati<strong>on</strong><br />

Backward Path: Learning<br />

Main goal of NEFCLASS<br />

1) Readable Classifier<br />

2) Acceptable Accuracy<br />

Fuzzy Rule-based Systems have the ability to explain the fuzzy<br />

patterns of alert attributes. But its main problem is:<br />

• Alert attributes are high in dimensi<strong>on</strong>ality<br />

• Each attribute has various number of possible values<br />

Soluti<strong>on</strong>: A Neural Network to learn this type of background<br />

knowledge of alerts. A Neural Network can be used<br />

as a learning approach to refine the fuzzy sets <strong>and</strong> membership<br />

functi<strong>on</strong> to be appropriate with the dataset.<br />

IV. IMPLEMENTATION<br />

The Implementati<strong>on</strong> part c<strong>on</strong>sists of taking preprocessed<br />

alerts as input to a classifier, in this case NEFCLASS <strong>and</strong><br />

JRip. These classifiers were trained <strong>and</strong> tested by modifying<br />

the parameters that will ensure a higher classificati<strong>on</strong> rate.<br />

A. Parameters of NEFCLASS<br />

The following table shows the possible parameter modificati<strong>on</strong>s<br />

that can be made to NEFCLASS to improve training<br />

<strong>and</strong> classificati<strong>on</strong> rate.<br />

TABLE I<br />

NEFCLASS PARAMETER SETTINGS<br />

The Parameter Settings<br />

Training data file Darpa.dat or KDD.dat<br />

Number of fuzzy sets Any valid number<br />

Type of fuzzy sets Triangular/Trapezoidal/Bell-Shaped/List<br />

Aggregati<strong>on</strong> functi<strong>on</strong> Maximum/Weighted Sum<br />

Size of the rule base Automatic/Manual<br />

Rule learning procedure Best per Class/Best<br />

Fuzzy set c<strong>on</strong>straints Relative/Overlap/Symmetrical/Intersect<br />

Rule weights<br />

Not used/[0-1]/Arbitrary<br />

Learning rate [0-1]<br />

Validati<strong>on</strong><br />

No validati<strong>on</strong>/Cross Validati<strong>on</strong>[n]/Single Test[%]<br />

Stop c<strong>on</strong>trol<br />

Max Epoch/Min Epoch/Optimum/Admissible Error<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 47


Proceedings of ICCNS 08 , 27-28 September 2008<br />

B. Testing<br />

We installed SNORT Versi<strong>on</strong> 2.7.0 with its default rulesets<br />

<strong>and</strong> replayed DARPA raw packets to it to generate SNORT<br />

alerts. These alerts were pre-processed in an appropriate<br />

format to be fed in our Classifier. The parameters were<br />

tweaked such that we get a better classificati<strong>on</strong> rate which in<br />

turn means better detecti<strong>on</strong> ratio for attacks.<br />

C. Fuzzy Rules Generated<br />

After training the System, an example of fuzzy rules that<br />

will be generated are as follows:-<br />

Original JRip rules:<br />

===========<br />

(0 = 0) <strong>and</strong> (3 = 3) => Class=0 (3705.0/0.0)<br />

(0 = 1) => Class=0 (2176.0/20.0)<br />

(0 = 0) <strong>and</strong> (1 = 2) <strong>and</strong> (1 = 1) => Class=0 (366.0/0.0)<br />

(0 = 2) <strong>and</strong> (1 = 0) <strong>and</strong> (6 = 0) => Class=0 (70.0/8.0)<br />

(1 = 2) => Class=0 (240.0/64.0)<br />

(6 = 1) <strong>and</strong> (0 = 2) => Class=0 (36.0/6.0)<br />

(3 = 3) => Class=0 (9.0/0.0)<br />

(1 = 1) => Class=0 (8.0/1.0)<br />

=> Class=1 (15182.0/8.0)<br />

Number of Rules : 9<br />

Class=0 Normal <strong>and</strong> Class=1 Attacks<br />

TABLE III<br />

PREPROCESSED KDD DATASET<br />

KDD Dataset: 3 Fuzzy Sets; 100 Epochs; 0.01; Triangular; No Validati<strong>on</strong><br />

Correct<br />

Misclassified<br />

Training 94.09 5.91<br />

Testing 87.10 12.90<br />

is better than in Table II. The reas<strong>on</strong> behind this is that KDD<br />

Data Set c<strong>on</strong>tains 41 features out of which we have used 13<br />

features with highest informati<strong>on</strong> gain value.<br />

A. Evaluati<strong>on</strong> of Results<br />

The above result shows that NEFCLASS <strong>and</strong> JRip can<br />

be used to reduce False alerts in IDS. Using a NEFCLASS<br />

detecti<strong>on</strong> rate was 84.63%, JRip was 88% <strong>and</strong> False alerts<br />

were reduced as follows:<br />

False Alerts Reducti<strong>on</strong> Rate - Jrip Classifier<br />

False Positive 8.48 %<br />

False Negative 3.52 %<br />

Detecti<strong>on</strong> Rate 88 %<br />

False Alerts Reducti<strong>on</strong> Rate - NEFCLASS Classifier<br />

The numbers in the bracket st<strong>and</strong> for coverage / errors in<br />

the training data, which follows the st<strong>and</strong>ard c<strong>on</strong>venti<strong>on</strong> of<br />

tree/rule inducti<strong>on</strong>. eg. (0 = 0) → Class=0 (3705.0/0.0) means<br />

that the rule “(0 = 0) → Class=0” covers instances with total<br />

weights of 3705.0, out of which there are instances with<br />

weights of 0.0 misclassified. Normally weight 1 means <strong>on</strong>e<br />

instance.<br />

These rules are then used to test the system <strong>and</strong> it can be<br />

observed that if we can increase classificati<strong>on</strong> rate, the number<br />

of false alerts are drastically reduced. From the results obtained<br />

through various testing, it is noted that SNORT alerts is almost<br />

always 95% of false positives.<br />

V. RESULTS<br />

The parameters in Table I were used to get different set of<br />

results of training <strong>and</strong> testing <strong>on</strong> preprocessed SNORT alerts<br />

as follows:<br />

TABLE II<br />

PREPROCESSED SNORT DATASET<br />

SNORT Dataset: 7 Fuzzy Sets; 1000 Epochs; 0.01; 10 Cross Validati<strong>on</strong><br />

Correct<br />

Misclassified<br />

Week4 89.03 10.97<br />

Week5 83.93 16.07<br />

Average 84.63 15.37<br />

Table II has been generated using 7 variable Fuzzy sets,<br />

1000 epochs, a learning rate of 0.01 <strong>and</strong> 10 Cross Validati<strong>on</strong>s.<br />

The overall classificati<strong>on</strong> ratio is 84.63% <strong>and</strong> false positive<br />

rate was 0.10% <strong>on</strong>ly.<br />

With KDD Dataset as input which is originally a part of<br />

the DARPA Data Set, we can see that the classificati<strong>on</strong> rate<br />

False Positive 0.10 %<br />

False Negative 6.67 %<br />

Detecti<strong>on</strong> Rate 84.63 %<br />

Misclassificati<strong>on</strong> Rate 8.60 %<br />

VI. CONCLUSION<br />

In this paper, we dem<strong>on</strong>strated that a Neuro-Fuzzy<br />

Approach can be used to solve the problem of false alerts in<br />

IDS. The proposed scheme tries to keep the number of false<br />

alerts generated by an IDS to an acceptable level.<br />

We have chosen NEFCLASS <strong>and</strong> JRip as classifiers <strong>and</strong><br />

DARPA 1999 Data Set <strong>and</strong> KDD 1999 as our dataset for<br />

training <strong>and</strong> testing purposes.<br />

VII. DIRECTIONS FOR FUTURE WORK<br />

• More work can be d<strong>on</strong>e to improve <strong>on</strong> the detecti<strong>on</strong> rate,<br />

such as using more features. This can be achieved by<br />

parsing low level packets captured by SNORT instead of<br />

using <strong>on</strong>ly the alerts.<br />

• AI logic can directly be embedded in SNORT as a plugin.<br />

REFERENCES<br />

[1] Alshammari Riyad, S<strong>on</strong>amthiang Sumalee, Teimouri Mohsen, Riordan<br />

Denis, “Using Neuro-Fuzzy Approach to Reduce False Positive Alerts”,<br />

Communicati<strong>on</strong> <strong>Networks</strong> <strong>and</strong> Services Research, 2007. CNSR ’07. Fifth<br />

Annual <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> IEEE Press, pg 345 - 349<br />

[2] Bakar N., Bealt<strong>on</strong> B., <strong>and</strong> Samsudin A., “False Positives Reducti<strong>on</strong> via<br />

Intrusi<strong>on</strong> Alert Quality Framework”, Joint IEEE Malaysia <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Communicati<strong>on</strong>s <strong>and</strong> IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

<strong>Networks</strong>, pp. 547-552, November 2005.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 48


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[3] Nauck D., Nauck U., <strong>and</strong> Kruse R., “NEFCLASS for JAVA New<br />

Learning Algorithms”, Proceedings of Fuzzy Informati<strong>on</strong> Processing<br />

Society(NAFIPS) 18th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> of the North American,<br />

pp. 472-476. July 1999.<br />

[4] Nauck D., <strong>and</strong> Kruse R., “NEFCLASS: A Neuro-Fuzzy Approach for<br />

the Classificati<strong>on</strong> of Data”, ACM Symposium <strong>on</strong> Applied Computing,<br />

Nashville, pp. 461-465, Feb 1995.<br />

[5] William. W. Cohen, “Fast Effective Rule Inducti<strong>on</strong>”, Proceedings of the<br />

Twelth <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>(ML95), 1995.<br />

[6] Kayacik H. G., Zincir-Heywood A. N., Heywood M. I., “Selecting<br />

Features for Intrusi<strong>on</strong> Detecti<strong>on</strong>: A Feature Relevance Analysis <strong>on</strong> KDD<br />

99 Intrusi<strong>on</strong> Detecti<strong>on</strong> Datasets”, Proceedings of the Third Annual<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Privacy, <strong>Security</strong> <strong>and</strong> Trust, October 2005, St. Andrews,<br />

Canada.<br />

[7] Dorothy Denning, “An Intrusi<strong>on</strong>-Detecti<strong>on</strong> Model”, IEEE Transacti<strong>on</strong>s<br />

<strong>on</strong> Software Engineering, no. 2, page 222, February 1987<br />

[8] Biswanath L. Mukherjee, Todd Heberlein, <strong>and</strong> Karl N. Levitt, “Network<br />

Intrusi<strong>on</strong> Detecti<strong>on</strong>”, IEEE Network, vol. 8 no. 3, pp. 26-41, May/June<br />

1994.<br />

[9] Frank, J., “Artificial Intelligence <strong>and</strong> Intrusi<strong>on</strong> Detecti<strong>on</strong>: Current <strong>and</strong><br />

Future Directi<strong>on</strong>s”, Proceedings of the 17th Nati<strong>on</strong>al <strong>Computer</strong> <strong>Security</strong><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, October 1994.<br />

[10] Srinivas Mukkamla, Andrew H. Sung, “Identifying Significant Features<br />

for Network Forensic Analysis Using Artificial Intelligent Techniques”,<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Journal of Digital Evidence, Winter 2003 Vol I Issue 4<br />

[11] Kasabov, N. “Foundati<strong>on</strong>s of Neural <strong>Networks</strong>, Fuzzy Systems <strong>and</strong><br />

Knowledge Engineering.” MIT Press, Cambridge, Massachusetts. 1996.<br />

[12] Prechelt, L., “Proben1-A Set of neural Netwok Benchmark Problems<br />

<strong>and</strong> Benchmarks Rules.” Universitt Karlssruche, Germany,1994.<br />

[13] Nauck, D., “Design <strong>and</strong> Implementati<strong>on</strong> of Neuro-Fuzzy Data Analysis<br />

Tool in Java.” Technische Universitt Brauschweig, Brauschweig, 1999.<br />

[14] Mah<strong>on</strong>ey, M. <strong>and</strong> Chan, P., “An analysis of the 1999 DARPA Lincoln<br />

Laboratory evaluati<strong>on</strong> data for network anomaly detecti<strong>on</strong>,” In Recent<br />

Advances in Intrusi<strong>on</strong> Detecti<strong>on</strong> (RAID2003)- Lecture Notes in <strong>Computer</strong><br />

Science, Vol. 2820, pp. 220-237. Springer-Verlag, 2003.<br />

[15] http://www.cnn.com/2000/TECH/computing/09/06/fear.trinity.idg/<br />

[16] Innella, Paul; Mcmillan Oba. “An Introducti<strong>on</strong> to Intrusi<strong>on</strong> Detecti<strong>on</strong><br />

Systems” 2001 http://www.securityfocus.com/infocus/1520<br />

[17] SNORT, Intrusi<strong>on</strong> Detecti<strong>on</strong> System, www.snort.org<br />

[18] DARPA Data Set, 1999, www.ll.mit.edu/IDS/eval/1999/<br />

[19] TcpReplay, Packet Replay Tool, www.tcpReplay.com<br />

[20] JRip (Weka’s implementati<strong>on</strong> of the RIPPER rule learner,<br />

www.auknomi.com/categorical learners.html<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 49


Proceedings of ICCNS 08 , 27-28 September 2008<br />

<strong>Security</strong> Threats Awareness for Mobile Ad hoc<br />

<strong>Networks</strong>: Applicati<strong>on</strong>s <strong>and</strong> Challenges<br />

Parul Agarwal, <strong>and</strong> Brijesh Singh Yadav<br />

Abstract— Mobile ad hoc networks (MANETs) c<strong>on</strong>sist of a<br />

collecti<strong>on</strong> of wireless mobile nodes which dynamically exchange<br />

data am<strong>on</strong>g themselves without the reliance <strong>on</strong> a fixed base stati<strong>on</strong> or<br />

a wired backb<strong>on</strong>e network. This gives rise to various network<br />

applicati<strong>on</strong>s as well as challenges to the design of a MANETs.<br />

Examples of applicati<strong>on</strong>s for ad hoc network range from military<br />

operati<strong>on</strong>s <strong>and</strong> emergency disaster relief, to community networking<br />

<strong>and</strong> interacti<strong>on</strong> between attendees at a meeting or students during a<br />

lecture. Interestingly, the attribute that make MANETs attractive as<br />

a network paradigm is the a number of n<strong>on</strong>trivial challenges to<br />

security design, such as shared wireless medium, stringent resource<br />

c<strong>on</strong>straints, <strong>and</strong> highly dynamic network topology. In this paper, we<br />

also discuss the issue of security threats for these innovative<br />

networks.<br />

Keywords—MANETs, Network Topology, Routing Protocols,<br />

<strong>Security</strong> Threats.<br />

A<br />

I. INTRODUCTION<br />

"mobile ad hoc network" (MANET) is self-organizing<br />

<strong>and</strong> adaptive. This means that a formed network can be<br />

de-formed <strong>on</strong>-the-fly without the need for any system<br />

administrati<strong>on</strong>. In mobile ad hoc networks there is no preexisting<br />

network infrastructure, <strong>and</strong> the topology in such<br />

networks may be highly dynamic [6]. The principal<br />

advantages of an ad hoc network include independence from<br />

central network administrati<strong>on</strong>, self-c<strong>on</strong>figuring <strong>and</strong> selfhealing<br />

nature, scalability, flexibility [27]. Basic structure of<br />

MANET is shown in Fig. 1.<br />

Fig. 1. Path from the user’s node to the destinati<strong>on</strong> node<br />

is provided by other user’s devices acting as routers<br />

As an ad hoc wireless network does not rely <strong>on</strong> any fixed<br />

P. Agarwal is a Lecturer with <strong>Computer</strong> Science <strong>and</strong> Informati<strong>on</strong><br />

Technology Department, Moradabad Institute of Technology, Moradabad,<br />

U.P., India (corresp<strong>on</strong>ding author to provide e-mail: parul.pec@ gmail.com).<br />

B. S. Yadav, is Assistant Engineer, UPPCL, U. P., India (e-mail:<br />

er.brijesh84@gmail.com).<br />

network entities, the network itself is essentially<br />

infrastructureless [3]. Multi hop, mobility, large network size<br />

combined with device heterogeneity [7], b<strong>and</strong>width <strong>and</strong><br />

battery power c<strong>on</strong>strain make the design of adequate routing<br />

protocols a major challenge [7]. In recent years, many routing<br />

protocols have been proposed for MANET [12]. Basically<br />

these protocols can be fit in <strong>on</strong>e of three major categories: <strong>on</strong>dem<strong>and</strong><br />

such as AODV [8] <strong>and</strong> DSR [9], proactive such as<br />

DSDV [10] <strong>and</strong> OLSR [11], <strong>and</strong> hybrid such as ZRP [1].<br />

Ad hoc networks have been receiving much attenti<strong>on</strong><br />

recently due to their immense field of applicati<strong>on</strong> [13].<br />

MANETs have potential use in a wide variety of disparate<br />

situati<strong>on</strong>s. Such situati<strong>on</strong>s include moving battlefield<br />

communicati<strong>on</strong>s to disposable sensors which are dropped<br />

from high altitudes <strong>and</strong> dispersed <strong>on</strong> the ground for hazardous<br />

materials detecti<strong>on</strong> [5]. Many of the diverse applicati<strong>on</strong> areas<br />

for ad hoc networks, including emergency relief operati<strong>on</strong>s,<br />

military situati<strong>on</strong>s, commercial applicati<strong>on</strong>s, the newly<br />

forming community networks that are c<strong>on</strong>sidered to be next<br />

generati<strong>on</strong> ad hoc networks <strong>and</strong> envir<strong>on</strong>mental data collecti<strong>on</strong>,<br />

exhibit a high degree of temporal <strong>and</strong> spatial variati<strong>on</strong> [2].<br />

Civilian applicati<strong>on</strong>s include simple scenarios such as people<br />

at a c<strong>on</strong>ference in a hotel where their laptops comprise a<br />

temporary MANET to more complicated scenarios such as<br />

highly mobile vehicles <strong>on</strong> the highway which form an ad hoc<br />

network in order to provide vehicular traffic management [5].<br />

However, MANETs offer many more possibilities. We<br />

assume that mobile ad hoc services will be introduced in the<br />

future into everyday life, <strong>and</strong> not just supporting work or daily<br />

activities but also giving pleasure in spare time.<br />

Mobile Ad hoc Network has various challenges. In Mobile<br />

Ad hoc networks, the wireless mobile nodes may dynamically<br />

enter the network as well as leave the network. Nodes may<br />

join the network at any time, get disc<strong>on</strong>nected as they run out<br />

of power, or alter the physical network topology by moving to<br />

a new locati<strong>on</strong>. Since ad hoc networks rely <strong>on</strong> forwarding data<br />

packets sent by other nodes, power c<strong>on</strong>sumpti<strong>on</strong> becomes a<br />

critical issue [14]. A mobile ad hoc network is built of a<br />

collecti<strong>on</strong> of diverse wireless nodes (devises or users).<br />

MANET nodes are typically distinguished by their limited<br />

power, processing, <strong>and</strong> memory resources as well as high<br />

degree of mobility [7]. The ability of an ad hoc mobile device<br />

to act as a server or client will depend <strong>on</strong> its computati<strong>on</strong>,<br />

memory, storage <strong>and</strong> battery life capacity [25]. Characteristics<br />

of some existing mobile devices are shown in Table 1.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 50


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE 1. CHARACTERISTICS OF SOME MOBILE<br />

DEVICES<br />

Device<br />

Type<br />

Palm<br />

Pilot<br />

Active<br />

Badge<br />

Cellular<br />

Ph<strong>on</strong>e<br />

Pocket<br />

PC<br />

Laptop<br />

<strong>Computer</strong><br />

Form<br />

Factor<br />

3.5*4.7<br />

cm<br />

3.5*3.5<br />

cm<br />

2.5*5.5<br />

cm<br />

13*7.8<br />

cm<br />

12*9<br />

cm<br />

Memory Disk Battery<br />

(MB)<br />

(Walt-hr)<br />

2-8 N<strong>on</strong>e 3-5.5<br />

64 bytes N<strong>on</strong>e 5V<br />

1Mbit N<strong>on</strong>e 10-20<br />

mA<br />

(3.6V)<br />

32-64 16MB 3-5<br />

Flash<br />

ROM<br />

32-128 5-20<br />

GB<br />

37.44-<br />

66.60<br />

<strong>Security</strong> threats in Mobile Ad hoc <strong>Networks</strong> is also a <strong>on</strong>e of<br />

the challenging <strong>and</strong> emerging issues in MANETs [19]. Ad hoc<br />

network can undergo various security attacks. Based <strong>on</strong> the<br />

normal operati<strong>on</strong> of the network, security attacks in MANETs<br />

can be categorized as active <strong>and</strong> passive attack [4]. Besides it,<br />

routing attacks are also classified into five categories [16]:<br />

attacks using impers<strong>on</strong>ati<strong>on</strong>, modificati<strong>on</strong>, fabricati<strong>on</strong>, replay,<br />

<strong>and</strong> denial of service (DoS) [17].<br />

The rest of the paper is organized as follows. In Secti<strong>on</strong> 2,<br />

we have discussed applicati<strong>on</strong>s of MANET. In Secti<strong>on</strong> 3, we<br />

have presented an overview of the challenges to MANETs.<br />

Secti<strong>on</strong> 4 provides various security threats in MANETs.<br />

Finally in Secti<strong>on</strong> 4, we have provided the c<strong>on</strong>clusi<strong>on</strong>.<br />

II. APPLICATION OF MANETS<br />

The essential characteristic of an ad hoc network is the<br />

ability of forming sp<strong>on</strong>taneous networks between nodes that<br />

are in range of each other. This is a feature of a number of<br />

military, commercial, <strong>and</strong> social applicati<strong>on</strong>s [24]. This<br />

secti<strong>on</strong> discusses potential applicati<strong>on</strong>s to motivate the reas<strong>on</strong>s<br />

for deploying ad hoc networks.<br />

A. Military Applicati<strong>on</strong><br />

Military applicati<strong>on</strong>s require the war fighters <strong>and</strong> their<br />

mobile platforms to be able to move freely without any<br />

restricti<strong>on</strong>s imposed by wired communicati<strong>on</strong> devices. These<br />

applicati<strong>on</strong>s should thus be self-c<strong>on</strong>figuring, independent of<br />

any centralized c<strong>on</strong>trol stati<strong>on</strong>s, <strong>and</strong> should be infrastructure<br />

independent in nature. These networks need to be robust in<br />

nature, i.e., they should not have a single point of failure. Ad<br />

hoc networks are thus an appropriate soluti<strong>on</strong> for such<br />

applicati<strong>on</strong>s.<br />

B. Community <strong>Networks</strong><br />

A community network c<strong>on</strong>sists of <strong>on</strong>e or more computers<br />

providing services to people using computers <strong>and</strong> terminals to<br />

gain access to those services <strong>and</strong> to each other [15].<br />

Community network terminals can be set up at public places<br />

like libraries, bus stati<strong>on</strong>s, schools, Laundromats, community<br />

<strong>and</strong> senior centers, social service agencies, public markets,<br />

<strong>and</strong> shopping malls.<br />

C. Emergency services<br />

Anywhere when there is an emergency there is a need to<br />

co-ordinate the rescue pers<strong>on</strong>nel. This is comm<strong>on</strong>ly solved<br />

using h<strong>and</strong> held or vehicle mounted radios. However, what<br />

about the infrastructure that may have been damaged <strong>and</strong> is no<br />

l<strong>on</strong>ger in operati<strong>on</strong>. This might not be such a big problem in<br />

small fires or so, but when larger areas are hit by a natural<br />

disaster it can be important to quickly be able to communicate.<br />

As shown in Fig. 2 by using ad hoc networks to set up a<br />

network infrastructure it is simply a matter of placing out a<br />

couple of mobile routers which makes it easy <strong>and</strong> fast.<br />

Fig. 2. Mobile ad hoc network in emergency services<br />

D. <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>s<br />

In many situati<strong>on</strong>s the need for c<strong>on</strong>necting <strong>and</strong> exchanging<br />

informati<strong>on</strong> between participants of a c<strong>on</strong>ference or some<br />

other meeting is clear. There are usually available networks<br />

for the participants to use but this might imply very large<br />

round trips for the data using for example Mobile IP.<br />

E. Home networking<br />

Given that the use of wireless computers <strong>and</strong> appliances<br />

keeps <strong>on</strong> growing in the home envir<strong>on</strong>ment the need for<br />

helping out administrating this is also exp<strong>and</strong>ing. Fig. 3 shows<br />

MANET in home envir<strong>on</strong>ment.<br />

Fig. 3. Mobile ad hoc network in home envir<strong>on</strong>ment<br />

F. Pers<strong>on</strong>al area networks<br />

Many objects that are tightly coupled to a single pers<strong>on</strong><br />

can take advantage of being c<strong>on</strong>nected to each other forming a<br />

pers<strong>on</strong>al area network. The network itself is most definitely<br />

mobile since people tend not to stay around for l<strong>on</strong>g in <strong>on</strong>e<br />

spot. However, when getting c<strong>on</strong>nected to another pers<strong>on</strong>al<br />

area network (PAN) the c<strong>on</strong>necti<strong>on</strong>s between pers<strong>on</strong>’s devices<br />

might be wanted.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 51


Proceedings of ICCNS 08 , 27-28 September 2008<br />

G. Embedded systems<br />

As more <strong>and</strong> more machines everywhere is in need for<br />

communicating different things to the surroundings, a need for<br />

ad hoc networking arises. One can think of objects that can<br />

resp<strong>on</strong>d to changes in the envir<strong>on</strong>ment <strong>and</strong> together with other<br />

devices perform different scenarios depending <strong>on</strong> the current<br />

c<strong>on</strong>text.<br />

H. Sensors<br />

Using tiny devices that are able to gather different<br />

informati<strong>on</strong> such as temperature, c<strong>on</strong>centrati<strong>on</strong>s of different<br />

chemicals <strong>and</strong> gases, vibrati<strong>on</strong>s, <strong>and</strong> so <strong>on</strong> can be of<br />

importance in accidents <strong>and</strong> emergency situati<strong>on</strong>s.<br />

C<strong>on</strong>structing these sensors so that when turned <strong>on</strong> they form<br />

an ad hoc network <strong>and</strong> report back to a well known data<br />

collecting node they can be of great importance.<br />

III. CHALLENGES TO MANETS<br />

Mobile Ad hoc Network has various challenges. This secti<strong>on</strong><br />

discusses challenges to MANETs.<br />

A. Unpredictability of envir<strong>on</strong>ment<br />

Ad hoc networks may be deployed in unknown terrains,<br />

hazardous c<strong>on</strong>diti<strong>on</strong>s, <strong>and</strong> even hostile envir<strong>on</strong>ments where<br />

tampering or the actual destructi<strong>on</strong> of a node may be<br />

imminent. Depending <strong>on</strong> the envir<strong>on</strong>ment, node failures may<br />

occur frequently.<br />

B. Unreliability of wireless medium<br />

Communicati<strong>on</strong> through the wireless medium is unreliable<br />

<strong>and</strong> subject to errors. Also, due to varying envir<strong>on</strong>mental<br />

c<strong>on</strong>diti<strong>on</strong>s such as high levels of electro-magnetic interference<br />

(EMI) or inclement weather, the quality of the wireless link<br />

may be unpredictable.<br />

C. Resource-c<strong>on</strong>strained nodes<br />

Mobile ad-hoc networks need to operate efficiently with<br />

limited resources, including network b<strong>and</strong>width <strong>and</strong> CPU<br />

processing capacity <strong>and</strong> battery power (energy) as well as<br />

limited in storage <strong>and</strong> processing capabilities of each<br />

individual node in the network.<br />

D. Dynamic topology<br />

Mobility of nodes lends to unpredictable network topology<br />

[25]. The topology in an ad hoc network may change<br />

c<strong>on</strong>stantly due to the mobility of nodes. As a result of these<br />

issues, MANETs are pr<strong>on</strong>e to numerous types of faults<br />

including transmissi<strong>on</strong> error, node failures [5], link failures<br />

[5], route breakages <strong>and</strong> c<strong>on</strong>gested nodes or links.<br />

E. Variable capacity wireless links<br />

Wireless links are b<strong>and</strong>width-c<strong>on</strong>strained. Moreover, since<br />

wireless links have lower capacity than hardwired links,<br />

traffic c<strong>on</strong>gesti<strong>on</strong> is typical rather than atypical.<br />

F. Power c<strong>on</strong>strained operati<strong>on</strong><br />

Power c<strong>on</strong>servati<strong>on</strong> is crucial in mobile wireless systems<br />

since these networks typically operate off power-limited<br />

sources, which dictate whether a network is operati<strong>on</strong>al or not.<br />

G. Physical security<br />

Mobile networks are more vulnerable to physical security<br />

threats such as eavesdropping <strong>and</strong> jamming attacks.<br />

Provisi<strong>on</strong>s for security must be made, e.g., the applicati<strong>on</strong> of<br />

Internet Protocol (IP) security techniques.<br />

H. Distributed<br />

The decentralized nature of a MANET requires that any<br />

routing protocol execute in a distributed fashi<strong>on</strong>.<br />

I. On dem<strong>and</strong> operati<strong>on</strong><br />

Since a uniform traffic distributi<strong>on</strong> can not be assumed<br />

within the network, the routing algorithm must adapt to the<br />

traffic pattern <strong>on</strong> a dem<strong>and</strong> or need basis, thereby utilizing<br />

power <strong>and</strong> b<strong>and</strong>width resources more efficiently.<br />

J. Loop-free<br />

Also the problem of loop freedom <strong>and</strong> scarce b<strong>and</strong>width<br />

available puts even higher dem<strong>and</strong>s <strong>on</strong> the routing algorithm.<br />

To ensure proper message delivery <strong>and</strong> efficient network<br />

operati<strong>on</strong>, a routing protocol must be loop-free.<br />

K. Entering/Departing nodes<br />

A routing protocol should be able to quickly adapt to<br />

entering or departing nodes in the network, without having to<br />

restructure the entire network.<br />

L. Bidirecti<strong>on</strong>al/Unidirecti<strong>on</strong>al links<br />

Since the c<strong>on</strong>diti<strong>on</strong> of a MANET is dynamic, a routing<br />

protocol should be able to execute <strong>on</strong> both bidirecti<strong>on</strong>al <strong>and</strong><br />

unidirecti<strong>on</strong>al links.<br />

M. Physical limitati<strong>on</strong> of RF communicati<strong>on</strong><br />

Issues such as interference, limited range, limited data<br />

throughput, device mobility <strong>and</strong> the sharing of the RF<br />

spectrum am<strong>on</strong>gst devices all need addressing.<br />

N. Need for addressing<br />

Routing protocols are working with unique node<br />

addresses, for example IP numbers. These addresses must,<br />

however, be h<strong>and</strong>ed out in some way. Also, the need for<br />

gateways to wired networks needs to be c<strong>on</strong>sidered in the<br />

addressing schema.<br />

O. Existing Internet protocol usage<br />

The existing Internet protocol suite works very well in<br />

wired networks. Many applicati<strong>on</strong>s have been developed to<br />

work using these protocols.<br />

To enable these applicati<strong>on</strong>s to work in ad-hoc networks,<br />

the effectiveness of these Internet protocols in ad-hoc<br />

networks needs to be examined.<br />

P. Service locati<strong>on</strong> <strong>and</strong> access<br />

All the c<strong>on</strong>cerns listed prior to this are all addressed with a<br />

view to provide devices with the ability to share data <strong>and</strong><br />

services. There are service locati<strong>on</strong> <strong>and</strong> discovery protocols in<br />

existence.<br />

They provide a means of allowing remote discovery,<br />

advertisement <strong>and</strong> access method determinati<strong>on</strong>. Their<br />

suitability for ad-hoc networking needs to be determined.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 52


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Q. <strong>Security</strong> <strong>and</strong> privacy<br />

Due to the open nature of wireless communicati<strong>on</strong>s,<br />

security <strong>and</strong> privacy is a c<strong>on</strong>cern in all wireless networks, not<br />

just ad-hoc. There is an absence of a “trusted third party”,<br />

used in most current wired security mechanisms. When all the<br />

traffic start to flow around between everybody seemingly<br />

unc<strong>on</strong>trolled the need for security <strong>and</strong> authenticati<strong>on</strong> arises.<br />

R. Updati<strong>on</strong> of routing table<br />

A big challenge is of course to keep the routing tables<br />

needed up to date with a fast changing topology.<br />

S. Power awareness of routing protocols<br />

However, the need to make the routing protocols power<br />

aware <strong>and</strong> not waste too much power <strong>on</strong> c<strong>on</strong>trol messages<br />

instead of actual informati<strong>on</strong> traffic is essential.<br />

IV. SECURITY THREATS IN MANETS<br />

Attacks <strong>on</strong> ad hoc wireless networks can be classified as<br />

active <strong>and</strong> passive attacks, depending <strong>on</strong> whether the normal<br />

operati<strong>on</strong> of the network is disrupted or not.<br />

In passive attacks, an intruder snoops the data exchanged<br />

without altering it. The attacker does not actively initiate<br />

malicious acti<strong>on</strong>s to cheat other hosts. The goal of the attacker<br />

is to obtain informati<strong>on</strong> that is being transmitted, thus<br />

violating the message c<strong>on</strong>fidentiality. Since the activity of the<br />

network is not disrupted, these attackers are difficult to detect.<br />

Powerful encrypti<strong>on</strong> mechanism can alleviate these attackers<br />

by making difficult to read overheard packets.<br />

In active attacks, an attacker actively participates in<br />

disrupting the normal operati<strong>on</strong> of the network services. A<br />

malicious host can create an active attack by modifying<br />

packets or by introducing false informati<strong>on</strong> in the ad hoc<br />

network. It c<strong>on</strong>fuses routing procedures <strong>and</strong> degrades network<br />

performance. Active attacks can be divided into external <strong>and</strong><br />

internal attacks:An outsider or external attack can be caused<br />

by entities that do not bel<strong>on</strong>g to the network. Such attacks can<br />

be defended by using encrypti<strong>on</strong>, firewalls <strong>and</strong> source<br />

authenticati<strong>on</strong>. An insider or internal attack is caused by nodes<br />

or entities that bel<strong>on</strong>g to the network itself <strong>and</strong> have either<br />

been compromised or have joined the network with some<br />

malicious intenti<strong>on</strong>s.<br />

Routing attacks are also classified into five categories:<br />

attacks using impers<strong>on</strong>ati<strong>on</strong>, modificati<strong>on</strong>, fabricati<strong>on</strong>, replay,<br />

<strong>and</strong> denial of service (DoS) [17]. In the DoS attack, an<br />

attacker explicitly attempts to prevent legitimate users from<br />

using system services. Fig. 4 shows denial of service attack.<br />

Fig. 4. Denial of service attack<br />

In additi<strong>on</strong> to often being wireless the structure of an ad<br />

hoc network, or lack there of, leads to some special kinds of<br />

attacks. Especially attacks <strong>on</strong> the c<strong>on</strong>nectedness of the<br />

network which means attacks <strong>on</strong> the routing protocol. In this<br />

secti<strong>on</strong> some of these attacks will be addressed.<br />

A. . Routing Loop<br />

By sending forged routing packets an attacker can create a<br />

routing loop. This will result in data packets being sent around<br />

c<strong>on</strong>suming both b<strong>and</strong>width <strong>and</strong> power for a number of nodes.<br />

The packets will not reach their intended recipient <strong>and</strong> thus<br />

can be c<strong>on</strong>sidered a sort of denial-of-service attack.<br />

B. Black Hole<br />

The setup for the black hole attack is similar to the routing<br />

loop attack in which the attacker sends out forged routing<br />

packets. It can setup a route to some destinati<strong>on</strong> via itself <strong>and</strong><br />

when the actual data packets get there they are simply<br />

dropped, forming a black hole where data enters but never<br />

leaves. Another possibility is for the attacker to forge routes<br />

pointing into an area where the destinati<strong>on</strong> node is not located.<br />

Everything will be routed into this area but nothing will leave<br />

also creating a sort of black hole.<br />

C. Grey Hole<br />

A special case of the black hole attack is an Grey Hole<br />

attack. In this attack the adversary selectively drops some<br />

kinds of packets but not other. For example the attacker might<br />

forward routing packets but not data packets.<br />

D. Partiti<strong>on</strong>ing<br />

Another kind of attack is for the attacker to create a<br />

network partiti<strong>on</strong> in which some nodes are split up to not<br />

being able to communicate with another set of nodes. This<br />

attack can be accomplished in many kinds of ways, Both by<br />

forging routing packets as in the previous attacks but also<br />

using some physical attack such as radio jamming.<br />

E. Misrouting Attack<br />

In the misrouting attack, a n<strong>on</strong>-legitimate node sends data<br />

packet to the wr<strong>on</strong>g destinati<strong>on</strong>. This type of attack is carried<br />

out by modifying the final destinati<strong>on</strong> address of the data<br />

packet or by forwarding a data packet to the wr<strong>on</strong>g next hop<br />

in the route to the destinati<strong>on</strong>.<br />

F. Detour Attack<br />

In this type of attack, the attacker adds a number of virtual<br />

nodes in to a route during the route discovery phase. As a<br />

c<strong>on</strong>sequence, the traffic is diverted to other routes that appear<br />

to be shorter <strong>and</strong> might c<strong>on</strong>tain malicious nodes which could<br />

create other attacks. The attacking node can save energy in a<br />

detour attack because it does not have to forward packets to<br />

that destinati<strong>on</strong> itself. This attack is specific to source routing<br />

protocols.<br />

G. Blackmail<br />

Some ad hoc routing protocols tries to h<strong>and</strong>le the security<br />

problems by keeping lists of possibly malicious nodes. Each<br />

node has a blacklist of, what it thinks, bad nodes <strong>and</strong> thereby<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 53


Proceedings of ICCNS 08 , 27-28 September 2008<br />

avoiding using them when setting up routing paths. An<br />

attacker might try to blackmail a good node causing other<br />

good nodes to add this node to their blacklists <strong>and</strong> so avoid it.<br />

H. Wormhole<br />

In the wormhole attack[18] an attacker uses a pair of nodes<br />

c<strong>on</strong>nected in some way. It can be a special private c<strong>on</strong>necti<strong>on</strong><br />

or the packets are tunnelled over the ad hoc network. Every<br />

packet that <strong>on</strong>e of the nodes sees is forwarded to the other<br />

node which in turn broadcast them out. This might create<br />

short circuits for the actual routing in the ad hoc network <strong>and</strong><br />

thereby create some routing problems. Also, all the data can<br />

be selectively forwarded or not using this attack thereby<br />

c<strong>on</strong>trolling the ad hoc network to a large extent. This kind of<br />

attack together with a partiti<strong>on</strong>ing attack can gain almost<br />

complete c<strong>on</strong>trol over the network traffic.<br />

I. Tunneling Attack<br />

In a tunneling attack, two or more nodes collaborate <strong>and</strong><br />

exchange encapsulated messages al<strong>on</strong>g existing data routes.<br />

This would falsely make the receiver c<strong>on</strong>clude that the path<br />

c<strong>on</strong>taining the attackers is the shortest path available.<br />

J. Resource C<strong>on</strong>sumpti<strong>on</strong> Attack<br />

In this attack, a malicious node deliberately tries to<br />

c<strong>on</strong>sume the resources (e.g. battery power, b<strong>and</strong>width, etc.) of<br />

other nodes in the network.<br />

The attack can be in the form of unnecessary route<br />

requests, route discovery, c<strong>on</strong>trol messages, or by sending<br />

stale informati<strong>on</strong>.<br />

K. Routing Table Pois<strong>on</strong>ing<br />

In this attack, a malicious node sends false routing updates,<br />

resulting in sub-optimal routing, network c<strong>on</strong>gesti<strong>on</strong>, or<br />

network partiti<strong>on</strong>.<br />

L. Rushing Attack<br />

Many reactive routing protocols keep a sequence number<br />

for duplicati<strong>on</strong> suppressi<strong>on</strong> at every node. An attacker can<br />

distribute a large number of route requests with increasing<br />

sequence numbers forged to appear to be from other nodes.<br />

This way when the actual route request is sent out many nodes<br />

suppress it as a duplicate <strong>and</strong> thereby disrupt the actual route<br />

discovery.<br />

M. Sybil Attack<br />

In the Sybil attack [15], an attacker pretends to have<br />

multiple identities. A malicious node can behaves as if it were<br />

a larger number of nodes either by impers<strong>on</strong>ating other nodes<br />

or simply by claiming false identities.<br />

Sybil attacks are classified into three categories:<br />

direct/indirect communicati<strong>on</strong>, fabricated/stolen identity, <strong>and</strong><br />

simultaneity.<br />

N. Resource C<strong>on</strong>sumpti<strong>on</strong><br />

By injecting extra data packets into the ad hoc network<br />

limited resources such as b<strong>and</strong>width <strong>and</strong> maybe battery power<br />

are c<strong>on</strong>sumed for no reas<strong>on</strong>. Also, the other nodes might<br />

forward c<strong>on</strong>trol informati<strong>on</strong> as it comes in resulting in even<br />

more resource c<strong>on</strong>sumpti<strong>on</strong>.<br />

O. Man-in-the-Middle Attack<br />

In this attack, a malicious node reads <strong>and</strong> possibly<br />

modifies the messages between two parties. The attacker can<br />

impers<strong>on</strong>ate the receiver with respect to the sender, <strong>and</strong> the<br />

sender with respect to the receiver, without having either of<br />

them realize that they have been attacked.<br />

P. Misbehaving nodes<br />

Nodes can be misbehaving because of some hardware or<br />

software problem <strong>and</strong> be unable to perform its tasks properly.<br />

According to their behaviour., misbehaving nodes can be<br />

categorized as overloaded node, selfish node, malicious node,<br />

broken node [23]. The situati<strong>on</strong> is especially serious if the<br />

misbehaving nodes form a risk of partiti<strong>on</strong>ing the network.<br />

Q. Stealth Attacks<br />

Stealth attack can be of two principal types. In a first type<br />

of attack [22], the adversary wishes to disc<strong>on</strong>nect the network,<br />

whether this means a general partiti<strong>on</strong> of the network or the<br />

isolati<strong>on</strong> of particular nodes. A related attack does not aim to<br />

partiti<strong>on</strong> the network, but to merely degrade the goodput of a<br />

network, whether globally or locally. In a sec<strong>on</strong>d type of<br />

stealth attack [22], the adversary modifies routing informati<strong>on</strong><br />

in order to hi-jack traffic from <strong>and</strong> to selected victim nodes.<br />

R. Link Level <strong>Security</strong><br />

In wireless envir<strong>on</strong>ment the links are susceptible to attacks<br />

where eavesdropper can intercept data packets. Physical<br />

barriers such as walls\rooms\&c. provide no barrier to<br />

wireless radio packets [24].<br />

S. Routing\Network layer <strong>Security</strong><br />

The routing within ad hoc networks is more vulnerable to<br />

attack as each device itself acts as a router. An attacker can<br />

pose as a member node <strong>and</strong> incorrectly route packets to<br />

achieve an attack. Denial of service attacks are particularly<br />

easy doing this.<br />

T. Key Management<br />

General network security implementati<strong>on</strong> of keys involves<br />

a trusted authority [24]. Given the lack of infrastructure in adhoc,<br />

it is generally not possible to have a fixed trusted<br />

authority. An alternative to this is required.<br />

U. Eavesdropping<br />

This attack is used to gain knowledge of the transmitted<br />

data. This is a passive attack which is easily performed in<br />

many networking envir<strong>on</strong>ments. However this attack can be<br />

prevented by using an encrypti<strong>on</strong> scheme to protect the<br />

transmitted data [24].<br />

V. CONCLUSION<br />

Mobile ad hoc networking, as a typical example of selforganized<br />

networks, is an emerging <strong>and</strong> promising<br />

communicati<strong>on</strong> paradigm. Not <strong>on</strong>ly the variety of devices but<br />

also the diversity of services is c<strong>on</strong>tinuously increasing. Such<br />

services must be provisi<strong>on</strong>ed in a flexible <strong>and</strong> distributed way<br />

without central infrastructure. Mobile ad hoc networking<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 54


Proceedings of ICCNS 08 , 27-28 September 2008<br />

brings challenges to the network applicati<strong>on</strong>s. In the midst of<br />

challenging envir<strong>on</strong>ment of this network, it is required to<br />

provide services to network applicati<strong>on</strong>s with the<br />

c<strong>on</strong>siderati<strong>on</strong> of the issues of security threats also. While the<br />

different applicati<strong>on</strong>s <strong>and</strong> the great number of mobile devices<br />

make ad hoc networking interesting, the lack of central<br />

infrastructure, the high level of device heterogeneity, the<br />

degree of mobility <strong>and</strong> the resource c<strong>on</strong>straints of devices<br />

make it hard to provide ad hoc services. In additi<strong>on</strong> to this our<br />

discussi<strong>on</strong> is also leaded to some special kinds of attacks<br />

especially <strong>on</strong> the routing protocol.<br />

REFERENCES<br />

[1] Changling Liu <strong>and</strong> Jörg Kaiser, “A Survey of Mobile Ad Hoc<br />

network Routing Protocols”, Tech.Report Series, Nr. 2003-08,<br />

University of Magdeburg, 2005<br />

[2] Chansu Yu, Ben Lee <strong>and</strong> Hee Y<strong>on</strong>g Youn, “Energy Efficient<br />

Routing Protocols for Mobile Ad Hoc <strong>Networks</strong>”, EFFRD Grant No.<br />

0210-0630-10, Clevel<strong>and</strong> State University<br />

[3] Elizabeth M. Royer <strong>and</strong> Chai-Ke<strong>on</strong>g Toh, “A Review of Current<br />

Routing Protocols for Ad Hoc Mobile Wireless <strong>Networks</strong>”, IEEE<br />

Pers<strong>on</strong>al Communicati<strong>on</strong>s , April 1999<br />

[4] Qifeng Lu, “Advanced <strong>Computer</strong> <strong>Networks</strong>”, Advanced<br />

<strong>Computer</strong>, August 2006<br />

[5] Stephen Mueller, Rose P. Tsang <strong>and</strong> Dipak Ghosal, “Multipath<br />

Routing in Mobile Ad Hoc <strong>Networks</strong>: Issues <strong>and</strong> Challenges”, S<strong>and</strong>ia<br />

Nati<strong>on</strong>al Laboratories, Livermore, CA, USA<br />

[6] R. Praveen Sam , Dr. B. Stephen Charles <strong>and</strong> Dr. P. Ch<strong>and</strong>rasekhar<br />

Reddy, “Denial of Service Attack Through Compromised Nodes in<br />

Mobile Ad-Hoc <strong>Networks</strong>”, Academic Open Internet Journal ISSN<br />

1311-4360, Vol 21, 2007<br />

[7] Thomas Plagemann, Vera Goebel, Carsten Griwodz, <strong>and</strong> Pål<br />

Halvorsen, “Towards Middleware Services for Mobile Ad-hoc<br />

Network Applicati<strong>on</strong>s”, IEEE Workshop <strong>on</strong> Future Trends of<br />

Distributed Computing Systems, 2003<br />

[8] C. E. Perkins, E. M. Royer, <strong>and</strong> S. R. Das, “Ad Hoc On-Dem<strong>and</strong><br />

Distance Vector (AODV) Routing”, IETF Mobile Ad Hoc <strong>Networks</strong><br />

Working Group, IETF RFC 3561<br />

[9] D. B. Johns<strong>on</strong>, D. A. Maltz, <strong>and</strong> Y-C Hu., “The Dynamic Source<br />

Routing Protocol for Mobile Ad Hoc <strong>Networks</strong> (DSR)”, IETF<br />

Mobile Ad Hoc <strong>Networks</strong> Working Group, Internet Draft, February<br />

2003<br />

[10] C. E. Perkins <strong>and</strong> P. Bhagwat, “Highly Dynamic Destinati<strong>on</strong>-<br />

Sequenced Distance-Vector Routing (DSDV) for Mobile <strong>Computer</strong>s”<br />

ACM Special Interest Group <strong>on</strong> Data Communicati<strong>on</strong>s (SIGCOMM),<br />

August 1994, pages 234-244<br />

[11] T. Clausen, Ed. <strong>and</strong> P. Jacquet, “Optimized Link State Routing<br />

Protocol (OLSR)”, Network Working Group, Request for Comments:<br />

3626<br />

[12] Liang Qin <strong>and</strong> Thomas Kunz, “Survey <strong>on</strong> Mobile Ad Hoc<br />

Network Routing Protocols <strong>and</strong> Cross-Layer Design”, Technical<br />

Report SCE-04-14, August 2004<br />

[13] Perkins <strong>and</strong> C. E., “Ad Hoc Networking”, Addis<strong>on</strong> Wesley,<br />

2001<br />

[14] K. Mase, M. Sengoku, <strong>and</strong> S. Shinoda, “A Perspective <strong>on</strong> Next<br />

Generati<strong>on</strong> Ad hoc <strong>Networks</strong>: A Proposal for Open Community<br />

Network”, IEICE Trans, Fundamentals, January 2001<br />

[15] J. Newsome, E. Shi, D. S<strong>on</strong>g, <strong>and</strong> A. Perrig, “The Sybil Attack<br />

in Sensor <strong>Networks</strong>: Analysis & Defenses”, Informati<strong>on</strong> Processing<br />

in Sensor <strong>Networks</strong>, 2004<br />

[16] W. Stallings, Cryptography <strong>and</strong> Network <strong>Security</strong>: Principles<br />

<strong>and</strong> Practices, 3rd editi<strong>on</strong>, Prentice Hall, 2003.<br />

[17] C. S. R. Murthy <strong>and</strong> B. S. Manoj, Ad Hoc Wireless <strong>Networks</strong>:<br />

Architectures <strong>and</strong> Protocols, Prentice Hall PTR, 2004.<br />

[18] Y. -C. Hu, A. Perrig, <strong>and</strong> D. B. Johns<strong>on</strong>, “Packet Leashes: A<br />

Defense against Wormhole Attacks in Wireless <strong>Networks</strong>”, Infocom<br />

2003.<br />

[19] Hao Yang, Haiyun Luo, Fan Ye, S<strong>on</strong>gwu Lu, <strong>and</strong> Lixia Zhang,<br />

“<strong>Security</strong> In Mobile Ad Hoc <strong>Networks</strong>:<br />

Challenges And Soluti<strong>on</strong>s” IEEE Wireless Communicati<strong>on</strong>s,<br />

February 2004<br />

[20] Hu, Y.-C., Perrig, A., <strong>and</strong> Johns<strong>on</strong>, D. B., “Ariadne: A Secure<br />

On Dem<strong>and</strong> Routing Protocol For Ad Hoc <strong>Networks</strong>”, Mobile<br />

Computing <strong>and</strong> Networking, September 2002<br />

[21] Steenstrup M., “Cluster-Based <strong>Networks</strong>”, In Perkins, 2001, ch.<br />

4, pp. 75–138<br />

[22] Markus Jakobss<strong>on</strong>, Susanne Wetzel <strong>and</strong> B¨ulent Yener, “Stealth<br />

Attacks <strong>on</strong> Ad-Hoc Wireless <strong>Networks</strong>”<br />

[23] Kai Inkinen, “New Secure Routing in Ad Hoc <strong>Networks</strong>: Study<br />

<strong>and</strong> Evaluati<strong>on</strong> of Proposed Schemes”<br />

[24] David Blount, “A Study of Mobile Ad-Hoc Network<br />

Architectures <strong>and</strong> Technologies”, Nati<strong>on</strong>al University of Irel<strong>and</strong>,<br />

Cork, April 2004<br />

[25] Madhavi W. Subbarao, “Performance of Routing Protocols for<br />

Mobile Ad-Hoc <strong>Networks</strong> Wireless Communicati<strong>on</strong> Technologies<br />

Group”, Nati<strong>on</strong>al Institute of St<strong>and</strong>ards <strong>and</strong> Technology<br />

[26] C. K. Toh, Ad hoc Mobile Wireless <strong>Networks</strong>: Protocols <strong>and</strong><br />

Systems, Prentice Hall PTR, New Jersey,2002<br />

[27] Gary Breed, “Wireless Ad Hoc <strong>Networks</strong>: Basic C<strong>on</strong>cepts”,<br />

High Frequency Electr<strong>on</strong>ics, 2007<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 55


Protecti<strong>on</strong> of Sensitive Data in Wireless<br />

Devices<br />

Nikhil Agrawal 1 , Shubhank Jain 2 , Sheetal Takale 3 Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract Wireless devices like laptops are pr<strong>on</strong>e to theft <strong>and</strong><br />

loss due to their small size <strong>and</strong> the characteristics of their<br />

comm<strong>on</strong> usage envir<strong>on</strong>ment, because laptops allow users to<br />

work while they are away from their desk. Unfortunately, this<br />

is also where the informati<strong>on</strong> in these devices is, most at risk.<br />

Existing schemes for securing data either do not protect<br />

informati<strong>on</strong> in the device after it is stolen or require<br />

bothersome re-authenticati<strong>on</strong>. We provide a secure scheme<br />

which protects the sensitive data of the user in these devices.<br />

We solve the problem existing systems with Transient<br />

Authenticati<strong>on</strong>, in which a small hardware token (Mobile<br />

Ph<strong>on</strong>e) c<strong>on</strong>tinuously authenticates the user’s presence over a<br />

short-range, wireless link. When the user departs, the token<br />

<strong>and</strong> device lose c<strong>on</strong>tact <strong>and</strong> the device secures itself. We show<br />

how to leverage this authenticati<strong>on</strong> framework to secure<br />

sensitive <strong>and</strong> c<strong>on</strong>fidential data <strong>on</strong> laptop. We implemented<br />

this system <strong>and</strong> the results were outst<strong>and</strong>ing.<br />

Keywords— Authenticati<strong>on</strong>, Bluetooth.<br />

1. INTRODUCTION<br />

Powerful <strong>and</strong> affordable laptops have brought users<br />

to an unprecedented level of c<strong>on</strong>venience <strong>and</strong> flexibility.<br />

Laptops let users work anywhere, anytime. Unfortunately,<br />

physical security is a major problem for these devices. Since<br />

they are designed for mobile use, they are often exposed in<br />

public places such as airports, coffee houses, <strong>and</strong> taxis, where<br />

they are vulnerable to theft or loss. Al<strong>on</strong>g with the value of<br />

lost hardware, users are worried about the exposure of<br />

sensitive informati<strong>on</strong>. People store vast amounts of pers<strong>on</strong>al<br />

<strong>and</strong> c<strong>on</strong>fidential data <strong>on</strong> their laptops <strong>and</strong> the loss of a device<br />

may lead to the exposure of bank credentials, passwords,<br />

client data, <strong>and</strong> military secrets.<br />

In presently available schemes the sensitive data in laptops<br />

can be protected by using various encrypti<strong>on</strong> methods, but the<br />

challenge in securing the sensitive <strong>and</strong> c<strong>on</strong>fidential data is not<br />

encrypting it but authenticating the current user. The device<br />

must obtain the correct evidence of the user’s identity <strong>and</strong><br />

authority before granting access to data. This evidence could<br />

be in the form of a password, a smart card inserted into a<br />

reader, or biometric data from a fingerprint or iris scanner.<br />

1 Nikhil Agrawal (nikhil.a.agrawal@gmail.com),<br />

2 Shubhank Jain (shubhank86@gmail.com),<br />

3 Sheetal Takale (sheetal.takale@gmail.com),<br />

Department of Informati<strong>on</strong> Technology Engineering,<br />

V.P.C.O.E, Baramati 413 133, University of Pune, Pune<br />

But, how often must an authenticati<strong>on</strong> should take<br />

place by the user Current systems require users to reauthenticate<br />

each time the device performed any operati<strong>on</strong> <strong>on</strong><br />

sensitive data. This would quickly render the system unusable<br />

<strong>and</strong> many users would disable the authenticati<strong>on</strong> system out of<br />

annoyance. Another mechanism would require the user to<br />

“unlock” the device <strong>on</strong>ce at boot. This would enhance the<br />

users experience but leave data vulnerable if the device were<br />

lost or stolen. These two models highlight an inherent tensi<strong>on</strong><br />

between security <strong>and</strong> usability.<br />

Transient Authenticati<strong>on</strong> resolves this tensi<strong>on</strong>. Users<br />

can have a small token (Mobile Ph<strong>on</strong>e) with modest<br />

computati<strong>on</strong>al resources. It c<strong>on</strong>stantly authenticates the device<br />

<strong>on</strong> behalf of the user. The limited short wireless range serves<br />

as a proximity cue, letting a device take steps to protect its<br />

data when the user leaves the physical area. We assume that<br />

since users have the token which is been frequently used by<br />

her, it is far less likely to be misplaced or stolen.<br />

2. TRANSIENT AUTHENTICATION<br />

2.1 PRINCIPLES:<br />

Transient Authenticati<strong>on</strong> is st<strong>and</strong>ing <strong>on</strong> the following<br />

four principles:<br />

A] Access Capabilities to Authorized Users.<br />

The computer system should carry out the critical<br />

operati<strong>on</strong>s <strong>on</strong>ly when the authorized user is present. Thus, all<br />

encrypti<strong>on</strong> keys must reside solely <strong>on</strong> the token, which is in<br />

her possessi<strong>on</strong> at all times <strong>and</strong> hence it is far less likely to be<br />

stolen or misplaced. The keys must be flushed from the cache<br />

of computer system in absence of the user.<br />

B] No Burdensome involvement of User.<br />

Users tend to immediately disable inc<strong>on</strong>venient <strong>and</strong><br />

cumbersome security mechanisms. But, anecdotal evidence<br />

proves that users c<strong>on</strong>veniently accept infrequent inserti<strong>on</strong> of<br />

authenticati<strong>on</strong> codes. Transient Authenticati<strong>on</strong> requires user<br />

participati<strong>on</strong> that is c<strong>on</strong>venient. Users will also quickly disable<br />

the system with poor performance, thus to ensure complete<br />

adopti<strong>on</strong>, the additi<strong>on</strong>al overhead of key authenticati<strong>on</strong>,<br />

communicati<strong>on</strong>, <strong>and</strong> data encrypti<strong>on</strong> must not be excessive.<br />

C] In Users Absence/presence system should secure/restore<br />

respectively.<br />

When the user departs, the device must quickly secure<br />

itself so as to avoid the attack, to physically extract any<br />

informati<strong>on</strong>, by an unauthorized user.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 56


Proceedings of ICCNS 08 , 27-28 September 2008<br />

C<strong>on</strong>versely, when a user walks back to use the device, the<br />

token should regain wireless c<strong>on</strong>tact while she is still some<br />

meters away. This gives the system several sec<strong>on</strong>ds to restore<br />

the device’s state thereby avoiding the attackers attempt to<br />

extract sensitive data.<br />

D] Always Ensure Authorized User’s C<strong>on</strong>sent.<br />

The device must not attempt to perform any critical<br />

acti<strong>on</strong> without the authorized user’s c<strong>on</strong>sent. Transient<br />

Authenticati<strong>on</strong> must ensure that <strong>on</strong>ly the respective token is<br />

capable to carry out the authenticati<strong>on</strong> process with the<br />

corresp<strong>on</strong>ding devices <strong>on</strong>ly with her knowledge. To limit the<br />

c<strong>on</strong>sequences of mobile ph<strong>on</strong>e loss, users must authenticate<br />

themselves to their token daily.<br />

Armed with these authenticati<strong>on</strong> principles, laptop<br />

protects data when the user departs by encrypting it.<br />

Cryptographic file systems secure data in persistent storage,<br />

but the unique characteristics of laptops make protecting data<br />

in other memory locati<strong>on</strong>s critical as well. Batteries <strong>and</strong><br />

wireless network links allow devices to c<strong>on</strong>tinue running<br />

while traveling <strong>and</strong> in public places. This is precisely where<br />

they are most vulnerable to loss or theft. Some processes can<br />

safely c<strong>on</strong>tinue while the user is absent, either because they do<br />

not h<strong>and</strong>le sensitive data or because they secure their secrets<br />

themselves.<br />

1. Initializing the Bluetooth stack which involves<br />

setting the device name, security settings <strong>and</strong>/or<br />

turning the Bluetooth radio <strong>on</strong>/off.<br />

2. Searching the respective mobile ph<strong>on</strong>e that is in<br />

proximity.<br />

3. Opening, closing <strong>and</strong> initiating c<strong>on</strong>necti<strong>on</strong>s.<br />

4. Perform security Input <strong>and</strong> Output messages.<br />

These above menti<strong>on</strong>ed steps are carried out by<br />

Bluetooth c<strong>on</strong>trol centre, which typically is a set of c<strong>on</strong>trol<br />

panels that serves as the central authority for local Bluetooth<br />

device settings. Before creating the c<strong>on</strong>necti<strong>on</strong> the applicati<strong>on</strong><br />

retrieves local device informati<strong>on</strong>, which is used for creating<br />

the respective c<strong>on</strong>necti<strong>on</strong>. The Bluetooth c<strong>on</strong>necti<strong>on</strong> is<br />

established using the logical link c<strong>on</strong>trol <strong>and</strong> adaptati<strong>on</strong> layer<br />

(L2CAP) of the Bluetooth protocol stack. L2CAP does a<br />

simple Ns lookup <strong>and</strong> gets the address of the mobile ph<strong>on</strong>e<br />

(server) <strong>and</strong> tries to establish a logical c<strong>on</strong>necti<strong>on</strong> with the<br />

L2CAP of the server (mobile ph<strong>on</strong>e) through the host<br />

c<strong>on</strong>troller interface (HCI) layer below. After creating the<br />

c<strong>on</strong>necti<strong>on</strong> the applicati<strong>on</strong> performs the security I/O<br />

messages. This is explained in Fig 1.2.<br />

3 CONNECTION ESTABLISHMENT<br />

3.1 Communicati<strong>on</strong> Module:<br />

The communicati<strong>on</strong> module c<strong>on</strong>sists of a token<br />

(mobile ph<strong>on</strong>e) <strong>and</strong> computer system (laptop) which is<br />

implemented using User Datagram Packets. Each datagram<br />

packet in data field is simply the text inputted. The module<br />

establishes a typical single slave Bluetooth Pic<strong>on</strong>et scenario; it<br />

opens up a Bluetooth port in both laptop <strong>and</strong> mobile ph<strong>on</strong>e for<br />

receiving communicati<strong>on</strong>s as shown in Fig. 1.1. Once Laptop<br />

system receives the packet, it attempts to decrypt that packet<br />

using the key currently received from mobile ph<strong>on</strong>e <strong>and</strong><br />

thereby allows the user to access the sensitive data in its<br />

original form.<br />

Fig. 1.2 C<strong>on</strong>necti<strong>on</strong> Establishment at Laptop Side<br />

(Client Side)<br />

3.3 C<strong>on</strong>necti<strong>on</strong> Establishment At Mobile Ph<strong>on</strong>e Side:<br />

The mobile ph<strong>on</strong>e acts as server in the Pic<strong>on</strong>et, it performs<br />

the following steps:<br />

1. creates a server c<strong>on</strong>necti<strong>on</strong> using the L2CAP<br />

2. Waits for accepting c<strong>on</strong>necti<strong>on</strong> <strong>and</strong> then opens up the<br />

c<strong>on</strong>necti<strong>on</strong> with the client (laptop)<br />

3. Performs security applicati<strong>on</strong> I/O messages.<br />

Before creating the c<strong>on</strong>necti<strong>on</strong> the applicati<strong>on</strong> gets,<br />

the informati<strong>on</strong> about local device <strong>and</strong> discovers it in the<br />

proximity. Meanwhile the client (laptop) establishes the<br />

c<strong>on</strong>necti<strong>on</strong> to it. When mobile ph<strong>on</strong>e receives a L2CAP<br />

c<strong>on</strong>necti<strong>on</strong> request, it immediately accepts <strong>and</strong> opens up the<br />

c<strong>on</strong>necti<strong>on</strong>, then starts performing security I/O messages <strong>and</strong><br />

accordingly manages the c<strong>on</strong>necti<strong>on</strong>.<br />

Fig. 1.1: Communicati<strong>on</strong> module<br />

3.2 C<strong>on</strong>necti<strong>on</strong> Establishment At Laptop Side:<br />

The laptop acts as client in the Pic<strong>on</strong>ets, the communicati<strong>on</strong><br />

is achieved in following sequential manner:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 57


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 1.3 C<strong>on</strong>necti<strong>on</strong> Establishment at mobile ph<strong>on</strong>e side<br />

(Server Side)<br />

4. AUTHENTICATION SYSTEM<br />

4.1 Initial authenticati<strong>on</strong> process:<br />

In initial authenticati<strong>on</strong> process the system performs<br />

an operati<strong>on</strong> based <strong>on</strong> challenge-resp<strong>on</strong>se messages between<br />

the laptop (client) <strong>and</strong> mobile ph<strong>on</strong>e (server) in order to<br />

authenticate each other based <strong>on</strong> immutable Universal Unique<br />

Identificati<strong>on</strong> system. This system uses UUID which<br />

represents a 128-bit value.<br />

4.2 User authenticati<strong>on</strong> process:<br />

As menti<strong>on</strong>ed earlier User authenticates his/her<br />

mobile ph<strong>on</strong>e infrequently as well as persistently, when the<br />

mobile ph<strong>on</strong>e requests user for authenticati<strong>on</strong> then positive<br />

results of this authenticati<strong>on</strong> will be valid for a day , if failed<br />

to do so user cannot access his/her data for further use.<br />

The laptop system periodically sends n<strong>on</strong>ce to<br />

mobile ph<strong>on</strong>e which ensures the laptop system whether the<br />

authorized user is present or absent in the proximity. If the<br />

user is present then the sensitive data will be accessible. But if<br />

the user is absent then the system will secure itself<br />

immediately. But what if the short wireless link between the<br />

two devices drops the packet In that case laptop will secure<br />

itself if the resp<strong>on</strong>se is not received in expected round trip<br />

time. Since this is a single, unc<strong>on</strong>tested network hop, this time<br />

is relatively stable. Then the Laptop system retries sending a<br />

request, if the resp<strong>on</strong>se is achieved then data will be<br />

accessible otherwise it remains in secured state. The overall<br />

process is illustrated in Fig 1.5.<br />

Fig. 1.5 C<strong>on</strong>necti<strong>on</strong> <strong>and</strong> Disc<strong>on</strong>necti<strong>on</strong>: Laptop checking for<br />

mobile ph<strong>on</strong>e presence.<br />

4.5 Encrypti<strong>on</strong> <strong>and</strong> Decrypti<strong>on</strong> process:<br />

In our system which we have implemented, we have<br />

used the Data Encrypti<strong>on</strong> St<strong>and</strong>ard for the process of<br />

Encrypti<strong>on</strong> <strong>and</strong> Decrypti<strong>on</strong>. The reas<strong>on</strong> for using this method<br />

is that since we have implemented our model using Java<br />

Technology, where the encrypti<strong>on</strong> <strong>and</strong> decrypti<strong>on</strong> functi<strong>on</strong> by<br />

default uses DES for encrypting <strong>and</strong> decrypting the data <strong>and</strong><br />

also it is fast enough to run efficiently with limited memory<br />

resources <strong>and</strong> processing time. The process of encrypti<strong>on</strong> <strong>and</strong><br />

decrypti<strong>on</strong> is explained below:-<br />

Fig 1.4: User Authenticati<strong>on</strong>: User has to re-authenticate <strong>on</strong>ce<br />

in 24 hours to access the data as per persistent authenticati<strong>on</strong>.<br />

4.3 Authenticati<strong>on</strong> <strong>and</strong> Encrypti<strong>on</strong>-decrypti<strong>on</strong> key creati<strong>on</strong>:<br />

Authenticati<strong>on</strong> key is used to authenticate the user to<br />

the laptop <strong>on</strong>ce in 24 hours. Once the authenticati<strong>on</strong> process is<br />

complete then the user is requested to select the encrypti<strong>on</strong>decrypti<strong>on</strong><br />

(E-D) key to be used for those 24 hours, here the<br />

user need not perform a burdensome job of remembering the<br />

E-D key. If the process is completed successfully then the<br />

encrypti<strong>on</strong>-decrypti<strong>on</strong> process commences to perform the<br />

operati<strong>on</strong> of encrypting the data in absence of the user <strong>and</strong><br />

decrypting the data in presence of the user, using the same E-<br />

D key.<br />

Fig. 1.6 Encrypti<strong>on</strong> <strong>and</strong> Decrypti<strong>on</strong> process: Mobile Ph<strong>on</strong>e<br />

sends the E-D key to for decrypting the data <strong>and</strong> Laptop uses<br />

this E-D key to decrypt the encrypted sensitive data.<br />

5. Overall Authenticati<strong>on</strong> Process:<br />

The over all processes of authenticati<strong>on</strong> system illustrated in<br />

Fig. 3.<br />

4.4 Disc<strong>on</strong>necti<strong>on</strong> <strong>and</strong> rec<strong>on</strong>necti<strong>on</strong>:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 58


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[CONNECTION NOT AVAILABLE]<br />

[CONNECTION AVAILABLE]<br />

[NOT ENCRYPTED]<br />

ENCRYPT FILES<br />

[FILES ENCRYPTED]<br />

LOCK FILES<br />

UNLOCK FILES<br />

DECRYPT FILES<br />

[CONNECTION ESTABLISHED]<br />

Fig. 1.7 Authenticati<strong>on</strong> System: The steps followed in overall<br />

Authenticati<strong>on</strong> Process.<br />

5. DATA FORTRESS IMPLEMENTATION<br />

As we have menti<strong>on</strong>ed earlier in that we have<br />

implemented the transient system using mobile ph<strong>on</strong>e <strong>and</strong><br />

laptop. The Data fortress system uses mobile ph<strong>on</strong>e as token<br />

<strong>and</strong> Laptop as wireless device c<strong>on</strong>taining sensitive<br />

informati<strong>on</strong>. The languages used were J2SE <strong>and</strong> J2ME. The<br />

implementati<strong>on</strong> algorithms developed by us are given below:<br />

5.1 Algorithms<br />

The vital Algorithms developed by us for implementing the<br />

Data Fortress applicati<strong>on</strong>s are as follows:<br />

Activity diagrams describe the workflow behavior of a<br />

system. Activity diagrams show the flow of activities through<br />

the system<br />

SEND CONNECTION<br />

REQUEST<br />

SEND NOUNCE<br />

Fig 1.9 Processes at Laptop side.<br />

[NO REQUEST]<br />

LISTEN CONNECTION<br />

REQUEST<br />

ACCEPT CONNECTION<br />

[CONNECTION BREAKS]<br />

[CONNECTION REQUEST]<br />

ACCEPT PASSW ORD, KEY AND TOKEN NAME<br />

[KEY PRESENT]<br />

CHECK PASSWORD<br />

[KEY NOT PRESENT]<br />

[PASSW O RD INVALID]<br />

SEND KEY<br />

ACCEPT KEY<br />

[PASSW ORD VALIDATE]<br />

CHANGE KEY<br />

SEND CONNECTION REQUEST TO TOKEN<br />

[CONNECTION BREAKS]<br />

[CONNECTION AVAILABLE]<br />

[CONNECTION NOT ESTABLISHED]<br />

SEND NOUNCES<br />

SEND KEY<br />

[CONNECTIO N ESTABLISHED]<br />

Fig 1.8 Process of Communicati<strong>on</strong> Establishment.<br />

Fig 1.10 Process at Mobile ph<strong>on</strong>e.<br />

The vital Algorithms developed by us for implementing the<br />

Data Fortress applicati<strong>on</strong>s are as follows:<br />

5.1.1 Algorithm for C<strong>on</strong>necti<strong>on</strong><br />

Establishment between Laptop <strong>and</strong> Mobile ph<strong>on</strong>e<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 59


Proceedings of ICCNS 08 , 27-28 September 2008<br />

BluetoothServiceDiscovery class is used to establish<br />

c<strong>on</strong>necti<strong>on</strong>.<br />

1. Creating the object of DiscoveryAgent.<br />

2. A StartInquiry method of DiscoveryAgent object is<br />

called for searching the device in the proximity.<br />

3. After completi<strong>on</strong> of the Search for devices, a lock is<br />

applied until the user selects the respective device for<br />

the purpose of binding. Lock is applied for halting<br />

the processes.<br />

4. An applicati<strong>on</strong> service is searched <strong>on</strong> the selected<br />

device from step (C) using a SearchService method.<br />

5. After applicati<strong>on</strong> service is searched <strong>on</strong> the token<br />

device then L2CAP c<strong>on</strong>necti<strong>on</strong> is established using<br />

C<strong>on</strong>nector.open(c<strong>on</strong>necti<strong>on</strong>URL)<br />

where<br />

c<strong>on</strong>necti<strong>on</strong>URL is a string.<br />

6. After c<strong>on</strong>necti<strong>on</strong> is established Nounces are<br />

send/receive to validate the<br />

7. presence of the token in the proximity.<br />

Protecti<strong>on</strong>, encryptfile <strong>and</strong> decryptfile classes are used to<br />

provide the protecti<strong>on</strong> to the sensitive files. For encrypti<strong>on</strong><br />

<strong>and</strong> decrypti<strong>on</strong> Data Encrypti<strong>on</strong> St<strong>and</strong>ard Algorithm was<br />

used.<br />

For encrypting the file,<br />

1. Create the object of Encryptor class <strong>and</strong> the file.<br />

2. Store the file in the FileInputStream, which reads the<br />

input file in bytes.<br />

3. The E-D key <strong>and</strong> data is passed to the encrypt() of<br />

the Encryptor class.<br />

4. Obtain the encrypted file by using the<br />

FileOutputStream.<br />

For decrypting the file,<br />

1. Create the object of Encryptor class <strong>and</strong> the file.<br />

2. Store the encrypted file in the FileInputStream,<br />

which reads the input file in bytes.<br />

3. The E-D key <strong>and</strong> encrypted data is passed to the<br />

decrypt() of the Encryptor class.<br />

Obtain the decrypted file by using the FileOutputStream.<br />

5.1.2 Algorithm for m<strong>on</strong>itoring <strong>and</strong> maintaining the<br />

c<strong>on</strong>necti<strong>on</strong><br />

LaptopThread class is used for checking the status of<br />

c<strong>on</strong>necti<strong>on</strong> <strong>and</strong> accordingly performing encrypti<strong>on</strong> <strong>and</strong><br />

decrypti<strong>on</strong>.<br />

1. The lock is applied. This lock helps in keeping the<br />

track of the c<strong>on</strong>necti<strong>on</strong>.<br />

2. This lock is notified when<br />

disc<strong>on</strong>necti<strong>on</strong>/rec<strong>on</strong>necti<strong>on</strong> occurs.<br />

3. The status of the c<strong>on</strong>necti<strong>on</strong> is checked <strong>and</strong><br />

respective acti<strong>on</strong> is taken, that is,<br />

If disc<strong>on</strong>necti<strong>on</strong> occurs<br />

1. Encrypt the sensitive data<br />

2. Stop the accessibility of the access rights of these<br />

files<br />

If Rec<strong>on</strong>necti<strong>on</strong> occurs<br />

1. Allow the access rights to be accessible<br />

2. Decrypt the data<br />

3. Go to step A.<br />

5.1.3 Algorithm for Locking the Access Rights of sensitive<br />

files<br />

Locker class was developed to block the access rights for the<br />

purpose of unauthorized access. To achieve this we developed<br />

two functi<strong>on</strong>s.<br />

Lock() functi<strong>on</strong> is called when disc<strong>on</strong>necti<strong>on</strong> occurs.<br />

1. Store the path of the files.<br />

2. File channel uses pointer to access the Read-Write<br />

rights of the files.<br />

3. Lock is applied.<br />

Unlock() functi<strong>on</strong> is called when rec<strong>on</strong>necti<strong>on</strong> occurs.<br />

1. Release the lock applied in Lock().<br />

2. Close the file channel to allow the user to access the<br />

file.<br />

5.1.4 Algorithm for protecting the sensitive files<br />

CONCLUSION<br />

Now-a-days, informati<strong>on</strong> in wireless devices is<br />

indispensable for the users of the respective devices. This<br />

informati<strong>on</strong> may be present in laptops, desktop computers etc.<br />

which is vulnerable to theft. We provide a secure system<br />

which protects the sensitive data of the user in these devices.<br />

In our system, we are using cell ph<strong>on</strong>e as a token<br />

which will authenticate the system <strong>and</strong> the client machine,<br />

which can be a laptop or a desktop computer. These two<br />

systems are c<strong>on</strong>nected to each other via a Bluetooth.<br />

Once, the devices are authenticated <strong>and</strong> c<strong>on</strong>nected then our<br />

applicati<strong>on</strong> will ask the user to declare the sensitive files <strong>and</strong><br />

folders <strong>on</strong> laptop or desktop machine.<br />

When the user al<strong>on</strong>g with his cell ph<strong>on</strong>e is in the<br />

range of the laptop or desktop computer, the sensitive data<br />

will be available for access <strong>and</strong> as so<strong>on</strong> as the user is outside<br />

the range then the data will be inaccessible to others.<br />

Hence, our applicati<strong>on</strong> provides security to the<br />

sensitive data in the laptop or desktop machine. The advantage<br />

of our applicati<strong>on</strong> is that the user doesn’t have to authenticate<br />

him/her time <strong>and</strong> again to the system, as authenticity is taken<br />

care by our applicati<strong>on</strong>. We have developed the pi<strong>on</strong>eer<br />

versi<strong>on</strong> of Data Fortress applicati<strong>on</strong> we strictly feel that this<br />

applicati<strong>on</strong> has various areas in which it can further be<br />

extended. We the developers c<strong>on</strong>clude that our security makes<br />

system more efficient <strong>and</strong> also assures high level of reliability<br />

to the users of Data Fortress.<br />

REFERENCES<br />

[1] A. Adams <strong>and</strong> M.A. Sasse, “Users Are Not the Enemy:<br />

Why Users Compromise <strong>Security</strong> Mechanisms <strong>and</strong> How to<br />

Take Remedial Measures,” Comm. ACM, vol. 42, no. 12, pp.<br />

40-46, Dec. 1999.<br />

[2] R. Anders<strong>on</strong>, “Why Cryptosystems Fail,” Comm. ACM,<br />

vol. 37, no. 11, pp. 32-40, Nov. 1994.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 60


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[3] M. Blaze, “Key Management in an Encrypting File<br />

System,” Proc. Summer 1994 USENIX C<strong>on</strong>f., pp. 27-35, June<br />

1994.<br />

[4] M. Burrows, M. Abadi, <strong>and</strong> R. Needham, “A Logic of<br />

Authenticati<strong>on</strong>,” ACM Trans. <strong>Computer</strong> Systems, vol. 8, no.<br />

1, pp. 18-36, Feb. 1990.<br />

[5] Anth<strong>on</strong>y J. Nichols<strong>on</strong>, Mark D. Corner , Brian D. Noble ,”<br />

Mobile <strong>Security</strong> Using Transient Authenticati<strong>on</strong> “ IEEE<br />

Transacti<strong>on</strong> <strong>on</strong> Mobile Computing, VOL. 5, NO. 11,<br />

NOVEMBER 2006<br />

[6] B. Schneier, Applied Cryptography. John Wiley <strong>and</strong> S<strong>on</strong>s,<br />

1996<br />

[7] M. Corner <strong>and</strong> B. Noble, “Zero-Interacti<strong>on</strong><br />

Authenticati<strong>on</strong>,” Proc. Eighth Int’l C<strong>on</strong>f. Mobile Computing<br />

<strong>and</strong> Networking (ACM MobiCom’02), Sept. 2002.<br />

[8] C. L<strong>and</strong>wehr, “Protecting Unattended <strong>Computer</strong>s without<br />

Software,” Proc. 13th Ann. <strong>Computer</strong> <strong>Security</strong> <strong>and</strong><br />

Applicati<strong>on</strong>s C<strong>on</strong>f. (ACSAC), pp. 274-283, 1997.<br />

[9] Kahate, A., 2003. Cryptography <strong>and</strong> Network <strong>Security</strong>, 1st<br />

Edn., Tata McGraw-Hill Company, India.<br />

[10] Chang, J.K.W., 2003. An interacti<strong>on</strong> of Bluetooth<br />

technology for zero interacti<strong>on</strong> authenticati<strong>on</strong>. H<strong>on</strong>ours<br />

Project, School of <strong>Computer</strong> Science, Carlet<strong>on</strong> University.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 61


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Securing AODV for MANETs using Message<br />

Digest with Secret Key<br />

Sunil J. S<strong>on</strong>i <strong>and</strong> Prashant B. Swadas<br />

Abstract- Due to lack of the infrastructure, open peer-to-peer<br />

architecture, shared wireless medium, limited resource c<strong>on</strong>straints<br />

<strong>and</strong> highly dynamic topology, MANETs (Mobile Ad-hoc<br />

<strong>Networks</strong>) are frequently established in insecure envir<strong>on</strong>ments,<br />

which make them more vulnerable to attacks. These attacks are<br />

initiated by sharing malicious nodes against different services of<br />

network. The binding force in these networks is routing protocol,<br />

which is a comm<strong>on</strong> target of malicious nodes. MANETs routing<br />

protocols are being developed without having security in mind.<br />

Ad-hoc On-Dem<strong>and</strong> Distance Vector (AODV) is <strong>on</strong>e such widely<br />

used routing protocol that is at present undergo extensive research<br />

<strong>and</strong> development. AODV is based <strong>on</strong> distance vector routing, but<br />

here the updates are shared not <strong>on</strong> a periodic basis but <strong>on</strong> an as<br />

per dem<strong>and</strong> basis. The c<strong>on</strong>trol packets c<strong>on</strong>tain a hop-count <strong>and</strong><br />

sequence number field which recognizes the freshness of routing.<br />

These fields are editable, so it creates a possible susceptibility that<br />

is frequently abused by malicious nodes to advertise false better<br />

routes. As well as, transmissi<strong>on</strong> of routing updates in form of<br />

clear text also reveals crucial informati<strong>on</strong> about the network<br />

topology, which is again a probable security danger. In this paper<br />

we are presenting a novel <strong>and</strong> practical security mechanism for<br />

securing the AODV routing protocol that protects against a<br />

number of attacks carried out in MANETs. We will present<br />

message digest with secret key mechanism to secure AODV<br />

messages which is very effective <strong>and</strong> less power c<strong>on</strong>suming<br />

security soluti<strong>on</strong> for MANETs.<br />

Keywords— Malicious, Mechanism, Message Digest, Routing<br />

Protocol, Secret Key, <strong>Security</strong><br />

I. INTRODUCTION<br />

ANET is a collecti<strong>on</strong> of independent mobile users<br />

Mthat communicate over relatively b<strong>and</strong>width <strong>and</strong><br />

power c<strong>on</strong>strained wireless links [1]. MANET has<br />

capability to establish networks at anytime, anywhere.<br />

These networks are built, work <strong>and</strong> maintained by its own<br />

because each node performs dual role of host <strong>and</strong> router.<br />

By <strong>and</strong> large, these nodes have a limited transmissi<strong>on</strong> range<br />

<strong>and</strong> so each node search for the support of its neighboring<br />

nodes in forwarding packets.<br />

Sunil J. S<strong>on</strong>i is pursuing M.E. (<strong>Computer</strong> Engineering) from Sardar<br />

University, ISTAR, Vallabh Vidhyanagar, Gujarat, INDIA. (ph<strong>on</strong>e:<br />

+91 9898751570; e-mail: sj_s<strong>on</strong>i2003@ yahoo.co.in).<br />

Prashant B. Swadas, working with BVM, Vallabh Vidhyanagar. Gujarat.<br />

He is now with the Department of <strong>Computer</strong>/IT, (e-mail:<br />

prashantswadas@gmail.com).<br />

In order to establish routes between two nodes which are<br />

away from each other than a single hop, special routing<br />

protocols are already designed. This unique feature is<br />

resp<strong>on</strong>sible to route the message in spite of dynamic<br />

topology of network [2]. These networks d<strong>on</strong>’t depend <strong>on</strong><br />

extraneous hardware which makes them an ideal c<strong>and</strong>idate<br />

for military services <strong>and</strong> operati<strong>on</strong>s. For example battle<br />

field ad hoc network, in such a network we would surely be<br />

first c<strong>on</strong>cerned with the efficient <strong>and</strong> in time delivery of the<br />

message but with this, we will have to be more c<strong>on</strong>cerned<br />

about the str<strong>on</strong>g privacy or secrecy of the informati<strong>on</strong> also.<br />

These kinds of scenarios, where we want to transmit private<br />

<strong>and</strong> secure informati<strong>on</strong> very rapidly, motivate us to make<br />

use of message digest with secret key in security c<strong>on</strong>text. In<br />

this paper we c<strong>on</strong>sider advantage of message digest with<br />

secret key to hide the informati<strong>on</strong> of all the fields of<br />

message by using different message digest functi<strong>on</strong>s.<br />

II. PREVIOUS WORK<br />

To protect MANET against various possible attacks a<br />

routing protocol must fulfill a set of requirements [3] to<br />

c<strong>on</strong>firm that the determined path from source to destinati<strong>on</strong><br />

works correctly in the presence of malicious nodes. These<br />

requirements are:<br />

1) Authorized nodes should perform route<br />

computati<strong>on</strong> <strong>and</strong> discovery,<br />

2) Minimal exposure of network topology,<br />

3) Detecti<strong>on</strong> of spoofed routing messages,<br />

4) Detecti<strong>on</strong> of fabricated routing messages,<br />

5) Detecti<strong>on</strong> of altered routing messages,<br />

6) Avoiding formati<strong>on</strong> of routing loops, <strong>and</strong><br />

7) Present redirecti<strong>on</strong> of routes from shortest paths.<br />

Many secure routing protocols have been recently<br />

developed that c<strong>on</strong>form to most of the requirements. Some<br />

of them are as under:<br />

1. SAODV (Secure Ad-hoc On-Dem<strong>and</strong> Distance Vector)<br />

SAODV [8] is an extensi<strong>on</strong> of AODV routing protocol.<br />

It provides authenticati<strong>on</strong>, message integrity <strong>and</strong> n<strong>on</strong>repudiati<strong>on</strong><br />

in ad-hoc networks by using <strong>on</strong>e-way hash<br />

chain <strong>and</strong> digital signature. It needs the use of Key<br />

Management Scheme. The main disadvantage with the<br />

protocol is the use of Public Key Cryptography that<br />

requires c<strong>on</strong>siderable amount of processing power <strong>and</strong><br />

slows down the process to some extent.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 62


Proceedings of ICCNS 08 , 27-28 September 2008<br />

2. ARAN (Authenticated Routing for Ad-hoc <strong>Networks</strong>)<br />

ARAN [3] provides authenticati<strong>on</strong>, message integrity<br />

<strong>and</strong> n<strong>on</strong>-repudiati<strong>on</strong> in ad-hoc networks by using a<br />

preliminary certificati<strong>on</strong> process which is followed by a<br />

route instantiati<strong>on</strong> process that ensures end-to-end security<br />

services. But it needs the use of trusted certificati<strong>on</strong> server.<br />

The main disadvantage with the protocol is every node that<br />

forwards a route discovery or a route reply message must<br />

also sign it, which is very power c<strong>on</strong>suming <strong>and</strong> causes the<br />

size of the routing messages to increase at each hop.<br />

III. AODV ROUTING PROTOCOL<br />

AODV [2] is a distance vector routing protocol that has<br />

been naturally build for MANETs. It is an <strong>on</strong> dem<strong>and</strong><br />

protocol <strong>and</strong> reactive in nature as it searching the routes<br />

<strong>on</strong>ly when required. AODV makes widespread use of<br />

sequence numbers in c<strong>on</strong>trol packets to avoid the problem<br />

of generati<strong>on</strong> of routing loops. When a source node is<br />

interested to communicate with a destinati<strong>on</strong> node whose<br />

route is unknown, it broadcasts a RREQ (Route Request)<br />

packet. Each RREQ packet c<strong>on</strong>tains a Request ID, source<br />

<strong>and</strong> the destinati<strong>on</strong> node IP addresses <strong>and</strong> sequence<br />

numbers al<strong>on</strong>g with a hop count <strong>and</strong> flags. The Request ID<br />

field uniquely identifies the RREQ packet; the sequence<br />

numbers gives informati<strong>on</strong> regarding the freshness of<br />

c<strong>on</strong>trol packets <strong>and</strong> the hop-count maintains the number of<br />

nodes between the source <strong>and</strong> the destinati<strong>on</strong>. Recipient<br />

node of the RREQ packet that has not find the Source IP<br />

<strong>and</strong> ID pair or doesn’t maintain a fresher (larger sequence<br />

number) route to the destinati<strong>on</strong> rebroadcasts the same<br />

packet after incrementing the hop-count. Such intermediate<br />

nodes also create <strong>and</strong> preserve a REVERSE ROUTE to the<br />

source node for a certain time.<br />

When the RREQ packet arrived at the destinati<strong>on</strong> node<br />

or any intermediate node that has a fresher route to the<br />

destinati<strong>on</strong> a RREP (Route Reply) packet is generated <strong>and</strong><br />

sent back to the source. RREP packet c<strong>on</strong>tains the<br />

destinati<strong>on</strong> node sequence number, the source <strong>and</strong> the<br />

destinati<strong>on</strong> IP addresses, route lifetime al<strong>on</strong>g with a hop<br />

count <strong>and</strong> flags. Intermediate node that receives the RREP<br />

packet, increments the hop count, establishes a Forward<br />

Route to the source of the packet <strong>and</strong> transmits the packet<br />

<strong>on</strong> the Reverse Route. When a link failure is detected for a<br />

next hop of an active route a RERR (Route Error) message<br />

is sent to its active neighbors that were using that particular<br />

route.<br />

The key vulnerabilities [2] present in the basic AODV<br />

routing protocol are:<br />

1) Deceptive incrementing of Sequence Numbers<br />

2) Deceptive decrementing of Hop Count<br />

Value<br />

0 Reserved<br />

1 MD5<br />

2 SHA1<br />

3-127 Reserved<br />

Hash Functi<strong>on</strong><br />

128-255 Implementati<strong>on</strong> Dependent<br />

Table 1: Possible values for Hash_Functi<strong>on</strong> field<br />

IV. SECURING AODV USING MESSAGE DIGEST AND<br />

SECRET KEY MECHANISM<br />

There is a Message Digest with Secret Key mechanism<br />

used to secure AODV message. This mechanism calculates<br />

message digest using appropriate hash functi<strong>on</strong> for all the<br />

fields (mutable as well as n<strong>on</strong>-mutable) of an AODV<br />

message in additi<strong>on</strong> with secret key. And then message<br />

digest <strong>and</strong> hash functi<strong>on</strong> value will be transmitted al<strong>on</strong>g<br />

with the AODV message.<br />

The Message Digest with Secret Key mechanism<br />

algorithm is as follows:<br />

Every time a node originates a RREQ, a RREP or a<br />

RERR message, it performs the following operati<strong>on</strong>s:<br />

• It chooses suitable value of hash functi<strong>on</strong> h that is to<br />

be used to make message digest, from all available<br />

possible values shown in Table 1.<br />

• Sets Hash_Functi<strong>on</strong> field by value of chosen h.<br />

Hash_Functi<strong>on</strong> = h<br />

Where, h is the value of hash functi<strong>on</strong>.<br />

• Get the value of Secret Key, <strong>and</strong> add it to values of<br />

all the fields of message.<br />

• Calculates Message_Digest by passing the values of<br />

all the fields with added secret key to hash functi<strong>on</strong><br />

h.<br />

Message_Digest = h (values of all the fields with<br />

added secret key)<br />

Where, h is a hash functi<strong>on</strong>.<br />

h(x) is the result of applying the functi<strong>on</strong> h to x.<br />

In additi<strong>on</strong>, every time a node receives a RREQ, a<br />

RREP or a RERR message, it performs the following<br />

operati<strong>on</strong>s in order to verify the valid message:<br />

• Get the value of Secret Key, <strong>and</strong> add it to values of<br />

all the fields of received message.<br />

• Applies the hash functi<strong>on</strong> h to the values of all the<br />

fields of received an AODV message with added<br />

secure key except Hash_Functi<strong>on</strong> <strong>and</strong><br />

Message_Digest fields, <strong>and</strong> verifies that the<br />

calculated message digest is equal to the value<br />

c<strong>on</strong>tained in the Message_Digest field of received an<br />

AODV message.<br />

Message_Digest = = h (values of all the fields with<br />

added secure key except Hash_Functi<strong>on</strong> <strong>and</strong><br />

Message_Digest fields)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 63


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Where, a = = b reads: to verify that a <strong>and</strong> b are equal.<br />

• Before rebroadcasting a RREQ or forwarding a<br />

RREP or a RERR, a node will perform the<br />

following:<br />

It <strong>on</strong>ce again chooses suitable value of hash<br />

functi<strong>on</strong> h (may be different of earlier value of<br />

h) that is to be used to make message digest.<br />

Sets Hash_Functi<strong>on</strong> field by value of chosen h.<br />

Hash_Functi<strong>on</strong> = h<br />

Get the value of Secret Key, <strong>and</strong> add it to values<br />

of all the fields of message.<br />

Calculates Message_Digest by passing the<br />

values of all the fields to hash functi<strong>on</strong> h.<br />

Message_Digest = h (values of all the fields with<br />

added secret key)<br />

V. EXTEDED MESSAGE FORMATS<br />

As shown in Fig. 1, Fig. 2 <strong>and</strong> Fig. 3, the extended fields<br />

namely Hash Functi<strong>on</strong> <strong>and</strong> Message Digest (shown in gray<br />

color) are added in AODV messages [13], in order to make<br />

them secure according to our proposed mechanism.<br />

VI. MESSAGE DIGEST WITH SECRET KEY MECHANISM<br />

In our proposed secure mechanism, we assumed that<br />

there exists a central key management system, which<br />

distributes secret key to all legitimate nodes in advance<br />

before they participate in system called a team key or a<br />

group key or anything else. How key management system<br />

h<strong>and</strong>les, distribute <strong>and</strong> share the secret key am<strong>on</strong>g<br />

legitimate nodes is out of scope for this paper.<br />

The node which wants to send AODV message, first<br />

selects appropriate hash functi<strong>on</strong> <strong>and</strong> then gets secret key<br />

<strong>and</strong> adds secret key to the message data <strong>and</strong> then applies<br />

hash functi<strong>on</strong> <strong>on</strong> message data with added secret key to<br />

create message digest, after creating message digest it will<br />

send message digest <strong>and</strong> hash functi<strong>on</strong> value al<strong>on</strong>g with<br />

AODV message to the next node.<br />

The node which receives AODV message first obtains<br />

hash functi<strong>on</strong> from received hash functi<strong>on</strong> value <strong>and</strong> then<br />

Figure 1: Secure AODV RREQ Message Format<br />

Figure 2: Secure AODV RREP Message Format<br />

Figure 3: Secure AODV RERR Message Format<br />

Figure 4: Message digest with secret key mechanism<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 64


Proceedings of ICCNS 08 , 27-28 September 2008<br />

gets secret key <strong>and</strong> adds secret key to the message data of<br />

received message <strong>and</strong> then applies that hash functi<strong>on</strong> <strong>on</strong> message<br />

data of received message with added secret key <strong>and</strong> creates<br />

message digest. After creating message digest it will compare<br />

created message digest with received message digest, if both<br />

message digests are equal it will accept that valid message <strong>and</strong><br />

process it, but if they are not equal it will not accepting that<br />

invalid message <strong>and</strong> simply drops it.<br />

The detail secure Message digest with secret key<br />

mechanism works as shown in Figure 4.<br />

VII. SECURITY ANALYSIS<br />

Here we discuss how the presented message digest with<br />

secret key security mechanism defies possible attacks in<br />

MANET <strong>and</strong> satisfies the seven requirements of any secure<br />

routing protocol:<br />

1) Authorized nodes should perform route computati<strong>on</strong><br />

<strong>and</strong> discovery<br />

All authorized nodes are having unique system<br />

wide secret key <strong>and</strong> different secure hash functi<strong>on</strong> by<br />

using which they are generating message digest for<br />

route computati<strong>on</strong> <strong>and</strong> discovery while unauthorized<br />

nodes does not have secret key <strong>and</strong> any knowledge<br />

about hash functi<strong>on</strong>s <strong>and</strong> so that they cannot participate<br />

in network.<br />

2) Minimal exposure of network topology<br />

Mechanism allows passive eavesdropping by any<br />

adversary regarding network topology, but main punch<br />

of mechanism is it will not let any malicious node to<br />

misuse that eavesdropped informati<strong>on</strong>, because<br />

adversary cannot alter or fabricate routing message, as<br />

they do not have secret key.<br />

3) Detecti<strong>on</strong> of spoofed routing messages<br />

Spoofing of informati<strong>on</strong> does not give any benefit<br />

to the adversary until it has secret key <strong>and</strong> different<br />

hash functi<strong>on</strong>s available to use that spoofed<br />

informati<strong>on</strong>.<br />

4) Detecti<strong>on</strong> of fabricated routing messages<br />

Malicious nodes cannot inject fabricated routing<br />

messages into the network as they have not secret key,<br />

required to generate messages.<br />

5) Detecti<strong>on</strong> of altered routing messages<br />

All routing message data produces single <strong>and</strong><br />

unique message digest so that it is not possible by any<br />

malicious node to alter it without secret key, <strong>and</strong> if<br />

malicious node alters it then legitimate node can easily<br />

find out that alterati<strong>on</strong> when it compares message<br />

digest.<br />

6) Avoiding formati<strong>on</strong> of routing loops<br />

This mechanism c<strong>on</strong>firms that routing loops<br />

cannot be formed through any malicious acti<strong>on</strong>. Since<br />

routing loops mainly occurs if a malicious node is able<br />

to spoof, alter or fabricate legitimate routing packets<br />

[2].<br />

7) Present redirecti<strong>on</strong> of routes from shortest paths<br />

Generally, shortest paths are created by<br />

decrementing the number of addresses in the routing<br />

protocol. The mechanism is designed in such a manner<br />

that routing packets are <strong>on</strong>ly accepted from<br />

authenticated immediate neighbors. This ensures that<br />

an adversary cannot inject such routing packets unless<br />

an authorized node first authenticates it [2].<br />

Following are the attacks that can be launched against the<br />

AODV routing protocol [12]:<br />

1) Message tampering attack<br />

This mechanism c<strong>on</strong>firms that if malicious node<br />

tampers message in between the route, it can be easily<br />

detected by destinati<strong>on</strong> node.<br />

2) Message dropping attack<br />

This mechanism c<strong>on</strong>firms that if malicious node<br />

drops invalid messages to the destinati<strong>on</strong> or to the<br />

intermediated node, it can be easily detected.<br />

VIII. SIMULATION AND RESULTS<br />

We have successfully implemented message digest<br />

mechanism to secure AODV routing protocol using NS-<br />

2.28 [9, 10] <strong>on</strong> Fedora core 4 Linux versi<strong>on</strong> <strong>and</strong> c<strong>on</strong>cluded<br />

that it is very secure mechanism which fulfills all security<br />

requirements without c<strong>on</strong>suming much power of nodes <strong>and</strong><br />

gives almost same performance as AODV gives without<br />

using mechanism.<br />

The main aim of simulati<strong>on</strong> is to prove proposed<br />

mechanism is properly securing AODV with all security<br />

aspects. For simulati<strong>on</strong>, we have c<strong>on</strong>sidered 3 different<br />

mobile nodes, namely node 0, node 1 <strong>and</strong> node 2. The TCP<br />

traffic c<strong>on</strong>necti<strong>on</strong> is established between node 0 to node 1.<br />

Total simulati<strong>on</strong> time is 150 sec. All network comp<strong>on</strong>ents<br />

of mobile node are c<strong>on</strong>sidered their default values. (E.g.<br />

Link Layer, Interface Queue, Mac Layer etc.) Agent,<br />

Router <strong>and</strong> Movement traces are kept ON <strong>and</strong> Mac trace is<br />

kept OFF for all three mobile nodes.<br />

Following tables are showing the result of our<br />

simulati<strong>on</strong> that proves proposed mechanism is securing<br />

AODV.<br />

Routing Protocol: AODV<br />

Case: With or without malicious node<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 3934 3931 0 7837<br />

Node 1 3923 3920 0 7848<br />

Node 2 6 6 7827 7845<br />

Table 2: AODV with or without malicious node/s<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 65


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Routing Protocol: AODV with proposed mechanism<br />

Case: Without malicious node<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 3934 3931 0 7837<br />

Node 1 3923 3920 0 7848<br />

Node 2 6 6 7827 7845<br />

Table 3: AODV with proposed mechanism <strong>and</strong> without<br />

malicious node/s<br />

Routing Protocol: AODV<br />

Case: With or without malicious node<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 3067 3048 0 6069<br />

Node 1 3020 3017 0 6037<br />

Node 2 2 2 5692 5694<br />

Table 7: AODV with or without malicious node/s<br />

Routing Protocol: AODV with proposed mechanism<br />

Case: With malicious node 0<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 12 12 0 5<br />

Node 1 0 0 0 6<br />

Node 2 0 0 0 9<br />

Table 4: AODV with proposed mechanism <strong>and</strong> with<br />

malicious node 0<br />

Routing Protocol: AODV with proposed mechanism<br />

Case: Without malicious node<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 3067 3048 0 6069<br />

Node 1 3020 3017 0 6037<br />

Node 2 2 2 5692 5694<br />

Table 8: AODV with proposed mechanism <strong>and</strong> without<br />

malicious node/s<br />

Routing Protocol: AODV with proposed mechanism<br />

Case: With malicious node 1<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 12 12 0 18<br />

Node 1 8 8 0 14<br />

Node 2 9 9 0 13<br />

Table 5: AODV with proposed mechanism <strong>and</strong> with<br />

malicious node 1<br />

Routing Protocol: AODV with proposed mechanism<br />

Case: With malicious node 2<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 5540 5535 0 11046<br />

Node 1 5518 5502 0 11047<br />

Node 2 15 15 0 17<br />

Table 6: AODV with proposed mechanism <strong>and</strong> with<br />

malicious node 2<br />

Next we will c<strong>on</strong>sider the power c<strong>on</strong>sumpti<strong>on</strong> of nodes<br />

<strong>and</strong> showing the result of our simulati<strong>on</strong>. We c<strong>on</strong>sidered<br />

energy model for all three nodes with initial energy 10<br />

joules <strong>and</strong> 0.1 W energy c<strong>on</strong>sumed when node receives<br />

AODV message <strong>and</strong> 0.2 W energy c<strong>on</strong>sumed when node<br />

transmits AODV message.<br />

Routing Protocol: AODV with proposed mechanism<br />

Case: With malicious node 0<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 12 12 0 5<br />

Node 1 0 0 0 6<br />

Node 2 0 0 0 9<br />

Table 9: AODV with proposed mechanism <strong>and</strong> with<br />

malicious node 0<br />

Routing Protocol: AODV with proposed mechanism<br />

Case: With malicious node 1<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 12 12 0 18<br />

Node 1 8 8 0 14<br />

Node 2 9 9 0 13<br />

Table 10: AODV with proposed mechanism <strong>and</strong> with<br />

malicious node 1<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 66


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Routing Protocol: AODV with proposed mechanism<br />

Case: With malicious node 2<br />

Node<br />

Packets<br />

Generated Sent Forwarded Received<br />

Node 0 4652 4652 0 9278<br />

Node 1 4634 4626 0 9268<br />

Node 2 4 4 0 5<br />

Table 11: AODV with proposed mechanism <strong>and</strong> with<br />

malicious node 2<br />

Table 2 <strong>and</strong> Table 7 shows that simple AODV routing<br />

protocol cannot detect any malicious node/s <strong>and</strong> generate,<br />

send, forward <strong>and</strong> receive same amount of packets in both<br />

the cases of present <strong>and</strong> absent of malicious node/s.<br />

Table 3 <strong>and</strong> Table 8 shows that AODV routing<br />

protocol with proposed mechanism <strong>and</strong> without any<br />

malicious nodes in system will generate, send, forward <strong>and</strong><br />

receive same amount of packets as AODV will generate,<br />

send, forward <strong>and</strong> receive.<br />

Table 4 <strong>and</strong> Table 9, shows AODV routing protocol<br />

with proposed mechanism <strong>and</strong> with malicious node 0 that<br />

can easily detect malicious node. Here node 2 recognizes<br />

that node 0 is malicious <strong>and</strong> will not forward any of the<br />

message sent by node 0 to node 1.<br />

Table 5 <strong>and</strong> Table 10, shows AODV routing protocol<br />

with proposed mechanism <strong>and</strong> with malicious node 1 that<br />

can easily detect malicious node. Here node 2 recognizes<br />

that node 1 is malicious <strong>and</strong> will not forward any of the<br />

message sent by node 0 to node 1.<br />

Table 6 <strong>and</strong> Table 11, shows AODV routing protocol<br />

with proposed mechanism <strong>and</strong> with malicious node 2 that<br />

can easily detect malicious node. Here node 0 is<br />

recognizing that node 2 is malicious <strong>and</strong> sends all the<br />

messages directly to node 1 by passing node2.<br />

Table 7 <strong>and</strong> Table 8 shows that proposed mechanism<br />

generate same amount of messages, it means that<br />

mechanism does not c<strong>on</strong>sume more power even if it is<br />

secure.<br />

Above results easily illustrates that proposed<br />

mechanism is very efficient, secure <strong>and</strong> can easily find<br />

malicious node/s within system, <strong>and</strong> provide good security<br />

overall without loosing extra energy in spite of security.<br />

IX. CONCLUSION<br />

In this paper we have presented a message digest with<br />

secret key mechanism for securing the AODV routing<br />

protocol used in MANET. Research in the field of networks<br />

has shown that Public Key Cryptography <strong>and</strong> its related<br />

algorithms are very slower <strong>and</strong> power c<strong>on</strong>suming than the<br />

Symmetric Key Cryptography. Our proposed mechanism<br />

uses symmetric key cryptography <strong>and</strong> generates very less<br />

overhead of calculati<strong>on</strong>s <strong>and</strong> saves power c<strong>on</strong>sumpti<strong>on</strong> of<br />

nodes significantly which is most important <strong>and</strong> attractive<br />

feature. This mechanism does not use any kind of<br />

encrypti<strong>on</strong> or decrypti<strong>on</strong> techniques so that the performance<br />

of secure routing protocol is remain almost same. The entire<br />

security strength of this mechanism is relies <strong>on</strong> how<br />

frequently key management scheme is changing the secret<br />

key of all nodes. For ensuring greater security, we can have<br />

the c<strong>on</strong>cept of “One Time Pads” or “Key of the Day” etc.<br />

Moreover, the military networks which perform very<br />

sensitive operati<strong>on</strong>s where we have to spread private<br />

informati<strong>on</strong> very securely, we are mainly c<strong>on</strong>cern about<br />

privacy or secrecy al<strong>on</strong>g with efficient <strong>and</strong> in time delivery<br />

of the message. Such a kind scenarios motivate us to use<br />

message digest with secret key which is very secure as well<br />

as efficient.<br />

X. FUTURE WORK<br />

The same kind of mechanism we would like to design<br />

for other routing protocols of MANET like DSR, DSDV,<br />

TORA etc. We would also like to enhance proposed secure<br />

mechanism by adding c<strong>on</strong>cept of “set of secret key”, in<br />

which each node will maintain couple of secret keys instead<br />

of single unique key, in order to make mechanism very<br />

str<strong>on</strong>gly secure.<br />

ACKNOWLEDGMENT<br />

The authors would like to thank Prof. R.D. Vanzara<br />

(Asst. Professor, UVPCE, Kherva, Guj - India) for his<br />

comments <strong>and</strong> c<strong>on</strong>structive feedbacks <strong>on</strong> our work.<br />

REFERENCES<br />

[1] Junaid Arshad, Mohammad Ajmal Azad, “Performance Evaluati<strong>on</strong> of<br />

Secure <strong>on</strong>-Dem<strong>and</strong> Routing Protocols for Mobile Ad-hoc <strong>Networks</strong>”,<br />

(2006) IEEE, pp. 971-975.<br />

[2] Asad Amir Pirzada, Chris McD<strong>on</strong>ald, “Secure Routing with the AODV<br />

Protocol”, (2005) Asia Pacific <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Communicati<strong>on</strong>, Perth,<br />

IEEE, p.p. 57-61.<br />

[3] B. Dahill, B.N. Levine, E. Royer <strong>and</strong> C. Shields, “A secure routing<br />

protocol for ad hoc networks”, Proceedings of the internati<strong>on</strong>al<br />

c<strong>on</strong>ference <strong>on</strong> Network Protocols (ICNP), p.p. 78-87, 2002.<br />

[4] Tuulia Kullberg, “Performance of the Ad hoc On dem<strong>and</strong> Distance<br />

Vector Routing Protocol”, HUT T-110.551 Seminar <strong>on</strong><br />

Internetworking.<br />

[5] Manel Zapata, N. Asokan, “Securing Ad hoc Routing Protocols”<br />

(2002), WiSe-02, September 28,2002, Atlanta, Georgia. (ACM)<br />

[6] H Yang, H.Y. Lue, F Ye, S.W. Lu <strong>and</strong> L Zhang, “Securing in mobile as<br />

hoc networks: challenges <strong>and</strong> soluti<strong>on</strong>s” (2004) IEEE wireless<br />

communicati<strong>on</strong>s 11(1), pp. 38-47.<br />

[7] Jean-Pierre, Levente Buttyan, Srdan Capkun, “The Quest for security in<br />

mobile ad hoc networks”. (2001) ACM.<br />

[8] Manel Zapata, Secure Ad hoc On-Dem<strong>and</strong> Distance Vector (SAODV)<br />

Routing, INTERNET DRAFT (September 2006) draft-guerrero-manetsaodv-06.txt<br />

[9] Ns homepage - http://www.isi.edu/nsnam/ns/<br />

[10] Ns manual - http://www.isi.edu/nsnam/ns/<br />

[11] K<strong>on</strong>rad Wr<strong>on</strong>a, “Distributed <strong>Security</strong>: Ad Hoc <strong>Networks</strong> &<br />

Bey<strong>on</strong>d”, PAMPAS Workshop, RHUL, September 16-17, 2002.<br />

[12] Lin, Rad, W<strong>on</strong>g, S<strong>on</strong>g, “Experimental Comparis<strong>on</strong>s between<br />

SAODV <strong>and</strong> AODV Routing Protocols”, WMuNeP, October 13, 2005.<br />

(ACM)<br />

[13] Perkins, Belding-Royer <strong>and</strong> Das, “Ad hoc <strong>on</strong>-dem<strong>and</strong> distance vector<br />

(aodv) routing”, IETF RFC 3591, 2003.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 67


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A Survey <strong>on</strong> <strong>Security</strong> issues in Mobile<br />

ADHOC networks<br />

Pallavi Khatri Sarita Bhadoria Mamta Narwariya<br />

pallavi_magic@yahoo.com saritamits61@yahoo.co.in mamta_2481@hotmail.com<br />

Abstract - Ad-hoc networks are infrastuctureless, selforganizing<br />

networks. They d<strong>on</strong>’t have fixed<br />

infrastructure. Topology in ad-hoc networks is dynamic<br />

as nodes join <strong>and</strong> leave the network “<strong>on</strong> the fly”<br />

whenever there is a need either to transmit data or when<br />

transmissi<strong>on</strong> gets over. These networks do not have a<br />

central authority for the management of the network.<br />

Here hosts rely <strong>on</strong> each other to keep the network<br />

c<strong>on</strong>nected. As the topology of the ad-hoc network is<br />

dynamic <strong>and</strong> every transmissi<strong>on</strong> is <strong>on</strong> the air these<br />

networks become vulnerable to number of attacks <strong>and</strong><br />

security becomes a major issue. In this survey paper we<br />

study the different threats to ad-hoc networks. We try to<br />

provide a brief introducti<strong>on</strong> to the types of attacks <strong>and</strong><br />

possible counter measures to prevent the attacks.<br />

Keyword -: Attacks, Routing, Counter measures<br />

I. INTRODUCTION<br />

AD-HOC networks are a new paradigm of wireless<br />

communicati<strong>on</strong> for mobile hosts or nodes. Node<br />

mobility in an ad-hoc network leads to frequent change<br />

of network topology so there is no fixed infrastructure<br />

or base stati<strong>on</strong>s. Each node communicates directly via<br />

wireless links that are within each other’s radio range.<br />

The military tactical <strong>and</strong> other security- sensitive<br />

operati<strong>on</strong>s are main applicati<strong>on</strong>s although it becomes<br />

attractive opti<strong>on</strong> for commercial uses like sensor<br />

networks or virtual classrooms. The major issue for<br />

both type of communicati<strong>on</strong> networks either wired or<br />

wireless is <strong>Security</strong>. Ad-hoc network pose both<br />

challenges & opportunities in achieving security goals,<br />

such as c<strong>on</strong>fidentiality, authenticati<strong>on</strong>, integrity,<br />

availability, access c<strong>on</strong>trol <strong>and</strong> n<strong>on</strong>-repudiati<strong>on</strong>.<br />

Routing path of the packets over the network is<br />

dynamically set for transmissi<strong>on</strong>. As the nodes move or<br />

adjust their transmissi<strong>on</strong> & recepti<strong>on</strong> parameters, the<br />

network topology may change with time. MANET<br />

poses many features like dynamic topologies, resource<br />

c<strong>on</strong>straints, limited physical security & no<br />

infrastructure. The main challenge is to secure its<br />

communicati<strong>on</strong>. Replicati<strong>on</strong> of <strong>and</strong> new cryptographic<br />

schemes such as threshold cryptography are used to<br />

build highly secure <strong>and</strong><br />

highly available Key management services. Routing<br />

protocols for adhoc network are still under active<br />

research.<br />

Paper is organized in following way.<br />

Secti<strong>on</strong> 2 classifies the attacks <strong>and</strong> vulnerabilities of<br />

various mechanisms. Secti<strong>on</strong> 3 describes various types<br />

of attacks <strong>and</strong> their countermeasures <strong>and</strong> secti<strong>on</strong> 4<br />

c<strong>on</strong>cludes <strong>and</strong> gives the future work to be d<strong>on</strong>e.<br />

II. CLASSIFICATION OF ATTACKS<br />

Author [1] tells about different security mechanisms,<br />

which are related to the kind of the network, which is<br />

c<strong>on</strong>sidered for security.<br />

Author discusses the attacks <strong>on</strong> ad-hoc networks, which<br />

can be broadly classified as:<br />

1. Attacks <strong>on</strong> the basic mechanisms of ad-hoc network<br />

such as Routing <strong>and</strong> these attacks can be prevented<br />

using cryptographic algorithms.<br />

2. Attack <strong>on</strong> security mechanisms <strong>and</strong> key management<br />

mechanisms.<br />

2.1 Vulnerabilities of basic mechanisms:<br />

1. Risk of being captured & compromised: -<br />

terminals are after stolen or tampered with by<br />

rogue users.As communicati<strong>on</strong> is performed over<br />

the air ad-hoc networks become vulnerable to<br />

attacks ranging from eavesdropping to active<br />

interference.<br />

2. Algorithms are assumed to be cooperative i.e. in<br />

the MAC nodes are expected to cooperate.<br />

3. Routing mechanism in ad-hoc networks are more<br />

vulnerable than in c<strong>on</strong>venti<strong>on</strong>al networks<br />

because here each device acts as a relay.<br />

4. Neighbor discovery attack using blue tooth<br />

device as explained in [3]<br />

2.2 Vulnerabilities of the security mechanisms:<br />

As stated in [1] in any network the fundamental<br />

security mechanism requires that the users make use of<br />

appropriate cryptographic keys.<br />

Attacks against security mechanism are as follows:<br />

1. Public keys can be maliciously replaced.<br />

2. Some keys can be compromised<br />

3. If there is a trusted server it can fall under the<br />

c<strong>on</strong>trol of a malicious party<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 68


Proceedings of ICCNS 08 , 27-28 September 2008<br />

III. TYPES OF ATTACKS AND THEIR<br />

COUNTERMEASURES:<br />

Following secti<strong>on</strong>s discuss about the different<br />

types of attacks <strong>on</strong> the basic mechanisms of an adhoc<br />

network, their classificati<strong>on</strong> <strong>and</strong> their<br />

countermeasures.<br />

3.1 Tamper resistance <strong>and</strong> countermeasure<br />

Risk of being captured & compromised: In such<br />

attacks terminals are after stolen or tampered with<br />

by rogue users.<br />

Soluti<strong>on</strong> is to implement the device in tamper<br />

resistant hardware is discussed in [1]. Eg.<br />

Embedding the cryptographic informati<strong>on</strong> in a<br />

smart card, which could be plugged & removed<br />

when desired into & from the node itself. SIM card<br />

works <strong>on</strong> this principle. The advantage of such<br />

cards is that user can change devices while keeping<br />

his data private.<br />

But then implementing smart cards is still not safe<br />

as Smart cards does not have direct input/output<br />

capabilities, does not have it’s own clock, it<br />

becomes vulnerable to attack mounted from a<br />

compromised device in which they are plugged in.<br />

3.2 Routing Based attacks <strong>and</strong> countermeasures<br />

Routing mechanisms as discussed in [1,chap 30]<br />

are more vulnerable in ad-hoc network than in<br />

c<strong>on</strong>venti<strong>on</strong>al network because in ad-hoc networks<br />

each device acts as a relay. Attacks against secure<br />

routing are of two types<br />

3.2.1 Internal attack<br />

Author in [14,15] says that internal attacks are<br />

severe attacks as the malicious node bel<strong>on</strong>gs to the<br />

network as an authorized party <strong>and</strong> is protected by<br />

the security mechanisms offered by the network or<br />

its services. Thus they protect their attack using the<br />

security mechanisms of the network.<br />

Some internal attacks:<br />

a. Some malicious nodes agree to forward<br />

packets but fail to do so <strong>and</strong> soluti<strong>on</strong> to this can be<br />

some entity can be assigned the job of identifying<br />

the misbehaving nodes (watch dog) <strong>and</strong> in charge<br />

of defining the best route circumventing these<br />

nodes (path rater).<br />

b. Routing informati<strong>on</strong> can be outdated <strong>and</strong> the<br />

Routing protocol of ad-hoc networks may have to<br />

cope with outdated routing informati<strong>on</strong> to<br />

accommodate the dynamic changing topology.<br />

False routing informati<strong>on</strong> generated by<br />

compromised nodes may be c<strong>on</strong>sidered as outdated<br />

informati<strong>on</strong>. Soluti<strong>on</strong> to this problem can be<br />

that as l<strong>on</strong>g as number of correct nodes remains<br />

high the routing protocol should be able to find<br />

route that circumvent compromised nodes <strong>and</strong> as it<br />

can find multiple routes nodes can switch to an<br />

alternative route when the primary route appears to<br />

have failed.<br />

c. An attacker can try to modify the c<strong>on</strong>tents of<br />

the routing table <strong>and</strong> may lead to wr<strong>on</strong>g packet<br />

delivery. To avoid such attack it’s better to avoid<br />

routing table <strong>and</strong> forward the packets <strong>on</strong><br />

geographic informati<strong>on</strong>. This requires that ach<br />

node is aware of its own geographic positi<strong>on</strong> <strong>and</strong><br />

can share it with others.<br />

3.2.2 External attack<br />

External attacks are well discussed in [8] are<br />

typical active attacks <strong>and</strong> are targeted to cause<br />

c<strong>on</strong>gesti<strong>on</strong>, propagate incorrect routing<br />

informati<strong>on</strong>, prevent services from working<br />

properly or shut the down completely. These<br />

attacks can be prevented by using security<br />

mechanisms such as firewalls, encrypti<strong>on</strong> etc.<br />

External attacks are further divided in to active <strong>and</strong><br />

passive attacks<br />

3.2.2.1 Active attacks<br />

Performed by adversaries for replicating,<br />

modifying <strong>and</strong> deleti<strong>on</strong> of exchanged data. They<br />

try to change the behavior of the protocol. These<br />

attacks from attackers are meant to degrade or<br />

prevent message flow between the nodes. Such<br />

attacks collectively can be called as DOS attacks<br />

that either degrade or completely halt the<br />

communicati<strong>on</strong> between the nodes. Another type of<br />

attack involves inserti<strong>on</strong> of extraneous packets in<br />

the network to cause c<strong>on</strong>gesti<strong>on</strong>. Outdated routing<br />

informati<strong>on</strong> can be replayed back to the nodes in<br />

the network passing them outdated routing<br />

informati<strong>on</strong>. Active attacks can be detected<br />

sometimes <strong>and</strong> this reas<strong>on</strong> makes active attack less<br />

used by an attacker.<br />

Some types of active attacks are [8]:<br />

1. Black hole attack: - where a malicious node<br />

uses the routing protocol to advertise itself<br />

as having the shortest path to the node<br />

whose packets it wants to intercept<br />

2. Routing table overflow: An attacker tries to<br />

modify the routing table by attempting to<br />

create routes to n<strong>on</strong>existent nodes.<br />

3. Sleep deprivati<strong>on</strong> attack: -attacker<br />

c<strong>on</strong>tinuously talks to a node till its battery<br />

exhausts <strong>and</strong> it become disable.<br />

4. Locati<strong>on</strong> disclosure: -This type of attack can<br />

try to reveal about the locati<strong>on</strong> s of the<br />

nodes.<br />

3.2.2.2 Passive attacks<br />

As discussed in [8] this type of attack involves<br />

unauthorized listening of the routing packets.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 69


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Attacker may eavesdrop <strong>on</strong> all the routing updates.<br />

In this case an attacker does not disrupt the<br />

operati<strong>on</strong> of a routing protocol rather it <strong>on</strong>ly listens<br />

to it to discover the valuable informati<strong>on</strong> about the<br />

routing. Such attacks are difficult to be detected.<br />

From the routing packets as attacker may<br />

underst<strong>and</strong> abut a node which is important in the<br />

network <strong>and</strong> route to that node is requested by<br />

every other node I the network very often. So an<br />

attacker tries to disable this node to bring the<br />

network down. Includes Covert channels, Traffic<br />

analysis, Shifting to compromised keys.<br />

3.3 Neighbor discovery attack:<br />

Attack against Blue tooth in a blue tooth<br />

framework is well explained in [3]. Weakness in<br />

protocols can be exploited to perform malicious<br />

neighbor discovery.<br />

An attacker in this case forces a victim node to<br />

unveil private data such as its identity. Many<br />

soluti<strong>on</strong>s that rely <strong>on</strong> the home network operators<br />

are proposed but problem has hot been solved yet.<br />

In [3] author well explains how a blue tooth<br />

framework victim is observed by a set of attackers<br />

in the network. Soluti<strong>on</strong> to this is that if the identity<br />

of a device changes for each sessi<strong>on</strong> it becomes<br />

difficult for an attacker to trace the locati<strong>on</strong> of the<br />

victim. Definitely it increases the complexity of<br />

addressing schemes.<br />

3.4 DOS Attacks<br />

These attacks are well discovered in [1 <strong>and</strong> 8].<br />

they c<strong>on</strong>stitutes of flooding any centralized<br />

resource so that it does not operate correctly <strong>and</strong><br />

finally crashes. But this technique is not suitable to<br />

ad- hoc networks because of the distributed<br />

processing. In ad-hoc networks the techniques,<br />

which work are Radio jamming <strong>and</strong> Battery<br />

Exhausti<strong>on</strong>. Following subsecti<strong>on</strong>s throw a light <strong>on</strong><br />

such types of attacks<br />

3.4.1 Jamming the radio Frequencies<br />

Attack by jamming the radio frequencies, which<br />

are used. Services to the nodes can be denied. Such<br />

mechanisms are used by military people <strong>and</strong> less<br />

relevant to the commercial world.<br />

3.4.2 Battery exhausti<strong>on</strong><br />

A malicious user may interact with a node in a<br />

legitimate way to just to c<strong>on</strong>sume its battery<br />

energy. In Pico net nodes are often kept in sleep<br />

mode in which they <strong>on</strong>ly listen for radio signals<br />

<strong>on</strong>ce in a while. An attacker c<strong>on</strong>tinues to talk till<br />

the battery runs out & <strong>on</strong>ce it runs out it stops &<br />

walks away leaving the node disabled. This<br />

technique is called sleep deprivati<strong>on</strong> torture<br />

attack.<br />

3.4.3 Byzantine failure<br />

Compromised nodes are capable of rec<strong>on</strong>figuring<br />

the routing protocol either or they can send the<br />

routing informati<strong>on</strong> very frequently causing<br />

c<strong>on</strong>gesti<strong>on</strong> <strong>and</strong> preventing nodes from gaining new<br />

informati<strong>on</strong> about the change of the topology of the<br />

network. Worst case is when an attacker can<br />

change the routing protocol such hat it operates the<br />

way the attacker wants. If such attacks are not<br />

detected the c<strong>on</strong>sequences may be severe as the<br />

network seems to operate normally. This type of<br />

invalid operati<strong>on</strong> of the network because of the<br />

malicious nodes is called a Byzantine Failure<br />

3.5 Disclosure:<br />

Authors in [1 <strong>and</strong> 8] explain how Sensitive <strong>and</strong><br />

c<strong>on</strong>fidential informati<strong>on</strong> must be protected against<br />

eavesdropping <strong>and</strong> at the same time the critical<br />

data must be protected from unauthorized access<br />

which can disclose the status details of a node,<br />

private or secret keys or passwords etc.<br />

3.6 Attacks <strong>on</strong> informati<strong>on</strong> in transit:<br />

Enemy nodes/attacker can exploit the<br />

informati<strong>on</strong> carried in the routing packets to launch<br />

attacks. These attackers can corrupt the<br />

informati<strong>on</strong>, disclose the sensitive informati<strong>on</strong>.<br />

Theft of legitimate services from other protocols<br />

can also be d<strong>on</strong>e [8].<br />

Threat to informati<strong>on</strong> in transit includes:<br />

3.6.1 Interrupti<strong>on</strong><br />

Flow of routing packets specially route<br />

discovery <strong>and</strong> updates can be interrupted by<br />

malicious nodes.<br />

3.6.2 Intercepti<strong>on</strong> <strong>and</strong> subversi<strong>on</strong><br />

Routing protocol traffic a c<strong>on</strong>trol messages can<br />

be deflected <strong>and</strong> rerouted.<br />

3.6.3 Modificati<strong>on</strong><br />

Routing protocol packets can be modified. False<br />

routing messages can be propagated leading to<br />

bypassing the legitimate nodes.<br />

3.6.4 Fabricati<strong>on</strong><br />

This attack is more like modificati<strong>on</strong> where a<br />

malicious user can insert false route in to a<br />

legitimate protocol packet.<br />

3.7 Attacks <strong>on</strong> protocol layers:<br />

As analyzed in [7, 8, 9, 10, 11, 12, <strong>and</strong> 13]<br />

different layers of the protocol stack face the<br />

attacks, which are enlisted below of which we have<br />

discussed most in the previous sub secti<strong>on</strong>s of the<br />

paper. Counter measures to some of the attack<br />

layer wise are discussed in the next secti<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 70


Proceedings of ICCNS 08 , 27-28 September 2008<br />

LAYERS<br />

Applicati<strong>on</strong><br />

Transport<br />

Network<br />

Data link<br />

layer<br />

Physical<br />

Multi layer<br />

ATTACKS<br />

Repudiati<strong>on</strong>, data corrupti<strong>on</strong><br />

Sessi<strong>on</strong> hijacking’s flooding<br />

Wormhole, Black hole, Byzantine,<br />

Flooding,<br />

Resource c<strong>on</strong>sumpti<strong>on</strong>, Locati<strong>on</strong><br />

disclosure attacks<br />

Traffic analysis, M<strong>on</strong>itoring,<br />

Disrupti<strong>on</strong> MAC (802.11) WEP<br />

weakness<br />

Jamming, Intercepti<strong>on</strong>s,<br />

Eavesdropping<br />

DOS, Impers<strong>on</strong>ati<strong>on</strong>, Replay, manin-the-middle<br />

3.8 Countermeasures <strong>on</strong> attacks <strong>on</strong> protocol<br />

layers:<br />

3.8.1 Physical Layer<br />

At this layer we can use spread spectrum<br />

technology such as frequency hoping (FHSS) &<br />

direct sequence (DSSS). It changes frequency in<br />

r<strong>and</strong>om fashi<strong>on</strong> to make signal capture difficult It<br />

also minimizes the potential for interference from<br />

other radio & electromagnetic devices [10].<br />

3.8.2 Link Layer<br />

Traffic analysis is prevented by encrypti<strong>on</strong> at<br />

data link layer. WEP has been widely criticized. A<br />

dynamic mix method is used to hide the source &<br />

destinati<strong>on</strong> informati<strong>on</strong> during message delivery<br />

via cryptography method & to “mix” nodes in the<br />

network [12]<br />

3.8.3 Network Layer<br />

The sector mechanism is based <strong>on</strong> distance<br />

bounding techniques, <strong>on</strong>e-way hash chains &<br />

Merkle hash tree security aware ad-hoc routing<br />

protocol (SAR) can be used to defend against black<br />

hole attacks ARAN can be used to defend against<br />

impers<strong>on</strong>ati<strong>on</strong> & repudiati<strong>on</strong> attacks. <strong>Security</strong><br />

protocol SEAD is used against modificati<strong>on</strong> attacks<br />

[13]. Directi<strong>on</strong>al antennas [11] are also proposed as<br />

a counter measure against wormhole attacks.<br />

3.8.4 Transport Layer<br />

Point to point or end-to-end encrypti<strong>on</strong> provides<br />

message c<strong>on</strong>fidentiality at or above the transport<br />

layer in two end systems.<br />

3.8.5 Applicati<strong>on</strong> Layer<br />

Applicati<strong>on</strong> layer firewalls can effectively<br />

prevent many attacks & applicati<strong>on</strong> specific<br />

modules .An intrusi<strong>on</strong> detecti<strong>on</strong> system (IDS) can<br />

be used as sec<strong>on</strong>d line of defense.<br />

3.8.6 Multi Layer<br />

End to end authenticati<strong>on</strong> may prevent DOS<br />

attacks.<br />

IV. CONCLUSION<br />

In this paper we have surveyed the various<br />

categories of threats to the ad-hoc networks. As ad<br />

hoc networks are vulnerable to many types of<br />

attacks. <strong>Security</strong> of this network is a major issue.<br />

Many researchers are trying to prevent the attacks<br />

d<strong>on</strong>e <strong>on</strong> ad-hoc networks at various levels. A<br />

variety of such attacks have been discussed. Here<br />

we focus <strong>on</strong> the currently used security<br />

countermeasures to defend against these attacks .A<br />

lot of research is still being carried out to identify<br />

new threats to ad-hoc networks & securing them<br />

.<br />

REFERENCES:<br />

[1] Jean-Pierre Hubaux,Levente Buttyyan, Srdan<br />

Capkun, The Quest for <strong>Security</strong> in Mobile Ad-hoc<br />

<strong>Networks</strong>.<br />

[2] R.Anders<strong>on</strong> And M.Kuhn.Tamper, Resistence-A<br />

Cauti<strong>on</strong>ary Note. In Proceedings Of The Sec<strong>on</strong>d<br />

Usenix Workshop On Electr<strong>on</strong>ic Commerce,<br />

1996.<br />

[3] M.Jacobss<strong>on</strong> And S Wetzel.<strong>Security</strong> Weaknesses<br />

In Bluetooth.Technical Report,Bell Labs,January,<br />

2001.<br />

[4] F. Stajano And R. Anders<strong>on</strong>, The Resurrecting<br />

Duckling: <strong>Security</strong> Issues For Ad-Hoc Wireless<br />

<strong>Networks</strong> In Proceedings Of The 7 th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

Workshop On <strong>Security</strong> Protocols, 1999.<br />

[5] Y . Zhang And W .Lee, Intrusi<strong>on</strong> Detecti<strong>on</strong> In<br />

The Wireless Ad-Hoc <strong>Networks</strong>. In Proceedings<br />

of MOBICOM, 2000.<br />

[6] L. Zhou And Z. Haas, Securing Ad-hoc <strong>Networks</strong>.<br />

IEEE Network, 13(6): 24-30,<br />

November/December 1999.<br />

[7] A. Tanenbaum, <strong>Computer</strong> <strong>Networks</strong>, PH PTR,<br />

2003.<br />

[8] M. Ilyas, The H<strong>and</strong>book Of Ad-Hoc Wireless<br />

<strong>Networks</strong>, CRC Press, 2003.<br />

[9] R. Opplinger, Internet And Intranet <strong>Security</strong>,<br />

Artech House, 1998.<br />

[10] W. Stallings, Wireless Communicati<strong>on</strong> And<br />

<strong>Networks</strong>, Pears<strong>on</strong> Educati<strong>on</strong>, 2002.<br />

[11] L.Hu And D. Evans, Using Directi<strong>on</strong>al Antennas<br />

To Prevent Wormhole Attacks.Pro Of <strong>Networks</strong><br />

And Distributed System <strong>Security</strong> Symposium<br />

(NDSS).<br />

[12] T.Karygiannis And L.Owens, Wireless Network<br />

<strong>Security</strong>-802.11, Bluetooth And H<strong>and</strong>held<br />

Devices. Nati<strong>on</strong>al Institute Of St<strong>and</strong>ards And<br />

Technology. Technology Administrati<strong>on</strong>, U.S<br />

Department Of Commerce, Special Publicati<strong>on</strong><br />

800-848,2002.<br />

[13] S.Capkun, L.Buttyan And J.Hubaux, Sector:<br />

Secure Tracking Of Node Encounters In Multi-<br />

Hop Wireless <strong>Networks</strong>.Proc Of The ACM<br />

Workshop On <strong>Security</strong> Of Ad- Hoc <strong>and</strong> sensor<br />

networks, 2003.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 71


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[14] The Terminodes project.www.terminodes.org<br />

[15] S.marti. T.Giuli, K. Lai, <strong>and</strong> M.Baker, Mitigating<br />

routing misbehavior in mobile ad-hoc<br />

networks.in proc. Of MOBICOM, 2000<br />

[16] Bing Wu, Jianmin Chen, Jie Wu, Mihaela Cardei,<br />

A survey <strong>on</strong> attacks <strong>and</strong> countermeasures in<br />

Mobile Ad-hoc networks, 2006.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 72


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Statistical based anomaly detecti<strong>on</strong> technique<br />

for detecting intrusi<strong>on</strong>s in Snort N-IDS<br />

Sumithra Devi K A, Andhe Dharani, Renuka Prasad B, Akshay L Marathe<br />

Abstract— C<strong>on</strong>venti<strong>on</strong>al firewall <strong>and</strong> intrusi<strong>on</strong> detecti<strong>on</strong> systems<br />

(IDS) are used to detect possible attacks from the network, they often<br />

make wr<strong>on</strong>g decisi<strong>on</strong>s <strong>and</strong> abort the safe c<strong>on</strong>necti<strong>on</strong>s. Snort , a free<br />

<strong>and</strong> open source distributi<strong>on</strong>, an IDS, that detects attacks against a<br />

computer or network, <strong>and</strong> let us know when the attacks occur<br />

through detecting attacks, enforcing policies, providing an audit trail<br />

<strong>and</strong> resource justificati<strong>on</strong>. In this paper a novel system is presented<br />

which is an analyzer for intrusi<strong>on</strong> detecti<strong>on</strong> systems for network <strong>on</strong><br />

Snort. In Snort the draw backs are there is can be detecti<strong>on</strong> <strong>on</strong> attacks<br />

which can be false, the analysis is static <strong>and</strong> there is no reliable<br />

security of data. In this paper were are discussing a system which is a<br />

statistical analyzer where we are trying to take care of three added<br />

thing <strong>on</strong> Snort – reduce the false alarm rates <strong>and</strong> dynamic analysis<br />

rather than static.<br />

C<br />

Keywords—Snort, IDS, false alarm rate, statistical analyzer<br />

I. INTRODUCTION<br />

omputers today are no l<strong>on</strong>ger used as st<strong>and</strong>al<strong>on</strong>e units.<br />

More often, they are networked into large distributed<br />

systems where each individual computer can use applicati<strong>on</strong>s<br />

which are distributed throughout the system <strong>and</strong> shares<br />

resources with all the other subsystems [1]. The potential<br />

damage that can be inflicted by attacks launched over the<br />

internet keeps increasing due to a growing reliance <strong>on</strong> the<br />

internet <strong>and</strong> more extensive c<strong>on</strong>nectivity. Intrusi<strong>on</strong> detecti<strong>on</strong><br />

systems have become an essential comp<strong>on</strong>ent of computer<br />

security to detect attacks that occur despite the best<br />

preventative measures. Comprehensive discussi<strong>on</strong>s of<br />

alternate approaches to intrusi<strong>on</strong> detecti<strong>on</strong> are available in [2,<br />

3, 4].<br />

computer <strong>and</strong> network system are c<strong>on</strong>cerned, IDS is a<br />

software system which detects the evil attacks from outside<br />

illegal intruders <strong>and</strong> the illegal behavior of inner users when<br />

they exceed their authority [5]. A typical IDS c<strong>on</strong>sists of the<br />

following parts: event generator, event analyzer, resp<strong>on</strong>se<br />

units <strong>and</strong> event databases. The data are exchanged by<br />

Gidos_generalized intrusi<strong>on</strong> detecti<strong>on</strong> object [6] between the<br />

parts. Network intrusi<strong>on</strong> detecti<strong>on</strong> systems are the kind of IDS<br />

resp<strong>on</strong>sible for detecting attacks related to the network. One<br />

point of discordance is where it should be deployed. You may<br />

encounter network topology where it is before a firewall, <strong>and</strong><br />

you may find it after a firewall.<br />

Once an adversary is detected event generators obtain the<br />

required informati<strong>on</strong> <strong>and</strong> transform it into st<strong>and</strong>ard format.<br />

Respectively event analyzers analyze the data <strong>and</strong> generate<br />

Gidos. Gidos are processed by resp<strong>on</strong>se units. Event databases<br />

store the events <strong>and</strong> Gidos. Current network intrusi<strong>on</strong><br />

detecti<strong>on</strong> systems often work as misuse detectors, where the<br />

packets in the m<strong>on</strong>itored network are compared against a<br />

repository of signatures that define characteristics of an<br />

intrusi<strong>on</strong>. Successful matching fires an alert. Generally, a<br />

good signature must be narrow enough to capture precisely<br />

the characteristic aspects of adversaries. At the same time, it<br />

should be flexible enough to capture variati<strong>on</strong>s of attacks.<br />

Failure in any way may lead to either large amounts of false<br />

positives or false negatives [7]. Figure 1 clarifies the system<br />

in more detail<br />

A. Intrusi<strong>on</strong> Detecti<strong>on</strong> System<br />

Intrusi<strong>on</strong> detecti<strong>on</strong> technology in general helps find out the<br />

illegal intrusi<strong>on</strong>s from inside <strong>and</strong> outside by tracking the<br />

intruders’ trail, such as the records of failure access trails. It<br />

acts as an active defense against illegal intrusi<strong>on</strong>s. Thus it<br />

plays an important role in network security. As far as the<br />

Prof. K.A.Sumithra devi is with R.V.College of Enginerring, Head of the<br />

Department, Dept of MCA, Bangalore – 560059, India, ph<strong>on</strong>e: 091-80-<br />

9945004632; fax: 091-80-28600337; e-mail: sumithraka@gmail.com).<br />

Andhe Dharani, Asst. Professor, is with R. .V .College of Engineering, She<br />

is Asst. Professor of Department of MCA, Bangalore – 560 059, INDIA.<br />

Renuka Prasad B, is with R. .V .College of Engineering, Lecturer of<br />

Department of MCA, Bangalore – 560 059, INDIA<br />

Akshay L Marathe, is with R. .V .College of Engineering, Department of<br />

MCA, Bangalore – 560 059, INDIA<br />

Fig. 1. Basic Intrusi<strong>on</strong> Detecti<strong>on</strong> System<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 73


Proceedings of ICCNS 08 , 27-28 September 2008<br />

An IDS before the firewall is an Attack detecti<strong>on</strong> <strong>and</strong> after the<br />

firewall is Intrusi<strong>on</strong> detecti<strong>on</strong>. In a switched network, since<br />

we d<strong>on</strong>'t have broadcasting, we have two better opti<strong>on</strong>s <strong>on</strong><br />

deploying the NIDS, using a hub to force a broadcast or using<br />

a mirroring-port in the switch.<br />

Types of IDS<br />

• Based <strong>on</strong> Architecture<br />

• NIDS – Network IDS<br />

• HIDS – Host IDS<br />

• Hybrid IDS<br />

• Based <strong>on</strong> Detecti<strong>on</strong> Methodology<br />

• Misuse Detecti<strong>on</strong><br />

• Anomaly Detecti<strong>on</strong><br />

Shortfall of an IDS<br />

Accepted traffic can have intrusi<strong>on</strong>s<br />

Insider attackers are comm<strong>on</strong><br />

Detecti<strong>on</strong> of abnormal behaviour<br />

Nowadays every<strong>on</strong>e is working <strong>on</strong> open source software.<br />

Open access, open source software, <strong>and</strong> open st<strong>and</strong>ards are<br />

three c<strong>on</strong>cepts that have been receiving increased attenti<strong>on</strong><br />

lately in today’s world. Open access is seen by some as a<br />

possible soluti<strong>on</strong> to the increasing price of serials <strong>and</strong> as a<br />

way for governmental funding agencies to receive a better<br />

return <strong>on</strong> investment. Open source software can benefit by<br />

lowering initial <strong>and</strong> <strong>on</strong>going costs, eliminating vendor lock-in,<br />

<strong>and</strong> allowing for greater flexibility. With the existing trend of<br />

using open source software <strong>and</strong> the internet soluti<strong>on</strong>s, it is<br />

very important to have an IDS which works <strong>on</strong> the open<br />

source. The soluti<strong>on</strong> to this is Snort [8].<br />

B. Snort<br />

Snort is an open source Network Intrusi<strong>on</strong> Detecti<strong>on</strong> System<br />

(NIDS) which is available free of cost. NIDS is the type of<br />

Intrusi<strong>on</strong> Detecti<strong>on</strong> System (IDS) that is used for scanning<br />

data flowing <strong>on</strong> the network. There are also host-based<br />

intrusi<strong>on</strong> detecti<strong>on</strong> systems, which are installed <strong>on</strong> a particular<br />

host <strong>and</strong> detect attacks targeted to that host <strong>on</strong>ly. Although all<br />

intrusi<strong>on</strong> detecti<strong>on</strong> methods are still new, Snort is ranked<br />

am<strong>on</strong>g the top quality systems available today [9]. When used<br />

with Snort can prevent engine from ever seeing the packets.<br />

Comp<strong>on</strong>ents of Snort<br />

Snort is logically divided into multiple comp<strong>on</strong>ents. These<br />

comp<strong>on</strong>ents work together to detect particular attacks <strong>and</strong> to<br />

generate output in a required format from the detecti<strong>on</strong><br />

system. A Snort-based IDS c<strong>on</strong>sists of the following major<br />

comp<strong>on</strong>ents:<br />

• Packet Decoder<br />

• Preprocessors<br />

• Detecti<strong>on</strong> Engine<br />

• Logging <strong>and</strong> Alerting System<br />

• Output Modules<br />

Fig.2. shows how these comp<strong>on</strong>ents are arranged. Any data<br />

packet coming from the Internet enters the packet decoder. On<br />

its way towards the output modules, it is either dropped,<br />

logged or an alert is generated.<br />

Fig. 2. Comp<strong>on</strong>ents of Snort<br />

Snort, essentially works <strong>on</strong> detecti<strong>on</strong> methods like signature<br />

detecti<strong>on</strong>, misuse detecti<strong>on</strong> <strong>and</strong> anomaly detecti<strong>on</strong>. Snort can<br />

be run as a daem<strong>on</strong> or as a super packet sniffer. It can also be<br />

utilized as a firewall to c<strong>on</strong>trol the network traffic. Snort is<br />

c<strong>on</strong>figurable. It is widely used <strong>and</strong> is c<strong>on</strong>stantly updated.<br />

Also, runs <strong>on</strong> multiple platforms. For a dual processor system,<br />

a different instance of Snort can run <strong>on</strong> each processor. Snort<br />

is modular <strong>and</strong> scalable. Snort, internally uses tcpdump <strong>and</strong><br />

libpcap/Winpcap libraries to capture network traffic, which<br />

are then decoded by packet decoder , preprocessed(using<br />

rules) ,<strong>and</strong> intrusi<strong>on</strong>s, if any, are detected. An alert is<br />

generated <strong>and</strong> logged for such an intrusi<strong>on</strong>. These alerts give<br />

informati<strong>on</strong> <strong>on</strong> the kind of attack, source IP, destinati<strong>on</strong> IP<br />

etc. Log entries illustrate the actual packets of the attack,<br />

showing MAC addresses, packet payload, timestamp <strong>and</strong> TCP<br />

flags. These entries can be ported to a database for further<br />

analysis.<br />

II. IMPLEMENTATION<br />

The current scenario in snort with its drawbacks -<br />

• Snort Doesn’t Provide Statistical Profiler.<br />

• Uses static data <strong>and</strong> works heuristically.<br />

• Analysis is made <strong>on</strong> Dumped data.<br />

In our paper we are taking care of these drawbacks by<br />

c<strong>on</strong>sidering a statistical analyzer. Figure 3 gives the block<br />

diagram of a complete N-IDS c<strong>on</strong>sisting of Snort <strong>and</strong><br />

statistical analyzer implemented in our system<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 74


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. Learning Phase.<br />

In learning phase System analyze the network traffic <strong>and</strong><br />

obtains a normal event data (St<strong>and</strong>ard data)further used for<br />

testing in detecti<strong>on</strong> phase, or <strong>on</strong>e can skip this phase <strong>and</strong> take<br />

st<strong>and</strong>ard data obtained from l<strong>on</strong>g-term analysis. Below table<br />

1. shows the parameters taken for the time ^ t <strong>and</strong> the mean<br />

data obtained which is analyzed to get the st<strong>and</strong>ard data to be<br />

analyzed with the respective parameters in the detecti<strong>on</strong> phase<br />

Fig. 3. Block diagram of Snort N-IDS Model <strong>and</strong> statistical<br />

analyzer<br />

TRAINING AND TESTING DATA<br />

For intrusi<strong>on</strong> detecti<strong>on</strong>, we want to build a l<strong>on</strong>g term profile of<br />

normal events <strong>and</strong> to compare events in the recent past to the<br />

l<strong>on</strong>g-term norm profile for detecting a significant departure.<br />

Audit data of normal events are required for training the norm<br />

profile. In this study, we use a sample of audit data for normal<br />

events that is developed by the CDAC (Center for). The<br />

sample c<strong>on</strong>tains a stream of 3000 audit<br />

Table 1. Mean data analyzed for the parameters for a<br />

given time.<br />

Some of the Parameters C<strong>on</strong>sidered in our work are<br />

TCP, UDP, ARP, IP, ICMP, HTTP, HTTPS, TELNET,<br />

SSHP, SMTP, SNMP, DNS, DHCP, FTP, NETBIOS,<br />

HTTPSIZ, TEL-SIZ, SSH-SIZ, SMTP-SIZ, SNMP-SIZ,<br />

DNS-SIZ, HTTPS-SIZ, FRGCNT, I-OCNT, O-ICNT,<br />

CNTRLCNT, IPBCAST, ARPBCAST, CONNERQ<br />

MySQL Tables<br />

Data Reference_system<br />

Detail Schema<br />

Encoding Sensor<br />

Event<br />

Icmphdr<br />

Iphdr<br />

Opt<br />

Sig_class<br />

Sig_reference<br />

Signature<br />

Tcphdr<br />

Reference Udphdr<br />

Table 2. St<strong>and</strong>ard data ready for analysis of the Means<br />

with respect to the parameters<br />

B. Detecti<strong>on</strong> Phase<br />

There are different statistical methods available. The best<br />

suited distributi<strong>on</strong> taken for the analysis is Chi-Square<br />

Distributi<strong>on</strong> <strong>and</strong> Fisher’s Index Number.<br />

Chi-Square Distributi<strong>on</strong>:<br />

Hotelling's T 2 [10] multi variate statistic is a measure of the<br />

statistical distance from an observati<strong>on</strong> to the mean estimate<br />

of the multivariate normal distributi<strong>on</strong>, we develop a distance<br />

measure based <strong>on</strong> a chi-square test statistic as follows:<br />

STATISTICAL TECHNIQUE<br />

The analysis process is split into two categories to achieve<br />

better results <strong>and</strong> make the system to work dynamically; those<br />

are Learning Phase <strong>and</strong> Detecti<strong>on</strong> Phase.<br />

Mi is the observed value of the ith variable, Ei is the expected<br />

value of the ith variable <strong>and</strong> n is the number of variables. X 2 is<br />

small if an observati<strong>on</strong> of the variables is close to the<br />

expectati<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 75


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fisher’s Index Number<br />

The test is used to examine the significance of the associati<strong>on</strong><br />

between two variables i.e the number of parameters <strong>and</strong> time<br />

in a 2 x 2 c<strong>on</strong>tingency table. The p-value from the test is<br />

computed as if the margins of a 2 by 2 table are fixed. As<br />

pointed out by Fisher, this leads under a null hypothesis of<br />

independence to use of the hypergeometric distributi<strong>on</strong> for a<br />

given count in the table.From the hypergeometric distributi<strong>on</strong>,<br />

the probability of obtaining the values are<br />

P= (t n +p n ) !<br />

dem<strong>on</strong>strated the promising performance of this technique<br />

for intrusi<strong>on</strong> detecti<strong>on</strong> in terms of a low false alarm rate <strong>and</strong><br />

a high detecti<strong>on</strong> rate. Intrusive events were detected at a very<br />

early stage. Table 3 <strong>and</strong> 4 gives the data informati<strong>on</strong> <strong>and</strong> the<br />

results.<br />

n!t n !p n !<br />

The hypothesis implemented is as follows<br />

Hypothesis:<br />

H0 : Normal proper Alarm.<br />

H1 : False Alarm.<br />

H0 v/s H1<br />

If (H0 < №) Accept<br />

Hypothesis<br />

Else Reject Hypothesis<br />

Fig. 4. Working Of Snort IDS.<br />

The algorithm used for implementati<strong>on</strong> is as follows:<br />

C. ALGORITHM<br />

1. Start<br />

2. Capture Data From Network using Snort.<br />

3. Port data to MySQL using Snort C<strong>on</strong>nectivity's.<br />

4. Obtain data* for analysis from MySQL DB using<br />

mysql++ c<strong>on</strong>nector<br />

5. Using chi-square check for the acceptance or<br />

rejecti<strong>on</strong> of hypothesis<br />

6. Using the variati<strong>on</strong>s obtained in chi-square analyze<br />

the same data set by Fisher’s index number<br />

7. If hypothesis is rejected in both the cases, then<br />

raise an alarm<br />

8. Else no alarm<br />

9. C<strong>on</strong>tinue till log-off<br />

10. Stop<br />

Fig.5. Sample Rule<br />

III. RESULTS AND CONCLUSIONS<br />

An intrusi<strong>on</strong> into an informati<strong>on</strong> system compromises its<br />

security (e.g. availability, integrity <strong>and</strong> c<strong>on</strong>fidentiality)<br />

through a series of events in the informati<strong>on</strong> system.<br />

Intrusive events often show departures (anomalies) from<br />

normal events in an informati<strong>on</strong> system. This paper presents<br />

an anomaly detecti<strong>on</strong> technique based <strong>on</strong> a chi-square<br />

statistic. This technique builds a profile of normal events in<br />

an informati<strong>on</strong> system --a norm profile computes the<br />

departure of events in the recent past from the norm profile<br />

<strong>and</strong> detects a large departure as an anomaly --a likely<br />

intrusi<strong>on</strong>. This technique was tested for its performance in<br />

distinguishing normal events from intrusive events in an<br />

informati<strong>on</strong> system. Fig 4 shows the working of Snort IDS<br />

<strong>and</strong> figure 5 gives a sample rule d<strong>on</strong>e <strong>on</strong> the IDS <strong>and</strong> figure 6<br />

gives the detected alert of the rule. The test results<br />

Fig.6. An Detected Alert<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 76


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Table 3. Test run <strong>on</strong> the days <strong>and</strong> the related informati<strong>on</strong><br />

Table 4. Statistical Analysis Report <strong>on</strong> the normal <strong>and</strong> attack data<br />

Fig. 7. Performance of detecti<strong>on</strong> of the false alarm rate by the<br />

algorithm<br />

.<br />

REFERENCES<br />

[1] Dobry R. <strong>and</strong> Schanken M.D., “<strong>Security</strong> C<strong>on</strong>cerns for distributed<br />

Systems”. Nati<strong>on</strong>al <strong>Security</strong> Agency, Fort Meade, MD 20755-6000,<br />

IEEE 1994.<br />

[2] J. Allen, A. Christie, W. Fithen, J. McHugh, J. Pickel, E. St<strong>on</strong>er, State of<br />

the Practice of Intrusi<strong>on</strong> Detecti<strong>on</strong> Technologies, Carnegie Mell<strong>on</strong><br />

University/Software Engineering Institute Technical Report CMU/SEI-<br />

99-TR-028, January 2000.<br />

[3] E. G. Amoroso, Intrusi<strong>on</strong> Detecti<strong>on</strong>: An Introducti<strong>on</strong> to Internet<br />

Surveillance, Correlati<strong>on</strong>, Trace Back, Traps, <strong>and</strong> Resp<strong>on</strong>se,<br />

Intrusi<strong>on</strong>.Net Books, 1999.<br />

[4] Steven Northcutt, Network Intrusi<strong>on</strong> Detecti<strong>on</strong>; An Analysis H<strong>and</strong>book,<br />

New Riders Publishing, Indianapolis, 1999.<br />

[5] Zhengjun T., “The design <strong>and</strong> implement of Network industry”.<br />

Published by. 4.2002.<br />

[6] D<strong>on</strong>ghai H., Chao W. <strong>and</strong> Li Q., “Example Anatomy of IDS”. Published<br />

by Tsinghua University 5.2002.<br />

[7] Kreibich C. <strong>and</strong> Crowcroft J., “H<strong>on</strong>eycomb: Creating Intrusi<strong>on</strong><br />

Detecti<strong>on</strong> Signatures Using H<strong>on</strong>ey pots”. ACM SIGCOMM <strong>Computer</strong><br />

Communicati<strong>on</strong>s Review, Volume 34, Number1: January 2004.<br />

[8] Edward M. Corrado, “The Importance of Open Access, Open Source,<br />

<strong>and</strong> Open St<strong>and</strong>ards for Libraries”, Issues in Science <strong>and</strong> Technology<br />

Librarianship, Spring 2005<br />

[9] Rafeeq Ur Rehman, “Introducti<strong>on</strong> to Intrusi<strong>on</strong> Detecti<strong>on</strong> <strong>and</strong> Snort”,<br />

ISBN 0-13-140733-3, 2003 Pears<strong>on</strong> Educati<strong>on</strong>, Inc. Publishing as<br />

Prentice Hall PTR, Upper Saddle River, New Jersey 07458<br />

[10] [ Javitz HS, Valdes A, “The NIDES statistical comp<strong>on</strong>ent descripti<strong>on</strong> of<br />

justificati<strong>on</strong>”,. Technical Report A010, SRI <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g>, Menlo Park,<br />

CA, March 1994.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 77


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Applying Knowledge Discovery in Database<br />

Techniques in Modeling Packet Header<br />

Anomaly Intrusi<strong>on</strong> Detecti<strong>on</strong> Systems<br />

Solahuddin B Shamsuddin, <strong>and</strong> Mike E Woodward<br />

Abstract—This paper describes packet header anomaly intrusi<strong>on</strong><br />

detecti<strong>on</strong> system modeling. The essence of the discussi<strong>on</strong> in this<br />

paper is <strong>on</strong> applying knowledge discovery in database technique to<br />

produce expert producti<strong>on</strong> rules which is <strong>on</strong>e of the main comp<strong>on</strong>ent<br />

of our model which we call as Protocol based Packet Header<br />

Anomaly Detector (PbPHAD) Intrusi<strong>on</strong> Detecti<strong>on</strong> System. PbPHAD<br />

is designed to detect the anomalous behaviour of network traffic<br />

packets based <strong>on</strong> three specific network <strong>and</strong> transport layer protocols<br />

namely UDP, TCP <strong>and</strong> ICMP to identify the degree of maliciousness<br />

from a set of detected anomalous packets identified from the sum of<br />

statistically modelled individually rated anomalous field values.<br />

Keywords— Anomaly, Intrusi<strong>on</strong> Detecti<strong>on</strong> Systems, Knowledge<br />

Discovery in Database, Expert Producti<strong>on</strong> Rules.<br />

I<br />

I. INTRODUCTION<br />

ntrusi<strong>on</strong> Detecti<strong>on</strong> Systems (IDS) has been part <strong>and</strong> parcel<br />

of essential key comp<strong>on</strong>ents of an overall security<br />

architecture in any computer network [1]. A significant<br />

number of research efforts have been geared in this area<br />

especially in the design <strong>and</strong> development of anomaly based<br />

IDS as this model has emerged to be a more promising model<br />

in detecting unknown attacks or more popularly known as zero<br />

day attacks which could come from any malicious hosts in any<br />

corners of the globe which appear hastily in today’s<br />

interc<strong>on</strong>nected computer architectures.<br />

One of the main focus in designing anomaly based IDS is to<br />

come up with a model that could give a high detecti<strong>on</strong> rate<br />

with an acceptable number of false alarm rates as high false<br />

alarm rates would significantly reduce the effectiveness of the<br />

IDS. Reducing false alarm rates have been the main c<strong>on</strong>cern in<br />

anomaly based IDS design <strong>and</strong> it has been the most<br />

challenging task to achieve it. A variety of ensemble<br />

techniques [2] have been applied by a lot of researchers in<br />

their quest to come up with the best algorithm to produce the<br />

expert producti<strong>on</strong> rules to deduce the classificati<strong>on</strong> of<br />

anomalous packets which deem to be malicious from a<br />

plethora of incoming packets traversing into any m<strong>on</strong>itored<br />

S. B. Shamsuddin is with the School of Informatics, University of<br />

Bradford, Bradford BD7 1DP, United Kingdom (ph<strong>on</strong>e: 01274-233-926; fax:<br />

01274-233-920; e-mail: S.B.Shamsuddin@Bradford.ac.uk).<br />

M. E Woodward is with the School of Informatics, University of Bradford,<br />

Richm<strong>on</strong>d Road, Bradford BD7 1DP, United Kingdom (e-mail:<br />

M.E.Woodward@Bradford.ac.uk).<br />

network segment of a particular interest. New trends in IDS<br />

research modelling are focused more towards into performing<br />

sophisticated protocol analysis <strong>and</strong> embedding expert<br />

producti<strong>on</strong> rules in the detecti<strong>on</strong> algorithms such that the use<br />

of attack signatures has become less dependent [3].<br />

Even though the use of anomaly based IDS is the current<br />

trend, the use of signature based IDS is still very much in need<br />

as the former model still has not reached its maturity stage yet<br />

<strong>and</strong> as such a lot of research efforts are very much going <strong>on</strong> in<br />

gearing to perfecting the model. We believe, for the time<br />

being, a hybrid approach shall be the best approach in making<br />

full use of the best advantages of both models [4]. i.e. the<br />

combinati<strong>on</strong> of high level of detecti<strong>on</strong> accuracy of signature<br />

based IDS with low false positive rates <strong>and</strong> the ability to detect<br />

unknown attacks or zero day attacks of anomaly based IDS.<br />

In this paper, we will discuss our work in modelling our IDS<br />

by applying knowledge discovery in database (KDD)<br />

techniques in extracting expert producti<strong>on</strong> rules which can be<br />

embedded in the detecti<strong>on</strong> algorithm to reduce the level of<br />

false positive to a fairly acceptable rate. We took this approach<br />

as rule-based expert systems is the most popular choice for<br />

building knowledge-based systems which can be found in a lot<br />

of artificial intelligence literatures [5]. The rest of the paper is<br />

organized as follows. In secti<strong>on</strong> II, we discuss other related<br />

works in intrusi<strong>on</strong> detecti<strong>on</strong> systems. In secti<strong>on</strong> III, we<br />

describe our anomaly based IDS model which include its<br />

design c<strong>on</strong>cept <strong>and</strong> statistical modelling. In secti<strong>on</strong> IV we<br />

discuss the life cycle of our IDS modelling process <strong>and</strong> data<br />

engineering process in applying knowledge discovery in<br />

database technique to our IDS model. We discuss our model’s<br />

experimental results using 1999 DARPA evaluati<strong>on</strong> data set in<br />

secti<strong>on</strong> V. In secti<strong>on</strong> VI we discuss the comparis<strong>on</strong> of our<br />

results with the 1999 DARPA IDS evaluati<strong>on</strong> system results<br />

<strong>on</strong> poorly detected attacks. We present our c<strong>on</strong>clusi<strong>on</strong> in<br />

secti<strong>on</strong> VII.<br />

II. RELATED WORK<br />

Peddabachigari et al. studied two hybrid approaches for<br />

modelling IDS where Decisi<strong>on</strong> Trees <strong>and</strong> Support Vector<br />

Machines are combined as hierarchical hybrid intelligent<br />

system model. They also came up with an ensemble model<br />

combining the base classifiers. Their results shows that the<br />

ensemble approach produced better results compared to the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 78


Proceedings of ICCNS 08 , 27-28 September 2008<br />

individual classifiers <strong>and</strong> the hybrid models. [6].<br />

IDES (Intrusi<strong>on</strong> Detecti<strong>on</strong> Expert System) [7] exploited the<br />

statistical approach for the detecti<strong>on</strong> of intruders. It uses the<br />

intrusi<strong>on</strong> detecti<strong>on</strong> model proposed by Denning [8] <strong>and</strong> audit<br />

trails data as suggested in Anders<strong>on</strong> [9]. IDES maintains<br />

profiles, which are a descripti<strong>on</strong> of a subject’s normal<br />

behaviour with respect to a set of intrusi<strong>on</strong> detecti<strong>on</strong> measures.<br />

Profiles are updated periodically, thus allowing the system to<br />

learn new behaviour as users alter their behaviour. These<br />

profiles are used to compare the user behaviour <strong>and</strong> inform<br />

significant deviati<strong>on</strong> from them as the intrusi<strong>on</strong>. IDES also<br />

uses the expert system c<strong>on</strong>cept to detect misuse intrusi<strong>on</strong>s.<br />

The advantage of this approach is that it adaptively learns<br />

the behaviour of users, which is thus potentially more sensitive<br />

than human experts. This system has several disadvantages.<br />

The system can be trained for certain behaviour gradually<br />

making the abnormal behaviour as normal, which may make<br />

the intruders undetected. Determining the threshold above<br />

which an intrusi<strong>on</strong> should be detected is a difficult task.<br />

Setting the threshold too low results in false positives (normal<br />

behaviour detected as an intrusi<strong>on</strong>) <strong>and</strong> setting it too high<br />

results in false negatives (an intrusi<strong>on</strong> undetected). Attacks,<br />

which occur by sequential dependencies, cannot be detected,<br />

as statistical analysis is insensitive to order of events.<br />

ADAM - (A Testbed for Exploring the Use of Data Mining<br />

in Intrusi<strong>on</strong> Detecti<strong>on</strong>) observe IP addresses <strong>and</strong> subnets, port<br />

numbers <strong>and</strong> TCP state to build normal traffic models. This<br />

model will be used to detect suspicious c<strong>on</strong>necti<strong>on</strong> which<br />

deviates from the developed normal traffic model [10].<br />

Statistical Packet Anomaly Detecti<strong>on</strong> Engine (SPADE)<br />

observes ports <strong>and</strong> addresses to m<strong>on</strong>itor detecti<strong>on</strong> [11].<br />

C. Yin et al. developed new methodology in applying<br />

genetic programming to evolve learned rules for network<br />

anomaly detecti<strong>on</strong> [12]. Their work was focusing <strong>on</strong> rule<br />

learning for network anomaly detecti<strong>on</strong> which involve<br />

evolving rules learned from the training traffic by using<br />

Genetic Programming (GP) [13], <strong>and</strong> with the evolved rules,<br />

differentiati<strong>on</strong> of the attack traffics from the normal traffic will<br />

be carried out by the system.<br />

M.V. Mah<strong>on</strong>ey <strong>and</strong> P.K. Chan built their IDS model that<br />

learns the normal range of values for 33 fields of the Ethernet,<br />

IP, TCP, UDP <strong>and</strong> ICMP protocols using a generic statistical<br />

model for all values in the packet headers for all protocols by<br />

estimating probabilities based <strong>on</strong> the time since the last event<br />

[14]. Our experiment in essence is to exp<strong>and</strong> the idea of using<br />

just the packet header field values to learn the anomalous<br />

behaviour of the packets during transmissi<strong>on</strong> in any TCP/IP<br />

network traffic. We extend the statistical analysis by modelling<br />

the detecti<strong>on</strong> algorithm based <strong>on</strong> three specific network <strong>and</strong><br />

transport layer protocols namely UDP, TCP <strong>and</strong> ICMP.<br />

III. PROTOCOL BASED PACKET HEADER ANOMALY<br />

DETECTION (PbPHAD) STATISTICAL MODEL<br />

A. Data Source<br />

The 1999 DARPA Intrusi<strong>on</strong> Detecti<strong>on</strong> Evaluati<strong>on</strong> Data Set<br />

[15] has been chosen for this research for its data source. This<br />

data set was prepared by MIT Lincoln Lab <strong>and</strong> is publicly<br />

available to all researchers. It has been accepted by IDS<br />

research community as the de facto st<strong>and</strong>ard for benchmarking<br />

their IDS models.<br />

Fig. 1 [16] shows of an isolated test bed network for the<br />

offline evaluati<strong>on</strong>. Scripting techniques were used to generate<br />

live background traffic which is similar to traffic that flows<br />

between the inside of <strong>on</strong>e ficti<strong>on</strong>al Eyrie Air force base created<br />

for the evaluati<strong>on</strong> to the outside internet. Rich background<br />

traffic was generated in the test bed which looks as if it were<br />

initiated by hundreds of users <strong>on</strong> thous<strong>and</strong>s of hosts.<br />

Automated attacks were launched against the UNIX victim<br />

machines <strong>and</strong> the router from outside hosts. Machines labeled<br />

‘sniffer’ in Fig. 1 run a program named tcpdump [17] to<br />

capture all packets transmitted over the attached network<br />

segment.<br />

Fig. 1 Block diagram of 1999 test bed<br />

Lincoln Lab provided 5 week of data which c<strong>on</strong>sists of 3<br />

weeks of training data <strong>and</strong> 2 weeks of testing data in several<br />

formats such as tcpdump, BSM solaris host audit data <strong>and</strong> NT<br />

audit data. In this research, the tcpdump format will be used as<br />

it provides details of the TCP/IP packet that traverse through<br />

the network which c<strong>on</strong>tains most the informati<strong>on</strong> of our<br />

interest for detail analysis of the intrusi<strong>on</strong>. In the training data,<br />

the first <strong>and</strong> third weeks of the data do not c<strong>on</strong>tain any attacks<br />

which are provided to facilitate the training of anomaly based<br />

IDS. Only the sec<strong>on</strong>d week of the training data c<strong>on</strong>tains<br />

labeled attacks. The testing data c<strong>on</strong>sist of two weeks of<br />

network based attacks in the midst of normal background data.<br />

The forth <strong>and</strong> fifth weeks of data are the "Test Data" used in<br />

the 1999 Evaluati<strong>on</strong> from 29 March 1999 to 9 April 1999.<br />

There are 201 instances of about 56 types of attacks<br />

distributed throughout these two weeks. Out of 201 attack<br />

instances <strong>on</strong>ly 176 are found in the inside testing data used for<br />

this experiment. Our performance evaluati<strong>on</strong> will be based <strong>on</strong><br />

the 176 attack instances as we <strong>on</strong>ly use the inside testing data.<br />

These attacks fall into four main categories:<br />

• Denial of Service (DoS): In this type of attack an attacker<br />

makes some computing or memory resources too busy or<br />

too full to h<strong>and</strong>le legitimate requests, or denies legitimate<br />

users access to a machine. Examples are Apache2, Back,<br />

L<strong>and</strong>, Mailbomb, SYN Flood, Ping of death, Process<br />

table, Smurf, Teardrop.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 79


Proceedings of ICCNS 08 , 27-28 September 2008<br />

• Remote to User (R2L): In this type of attack an attacker<br />

who does not have an account <strong>on</strong> a remote machine sends<br />

packets to that machine over a network <strong>and</strong> exploits some<br />

vulnerability to gain local access as a user of that machine.<br />

Examples are Dicti<strong>on</strong>ary, Ftp_write, Guest, Imap, Named,<br />

Phf, Sendmail, Xlock.<br />

• User to Root (U2R): In this type of attacks an attacker<br />

starts out with access to a normal user account <strong>on</strong> the<br />

system <strong>and</strong> is able to exploit system vulnerabilities to gain<br />

root access to the system. Examples are Eject,<br />

Loadmodule, Ps, Xterm, Perl, Fdformat.<br />

• Probing: In this type of attacks an attacker scans a<br />

network of computers to gather informati<strong>on</strong> or find known<br />

vulnerabilities. An attacker with a map of machines <strong>and</strong><br />

services that are available <strong>on</strong> a network can use this<br />

informati<strong>on</strong> to look for exploits. Examples are Ipsweep,<br />

Mscan, Saint, Satan, Nmap.<br />

B. Protocol-based Packet Header Anomaly Detector<br />

(PbPHAD) Model<br />

The fundamental design c<strong>on</strong>cept behind our PbPHAD IDS<br />

is to learn the normal packet header attribute values during the<br />

attack-free week 3 of inside training data which c<strong>on</strong>sist of<br />

12,814,738 traffic packets in order to come up with the normal<br />

traffic profile based <strong>on</strong> distinct packet header field values for<br />

each of the host in the network. Two separate normal profiles<br />

are created for each host for incoming <strong>and</strong> outgoing traffic.<br />

See process 1.0 in Fig. 2.<br />

The packet header field values are taken from layer 2, 3 <strong>and</strong><br />

4 protocols which are the IP, Ethernet, TCP, UDP <strong>and</strong> ICMP<br />

which summed up to 30 fields as depicted in the Field Name<br />

column in Table 1. We designed our PbPHAD anomaly<br />

statistical model based <strong>on</strong> 3 specific protocols which are TCP,<br />

UDP <strong>and</strong> ICMP because of their unique behaviour when<br />

communicating am<strong>on</strong>g hosts, client <strong>and</strong> servers depending <strong>on</strong><br />

the purpose <strong>and</strong> applicati<strong>on</strong> used for a particular sessi<strong>on</strong>. With<br />

this in mind, a more accurate statistical model with finer<br />

granularity which represents the 3 chosen protocols can be<br />

built for detecting the anomalous behaviour of the testing data.<br />

For each protocol, if we index each field as i, i=1,2,…,n, the<br />

model is built based <strong>on</strong> the ratio of the normal number of<br />

distinct field values in the training data, R i , against the total<br />

number of packets associated with each protocol, N i . The ratio,<br />

p i = R i /N i represents the probability of the network seeing<br />

normal field values in a packet. Thus, the probability of<br />

anomalies will be 1 – p i for each corresp<strong>on</strong>ding field. Each<br />

packet header field c<strong>on</strong>taining values not found in the normal<br />

profile will be assigned a score of 1 – p i <strong>and</strong> will be summed<br />

up to give the total value for that particular packet.<br />

Score packet = ∑ (1 - p i ),<br />

n<br />

i=1<br />

i = 1,2,…n<br />

As the value of Ri varies greatly, we use log ratio in our<br />

model. The value of column TCP, UDP <strong>and</strong> ICMP in Table 1<br />

is calculated based <strong>on</strong>:<br />

(1)<br />

Relative percentage ratio of 1-log(R i /N i )<br />

to give the total probability of 1 for each protocol.<br />

Table 1 shows PbPHAD statistical model for <strong>on</strong>e host with<br />

IP address 112.016.112.050 for incoming packets. It is<br />

obvious from the PbPHAD model that the bigger the number<br />

of anomalous fields (R), the smaller the anomaly score will be.<br />

The anomaly score of 0.000 shows that particular field is not<br />

related to that particular protocol.<br />

TABLE 1<br />

PBPHAD STATISTICAL MODEL FOR HOST 112.016.112.050 INCOMING<br />

PACKETS<br />

Ser Field Name R N<br />

Anomaly Score<br />

TCP UDP ICMP<br />

1 etherdest 1 1545610 0.053342 0.067305 0.073532<br />

2 etherprotocol 1 1545610 0.053342 0.067305 0.073532<br />

3 ethersize 818 1545610 0.031711 0.040035 0.043739<br />

4 ethersrc 6 1545610 0.047563 0.060019 0.065573<br />

5 icmpchecksum 2 84096 0 0 0.057521<br />

6 icmptypencode 2 84096 0 0 0.057521<br />

7 ipchecksum 1 1545610 0.053342 0.067305 0.073532<br />

8 ipdest 1 1545610 0.053342 0.067305 0.073532<br />

9 ipfragid 65536 1545610 0.017574 0.022213 0.024268<br />

10 ipfragptr 2 1545610 0.051106 0.064486 0.070453<br />

11 ipheaderlength 1 1545610 0.053342 0.067305 0.073532<br />

12 iplength 825 1545610 0.031684 0.040001 0.043702<br />

13 ipprotocol 3 1545610 0.049799 0.062838 0.068652<br />

14 ipsrc 28 1545610 0.042595 0.053756 0.058730<br />

15 iptos 3 1545610 0.049799 0.062838 0.068652<br />

16 ipttl 1 1545610 0.053342 0.067305 0.073532<br />

17 tcpack 384656 1076131 0.010744 0 0<br />

18 tcpchecksum 2 1076131 0.049984 0 0<br />

19 tcpdestport 620 1076131 0.031483 0 0<br />

20 tcpflag 8 1076131 0.045513 0 0<br />

21 tcpheaderlen 3 1076131 0.048676 0 0<br />

22 tcpopti<strong>on</strong> 2 1076131 0.049984 0 0<br />

23 tcpseq 383431 1076131 0.010754 0 0<br />

24 tcpsrcport 1553 1076131 0.028522 0 0<br />

25 tcpurgptr 1 1076131 0.052220 0 0<br />

26 tcpwindowsize 912 1076131 0.030238 0 0<br />

27 udpchecksum 2 385383 0 0.058839 0<br />

28 udpdestport 4067 385383 0 0.027867 0<br />

29 udplen 46 385383 0 0.046091 0<br />

30 udpsrcport 3 385383 0 0.057190 0<br />

N Total 842537 1 1 1<br />

IV. APPLYING KDD TECHNIQUE IN EXTRACTING EXPERT<br />

PRODUCTION RULES<br />

Fig. 2 shows the whole process of modelling our packet<br />

header anomaly-based IDS. Process 1.0 is the normal profile<br />

building phase as described in the previous secti<strong>on</strong>. Process<br />

2.0 is where we simulate the testing data <strong>and</strong> compare it<br />

against its normal profile to get its anomaly score for packets<br />

which deviates from its normal profile. For anomalous packets<br />

which have surpassed their threshold values, expert producti<strong>on</strong><br />

rules will be applied to give classificati<strong>on</strong> to the packets<br />

whether it falls into normal or attack categories. Applying the<br />

expert producti<strong>on</strong> rules is d<strong>on</strong>e in process 3.0. If the<br />

anomalous packets are incorrectly classified i.e. big number of<br />

false positives or false negatives, a thorough analysis has to be<br />

d<strong>on</strong>e to identify the packets into its right classificati<strong>on</strong> whether<br />

it is normal packets or attack packets with proper categories,<br />

which is the process 4.0. Process 5.0 is the gist of our<br />

discussi<strong>on</strong> in this paper which is applying KDD technique<br />

which utilizes machine learning tools to extract the expert<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 80


Proceedings of ICCNS 08 , 27-28 September 2008<br />

producti<strong>on</strong> rules. After extracting the expert producti<strong>on</strong> rules,<br />

the rules will be updated in the database which is used in<br />

Process 3.0 to classify the anomalous packets. The whole<br />

process starting from process 1.0 to 5.0 is the normal life-cycle<br />

process of IDS modelling for any anomaly based IDS as the<br />

data is always dynamic. i.e. after some period of time, when<br />

users changed their behaviours in using the network or some<br />

new services are introduced into the network, the normal<br />

profiles have to be updated <strong>and</strong> also it is an eminent fact that<br />

any network that is c<strong>on</strong>nected to the internet is bound to<br />

encounter new attacks as new attacks are being developed <strong>on</strong> a<br />

daily basis, therefore process 1.0, 4.0 <strong>and</strong> 5.0 shall always be<br />

an <strong>on</strong>going process as <strong>and</strong> when it is deemed necessary.<br />

Fig. 2 PbPHAD System Modelling Process<br />

A. Data engineering process<br />

One of the most time c<strong>on</strong>suming process in applying KDD<br />

technique to a set of data to learn the associati<strong>on</strong> rules of the<br />

attributes <strong>and</strong> coming up with the classificati<strong>on</strong> algorithm is<br />

the data preparati<strong>on</strong> stage. This is the stage where a set of<br />

attributes need to be intelligently chosen <strong>and</strong> the data is<br />

cleansed before the machine learning technique is applied to<br />

discover useful knowledge from the data that is being mined.<br />

Most of the time, a new set of transformed attributes or<br />

sec<strong>on</strong>dary attributes need to be introduced into the data<br />

structure to increase a chance of getting better results.<br />

Fundamentally, choosing the right attributes require a good<br />

underst<strong>and</strong>ing of the underlying data to be analyzed by the<br />

domain expert in that particular field. In the case of IDS<br />

modelling, it requires at least a profound underst<strong>and</strong>ing of the<br />

ISO-OSI layers, TCP/IP protocol suite, anatomy of attacks <strong>and</strong><br />

the IDS architectural design principles as domain knowledge<br />

can cut down the search space drastically. I. H. Witten <strong>and</strong> E.<br />

Frank put it as “Knowledge is power: a little goes a l<strong>on</strong>g way,<br />

<strong>and</strong> even a small hint can reduce the search space<br />

dramatically” [18] This stage is known as “data engineering”<br />

process which c<strong>on</strong>stitutes “engineering the input data into a<br />

form suitable for the learning scheme chosen <strong>and</strong> engineering<br />

the output model to make it more effective”. [18]<br />

We started modelling the data structure by first selecting the<br />

primary fields which is all fields for packet header attributes<br />

which comprise of the headers of layer 2, 3 <strong>and</strong> 4 protocols<br />

which are the Ethernet, IP, TCP, UDP <strong>and</strong> ICMP packet<br />

header fields. For each of the packet header field, an anomaly<br />

flag field is created for it to indicate the state of that particular<br />

field. i.e. whether or not that particular header field value is<br />

anomalous which is represented by either ‘1’ or ‘0’<br />

respectively. Not all actual packet header attribute values are<br />

included in the data structure. Packet header fields which we<br />

thought that would not c<strong>on</strong>tribute much to the creati<strong>on</strong> of the<br />

rules will be discarded. i.e. the value of IP fragmentati<strong>on</strong> ID is<br />

discarded as the value of this 2-byte field is very big <strong>and</strong> is<br />

selected based <strong>on</strong> how this protocol is implemented by the<br />

operating system of the host <strong>and</strong> does not really tied to any<br />

particular protocols. The actual field value of both source <strong>and</strong><br />

destinati<strong>on</strong> IPs are also discarded as our intenti<strong>on</strong> is to come<br />

up with a generic rules which does not get tied to any<br />

particular host. Using 1-sec<strong>on</strong>d time window, we created 2<br />

sec<strong>on</strong>dary attributes which are ‘volume’ – number of bytes<br />

destined for a host, measured in byte/s <strong>and</strong> ‘scan speed’ -<br />

measured in number of packets/s <strong>and</strong> their corresp<strong>on</strong>ding<br />

anomaly flag fields as we would foresee that these 2 fields<br />

could c<strong>on</strong>tribute in the identificati<strong>on</strong> of either DoS or Probing<br />

attack category. A ‘directi<strong>on</strong>’ field is created to indicate the<br />

directi<strong>on</strong> of the packet. i.e. from inside to inside, outside to<br />

inside or inside to outside. We would foresee that this field<br />

could assist in the rule creati<strong>on</strong> to come up with the right<br />

category of attack as we know that R2L <strong>and</strong> U2R attacks can<br />

be identified by this directi<strong>on</strong>.<br />

For transport layer protocol which comprise of TCP <strong>and</strong><br />

UDP protocols, we introduced two more sec<strong>on</strong>dary fields to<br />

track the anomaly use of the protocol. As we know that both<br />

UDP <strong>and</strong> TCP use socket-pair to communicate which uniquely<br />

identify a c<strong>on</strong>necti<strong>on</strong>. i.e. the 4-tuple c<strong>on</strong>sisting of the server<br />

IP address, server port number, client IP address <strong>and</strong> client<br />

port number. Client port numbers which are known as<br />

ephemeral port number usually have a value of greater than<br />

1023 <strong>and</strong> server port numbers which are known as well-known<br />

server port numbers have a value of less than 1024. [19] If<br />

both port numbers in any packet has either values greater than<br />

1023 or less than 1024 this will indicate some anomaly in the<br />

protocol being used which might give an indicati<strong>on</strong> of a<br />

malicious intent. These new sec<strong>on</strong>dary fields are named as<br />

‘isbothportsgt1023’ <strong>and</strong> ‘isbothportslt1024’. For ICMP<br />

protocol, we combine the ICMP type <strong>and</strong> ICMP code fields as<br />

for the purpose of identifying an ICMP packet, a unique<br />

combinati<strong>on</strong> of both fields have to be joined together in order<br />

for it to be meaningful. We also created <strong>on</strong>e field to track if a<br />

packet has the same source <strong>and</strong> destinati<strong>on</strong> IP address which<br />

obviously shows a grave anomaly for a normal packet. Finally<br />

a ‘class’ field <strong>and</strong> ‘anomaly score’ fields are created to assist<br />

the classificati<strong>on</strong> of the packets by its anomaly score.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 81


Proceedings of ICCNS 08 , 27-28 September 2008<br />

B. Rule extracti<strong>on</strong><br />

Once the data engineering process has finished, we then<br />

wrote a program to fill up the values for the sec<strong>on</strong>dary fields<br />

for all 21,954,377 cleansed packets discovered in the 2 weeks<br />

of the testing data to suit the new data structure which has been<br />

created. 3 different tables were built for each of the TCP, UDP<br />

<strong>and</strong> ICMP protocols as each <strong>on</strong>e of them has different distinct<br />

set of fields to be analyzed by the machine learning tools.<br />

In this exercise we used WEKA [20] for the machine<br />

learning workbench. We chose WEKA as it is a very robust<br />

open source machine learning workbench which has more than<br />

80 classifier algorithms to choose from. It is quite a<br />

challenging task to choose the right algorithm for this purpose<br />

as each algorithm has its own strengths <strong>and</strong> weaknesses which<br />

is suitable to particular data structures <strong>and</strong> furthermore it is<br />

very hard to find <strong>on</strong>e algorithm that can out perform all other<br />

algorithms for all type of data structures.<br />

We used a small set of data to evaluate the performance of<br />

all classifier algorithms that is available in WEKA <strong>and</strong> after<br />

doing a thorough analysis of the results we decided to use J48<br />

Tree classifier algorithm as this algorithm has shown a very<br />

good performance for our data set. Furthermore it is very easy<br />

to c<strong>on</strong>vert the tree to expert producti<strong>on</strong> rules which is <strong>on</strong>e of<br />

the main comp<strong>on</strong>ents in our IDS model. The ‘Run<br />

Informati<strong>on</strong>’ of the result will show the structure of the J48<br />

pruned tree <strong>and</strong> alternatively this tree can be viewed visually<br />

using ‘WEKA Classifier Tree Visualizer’ feature. By<br />

analyzing the structure of the tree we then c<strong>on</strong>vert it to expert<br />

producti<strong>on</strong> rules. The number of leaves will give the number<br />

of rules that can be extracted from the tree. i.e. See Fig. 4.<br />

V. EXPERIMENTAL RESULTS ON THE 1999 DAPRA IDS<br />

EVALUATION DATA SET<br />

We tested our model <strong>on</strong> the 2 weeks of the inside testing<br />

data which comprises of 21,954,377 cleansed packets. In this<br />

paper, we will discuss the result of <strong>on</strong>e host with IP address<br />

112.016.112.050 which has the most number of attacks am<strong>on</strong>g<br />

inside hosts in the DARPA 1999 test bed for the durati<strong>on</strong> of<br />

the two weeks testing period. Furthermore our IDS model is a<br />

host-based model such that the KDD process shall be d<strong>on</strong>e by<br />

host in order to acquire a meaningful result. We managed to<br />

detect 55 out of 61 attack instances which gave us 90.16%<br />

success rate as depicted in Table 2 below. Our PbPHAD IDS<br />

model shows a very good detecti<strong>on</strong> rate for ICMP packets at<br />

100%, a high percentage rate for UDP packets at 90.91% <strong>and</strong><br />

a slightly lower detecti<strong>on</strong> rate for TCP at 89.13%.<br />

A. TCP<br />

Fig. 3 below shows <strong>on</strong>e snap shot of a Run informati<strong>on</strong> for<br />

host 112.016.112.050 <strong>on</strong> 9 th April for TCP packets which used<br />

10-fold-cross-validati<strong>on</strong> test mode for J48 classifier algorithm.<br />

Only 3 actual primary attribute values are used in this run<br />

which are ‘tcp source port’, ‘tcp destinati<strong>on</strong> port’ <strong>and</strong> ‘tcpflag’.<br />

4 sec<strong>on</strong>dary attributes used in this run are ‘volume flag’,<br />

‘directi<strong>on</strong>’, ‘if both ports greater than 1023 flag’, ‘if both ports<br />

less than 1024 flag’ <strong>and</strong> the rest are primary attributes flags.<br />

TABLE 2<br />

DETECTION RESULTS FOR HOST 112.016.112.050<br />

There are 170,259 TCP packets destined for this host <strong>on</strong> this<br />

particular day <strong>and</strong> we managed to get a very good<br />

classificati<strong>on</strong> result as shown in the C<strong>on</strong>fusi<strong>on</strong> Matrix below<br />

with <strong>on</strong>ly 1 false positive <strong>and</strong> 3 false negatives which gives the<br />

percentage of correctly classified instances to 99.9977 %.<br />

=== Run informati<strong>on</strong> ===<br />

Scheme: weka.classifiers.trees.J48<br />

Instances: 170259<br />

Attributes: 18 => tcpsrcport, tcpdestport, tcpflag, volumeanom,<br />

directi<strong>on</strong>, isbothportsgt1023, isbothportslt1024, ethersizeisanom,<br />

iplengthisanom, ipfragidisanom, ipsrcisanom, tcpsrcportisanom,<br />

tcpdestportisanom, tcpseqisanom, tcpackisanom, tcpwindowsizeisanom,<br />

score, class<br />

Test mode:<br />

10-fold cross-validati<strong>on</strong><br />

=== Classifier model (full training set) ===<br />

J48 pruned tree<br />

Number of Leaves : 14<br />

Size of the tree : 27<br />

Time taken to build model: 21.08 sec<strong>on</strong>ds<br />

=== Stratified cross-validati<strong>on</strong> ===<br />

=== Summary ===<br />

Correctly Classified Instances 170255 99.9977 %<br />

Incorrectly Classified Instances 4 0.0023 %<br />

Kappa statistic 0.9997<br />

Mean absolute error 0<br />

Root mean squared error 0.0028<br />

Relative absolute error 0.0483 %<br />

Root relative squared error 2.5892 %<br />

Total Number of Instances 170259<br />

=== Detailed Accuracy By Class ===<br />

TP Rate FP Rate Precisi<strong>on</strong> Recall F-Measure ROC Area Class<br />

1 0 1 1 1 1 Normal<br />

1 0 1 1 1 1 dos<br />

0.999 0 1 0.999 0.999 0.999 probe<br />

1 0 1 1 1 1 r2l<br />

1 0 0.999 1 1 1 u2r<br />

1 0 0.909 1 0.952 1 data<br />

=== C<strong>on</strong>fusi<strong>on</strong> Matrix ===<br />

a b c d e f


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 4 J48 Tree for TCP Packets <strong>on</strong> 9th April<br />

Fig. 4. shows the corresp<strong>on</strong>ding J48 pruned tree for the run.<br />

From this figure we can see that a combinati<strong>on</strong> of the actual<br />

value of the primary attribute which is ‘tcpdestport’, the<br />

primary attribute anomaly flag which is ‘ip source is<br />

anomalous flag’ <strong>and</strong> a sec<strong>on</strong>dary attribute which is ‘directi<strong>on</strong>’<br />

correctly classified R2L attack with 0 false negative. For U2R<br />

attack, an additi<strong>on</strong>al actual value of primary attribute which is<br />

‘tcp destinati<strong>on</strong> port’ correctly classify its class with 0 false<br />

negative. See the C<strong>on</strong>fusi<strong>on</strong> Matrix in Fig. 3.<br />

Rule 1<br />

Antecedent<br />

IF source IP is not anomalous<br />

AND TCP destinati<strong>on</strong> port 22<br />

AND directi<strong>on</strong> = ‘II’<br />

C<strong>on</strong>sequent<br />

THEN class is ‘R2L’<br />

Fig. 5 J48 Tree for TCP Packets <strong>on</strong> 9th April<br />

From Fig. 4. we can see that the tree has a size of 27 with 14<br />

leaves. From this tree we can extract the expert producti<strong>on</strong><br />

rules. Since there are 14 leaves, 14 rules can be extracted from<br />

this tree. Fig. 5 shows some example of the rules extracted<br />

from the tree.<br />

B. UDP<br />

Fig. 6 below shows <strong>on</strong>e snap shot of a Run informati<strong>on</strong> for<br />

host 112.016.112.050 <strong>on</strong> 9 th April for UDP packets which<br />

used ‘evaluate <strong>on</strong> training data’ test mode for J48 classifier<br />

algorithm. Only 2 actual primary attribute values are used in<br />

this run which are ‘udp source port’ <strong>and</strong> ‘udp destinati<strong>on</strong> port’.<br />

There are 11,454 UDP packets destined for this host <strong>on</strong> this<br />

particular day <strong>and</strong> we managed to get a good classificati<strong>on</strong><br />

result as shown in the C<strong>on</strong>fusi<strong>on</strong> Matrix below with 0 false<br />

positive <strong>and</strong> 70 false negatives which gives the percentage of<br />

correctly classified instances to 99.3889 %.<br />

=== Run informati<strong>on</strong> ===<br />

Scheme: weka.classifiers.trees.J48<br />

Relati<strong>on</strong>: 112-150-09apr-I-UDPweka.filters.unsupervised.attribute.Remove-R1-4,33,35<br />

Instances: 11454<br />

Attributes: 14 => udpsrcport, udpdestport, volumeanom, scanspeedanom<br />

directi<strong>on</strong>, isbothportslt1024, iplengthisanom, ipfragidisanom<br />

ipsrcisanom, udpsrcportisanom, udpdestportisanom,<br />

udplenisanom, score, class<br />

Test mode: evaluate <strong>on</strong> training data<br />

=== Classifier model (full training set) ===<br />

Number of Leaves : 6<br />

Size of the tree : 11<br />

Time taken to build model: 0.83 sec<strong>on</strong>ds<br />

=== Evaluati<strong>on</strong> <strong>on</strong> training set ===<br />

=== Summary ===<br />

Correctly Classified Instances 11384 99.3889 %<br />

Incorrectly Classified Instances 70 0.6111 %<br />

Kappa statistic 0.828<br />

Mean absolute error 0.0059<br />

Root mean squared error 0.0544<br />

Relative absolute error 28.4034 %<br />

Root relative squared error 53.4538 %<br />

Total Number of Instances 11454<br />

=== Detailed Accuracy By Class ===<br />

TP Rate FP Rate Precisi<strong>on</strong> Recall F-Measure ROC Area Class<br />

1 0.289 0.994 1 0.997 0.972 Normal<br />

1 0 1 1 1 1 probe<br />

1 0 1 1 1 1 dos<br />

0.705 0 1 0.705 0.827 0.972 data<br />

=== C<strong>on</strong>fusi<strong>on</strong> Matrix ===<br />

a b c d


Proceedings of ICCNS 08 , 27-28 September 2008<br />

type <strong>and</strong> code’. There are 84,096 ICMP packets destined for<br />

this host during the test period <strong>and</strong> we managed to get a good<br />

classificati<strong>on</strong> result as shown in the C<strong>on</strong>fusi<strong>on</strong> Matrix below<br />

with 8 false positive <strong>and</strong> 42 false negatives which gives the<br />

percentage of correctly classified instances to 99.9405 %.<br />

=== Run informati<strong>on</strong> ===<br />

Scheme: weka.classifiers.trees. trees.J48<br />

Instances: 84096<br />

Attributes: Attributes: 17 => icmptypencode, volumeanom,<br />

scanspeedanom, directi<strong>on</strong>, ethersizeisanom, etherdestisanom, iptosisanom<br />

iplengthisanom, ipfragidisanom, ipfragptrisanom, ipprotocolisanom<br />

ipsrcisanom,ipdestisanom,icmptypencodeisanom,<br />

icmpchecksumisanom, score, class<br />

Test mode: 10-fold cross-validati<strong>on</strong><br />

=== Stratified cross-validati<strong>on</strong> ===<br />

=== Summary ===<br />

Correctly Classified Instances 84046 99.9405 %<br />

Incorrectly Classified Instances 50 0.0595 %<br />

Kappa statistic 0.9984<br />

Mean absolute error 0.0008<br />

Root mean squared error 0.02<br />

Relative absolute error 0.3007 %<br />

Root relative squared error 5.6177 %<br />

Total Number of Instances 84096<br />

=== Detailed Accuracy By Class ===<br />

TP Rate FP Rate Precisi<strong>on</strong> Recall F-Measure ROC Area Class<br />

1 0.001 0.998 1 0.999 1 Normal<br />

1 0 1 1 1 1 dos<br />

0.987 0 0.996 0.987 0.992 0.997 probe<br />

=== C<strong>on</strong>fusi<strong>on</strong> Matrix ===<br />

a b c


Proceedings of ICCNS 08 , 27-28 September 2008<br />

category. This result shows a performance increment of<br />

32.14%. For N<strong>on</strong>-detected attack category, PbPHAD managed<br />

to detect 4 out of 5 attacks which were not detected by all<br />

evaluated systems. This result shows a performance increment<br />

of 90.91%.<br />

TABLE 4<br />

COMPARISON BETWEEN THE 1999 DARPA EVALUATION<br />

BEST SYSTEMS AND HOST 112.016.112.050 ON POORLY NON-<br />

DETECTED ATTACKS<br />

Our IDS model failed to detect <strong>on</strong>ly <strong>on</strong>e attack which was<br />

also not detected by the best composite system which is<br />

resetscan. The resetscan attack is a hard to detect attack as it<br />

did not have any anomaly that can be detected by our IDS <strong>and</strong><br />

it is made up of <strong>on</strong>ly 2 out of 110537 incoming packets<br />

destined for host 112.016.112.050 for that particular day.<br />

TABLE 5<br />

OVERALL PERFORMANCE OF PbPHAD MODEL<br />

VII. CONCLUSION<br />

Our research has clearly shown the benefit of using KDD<br />

process in modeling IDS. Table 5 exhibits the overall<br />

performance of PbPHAD model after KDD technique is<br />

applied to it as part of its complete life cycle IDS modeling<br />

process. It is apparent that from 1,414,398 packets processed<br />

using KDD technique the results has shown actual high<br />

percentage of correct classificati<strong>on</strong> for Normal, U2R <strong>and</strong> R2L<br />

at 100%, DOS at 99.9% <strong>and</strong> the smallest percentage is for<br />

Probe at 99.2%. The result shows that we managed to suppress<br />

the percentage of false positive rate to be very small at 0.01%<br />

which can be seen from Table 2 that it is <strong>on</strong>ly at 9 FP/day.<br />

This research also shows the importance of having a good<br />

statistical model that can give good anomaly score rating to an<br />

anomalous packet. We have dem<strong>on</strong>strated how the score plays<br />

an important role in classifying the packets into their proper<br />

classes as shown in Fig. 10. From this research, we also show<br />

that <strong>on</strong>e of the keys to having good classificati<strong>on</strong> results is to<br />

have sec<strong>on</strong>dary attributes intelligently chosen for the data<br />

structure which would greatly assist the classifier algorithm to<br />

yield beneficial knowledge from the data being mined which<br />

eventually would produce the corresp<strong>on</strong>ding good expert<br />

producti<strong>on</strong> rules needed in the IDS model. Comparis<strong>on</strong> of<br />

PbPHAD with the 1999 DARPA composite system<br />

performance attested that our model has succeeded in<br />

discovering new dimensi<strong>on</strong> of attack space which<br />

complements the composite systems in terms of covering the<br />

whole dimensi<strong>on</strong> of attack space.<br />

REFERENCES<br />

[1] John McHugh, A.C., <strong>and</strong> Julia Allen, Defending Youself: The Role of<br />

Intrusi<strong>on</strong> Detecti<strong>on</strong> Systems. IEEE Software, 2000(September/October):<br />

p. 42-51.<br />

[2] Mukkamala, S., A.H. Sung, <strong>and</strong> A. Abraham, Intrusi<strong>on</strong> detecti<strong>on</strong> using<br />

an ensemble of intelligent paradigms. Journal of Network <strong>and</strong> <strong>Computer</strong><br />

Applicati<strong>on</strong>s, 2005. 28(2): p. 167-182.<br />

[3] Schultz, E.E. <strong>and</strong> E. Ray, The future of intrusi<strong>on</strong> preventi<strong>on</strong>. <strong>Computer</strong><br />

Fraud & <strong>Security</strong>, 2007. 2007(8): p. 11-13.<br />

[4] Patcha, A. <strong>and</strong> J.-M. Park, An overview of anomaly detecti<strong>on</strong><br />

techniques: Existing soluti<strong>on</strong>s <strong>and</strong> latest technological trends. <strong>Computer</strong><br />

<strong>Networks</strong>: The <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Journal of <strong>Computer</strong> <strong>and</strong><br />

Telecommunicati<strong>on</strong>s Networking, 2007. Volume 51(Issue 12 (August<br />

2007)): p. 3448-3470.<br />

[5] Negnevitsky, M., Artificial Intelligence - A Guide to Intelligent<br />

Systems. Addis<strong>on</strong> Wesley, 2002.<br />

[6] S. Peddabachigari, A. Abraham, C. Grosan, C. Grosan, <strong>and</strong> J. Thomas,<br />

Modeling Intrusi<strong>on</strong> Detecti<strong>on</strong> System Using Hybrid Intelligent Systems.<br />

Journal of Network <strong>and</strong> <strong>Computer</strong> Applicati<strong>on</strong>s, Elsevier Science, 2005.<br />

[7] T. Lunt, A. Tamaru, F. Gilham, R. Jagannathan, P. Neumann, H. Javitz,<br />

A. Valdes, <strong>and</strong> T. Garvey, A Real-time Intrusi<strong>on</strong> Detecti<strong>on</strong> Expert<br />

System (IDES). Technical report, <strong>Computer</strong> Science Laboratory, SRI<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g>, Menlo Park, California, February 1992.<br />

[8] D. E. Denning, An Intrusi<strong>on</strong> Detecti<strong>on</strong> Model. In IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Software Engineering, February 1997: p. 222-228.<br />

[9] J. P. Anders<strong>on</strong>, <strong>Computer</strong> <strong>Security</strong> Threat M<strong>on</strong>itoring <strong>and</strong> Surveillance.<br />

Technical report, James P Anders<strong>on</strong> Co., Fort Washingt<strong>on</strong>,<br />

Pennsylvania, April 1980.<br />

[10] D. Barbara, J. Couto, S. Jajodia, L. Popyack, <strong>and</strong> N. Wu, ADAM:<br />

Detecting intrusi<strong>on</strong>s by data mining. In Proc. of the IEEE Workshop <strong>on</strong><br />

Informati<strong>on</strong> Assurance <strong>and</strong> <strong>Security</strong>, June, 2001.<br />

[11] S. Biles, Detecting the Unknown with Snort <strong>and</strong> the Statistical Packet<br />

Anomaly Detecti<strong>on</strong> Engine ( SPADE ). Technical Report TR2004-485,<br />

Department of <strong>Computer</strong> Sciense, Dartmouth College, Hanover, USA,<br />

2003.<br />

[12] C. Yin, S. Tian, H. Huang <strong>and</strong> J. He, Applying Genetic Programming to<br />

Evolve Learned Rules for Network Anomaly Detecti<strong>on</strong>. In Advances in<br />

Natural Computati<strong>on</strong>, First <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, ICNC 2005,<br />

Proceedings, Part III, 2005. 3612: p. 323-331.<br />

[13] J.R. Koza, Genetic Programming. MIT Press, 1992.<br />

[14] M. V. Mah<strong>on</strong>ey, <strong>and</strong> P. K. Chan, PHAD: Packet Header Anomaly<br />

Detecti<strong>on</strong> for Identifying Hostile Network Traffic. Technical report,<br />

Florida Tech., technical report CS-2001-4, April 2001.<br />

[15] MIT, Lincoln Laboratory 1999 DARPA Intrusi<strong>on</strong> Detecti<strong>on</strong> Data Sets.<br />

.<br />

[16] R. P. Lippmann, J. W. Haines, D. J. Fried, J. Korba, <strong>and</strong> K. Das, The<br />

1999 DARPA Off-Line Intrusi<strong>on</strong> Detecti<strong>on</strong> Evaluati<strong>on</strong>. MIT Lincoln<br />

Lab Technical Report, 2000.<br />

[17] tcpdump, Lawrence Berkeley Nati<strong>on</strong>al Laboratory Network Research<br />

Group .<br />

[18] I. H. Witten, <strong>and</strong> E. Frank, Data Mining: Practical Machine Learning<br />

Tools <strong>and</strong> Techniques. 2nd Editi<strong>on</strong>, Morgan Kaufmann, San Francisco,<br />

2005.<br />

[19] Stevens, W.R., TCP/IP Illustrated Volume 1. Addis<strong>on</strong> Wesley, 2003.<br />

[20] Weka, Software. Machine Learning. The University of Waikato,<br />

Hamilt<strong>on</strong>, New Zeal<strong>and</strong>. Availaible form:<br />

.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 85


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Rich Internet Applicati<strong>on</strong>s <strong>Security</strong><br />

Enhasments<br />

Dr. Maheshkumar H. Kolekar , Prof. Abhijit .J. Patankar, Mr. Yogi R.Joshi<br />

Abstract—Rich Internet applicati<strong>on</strong>s (RIA) are web<br />

applicati<strong>on</strong>s that have the features <strong>and</strong> functi<strong>on</strong>ality of<br />

traditi<strong>on</strong>al desktop applicati<strong>on</strong>s. Rios typically transfer the<br />

processing necessary for the user interface to the web client<br />

but keep the bulk of the data (i.e., maintaining the state of<br />

the program, the data etc) back <strong>on</strong> the applicati<strong>on</strong> server.<br />

This c<strong>on</strong>cept covers the remedies for making WEB 2.0<br />

applicati<strong>on</strong>s more secure which include making people<br />

aware of better coding practices, secure deployment &<br />

awareness am<strong>on</strong>g comm<strong>on</strong> users. Motivati<strong>on</strong> behind RIA<br />

security is various statistics that are found recently. Recent<br />

example is the Sammy worm that exploited<br />

MySpace.com’s cross-site scripting flaw; AJAX gets<br />

executed <strong>on</strong> the client-side by allowing an incorrectly<br />

written script to be exploited by an attacker. AJAX calls are<br />

Highly silent & client is unknown of the executi<strong>on</strong> of the<br />

AJAX calls so malicious web page may capture data when<br />

user is accessing important data using sessi<strong>on</strong> cookie the<br />

user has .An another dimensi<strong>on</strong> to RIA is RICH using<br />

FLASH framework, ActiveX c<strong>on</strong>trol for rich UI features<br />

where binary gets copied to the use side, in this case the<br />

client can reverse engineer the binary, patch it <strong>and</strong> bypass<br />

some authenticati<strong>on</strong>. As proposing the incremental soluti<strong>on</strong><br />

we try to make aware people of making both client side<br />

validati<strong>on</strong> & server side validati<strong>on</strong> while developing web<br />

2.0 applicati<strong>on</strong>s as well as rather avoiding using AJAX<br />

instead use. For this we have generated project prototypes<br />

in both AJAX & Adobe Flex where we found that Adobe<br />

flex is more secure than AJAX because it generates it’s<br />

own binary intermediate form which is difficult to reverse<br />

engineer than that of AJAX. The end user should be trained<br />

for secure use of web applicati<strong>on</strong>s & should exploit all the<br />

security facilities provided for him/her by the platform,<br />

because without end users c<strong>on</strong>siderati<strong>on</strong> all the work d<strong>on</strong>e<br />

will be in vain.<br />

Keywords—AJAX, RIA, WEB2.0<br />

Dr. Maheshkumar H. Kolekar Post Doctoral fellow University of<br />

Missouri Columbia, USA e-mail: mkolekar@gmail.com<br />

Prof. A.J. Patankar Asst.Professor, Comp.Engg. D.Y.PATIL College of<br />

Engineering Akurdi, Pune-411044, India e-mail: abhijitpatankar@yahoo.com<br />

Mr. Yogi R.Joshi B.E.<strong>Computer</strong>,D.Y.P.C.O.E.,Akurdi,Pune-44,India,<br />

Email:yogirjoshi@yahoo.com<br />

I. INTRODUCTION<br />

The evoluti<strong>on</strong> of the internet has had a profound<br />

effect <strong>on</strong> the way businesses <strong>and</strong> individuals work<br />

<strong>and</strong> communicate. Web based security is an<br />

integrated part of each <strong>and</strong> every individual. Various<br />

new types of Trojans <strong>and</strong> attacks may cause serious<br />

damage to the data of an organizati<strong>on</strong> as mostly<br />

business is depends <strong>on</strong> web. While Web 2.0 <strong>and</strong><br />

AJAX have greatly enhanced the user experience <strong>and</strong><br />

added important business functi<strong>on</strong>ality, they also<br />

introduce opportunities for hackers to invisibly inject<br />

<strong>and</strong> propagate malicious code. Reactive signaturebased<br />

soluti<strong>on</strong>s were not designed to detect these<br />

types of dynamic malicious web scenarios, thus they<br />

are not enough, al<strong>on</strong>e, to provide protecti<strong>on</strong> against<br />

the modern hacking methods. The prevailing<br />

assumpti<strong>on</strong> that an anti-virus or URL filtering lab can<br />

put its h<strong>and</strong>s <strong>on</strong> each <strong>and</strong> every piece of malicious<br />

code <strong>and</strong> create a signature is no l<strong>on</strong>ger valid in<br />

today's web scenario. <strong>on</strong> the other h<strong>and</strong>, real-time<br />

security soluti<strong>on</strong>s which are able to analyze web<br />

c<strong>on</strong>tent <strong>on</strong>-the-fly as it occurs <strong>and</strong> detect whether or<br />

not it is legitimate, regardless of its source, are<br />

critical for stopping these threats. This differentiates<br />

real-time code inspecti<strong>on</strong> technology from URL<br />

filtering soluti<strong>on</strong>s or reputati<strong>on</strong> services, which<br />

usually automatically mark well known websites as<br />

trusted despite the fact that hackers can upload<br />

malicious code to pers<strong>on</strong>al pages or ads to those<br />

domains. So for web 2.0 security we need better<br />

coding practices am<strong>on</strong>g developers, secure<br />

deployment means for web applicati<strong>on</strong>s & most<br />

important we need is awareness am<strong>on</strong>gst comm<strong>on</strong><br />

users regarding proper use .The biggest challenges in<br />

creating Ajax applicati<strong>on</strong>s are not technical. The core<br />

Ajax technologies are mature, stable, <strong>and</strong> well<br />

understood. Instead, the challenges are for the<br />

designers of these applicati<strong>on</strong>s: to forget what we<br />

think we know about the limitati<strong>on</strong>s of the Web, <strong>and</strong><br />

begin to imagine a wider, richer range of<br />

possibilities.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 86


Proceedings of ICCNS 08 , 27-28 September 2008<br />

What Is AJAX Fundamentally, AJAX represents a<br />

generic applicati<strong>on</strong> model that would enable more<br />

interactive, more resp<strong>on</strong>sive, <strong>and</strong> smarter Web<br />

applicati<strong>on</strong>s.<br />

1.1 Basic AJAX architecture:<br />

In case of basic AJAX architecture as shown in fig 1<br />

for web browser providing User interface Ajax API is<br />

able to h<strong>and</strong>le HTTP Request Resp<strong>on</strong>se <strong>and</strong> XML<br />

Http request from web servers.<br />

The difference between AJAX architecture &<br />

classical Web applicati<strong>on</strong>s is , java script is used for<br />

rich user interface & instead of having “break” in<br />

user experience, silent AJAX calls are made for<br />

having server interacti<strong>on</strong>s . This architecture creates<br />

many opportunities for various attacks <strong>on</strong> AJAX<br />

applicati<strong>on</strong>.<br />

II. TYPES OF ATTACKS ON RIA<br />

Here we discuss top types of attacks <strong>on</strong> rich internet<br />

applicati<strong>on</strong> that are observed recently.<br />

2.1 Cross-site scripting in AJAX<br />

Fig 1: AJAX Architecture<br />

Recently, several cross-site scripting attacks have<br />

been observed, where malicious JavaScript code from<br />

a particular Web site gets executed <strong>on</strong> the victim’s<br />

browser thereby compromising informati<strong>on</strong>. A recent<br />

example is the Yamanner worm that exploited crosssite<br />

scripting opportunities in Yahoo mail’s AJAX<br />

call. AJAX gets executed <strong>on</strong> the client-side by<br />

allowing an incorrectly written script to be exploited<br />

by an attacker. The attacker is <strong>on</strong>ly required to craft a<br />

malicious link to coax unsuspecting users to visit a<br />

certain page from their Web browsers. This<br />

vulnerability existed in traditi<strong>on</strong>al applicati<strong>on</strong>s as<br />

well but AJAX has added a new dimensi<strong>on</strong> to it as<br />

shown in f ig.3.<br />

1.2 The classic web applicati<strong>on</strong> model v/s AJAX<br />

Model<br />

Fig.3 New Dimensi<strong>on</strong>s in AJAX<br />

Fig2. The traditi<strong>on</strong>al model for web applicati<strong>on</strong>s (left)<br />

compared to the Ajax model (right).<br />

2.2 XML pois<strong>on</strong>ing<br />

XML traffic goes back <strong>and</strong> forth between server <strong>and</strong><br />

browser in many of the WEB 2.0 applicati<strong>on</strong>s. Web<br />

applicati<strong>on</strong>s c<strong>on</strong>sume XML blocks coming from<br />

AJAX clients. It is possible to pois<strong>on</strong> this XML<br />

block. Not uncomm<strong>on</strong> is the technique to apply<br />

recursive payloads to similar-producing XML nodes<br />

multiple times. If the engine’s h<strong>and</strong>ling is poor this<br />

may result in a denial of services <strong>on</strong> the server. Many<br />

attackers also produce malformed XML documents<br />

that can disrupt logic depending <strong>on</strong> parsing<br />

mechanisms in use <strong>on</strong> the server. There are two types<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 87


Proceedings of ICCNS 08 , 27-28 September 2008<br />

of parsing mechanisms available <strong>on</strong> the server side –<br />

SAX <strong>and</strong> DOM. This same attack vector is also used<br />

with Web services since they c<strong>on</strong>sume SOAP<br />

messages <strong>and</strong> SOAP messages are nothing but XML<br />

messages.<br />

3.1 Ideal validati<strong>on</strong> technique – both <strong>on</strong><br />

client & server:<br />

Fig. shows how validati<strong>on</strong> can be performed for<br />

client <strong>and</strong> server using JavaScript <strong>and</strong> validati<strong>on</strong><br />

Servlet.<br />

2.3. Malicious AJAX code executi<strong>on</strong><br />

AJAX calls are very silent <strong>and</strong> end-users would not<br />

be able to determine whether or not the browser is<br />

making silent calls using the XMLHTTPRequest<br />

object. When the browser makes an AJAX call to any<br />

Web site it replays cookies for each request. This can<br />

lead to potential opportunities for compromise. For<br />

example, John has logged in to his bank <strong>and</strong><br />

authenticated <strong>on</strong> the server. After completing the<br />

authenticati<strong>on</strong> process he gets a sessi<strong>on</strong> cookie. His<br />

bank’s page has a lot of critical informati<strong>on</strong>. Now he<br />

browses other pages while still logged in to his<br />

bank’s account Web page <strong>and</strong> l<strong>and</strong>s at an attacker’s<br />

Web page. On this page the attacker has written silent<br />

AJAX code which makes backend calls to his bank<br />

without John’s c<strong>on</strong>sent, fetches critical informati<strong>on</strong><br />

from the pages <strong>and</strong> sends this informati<strong>on</strong> to the<br />

attacker’s Web site.<br />

2.4. RSS/Atom injecti<strong>on</strong><br />

This is a new WEB 2.0 attack. RSS feeds are<br />

comm<strong>on</strong> means of sharing informati<strong>on</strong> <strong>on</strong> portals <strong>and</strong><br />

Web applicati<strong>on</strong>s. These feeds are c<strong>on</strong>sumed by Web<br />

applicati<strong>on</strong>s <strong>and</strong> sent to the browser <strong>on</strong> the clientside.<br />

One can inject literal JavaScripts into the RSS<br />

feeds to generate attacks <strong>on</strong> the client browser. An<br />

end user visits this particular web site loads the page<br />

with the RSS feed <strong>and</strong> the malicious script – a script<br />

that can install software or steal cookies – gets<br />

executed.<br />

III. CLIENT SIDE VALIDATION IN AJAX<br />

ROUTINES<br />

To prevent from all the above menti<strong>on</strong>ed attacks<br />

client side validati<strong>on</strong> of the end user is necessary.<br />

WEB 2.0 based applicati<strong>on</strong>s use AJAX routines to do<br />

a lot of work <strong>on</strong> the client-side, such as client-side<br />

validati<strong>on</strong>s for data type, c<strong>on</strong>tent-checking, date<br />

fields, etc. Normally, these client-side checks must be<br />

backed up by server-side checks as well. Most<br />

developers fail to do so; their reas<strong>on</strong>ing being the<br />

assumpti<strong>on</strong> that validati<strong>on</strong> is taken care of in AJAX<br />

routines. It is possible to bypass AJAX-based<br />

validati<strong>on</strong>s <strong>and</strong> to make POST or GET requests<br />

directly to the applicati<strong>on</strong> – a major source for input<br />

validati<strong>on</strong> based attacks such as SQL injecti<strong>on</strong>,<br />

LDAP injecti<strong>on</strong>, etc.<br />

Fig. 4 Client <strong>and</strong> Server validati<strong>on</strong>s<br />

IV. RIA THICK CLIENT BINARY<br />

MANIPULATION<br />

Rich Internet Applicati<strong>on</strong>s (RIA) use very rich UI<br />

features such as Flash, ActiveX C<strong>on</strong>trols or Applets<br />

as their primary interfaces to Web applicati<strong>on</strong>s. There<br />

are a few security issues with this framework. One of<br />

the major issues is with sessi<strong>on</strong> management since it<br />

is running in browser <strong>and</strong> sharing same sessi<strong>on</strong>. At<br />

the same time since the entire binary comp<strong>on</strong>ent is<br />

downloaded to the client locati<strong>on</strong>, an attacker can<br />

reverse engineer the binary file <strong>and</strong> decompile the<br />

code. It is possible to patch these binaries <strong>and</strong> bypass<br />

some of the authenticati<strong>on</strong> logic c<strong>on</strong>tained in the<br />

code.<br />

Fig.5 patching binary using Hex editor<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 88


Proceedings of ICCNS 08 , 27-28 September 2008<br />

V. PRACTICAL TESTING OF APPLICATIONS<br />

We developed prototype of our project in both DHTML-<br />

AJAX <strong>and</strong> Adobe flex which is recent tool for developing<br />

RIA .We found that DHTML-AJAX provides many<br />

backdoors for attackers to attack our applicati<strong>on</strong>.<br />

Compared to DHTML-AJAX the flex framework offers<br />

better soluti<strong>on</strong>s but still flex applicati<strong>on</strong>s are vulnerable to<br />

sessi<strong>on</strong> hijacking like threats & other threats related to<br />

sessi<strong>on</strong> management.<br />

VI. INCREMENTAL SOLUTION FOR THREATS<br />

We suggest some soluti<strong>on</strong>s that are to prevent from<br />

various Threats as follows<br />

6.1. Better coding practices<br />

least privilege—when c<strong>on</strong>figuring accounts that access<br />

resources, always limit the rights of these accounts to the<br />

absolute minimum that is required. As an extreme<br />

example, do not use an administrator account just to read<br />

a c<strong>on</strong>figurati<strong>on</strong> file. It is all too easy when things are not<br />

working due to permissi<strong>on</strong>s failures to increase an<br />

account's rights just to get the applicati<strong>on</strong> to work. The<br />

intenti<strong>on</strong> is to scale back later, but all too often this never<br />

happens.<br />

Never trust a user's input. Validate any input—this is<br />

especially true for web applicati<strong>on</strong>s. Make sure that your<br />

applicati<strong>on</strong> does not rely <strong>on</strong> client-side validati<strong>on</strong>; all<br />

checks should be repeated <strong>on</strong> the server as it is relatively<br />

simple to c<strong>on</strong>struct copies of web pages without the<br />

restraints that could lead to destructive code being run or<br />

simply a denial-of-service (DOS) attack that crashes your<br />

system. Use error messages sparingly—although detailed<br />

error messages are extremely helpful when developing,<br />

they are an invaluable source of informati<strong>on</strong> for malicious<br />

users details are better recorded in a separate log.<br />

6.2 Prevent SQL Injecti<strong>on</strong><br />

To defense from SQL injecti<strong>on</strong> where user tries to modify<br />

query through input we suggest that we can use stored<br />

procedures to carry out the user verificati<strong>on</strong>.<br />

When parameter values are set, special symbols such<br />

as single quotes are escaped <strong>and</strong> it is not possible to<br />

add extra predicates to a WHERE clause or run<br />

multiple SQL statements .Sec<strong>on</strong>d way is that you<br />

filter out some special strings like quotes form user<br />

input i.e. escape them. We used first way & results<br />

suggest it’s more robust.<br />

6.3 Fight against cross – side scripting<br />

Cross-site scripting, sometimes abbreviated to XSS,<br />

is allowing code from <strong>on</strong>e area to run in the c<strong>on</strong>text<br />

of another site. As in most cases this can be avoided<br />

by validating input from users. In this way user can<br />

insert JavaScript code into emails etc. & can get<br />

c<strong>on</strong>fidential info about victim’s account. Soluti<strong>on</strong><br />

against this is to filter emails & other susceptible<br />

things against tags like & remove malicious<br />

JavaScript. You can prevent this by employing<br />

regular expressi<strong>on</strong>s.<br />

6.4.Secure deployment<br />

To protect against today's highly sophisticated webborne<br />

threats, including Web 2.0/AJAX exploits,<br />

obfuscated code <strong>and</strong> other dynamic threats,<br />

enterprises should adopt a multi-layered approach,<br />

typically involving both proactive (e.g. real-time<br />

inspecti<strong>on</strong>) <strong>and</strong> reactive (e.g., signature-based) IT<br />

security technologies. The use of multiple IT security<br />

soluti<strong>on</strong>s must become a st<strong>and</strong>ard approach for any<br />

organizati<strong>on</strong> seeking to protect its internet-c<strong>on</strong>nected<br />

assets.<br />

To achieve this objective, IT managers should<br />

c<strong>on</strong>sider installing an appliance at the Internet<br />

gateway, which performs real-time code inspecti<strong>on</strong> of<br />

traffic flowing into <strong>and</strong> out of the corporate network.<br />

High performance <strong>and</strong> high availability appliances<br />

capable of m<strong>on</strong>itoring <strong>and</strong> acting swiftly to block any<br />

suspicious web traffic are paramount.<br />

6.5 Awareness am<strong>on</strong>g comm<strong>on</strong> end users<br />

The end user should be trained for secure use of web<br />

applicati<strong>on</strong>s & should exploit all the security<br />

facilities provided for him by the platform .This is the<br />

most important <strong>and</strong> interesting aspect for web 2.0<br />

securities because without end users c<strong>on</strong>siderati<strong>on</strong> all<br />

the work d<strong>on</strong>e will be in vain. End user awareness<br />

needs proper demos, trainings for comm<strong>on</strong> users &<br />

developer organizati<strong>on</strong>s should regard this as a high<br />

priority work. Typically the web applicati<strong>on</strong> should<br />

c<strong>on</strong>tain training informati<strong>on</strong> manuals, videos &<br />

other accessories for user. If the training is given to<br />

the all end users <strong>on</strong> secure use of web services then<br />

this problem will be reduced up to certain extents.<br />

Fig.6 SQL injecti<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 89


Proceedings of ICCNS 08 , 27-28 September 2008<br />

VII. CONCLUSION<br />

It is observed that the threats that are observed in our<br />

day to day life while browsing <strong>on</strong> internet are quite<br />

general <strong>on</strong>e <strong>and</strong> we can use firewalls or any good<br />

Antivirus anti worm soluti<strong>on</strong>s to prevent from these<br />

attacks. Some of the attackers may cause serious<br />

damage by doing some validati<strong>on</strong> breaking <strong>and</strong> it<br />

may cause serious damage to the organizati<strong>on</strong>s, so<br />

there is a need to be more careful while browsing <strong>on</strong><br />

the internet <strong>and</strong> doing business <strong>on</strong> the internet, but to<br />

obtained security in RIA based applicati<strong>on</strong> <strong>on</strong> WEB<br />

2.0 using AJAX, it provides security which can<br />

prevent more damages from hidden attacks such as<br />

XML pois<strong>on</strong>ing, Cross-site scripting, RSS / Atom<br />

injecti<strong>on</strong> <strong>and</strong> Malicious AJAX code executi<strong>on</strong>. And<br />

most important part is the end user who should be<br />

trained for secure use of web applicati<strong>on</strong>s.<br />

VIII. REFRENCES<br />

[1] Coach K. Wey: AJAX: Asynchr<strong>on</strong>ous Java + XML<br />

http://www.developer.com/design/article.php/3526681<br />

[2] Jesse James Garrett: AJAX: A New Approach to Web<br />

Applicati<strong>on</strong>s,http://www.adaptivepath.com/publicati<strong>on</strong>s/essays/<br />

archives/000385.php<br />

[3] Bernhard Wagner: Server-Side Swing for Rich Internet<br />

Applicati<strong>on</strong>s,http://javadesktop.org/articles/canoo<br />

/index.html<br />

[4] Michael S<strong>on</strong>ntag “Ajax <strong>Security</strong> in Groupware”<br />

[5] Pauls<strong>on</strong>, L.D. “Building rich web applicati<strong>on</strong>s with<br />

AJAX “<br />

[6] Shanmugam, Jayamsakthi; P<strong>on</strong>navaikko M, “ A<br />

soluti<strong>on</strong> to block Cross Site scripting Vulnerabilities<br />

based <strong>on</strong> Service Oriented Architecture” <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Internet <strong>and</strong> Web Applicati<strong>on</strong>s <strong>and</strong><br />

Services.<br />

[7] Jayamsakthi, S. P<strong>on</strong>navaikko, M. “Risk Mitigati<strong>on</strong><br />

for Cross Site Scripting Attacks Using SignatureBased<br />

Model <strong>on</strong> the Server Side” <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Internet <strong>and</strong> Web Applicati<strong>on</strong>s <strong>and</strong> Services.<br />

[8] Mem<strong>on</strong>, J.M.; Shams-ul-Arfeen; Mughal, A.; Mem<strong>on</strong>,<br />

F.”Preventing Reverse Engineering Threat in Java Using<br />

Byte Code Obfuscati<strong>on</strong> Techniques” <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Internet <strong>and</strong> Web Applicati<strong>on</strong>s <strong>and</strong><br />

Services.<br />

[9] Integrating AJAX Approach into GIS Visualizati<strong>on</strong><br />

Web Services Sayar, A.; Pierce, M.; Fox, G.<br />

Telecommunicati<strong>on</strong>s, 2006. AICT-ICIW apos;06.<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Internet <strong>and</strong> Web<br />

Applicati<strong>on</strong>s <strong>and</strong> Services Volume, Issue, 19-25 Feb.<br />

2006 Page(s): 169 – 169<br />

[11] From Desktop Applicati<strong>on</strong>s towards Ajax Web<br />

Applicati<strong>on</strong>s Zepeda, J. Sergio Chapa, Sergio V.<br />

Department of <strong>Computer</strong> Science. CINVESTAV,<br />

Av. Instituto Politécnico Nati<strong>on</strong>al 2508. 07300.<br />

[12] Ajax <strong>and</strong> Web Services Integrated Framework<br />

Based <strong>on</strong> Duplicate Proxy Pattern Yifu Gan<br />

Huir<strong>on</strong>g Yang Beijing Univ. of Technology., Beijing;<br />

[13]Simplifying Ajax-style Web development Smith, K.<br />

Microsoft; Publicati<strong>on</strong> Date: May 2006Volume: 39,<br />

Issue: 5 <strong>on</strong> page(s): 98- 101<br />

[14] T. Elteto <strong>and</strong> S. Molnar, “<strong>Security</strong> enhancements in<br />

TCP/IP networks,” LCN’99 Proceedings: 24th<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Local <strong>Computer</strong> <strong>Networks</strong>. Lowell, MA,<br />

pp. 172–181, IEEE <strong>Computer</strong> Society Press, Oct. 1999.<br />

[15] L. L. Peters<strong>on</strong> <strong>and</strong> B. S. Davie, <strong>Computer</strong> <strong>Networks</strong>:<br />

A System Approach, 2nd ed. San Francisco, CA:<br />

Morgan Kaufmann, 2000.<br />

[16] C. Fraleigh, S. Mo<strong>on</strong>, B.Lyles, C. Cott<strong>on</strong>, M.Khan,<br />

Moll, R. Rockell,T. Seely, <strong>and</strong> C. Diot, “Packet-level<br />

traffic measurements from the SprintIP backb<strong>on</strong>e,”<br />

IEEE Network, vol. 17, no. 6, pp. 6–16, Nov.–Dec.<br />

2003.<br />

[17] V. Paxs<strong>on</strong>, “Measurements <strong>and</strong> analysis of end-toend<br />

internet dynamics,”Ph.D. dissertati<strong>on</strong>,<br />

Univ.California, Berkley, CA, Apr. 1997<br />

[18] J. Padhye, V. Firoiu, D. Towsley, <strong>and</strong> J. Kurose,<br />

“Modeling TCPthroughput: a simple model <strong>and</strong> its<br />

empirical validati<strong>on</strong>,” in Proc.ACM SIGCOMM, 1998,<br />

pp. 303–314.<br />

[19 ] L. Ma, “Signal processing analysis <strong>and</strong> algorithms for<br />

Internet c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol,” Ph.D. dissertati<strong>on</strong>, Univ.<br />

Delaware, Newark, DE, Aug .2004.<br />

[20] J. Hall, I. Pratt, <strong>and</strong> I. Leslie, “Observing web browser<br />

behavior using the Nprobe passive m<strong>on</strong>itoring<br />

architecture,” Cabernet, 2001, [Online.] Available:<br />

http://www.cl.cam.ac.uk/Research/SRG/netos/<br />

nprobe/publicati<strong>on</strong>s/cabernet-2001.pdf.<br />

[21] C. S. Hood <strong>and</strong> C. Ji, “Proactive network fault<br />

detecti<strong>on</strong>,” in Proc. IEEEINFOCOM, 1997, pp.<br />

1147–1155.<br />

[23 ] A. Zalesky, E. W. M.W<strong>on</strong>g, M. Zukerman, H. L. Vu,<br />

<strong>and</strong> R. S. Tucker,“Performance analysis of an web<br />

based system ,” IEEE Phot<strong>on</strong>. Technol.Lett., vol. 16,<br />

pp. 695–697, Feb. 2004.<br />

[24] Web 2.0 <strong>Security</strong> - Defending AJAX, RIA, AND SOA<br />

(Paperback)by Shreeraj Shah<br />

[25] Hacking Exposed Web 2.0: Web 2.0 <strong>Security</strong> Secrets <strong>and</strong><br />

Soluti<strong>on</strong>s Rich Cannings, Zane Lackey<br />

[26] Pragmatic Ajax: A Web 2.0 Primer (Pragmatic) by Justin<br />

Gehtl<strong>and</strong>, Ben Galbraith<br />

[10]Integrating AJAX Approach into GIS<br />

Visualizati<strong>on</strong> Web Services Sayar, A. Pierce, M.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 90


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Issues Over Wireless Links<br />

Ms. Rachana T. Nemade<br />

AbstractWireless network technology is the fastest growing<br />

segment of the communicati<strong>on</strong>s market. Unprotected wireless<br />

networks essentially open the fr<strong>on</strong>t door of your network to<br />

intruders that can access shared drives <strong>and</strong> data, sniff every packet <strong>on</strong><br />

your network, read emails, access web sites, <strong>and</strong> capture data for<br />

further analysis, <strong>and</strong> take as l<strong>on</strong>g as they need to crack the rest of<br />

your system. This paper first describes tax<strong>on</strong>omy of wireless network<br />

attack techniques, a brief overview of wireless networks <strong>and</strong> security<br />

st<strong>and</strong>ards. Accordingly, security st<strong>and</strong>ards must fill the gap between<br />

the state of the art in system development <strong>and</strong> actual operati<strong>on</strong> of<br />

these systems. In this article, we look into the technology <strong>and</strong><br />

security schemes in IEEE 802.11, Cellular <strong>and</strong> Bluetooth wireless<br />

transport protocols.<br />

W<br />

I. INTRODUCTION<br />

IRELESS technologies, in the simplest sense, enable<br />

<strong>on</strong>e or more devices to communicate without physical<br />

c<strong>on</strong>necti<strong>on</strong>s without requiring network or peripheral<br />

cabling. Wireless technologies use radio frequency<br />

transmissi<strong>on</strong>s as the means for transmitting data, whereas<br />

wired technologies use cables. Wireless technologies range<br />

from complex systems, such as Wireless Local Area <strong>Networks</strong><br />

(WLAN) <strong>and</strong> cell ph<strong>on</strong>es to simple devices such as wireless<br />

headph<strong>on</strong>es, microph<strong>on</strong>es, <strong>and</strong> other devices that do not<br />

process or store informati<strong>on</strong>. By removing the need to wire a<br />

network in the home, the cost of adopti<strong>on</strong> <strong>and</strong> benefit of<br />

mobility within the home <strong>and</strong> low cost of comp<strong>on</strong>ents make<br />

wireless networking a low-cost <strong>and</strong> efficient way to install a<br />

home network. This segment of the market is much less aware<br />

<strong>and</strong> c<strong>on</strong>cerned about the security implicati<strong>on</strong>s associated with<br />

wireless networks. Wireless networking is inherently<br />

insecure. From jamming to eavesdropping, from man-in the<br />

middle to spoofing, there are a variety of attack methods that<br />

can be used against the users of wireless networks. Modern<br />

wireless data networks use a variety of cryptographic<br />

techniques such as encrypti<strong>on</strong> <strong>and</strong> authenticati<strong>on</strong> to provide<br />

barriers to such infiltrati<strong>on</strong>s.<br />

II. WIRELESS NETWORK CONCEPT<br />

Wireless networks serve as the transport mechanism<br />

between devices <strong>and</strong> am<strong>on</strong>g devices <strong>and</strong> the traditi<strong>on</strong>al wired<br />

networks (enterprise networks <strong>and</strong> the Internet). Wireless<br />

networks are many <strong>and</strong> diverse but are frequently categorized<br />

into three groups based <strong>on</strong> their coverage range: Wireless<br />

Wide Area <strong>Networks</strong> (WWAN), WLANs, <strong>and</strong> Wireless<br />

Pers<strong>on</strong>al Area <strong>Networks</strong> (WPAN). WWAN includes wide<br />

coverage area technologies such as 2G cellular, Cellular<br />

Digital Packet Data (CDPD), Global System for Mobile<br />

Communicati<strong>on</strong>s (GSM), <strong>and</strong> Mobitex. WLAN, representing<br />

wireless local area networks, includes 802.11, HiperLAN, <strong>and</strong><br />

several others. WPAN represents wireless pers<strong>on</strong>al area<br />

network technologies such as Bluetooth <strong>and</strong> IR. Wireless<br />

adopti<strong>on</strong> within the corporate <strong>and</strong> medium-sized businesses<br />

has been severely inhibited by security c<strong>on</strong>cerns associated<br />

with placing sensitive corporate data over the air.<br />

Wireless networks are not limited by network jacks nor are<br />

they limited by geography. Wireless networks provide<br />

unprecedented flexibility in that an area not originally<br />

intended as a collaborative workspace can accommodate a<br />

large number of wireless clients. Insecure Wireless <strong>Networks</strong><br />

are not just a problem for WLAN users, but through Address<br />

Resoluti<strong>on</strong> Protocol (ARP) attacks, every system <strong>on</strong> the same<br />

side of the router as the WLAN in an organizati<strong>on</strong>s network<br />

is vulnerable to attack.<br />

We have c<strong>on</strong>ducted a study of the available Wireless<br />

Network security technology. To limit the scope of this paper<br />

we have decided to choose representative techniques rather<br />

than try <strong>and</strong> assemble <strong>and</strong> discuss a complete list of Wireless<br />

attacks. Specific attacks are normally focused <strong>on</strong><br />

vulnerabilities that are design <strong>and</strong> implementati<strong>on</strong> specific.<br />

However, there are classes of attack techniques that apply<br />

across different technologies. Through our choices we hope to<br />

achieve a fair comparis<strong>on</strong> of the different Wireless network<br />

security technologies. We will also not discuss attacks that are<br />

either stopped or defeated by the technologies we discuss in<br />

this paper.<br />

III. RISKS IN WIRELESS NETWORKS<br />

Risks in wireless networks are equal to the sum of the risk<br />

of operating a wired network (as in operating a network in<br />

general) plus the new risks introduced by weaknesses in<br />

wireless protocols. To mitigate these risks, agencies need to<br />

adopt security measures <strong>and</strong> practices that help bring their<br />

risks to a manageable level. Any well-known attack can be<br />

decomposed <strong>and</strong> the comp<strong>on</strong>ents can all be classified into <strong>on</strong>e<br />

of these attack techniques. A complete informati<strong>on</strong> assurance<br />

risk assessment requires a focus <strong>on</strong> the threats against the<br />

three key comp<strong>on</strong>ents of assuring informati<strong>on</strong>. That is, the<br />

informati<strong>on</strong> system should protect against c<strong>on</strong>fidentiality,<br />

integrity, <strong>and</strong> availability (CIA) attacks. We chose not to<br />

discuss attacks <strong>on</strong> the WLAN availability, otherwise known as<br />

denial of service attacks. Denial of Service attacks against<br />

layer 1 or layer 2 cannot be defeated by any of the security<br />

technologies that we are analyzing.<br />

This subsecti<strong>on</strong> will briefly cover the risks to wireless<br />

networks i.e., attacks <strong>on</strong> c<strong>on</strong>fidentiality, integrity, <strong>and</strong><br />

network availability. We start by examining attacks against the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 91


Proceedings of ICCNS 08 , 27-28 September 2008<br />

c<strong>on</strong>fidentiality of communicati<strong>on</strong> <strong>on</strong> the network. We then<br />

move into those attacks that actually alter the network traffic,<br />

hence destroying the integrity of the informati<strong>on</strong> <strong>on</strong> the<br />

network. When looking at c<strong>on</strong>fidentiality attacks we start with<br />

the least intrusive <strong>and</strong> work towards more intrusive attacks.<br />

Of the eight attack techniques in our tax<strong>on</strong>omy, four violate<br />

just the c<strong>on</strong>fidentiality or privacy of the sessi<strong>on</strong>: traffic<br />

analysis, passive eavesdropping, active eavesdropping with<br />

partial known plaintext, <strong>and</strong> active eavesdropping with known<br />

plaintext. One technique can be used to violate c<strong>on</strong>fidentiality<br />

<strong>and</strong>/or integrity -- the man in- the-middle attack. Three attack<br />

techniques violate the integrity of the network traffic:<br />

unauthorized access, sessi<strong>on</strong> high jacking, <strong>and</strong> the replay<br />

attack. The integrity attack techniques generally require<br />

successful use of <strong>on</strong>e or more of the c<strong>on</strong>fidentiality attack<br />

techniques in order to meet the necessary prec<strong>on</strong>diti<strong>on</strong>s of<br />

these attacks.<br />

A. Traffic analysis<br />

Traffic analysis is a simple technique whereby the attacker<br />

can determine the load <strong>on</strong> the communicati<strong>on</strong> medium by the<br />

number <strong>and</strong> size of packets being transmitted. The attacker<br />

<strong>on</strong>ly needs a wireless card operating in promiscuous (i.e<br />

listening) mode <strong>and</strong> software to count the number <strong>and</strong> size of<br />

the packets being transmitted. A simple yagi or helical<br />

directi<strong>on</strong>al antenna provides an increased range at which the<br />

attacker may analyze traffic. Traffic analysis allows the<br />

attacker to obtain three forms of informati<strong>on</strong>. The attack<br />

primarily identifies that there is activity <strong>on</strong> the network.<br />

Similar to st<strong>and</strong>ard radio communicati<strong>on</strong>s, a significant<br />

increase in the amount of network activity serves as an<br />

indicator for the occurrence of a large event.<br />

The identificati<strong>on</strong> <strong>and</strong> physical locati<strong>on</strong> of wireless access<br />

points (APs) in the surrounding area is a sec<strong>on</strong>d form of<br />

informati<strong>on</strong> acquired from traffic analysis. Unless explicitly<br />

turned off, access points broadcast their Service Set Identifiers<br />

(SSIDs) in order to identify themselves to wireless nodes<br />

desiring access to the network . The SSID is a parameter that<br />

must be c<strong>on</strong>figured in the wireless cards driver software for<br />

any wireless stati<strong>on</strong> desiring access to a wireless LAN. By<br />

broadcasting this informati<strong>on</strong>, access points allow any<strong>on</strong>e to<br />

identify in their area to identify them with simple locator<br />

software. If a directi<strong>on</strong>al antenna is used al<strong>on</strong>g with a Global<br />

Positi<strong>on</strong>ing System (GPS), an attacker may know not <strong>on</strong>ly that<br />

there is an AP(s) in the area, but may also obtain the physical<br />

locati<strong>on</strong> of the access point or the center of the wireless<br />

network. From a military st<strong>and</strong>point, this is the same<br />

technique used in triangulating radio communicati<strong>on</strong>s or field<br />

artillery batteries for the purpose of counterfire.<br />

The third piece of informati<strong>on</strong> that an attacker may learn of<br />

through traffic analysis is the type of protocols being used in<br />

the transmissi<strong>on</strong>s. This knowledge is obtained based <strong>on</strong> the<br />

size <strong>and</strong> the number of packets in transmissi<strong>on</strong> over a period<br />

of time.<br />

B. Passive Eavesdropping<br />

In this attack the attacker passively m<strong>on</strong>itors the wireless<br />

sessi<strong>on</strong>. The <strong>on</strong>ly prec<strong>on</strong>diti<strong>on</strong> is that the attacker has access<br />

to the transmissi<strong>on</strong>. This is an attack that cannot easily be<br />

stopped by using physical security measures. One would<br />

believe that wireless network users would c<strong>on</strong>figure their<br />

wireless access points to include some form of encrypti<strong>on</strong>;<br />

however, studies have shown that less than half of the wireless<br />

access points in use even have the vulnerable 802.11 wireless<br />

security st<strong>and</strong>ard, the wired equivalent privacy (WEP)<br />

protocol, properly c<strong>on</strong>figured <strong>and</strong> running. Assuming that the<br />

sessi<strong>on</strong> is not encrypted, the attacker can gain two types of<br />

informati<strong>on</strong> from passive eavesdropping. The attacker can<br />

read the data transmitted in the sessi<strong>on</strong> <strong>and</strong> can also gather<br />

informati<strong>on</strong> indirectly by examining the packets in the sessi<strong>on</strong>,<br />

specifically their source, destinati<strong>on</strong>, size, number, <strong>and</strong> time of<br />

transmissi<strong>on</strong>. The impact of this type of attack is not just<br />

based<strong>on</strong> the importance of the privacy of the informati<strong>on</strong>. The<br />

informati<strong>on</strong> gleaned from this attack is an important<br />

prec<strong>on</strong>diti<strong>on</strong> for other, more damaging attacks.<br />

C. Active Eavesdropping<br />

In this attack the attacker m<strong>on</strong>itors the wireless sessi<strong>on</strong> as<br />

described in passive eavesdropping .Unlike passive<br />

eavesdropping however, during active eavesdropping, the<br />

attacker not <strong>on</strong>ly listens to the wireless c<strong>on</strong>necti<strong>on</strong>, but also<br />

actively injects messages into the communicati<strong>on</strong> medium in<br />

order to assist them in determining the c<strong>on</strong>tents of messages.<br />

The prec<strong>on</strong>diti<strong>on</strong>s for this attack are that the attacker has<br />

access to the transmissi<strong>on</strong> <strong>and</strong> has access to partially known<br />

plaintext such as a destinati<strong>on</strong> IP address. The attackers <strong>on</strong>ly<br />

requirement is to determine the bit difference between the data<br />

they want to inject <strong>and</strong> the original data.<br />

D. Unauthorized Access<br />

Unauthorized Access is different from any of the previous<br />

attack types that we have discussed in that it is not directed at<br />

any individual user or set of users. It is directed against the<br />

network as a whole. Once an attacker has access to the<br />

network, she can then launch additi<strong>on</strong>al attacks or just enjoy<br />

free network use. Although free network use may not be a<br />

significant threat to many networks, access is a key step in<br />

ARP attacks.<br />

Due to the physical properties of WLANs, attackers will<br />

always have access to the wireless comp<strong>on</strong>ent of the network.<br />

In some wireless security architectures this will also grant the<br />

attacker access to the wired comp<strong>on</strong>ent of the network. In<br />

other architectures, the attacker must use some technique like<br />

MAC address spoofing to gain access to the wired comp<strong>on</strong>ent<br />

of the network<br />

E. A man-in-the-middle attack<br />

A man-in-the-middle attack can be used to read private data<br />

from a sessi<strong>on</strong> or to modify the packets thus violating the<br />

integrity of a sessi<strong>on</strong>. This is a real-time attack, meaning that<br />

the attack occurs during a target machines sessi<strong>on</strong>. The data<br />

may be read or the sessi<strong>on</strong> modified as it occurs. The attack<br />

will know the c<strong>on</strong>tents of the message prior to the intended<br />

recipient receiving it, or the message is changed en route.<br />

There are multiple ways to implement this attack. One<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 92


Proceedings of ICCNS 08 , 27-28 September 2008<br />

example is when the target has an authenticated sessi<strong>on</strong><br />

underway.. In step <strong>on</strong>e, the attacker breaks the sessi<strong>on</strong> <strong>and</strong><br />

does not allow the target to reassociate with the access point.<br />

In step two, the target machine attempts to reassociate with the<br />

wireless network through the access point <strong>and</strong> is <strong>on</strong>ly able to<br />

associate with the attackers machine which is mimicking the<br />

access point. Also in step two, the attacker associates <strong>and</strong><br />

authenticates with the access point <strong>on</strong> behalf of the target. If<br />

an encrypted tunnel is in place the attacker establishes two<br />

encrypted tunnels between it <strong>and</strong> the target <strong>and</strong> it <strong>and</strong> the<br />

access point.<br />

F. Sessi<strong>on</strong> High-Jacking<br />

Sessi<strong>on</strong> High Jacking is an attack against the integrity of a<br />

sessi<strong>on</strong>. The attacker takes an authorized <strong>and</strong> authenticated<br />

sessi<strong>on</strong> away from its proper owner. The target knows that it<br />

no l<strong>on</strong>ger has access to the sessi<strong>on</strong> but may not be aware that<br />

the sessi<strong>on</strong> has been taken over by an attacker. The target may<br />

attribute the sessi<strong>on</strong> loss to a normal malfuncti<strong>on</strong> of the<br />

WLAN. Once the attacker owns a valid sessi<strong>on</strong> she may use<br />

the sessi<strong>on</strong> for whatever purposes she wants <strong>and</strong> maintain the<br />

sessi<strong>on</strong> for an extended time. This attack occurs in real-time<br />

but can c<strong>on</strong>tinue l<strong>on</strong>g after the victim thinks the sessi<strong>on</strong> is<br />

over. To successfully execute Sessi<strong>on</strong> High Jacking the<br />

attacker must accomplish two tasks. First she must<br />

masquerade as the target to the wireless network. This<br />

includes crafting the higher-level packets to maintain the<br />

sessi<strong>on</strong>, using any persistent authenticati<strong>on</strong> tokens <strong>and</strong><br />

employing any protective encrypti<strong>on</strong>. This requires successful<br />

eavesdropping <strong>on</strong> the targets communicati<strong>on</strong> to gather the<br />

necessary informati<strong>on</strong>. The sec<strong>on</strong>d task the attacker must<br />

perform is to stop the target from c<strong>on</strong>tinuing the sessi<strong>on</strong>. The<br />

attacker normally will use a sequence of spoofed disassociate<br />

packets to keep the target out of the sessi<strong>on</strong><br />

G. Replay<br />

Replay attacks are also aimed at the integrity of the<br />

informati<strong>on</strong> <strong>on</strong> the network if not necessarily the integrity of a<br />

specific sessi<strong>on</strong>. Replay attacks are used to gain access to the<br />

network with the authorizati<strong>on</strong>s of the target, but the actual<br />

sessi<strong>on</strong> or sessi<strong>on</strong>s that are attacked are not altered or<br />

interfered with in anyway. This attack is not a real-time attack;<br />

the successful attacker will have access to the network<br />

sometime after the original sessi<strong>on</strong>(s).<br />

In a replay attack the attacker captures the authenticati<strong>on</strong> of<br />

a sessi<strong>on</strong> or sessi<strong>on</strong>s. The attacker then either replays the<br />

sessi<strong>on</strong> at a later time or uses multiple sessi<strong>on</strong>s to synthesize<br />

the authenticati<strong>on</strong> part of a sessi<strong>on</strong> for replay. Since the<br />

sessi<strong>on</strong> was a valid, the attacker establishes an authenticated<br />

sessi<strong>on</strong> without being privy to any shared secrets used in<br />

authenticati<strong>on</strong>. Without further security mechanisms the<br />

attacker may interact with the network using the targets<br />

authorizati<strong>on</strong>s <strong>and</strong> credentials..<br />

IV. WIRELESS SECURITY TECHNOLOGIES<br />

This secti<strong>on</strong> will discuss the actual specificati<strong>on</strong>s <strong>and</strong><br />

st<strong>and</strong>ards for the 802.11 family, CDMA, GPRS <strong>and</strong> Bluetooth.<br />

There are numerous vendor specific extensi<strong>on</strong>s to many of<br />

these st<strong>and</strong>ards but those extensi<strong>on</strong>s are not included here.<br />

A. 802.11<br />

WLANs are based <strong>on</strong> the IEEE 802.11 st<strong>and</strong>ard, which the<br />

IEEE first developed in 1997. The IEEE designed 802.11 to<br />

support medium-range, higher data rate applicati<strong>on</strong>s, such as<br />

Ethernet networks, <strong>and</strong> to address mobile <strong>and</strong> portable<br />

stati<strong>on</strong>s.<br />

802.11 is the original WLAN st<strong>and</strong>ard, designed for 1 Mbps<br />

to 2 Mbps wireless transmissi<strong>on</strong>s. The IEEE 802.11 c<strong>on</strong>sists<br />

of a group or family of Wireless LAN (WLAN) st<strong>and</strong>ards.<br />

They are designed for use with wireless data access devices<br />

such as laptops <strong>and</strong> PDAs. Each member of the family builds<br />

up<strong>on</strong> the 802.11 base <strong>and</strong> is identified by a single letter suffix<br />

to the st<strong>and</strong>ard. This leads to an alphabet soup of protocols<br />

(802.11a, 802.11b, 802.11c, 802.11d <strong>and</strong> so <strong>on</strong>). The 802.11<br />

base or legacy st<strong>and</strong>ard set specifies the lower porti<strong>on</strong> of the<br />

Data Link Layers Medium Access C<strong>on</strong>trol (MAC) <strong>and</strong> the<br />

Physical Layers (PHY) operati<strong>on</strong>s. Since WLAN operati<strong>on</strong><br />

requires every<strong>on</strong>e to use the same set of frequencies, the<br />

Carrier Sense Multiple Access with Collisi<strong>on</strong> Avoidance<br />

(CSMA/CA) protocol, which is similar to Ethernet, is used.<br />

However, there is an added problem in that the wireless<br />

stati<strong>on</strong>s cannot detect a collisi<strong>on</strong> as reliably as in a wired<br />

envir<strong>on</strong>ment. To remedy this issue, Collisi<strong>on</strong> Avoidance is<br />

used. To do this the protocol defines a window of time<br />

between frame transmissi<strong>on</strong>s that can be used to make a<br />

determinati<strong>on</strong> as to the mediums usage. This space is referred<br />

to as the Interframe Space (IFS) <strong>and</strong> is defined within the<br />

basic st<strong>and</strong>ard with several variants that allow for simple<br />

request prioritizati<strong>on</strong>. The stati<strong>on</strong> that wishes to transmit<br />

avoids, at least initially, any potential collisi<strong>on</strong>s by listening<br />

for any stati<strong>on</strong>s that may already be transmitting. If it detects<br />

another stati<strong>on</strong> transmitting, it waits until the next IFS then<br />

attempts to transmit. If a collisi<strong>on</strong> is detected, a transmissi<strong>on</strong><br />

in progress is detected or the stati<strong>on</strong> has just finished<br />

transmitting, then an Exp<strong>on</strong>ential Backoff Algorithm is used<br />

to determine when to try again. In the lower, physical layer,<br />

there are three specificati<strong>on</strong>s defined for the transmissi<strong>on</strong> of<br />

the data, Frequency-Hopping Spread Spectrum (FHSS), Direct<br />

Sequence Spread Spectrum (DSSS) <strong>and</strong> Infrared (IR). Most<br />

vendors choose to use the DSSS method, which uses two<br />

different phase shift keying or modulati<strong>on</strong> approaches to<br />

achieve 1 Mbps (Differential Binary Phase Shift Keying<br />

DBPSK) or 2 Mbps (Differential Quadrature Phase Shift<br />

Keying DQPSK) data transmissi<strong>on</strong> rates. The data sent using<br />

these methods is first modulated using a specific pattern of<br />

<strong>on</strong>es <strong>and</strong> zeros referred to as the chipping sequence.<br />

One of the issues that arise with this st<strong>and</strong>ard is the usage of<br />

the 2.4GHz b<strong>and</strong>. Many other devices such as microwaves <strong>and</strong><br />

cordless ph<strong>on</strong>es are also using this same b<strong>and</strong>. In c<strong>on</strong>gested<br />

areas such as a large city with a large number of closely<br />

packed <strong>and</strong> tall buildings, the signals may not be clear <strong>and</strong><br />

there is the possibility that differing signal types <strong>and</strong> strengths<br />

may cause wireless stati<strong>on</strong>s to select an access point other than<br />

the desired target.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 93


Proceedings of ICCNS 08 , 27-28 September 2008<br />

1. <strong>Security</strong> in 802.1x<br />

Wireless LANs are significantly less secure than wired<br />

LANs. Signals can be more easily captured from a number of<br />

stati<strong>on</strong>s by the simple choice of capture locati<strong>on</strong>. In order to<br />

prevent this type of data capture from being successful, the<br />

wireless LAN st<strong>and</strong>ards have included a set of protocols <strong>and</strong><br />

facilities. However, like anything new <strong>and</strong> interesting, it turns<br />

out that the initial protocols were not as robust in performing<br />

their task as was to be hoped.<br />

In additi<strong>on</strong> to the work <strong>on</strong> the 802.11i st<strong>and</strong>ards, there is a<br />

Robust <strong>Security</strong> Network (RSN) proposal, focused <strong>on</strong> a l<strong>on</strong>gterm<br />

soluti<strong>on</strong> to the 802.11 problems, referred to as 802.1X.<br />

RSN provide security by adding a third party, authenticati<strong>on</strong><br />

server service to the authenticati<strong>on</strong> process. The way this<br />

works is that the stati<strong>on</strong>, referred to as the Supplicant that<br />

wishes to c<strong>on</strong>nect to the network by way of the Access Point,<br />

referred to as the Authenticator, makes a c<strong>on</strong>necti<strong>on</strong> request.<br />

The Authenticator then c<strong>on</strong>tacts an Authenticati<strong>on</strong> Server,<br />

usually a RADIUS type server, which either validates or<br />

rejects the request. The Extensible Authenticati<strong>on</strong> Protocol<br />

(EAP) is used to make the authenticati<strong>on</strong> request. In this way a<br />

high degree of secure, flexibility exists as to the actual service<br />

that can be deployed. EAP is c<strong>on</strong>sidered to be secure in that is<br />

a challenge-resp<strong>on</strong>se model.<br />

Like in all new protocol proposals weaknesses are identified<br />

that allow for both a Man-In-Middle attack <strong>and</strong> to allow a<br />

Sessi<strong>on</strong> Hijacking to occur. The first attack focuses <strong>on</strong> the<br />

relati<strong>on</strong>ship between the Authenticator <strong>and</strong> the Authenticating<br />

Server. No explicit mutual authenticati<strong>on</strong> is specified in the<br />

st<strong>and</strong>ard <strong>and</strong> thus some<strong>on</strong>e sitting between these two entities<br />

could gain access <strong>and</strong> assume either role. The sec<strong>on</strong>d attack<br />

relies <strong>on</strong> the wireless operati<strong>on</strong>al envir<strong>on</strong>ment <strong>and</strong> the ability<br />

for an attacker to use certain management frames to change<br />

the Supplicants <strong>and</strong> Authenticators c<strong>on</strong>necti<strong>on</strong> to a different<br />

Supplicant while remaining in an Authenticated state. In<br />

additi<strong>on</strong>, proposals are made for how to resolve these security<br />

problems. This dialogue is not complete, however but when it<br />

is, it normally results in a much str<strong>on</strong>ger st<strong>and</strong>ard.<br />

2. 802.1X User Authenticati<strong>on</strong><br />

WEP <strong>and</strong> TKIP have no user authenticati<strong>on</strong> mechanism.<br />

Any user that has the encrypti<strong>on</strong> key (whether legitimately or<br />

illegally obtained) can get free access to the network <strong>and</strong> the<br />

traffic data. To overcome this weakness, 802.1X securities is<br />

layered <strong>on</strong> top of the physical layer security. The more recent<br />

physical layer security protocols, Wi-Fi Protected Access<br />

(WPA) <strong>and</strong> the emerging 802.11i st<strong>and</strong>ard, both specify<br />

802.1X securities as a framework for str<strong>on</strong>g wireless security.<br />

802.1X user authenticati<strong>on</strong>, requires a user to provide<br />

credentials to the security server before getting access to the<br />

network. The credentials can be in the form of user name <strong>and</strong><br />

password, certificate, token, or biometric. The security server<br />

authenticates the user's credentials to verify that the user is<br />

who he or she claims to be, <strong>and</strong> is authorized to access the<br />

network.<br />

If the user is both authenticated <strong>and</strong> authorized to access the<br />

network, <strong>and</strong> the access point is verified as being part of the<br />

network, then the security server communicates directly with<br />

the access point to authorize the user's access to the network.<br />

The security server also creates a unique pair of encrypti<strong>on</strong><br />

keys for this user sessi<strong>on</strong>, which are sent to both the access<br />

point <strong>and</strong> the client to securely <strong>and</strong> uniquely encrypt the<br />

wireless communicati<strong>on</strong> between the two.<br />

The security server also verifies that the access point is a<br />

valid part of the network. This is d<strong>on</strong>e to protect the user from<br />

c<strong>on</strong>necting to an unauthorized access point that may have been<br />

set up to fraudulently capture network data. 802.1X security<br />

overcomes two significant limitati<strong>on</strong>s that physical layer<br />

security al<strong>on</strong>e presents. It provides unique encrypti<strong>on</strong> keys for<br />

each user each time they sign <strong>on</strong>to the network, <strong>and</strong> eliminates<br />

the key management issues associated with maintaining<br />

comm<strong>on</strong> encrypti<strong>on</strong> keys across all access points <strong>and</strong><br />

users.The security server allows network access to be<br />

managed <strong>on</strong> a user basis. It can tie in to other corporate user<br />

databases or directories to authenticate the user against a<br />

comm<strong>on</strong> set of user credentials, eliminating the need for<br />

replicating <strong>and</strong> maintaining separate databases.<br />

While no security mechanism can be c<strong>on</strong>sidered absolutely<br />

secure, the protecti<strong>on</strong> given by 802.1X security is str<strong>on</strong>g<br />

enough to prevent most sophisticated attacks. As such, layer 2<br />

security offers a pragmatic, ec<strong>on</strong>omical security mechanism to<br />

meet the requirements of most corporate envir<strong>on</strong>ments.<br />

Gartner Research believes this level of security will meet the<br />

needs of most businesses through 2005. In some cases where a<br />

higher level of data security is required, VPNs can be layered<br />

<strong>on</strong> top of the security servers to provide an additi<strong>on</strong>al level of<br />

encrypti<strong>on</strong> of the IP data.<br />

3. SSID<br />

Opti<strong>on</strong>ally, security for 802.11, 802.11a, b <strong>and</strong> g was<br />

initially defined to be based <strong>on</strong> the use of the Service Set<br />

Identifier (SSID) <strong>and</strong> the Wired Equivalent Protocol (WEP) to<br />

provide for both authenticati<strong>on</strong> <strong>and</strong> privacy through the<br />

encrypti<strong>on</strong> of data over the radio waves. The SSID is a<br />

network name that identifies the area covered by <strong>on</strong>e or more<br />

APs. In a comm<strong>on</strong>ly used mode, the AP periodically<br />

broadcasts its SSID in a beac<strong>on</strong>. A wireless stati<strong>on</strong> wishing to<br />

associate with AP can listen for these broadcasts <strong>and</strong> can<br />

choose an AP to associate with based up<strong>on</strong> its SSID. In<br />

another mode of operati<strong>on</strong>, the SSID can be used as a security<br />

measure by c<strong>on</strong>figuring the AP to not broadcast its SSID. In<br />

this mode, the wireless stati<strong>on</strong> wishing to associate with the<br />

AP must already have its SSID c<strong>on</strong>figured to be the same as<br />

that of the AP. If the SSIDs are different, management frames<br />

sent to the AP from the wireless stati<strong>on</strong> will be rejected<br />

because they c<strong>on</strong>tain the incorrect SSID <strong>and</strong> associati<strong>on</strong> will<br />

not take place. Each wireless network has the opti<strong>on</strong> of<br />

specifying a SSID that can be exchanged at the initiati<strong>on</strong> of<br />

communicati<strong>on</strong> between a system <strong>and</strong> an Access Point. The<br />

SSID in use must be the same between both sides before<br />

further communicati<strong>on</strong>s can commence<br />

4. WEP<br />

The IEEE 802.11 covers the communicati<strong>on</strong> between<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 94


Proceedings of ICCNS 08 , 27-28 September 2008<br />

wireless comp<strong>on</strong>ents RF poses the challenges to privacy in<br />

which it travel through <strong>and</strong> around the physical objects.<br />

802.11 working group implement a mechanism to protect the<br />

privacy of individual transmissi<strong>on</strong> known as WEP protocol. It<br />

utilizes cryptographic security measures for the goal of<br />

privacy. It uses this goal through the shared key<br />

authenticati<strong>on</strong>. WEP is a key based security protocol intended<br />

to prevent casual eavesdropping of the data being<br />

transmitted over the wireless network. The key is used to<br />

encrypt/decrypt the data porti<strong>on</strong> of a packet. The key that is<br />

defined in the original st<strong>and</strong>ards is a single 40-bit key<br />

although larger keys, up to 128 bits, are defined by a follow <strong>on</strong><br />

st<strong>and</strong>ard often referred to as WEP2. The key is defined at <strong>and</strong><br />

for each of the stati<strong>on</strong>s that communicate over the wireless<br />

network. The entire key is never exchanged over the wireless<br />

network, so it is not directly captured.<br />

The WEP key generati<strong>on</strong> is based <strong>on</strong> the RC4 stream cipher<br />

algorithm. The algorithm depends up<strong>on</strong> a permutati<strong>on</strong> of all<br />

the possible n bit words, a pair of indices <strong>and</strong> the initial value<br />

of a variable key. RC4 defines the output of a Key Scheduling<br />

Algorithm (KSA) which uses the variable key as input to drive<br />

the subsequent permutati<strong>on</strong>s of the algorithm.<br />

B. Virtual Private <strong>Networks</strong><br />

VPN can be employed over the WLAN to provide the data<br />

level encrypti<strong>on</strong> <strong>and</strong> end to end authenticati<strong>on</strong> depending up<strong>on</strong><br />

what services are provide at the wired network side. The use<br />

of VPN can be used to augment the existing protocols such as<br />

WEP <strong>and</strong> WPA <strong>and</strong> can be used in lieu of the availability of<br />

the 802.11i or 802.1X st<strong>and</strong>ards. VPN uses IPsec with<br />

encrypti<strong>on</strong> <strong>and</strong> L2TP inside of IPsec. The VPN envir<strong>on</strong>ment is<br />

c<strong>on</strong>sidered by most to be very secure <strong>and</strong> a variety of st<strong>and</strong>ard<br />

are being codified in support of a more widespread<br />

interoperability.<br />

1. VPN <strong>Security</strong><br />

In envir<strong>on</strong>ments where triple DES encrypti<strong>on</strong> is required, or<br />

the data <strong>on</strong> the wireless network may be passed through the<br />

Internet, VPNs may be used to provide another layer of<br />

security over 802.1X based soluti<strong>on</strong>s. A word of cauti<strong>on</strong> <strong>on</strong><br />

VPN implementati<strong>on</strong>s for wireless security: early wireless<br />

implementati<strong>on</strong>s used VPNs as the <strong>on</strong>ly security layer for<br />

wireless LANs. This practice leaves open security<br />

vulnerabilities. VPNs <strong>on</strong>ly encrypt data between the IP<br />

packets, leaving the wireless network vulnerable to a number<br />

of lower level attacks <strong>on</strong> the MAC <strong>and</strong> IP headers, such as<br />

wireless sessi<strong>on</strong> hijacking <strong>and</strong> rogue AP, or man-in-themiddle<br />

attacks. 802.1X-based security should be used to<br />

prevent unauthorized access to the network, <strong>and</strong> to prevent the<br />

sniffing <strong>and</strong> stealing of IP <strong>and</strong> MAC addresses. It should also<br />

be used to prevent sessi<strong>on</strong> hijacking <strong>and</strong> man-in-the-middle<br />

attacks through rogue access points. VPNs, while providing<br />

very str<strong>on</strong>g IP data encrypti<strong>on</strong>, cannot prevent these types of<br />

lower level attacks. If VPN security is required, a layered<br />

approach in c<strong>on</strong>juncti<strong>on</strong> with an 802.1X security server is the<br />

predominately recommended approach.<br />

C. GPRS<br />

General Packet Radio Service (GPRS) is a st<strong>and</strong>ard for a<br />

value added service to be used with the cellular teleph<strong>on</strong>e<br />

infrastructure using GSM <strong>and</strong> TDMA. It augments the voice<br />

capability of cellular ph<strong>on</strong>es, providing digital wireless<br />

communicati<strong>on</strong> data rates of up to 171.2 kbps theoretically<br />

<strong>and</strong> 114 kbps practically. GPRS works by using a Gateway<br />

GPRS Support Node (GGSN) to interface to other networks<br />

such as the Internet. The mobile device communicates with a<br />

Serving GPRS Support Node (SGSN). The GGSN <strong>and</strong> SGSN<br />

work together to maintain the virtual c<strong>on</strong>necti<strong>on</strong>s <strong>and</strong> to<br />

deliver the data. The SGSN acts to maintain an attached state<br />

for the mobile device as it moves through the network.<br />

Though GPRS seems to provide a good match for other packet<br />

based backb<strong>on</strong>es, it also brings with it a few downsides. One<br />

of the issues is that GPRS must share the b<strong>and</strong>width with the<br />

GSM/TDMA voice channel.<br />

D. CDMA<br />

After the success of digital cellular systems such as GSM in<br />

most parts of the world <strong>and</strong> TDMA in the US, Qualcomm<br />

developed a competing st<strong>and</strong>ard, the Code Divisi<strong>on</strong> Multiple<br />

Access (CDMA) protocol. This original definiti<strong>on</strong> is currently<br />

also known as CDMA One <strong>and</strong> is defined as the IS-95B<br />

st<strong>and</strong>ard. CDMA works by transmitting a digitally encoded<br />

analog signal using spread-spectrum technology combined<br />

with a special coding scheme over a 1.25 MHz channel.<br />

E. <strong>Security</strong> in Cellular networks<br />

The security of cellular networks has been studied, but not<br />

as rigorously as other forms of wireless networks. This is<br />

because; today the usage of cellular networks for critical data<br />

transmissi<strong>on</strong> has not been popular. Cellular networks are used<br />

for small messages, quick web browsing <strong>and</strong> sending pictures.<br />

The security of GPRS networks depends up<strong>on</strong> algorithms<br />

used by the GSM system to authenticate the user <strong>and</strong> the base<br />

stati<strong>on</strong> <strong>and</strong> to cipher all data <strong>and</strong> voice traffic between them.<br />

While <strong>on</strong> the surface GPRS seems to be secure many security<br />

holes have been discovered. The smartcard used in the GSM<br />

system uses an authenticati<strong>on</strong> system in which a challenge<br />

resp<strong>on</strong>se is performed with the mobile units ESN (electr<strong>on</strong>ic<br />

serial number). The encoding used in this challenge resp<strong>on</strong>se<br />

scheme has been shown to be vulnerable <strong>and</strong> smartcards can<br />

be thus cl<strong>on</strong>ed.<br />

However such attacks are not prevalent as the importance of<br />

user data transmitted by GPRS networks is still quite small.<br />

The CDMA systems are believed to be more secure than the<br />

GPRS network, mainly due to the nature of the radio<br />

frequency signaling. While it is possible to listen in <strong>on</strong> a<br />

GPRS transmissi<strong>on</strong> using TDMA receivers, such is not<br />

possible with CDMA. A CDMA receiver has to be coded with<br />

the correct 64-bit code to receive a channel of CDMA traffic,<br />

<strong>and</strong> without this code, or with a wr<strong>on</strong>g code, the received<br />

signal is noise. A brute force attack to find a correct code is<br />

not feasible. The code is exchanged between the sender <strong>and</strong><br />

the receiver at the h<strong>and</strong>shake, which happens over an<br />

encrypted channel.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 95


Proceedings of ICCNS 08 , 27-28 September 2008<br />

An attacker can find the locati<strong>on</strong> of a mobile stati<strong>on</strong> with<br />

the use of radio m<strong>on</strong>itoring equipment. This does not<br />

compromise the privacy of the data, but the privacy of the<br />

operators locati<strong>on</strong>. GSM, Global System for Mobile<br />

communicati<strong>on</strong>s, is the currently very popular digital cellular<br />

telecommunicati<strong>on</strong>s system specified by the European<br />

Telecommunicati<strong>on</strong>s St<strong>and</strong>ards Institute (ETSI).<br />

In short, GS intends to provide three security services:<br />

temporary identities, for the c<strong>on</strong>fidentiality of the user<br />

identity; entity authenticati<strong>on</strong>, that is, to verify the identity of<br />

the user; <strong>and</strong> encrypti<strong>on</strong>, for the c<strong>on</strong>fidentiality of user-related.<br />

The Subscriber Identity Module (SIM) is a security device, a<br />

smart card which c<strong>on</strong>tains all the necessary informati<strong>on</strong> <strong>and</strong><br />

algorithms to authenticate the subscriber to the network. It is a<br />

removable module <strong>and</strong> may be used in any mobile<br />

equipment. The encrypti<strong>on</strong> algorithms are integrated into the<br />

mobile equipment as dedicated hardware. GSM does not use<br />

public-key cryptography. Symmetric keys are derived from<br />

user related data using an algorithm under the c<strong>on</strong>trol of a<br />

master key.<br />

F. Bluetooth<br />

Bluetooth is a st<strong>and</strong>ard that describes a short range wireless<br />

link between devices. The maximum link distance is about 10<br />

meters (33 feet). The transmitter operates <strong>on</strong> the 2.4GHz ISM<br />

b<strong>and</strong> <strong>and</strong> uses a fast acknowledgement frequency hopping<br />

which improves the robustness of the signal in a<br />

noisyfrequency envir<strong>on</strong>ment. Since it also uses less power for<br />

its transmissi<strong>on</strong>s, it also is intended for the Bluetooth units to<br />

be relatively close to each other. Bluetooth is intended for use<br />

as a communicati<strong>on</strong>s link between small potentially cheap<br />

devices.It is not intended for both mobility <strong>and</strong> distance. It has<br />

a data rate of between 300-400 kbps. That is to say a mouse<br />

can communicate with a PC or some other mouse driven<br />

devices, wirelessly.<br />

1. <strong>Security</strong> in Bluetooth<br />

There are four entities in Bluetooth devices that are used to<br />

maintain link level security. The first is the Bluetooth device<br />

address, which is a 48-bit value, unique to each Bluetooth<br />

device <strong>and</strong> defined by IEEE. The sec<strong>on</strong>d is a private<br />

authenticati<strong>on</strong> key, which is a 128 bit r<strong>and</strong>om number.<br />

Thirdly, there is an 8 to 128-bit private encrypti<strong>on</strong> key. Lastly<br />

is a pseudo r<strong>and</strong>omly generated, 128-bit number that the<br />

device generates. These entities are used to <strong>on</strong>e degree or<br />

another depending up<strong>on</strong> the mode of security level setting<br />

(mode) of the Bluetooth device.The choices for Modes are 1 to<br />

3; where Mode 1 is the n<strong>on</strong>-secure mode, Mode 2 is service<br />

level enforced <strong>and</strong> Mode 3 is link level enforced. Mode 3<br />

security begins the security prior to a communicati<strong>on</strong>s channel<br />

being established. Devices can also be tagged as trusted <strong>and</strong><br />

untrusted with service levels tat include requiring both<br />

authorizati<strong>on</strong> <strong>and</strong> authenticati<strong>on</strong>, authenticati<strong>on</strong> <strong>on</strong>ly <strong>and</strong> open<br />

to all.<br />

The vulnerabilities of Bluetooth security mechanisms are<br />

have not yet been thoroughly investigated. Since the market<br />

penetrati<strong>on</strong> of Bluetooth is yet low, these devices have not<br />

been subject to severe scrutiny.<br />

V. CONCLUSION<br />

The benefit of wireless networks is driving the explosive<br />

growth of the WLAN market. Where security has been the<br />

single largest c<strong>on</strong>cern for wireless network deployment in the<br />

corporate setting, str<strong>on</strong>g security soluti<strong>on</strong>s are available to<br />

make wireless networks as secure as wired networks.<br />

This paper is useful for planning a secure wireless network<br />

implementati<strong>on</strong>. We have addressed known security threats to<br />

networks. Described security st<strong>and</strong>ards offer a pragmatic,<br />

ec<strong>on</strong>omical security mechanism to meet the requirements of<br />

most corporate envir<strong>on</strong>ments. For envir<strong>on</strong>ments that require a<br />

more robust security, VPN tunnels can be layered <strong>on</strong> top of<br />

802.1X security for a more comprehensive soluti<strong>on</strong>. This<br />

approach offers a soluti<strong>on</strong> to wireless security <strong>and</strong> can resolve<br />

the single largest barrier to Wireless network deployment for<br />

IT managers. A cost-effective soluti<strong>on</strong> using 802.1X security<br />

can be deployed to deny access to any user without the proper<br />

credentials, <strong>and</strong> provide str<strong>on</strong>g security for wireless networks.<br />

REFERENCES<br />

[1] Arbaugh, William, Narendar Shankar <strong>and</strong> Y.C. Justin Wan, Your 802.11<br />

Wireless Network has No Clothes Department of <strong>Computer</strong> Science<br />

University of Maryl<strong>and</strong>. Webpage <strong>on</strong>line available at<br />

http://www.cs.umd.edu/~waa/wireless.pdf.<br />

[2] Barnes, Christian, T<strong>on</strong>y Bautts, D<strong>on</strong>ald Lloyd, Eric Ouellet, Jeffrey<br />

Posluns, David M. Zendzian, <strong>and</strong> Neal OFarrell, Hack Proofing Your<br />

Wireless Network. Syngress Publishing Inc, Rockl<strong>and</strong>, MA, pp 201 237.<br />

[3] Chickinsky, Alan, Wireless LAN <strong>Security</strong> Threats. Document IEEE<br />

802.11-01/258 Sim<strong>on</strong>, D., Ba Aboba <strong>and</strong> T. Moore. IEEE 802.11 security<br />

<strong>and</strong> 802.1x. IEEE Document 802.11<br />

[4] White Paper <strong>on</strong> Wireless Network <strong>Security</strong>, 802.11, Bluetooth <strong>and</strong><br />

\ H<strong>and</strong>held Devices ,by Tom Karygiannis, Les Owens<br />

http://csrc.nist.gov/publicati<strong>on</strong>s/nistpubs/800- 48/NIST_SP_800-48.pdf<br />

[5] White Paper <strong>on</strong> A Survey of 802.11a Wireless <strong>Security</strong>Threats <strong>and</strong><br />

<strong>Security</strong> Mechanisms Col<strong>on</strong>el D<strong>on</strong>ald J. Welch, Ph.D. Major SCOTT<br />

D. Lathrop www.itoc.usma.edu/Documents/ITOC_TR-2003-101_(G6).pdf<br />

[6] White Paper <strong>on</strong> Wireless LAN <strong>Security</strong> 802.11b <strong>and</strong> Corporate <strong>Networks</strong><br />

documents.iss.net/whitepapers/wireless_LAN_security.pdf<br />

[7]White Paper <strong>on</strong> Wireless Network <strong>Security</strong><br />

www.proxim.com/learn/library/ whitepapers/wireless_security.pdf<br />

[8] Wireless Network <strong>Security</strong> by Partha Dasgupta <strong>and</strong> Tom Boyd<br />

www.public.asu.edu/~tboyd/publicati<strong>on</strong>s/W-Sec-v03A.pdf<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 96


Efficient <strong>and</strong> Secure Multicast Communicati<strong>on</strong><br />

Karan Singh, Student Member, IEEE, <strong>and</strong> Rama Shankar Yadav, Member IEEE<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract-- The coming age is informati<strong>on</strong> age in which data is<br />

dealing with computer network <strong>on</strong>e source to destinati<strong>on</strong> using<br />

unicast, multicast. Multicast services are very popular for<br />

transmissi<strong>on</strong> of informati<strong>on</strong> data. So, multicast network growths are<br />

going to increase day by day, due to exp<strong>on</strong>ential increase in network<br />

comes various problems such as reliability, security, c<strong>on</strong>gesti<strong>on</strong>,<br />

c<strong>on</strong>nectivity scalability, fairness etc. C<strong>on</strong>gesti<strong>on</strong> is very serious<br />

problem to decrease the network utilizati<strong>on</strong> if multicast network is<br />

not secure it may be increase c<strong>on</strong>gesti<strong>on</strong> due to misbehavior of<br />

network entity. So, we need a secure multicast efficient multicast<br />

system.<br />

multicast c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol system by which can c<strong>on</strong>trol the<br />

c<strong>on</strong>gesti<strong>on</strong> using security c<strong>on</strong>straints.<br />

Index Terms-- Attack, C<strong>on</strong>gesti<strong>on</strong>, IGMP, Secure IGMP,<br />

Multicast, Multicast c<strong>on</strong>gesti<strong>on</strong>, <strong>Security</strong>, Unicast.<br />

W<br />

I. INTRODUCTION<br />

E are living in a digital data age in which data or<br />

informati<strong>on</strong> is flowed by various network services<br />

such as unicast [2], broadcast, multicast etc. Data<br />

communicati<strong>on</strong> is the delivery of message from the source to<br />

the destinati<strong>on</strong>. In the case of unicast <strong>on</strong>e source <strong>and</strong> <strong>on</strong>e<br />

destinati<strong>on</strong> while broad cast [3] <strong>on</strong> the <strong>on</strong>e source various<br />

destinati<strong>on</strong>s, <strong>and</strong> multicast provide communicati<strong>on</strong> via <strong>on</strong>e or<br />

many source to a particular group which has various<br />

destinati<strong>on</strong>s. Broadcasting refers to transmitting a message<br />

that will be received by every destinati<strong>on</strong> <strong>on</strong> the network.<br />

Anycast [4] is a network addressing <strong>and</strong> routing scheme<br />

whereby data is routed to the nearest or best destinati<strong>on</strong> as<br />

viewed by the routing topology. Figure 1 illustrated the<br />

unicat, broadcast, Multicast <strong>and</strong> anycast. In case of unicast,<br />

multicast, broadcast S is denoted by source <strong>and</strong> R is denoted<br />

by receviers while in case of anycast C is denoted by client<br />

<strong>and</strong> S is server. Main problem in all type of transmissi<strong>on</strong> is<br />

c<strong>on</strong>gesti<strong>on</strong> which comes when the number of transmitted<br />

packets exceeds the capacity of the network. In other words,<br />

c<strong>on</strong>gesti<strong>on</strong> in network occurs when increment in network load<br />

either leads <strong>on</strong>ly to small increases in network throughput, or<br />

reducti<strong>on</strong> in network throughput. C<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol is<br />

desirable for both unicast <strong>and</strong> multicast traffic. However, the<br />

design of good multicast c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol protocols is more<br />

difficult than the design of unicast protocols. Multicast<br />

c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol schemes ideally should scale to large<br />

receiver sets <strong>and</strong> be able to cope with heterogeneous network<br />

c<strong>on</strong>diti<strong>on</strong>s at the receivers. The problem may be increase<br />

more if receivers do misbehavior. So, we need a secure<br />

Karan Singh is a Research Scholar in the Department of <strong>Computer</strong><br />

Science <strong>and</strong> Engineering, Motilal Nehru Nati<strong>on</strong>al Institute Of Technology,<br />

Allahabad-211004, INDIA (e-mail: karancs12@yahoo.com).<br />

Rama Shankar Yadav is with the Department of <strong>Computer</strong> Science <strong>and</strong><br />

Engineering, Motilal Nehru Nati<strong>on</strong>al Institute Of Technology, Allahabad-<br />

211004, INDIA (e-mail: rsy@mnnit.ac.in).<br />

Fig. 1. Network Services<br />

Secti<strong>on</strong> II deal with multicast where as multicast c<strong>on</strong>gesti<strong>on</strong><br />

c<strong>on</strong>trol is given secti<strong>on</strong> III. Secti<strong>on</strong> IV is providing the secure<br />

multicast schemes <strong>and</strong> secti<strong>on</strong> V discussing the efficient <strong>and</strong><br />

secure multicast. Finally secti<strong>on</strong> VI c<strong>on</strong>cludes the paper.<br />

II. MULTICAST<br />

Basic c<strong>on</strong>cept of multicast all receivers send feedback to<br />

router to join a group, router take decisi<strong>on</strong> if decisi<strong>on</strong> maker is<br />

router otherwise forward the request to sender. According to<br />

network requirement sender take the leave <strong>and</strong> join decisi<strong>on</strong> of<br />

receiver. The transmissi<strong>on</strong> reaches the end-users requesting<br />

the transmissi<strong>on</strong>s without a separate transmissi<strong>on</strong> required for<br />

each user, as would be the case in a unicast transmissi<strong>on</strong>. A<br />

multicast c<strong>on</strong>necti<strong>on</strong> has a b<strong>and</strong>width saving nature. A<br />

multicast message transmissi<strong>on</strong> is sent to a multicast group; a<br />

group represents end-users network nodes. The multicast<br />

groups are dynamic, receiver-c<strong>on</strong>trolled groups, where a host<br />

can join or leave the group at any time. Traditi<strong>on</strong>ally, the use<br />

of multipoint c<strong>on</strong>necti<strong>on</strong>s has been limited to Local Area<br />

Network (LAN) applicati<strong>on</strong>s.<br />

Figure 2 shows the multicast example which has <strong>on</strong>e sender<br />

<strong>and</strong> data flow via intermediate hop to decisi<strong>on</strong> router to<br />

receivers which are receivers 1, 2, 3. Receiver is sending a<br />

join group request message to router to join the group usinf<br />

IGMP <strong>and</strong> all other receivers are c<strong>on</strong>nected to network via<br />

wired <strong>and</strong> wireless [3, 8]. In this secti<strong>on</strong> we are going to<br />

discuss IGMP, <strong>Security</strong> threat <strong>and</strong> secure IGMP which are<br />

following<br />

A. Internet Group Message Protocal<br />

This Multicast group is managed by internet group<br />

management protocols (IGMP) [19]. The Internet Group<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 97


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Management Protocol IGMP is used between IP hosts <strong>and</strong><br />

their immediate neighbor multicast agents to support the<br />

creati<strong>on</strong> of transient groups, the additi<strong>on</strong> <strong>and</strong> deleti<strong>on</strong> of<br />

members of a group, <strong>and</strong> the periodic c<strong>on</strong>firmati<strong>on</strong> of group<br />

membership.<br />

which can result in denial of service (usually due to<br />

c<strong>on</strong>gesti<strong>on</strong>) over the wide-area.<br />

4. The use of UDP as IP multicast’s transport protocol<br />

means that there are no in-built protocol mechanisms<br />

to prevent c<strong>on</strong>gesti<strong>on</strong> caused unintenti<strong>on</strong>ally by a<br />

multicast sender.<br />

In next secti<strong>on</strong> we provide the various type of attack which<br />

disturbs the multicast communicati<strong>on</strong>.<br />

Fig. 2. Multicast<br />

IP hosts to register their dynamic multicast group<br />

membership use IGMP. It is also used by c<strong>on</strong>nected routers to<br />

discover these group members. IGMP is an integral part of IP.<br />

It is required to be implemented by all hosts wishing to<br />

receive IP multicasts. IGMP uses the message report for<br />

joining <strong>and</strong> leaving receivers in group. The specials query<br />

message used by for management group for example figure 3<br />

shows that sender send a IGMP report to know receivers<br />

status <strong>and</strong> receivers sends back by feedback a IGMP report.<br />

The wide-area multicast communicati<strong>on</strong> is at a substantially<br />

increased risk from certain threats, namely the unauthorized<br />

observati<strong>on</strong> of multicast traffic (i.e. listening), the sub-sequent<br />

threats that can come about as a result of being able to snoop<br />

traffic, <strong>and</strong> denial of service attacks, which arise from<br />

unauthorized sending to a group.<br />

Fig. 3. Multicast <strong>and</strong> IGMP Report<br />

Multicast communicati<strong>on</strong> is more susceptible to security<br />

attacks because of following factors<br />

1. The participants of a multicast communicati<strong>on</strong> have<br />

no mechanisms at their disposal by which to impose<br />

group membership restricti<strong>on</strong>s, thereby rendering<br />

groups easily accessible. C<strong>on</strong>sequently, multicast<br />

provides a vehicle for attackers to pose as legitimate<br />

group members.<br />

2. The IP multicast address space is a well-known<br />

c<strong>on</strong>tiguous part of the unicast IP address space,<br />

making it easy for an attacker to locate, <strong>and</strong> be-come<br />

part of, a multicast group at r<strong>and</strong>om.<br />

3. There exist no mechanisms that can prevent either<br />

group members, or n<strong>on</strong>-group members, from<br />

sending (possibly spurious) multicast data to a group,<br />

B. <strong>Security</strong> Threat<br />

The types of security threat [3, 18 ] present in unicast are<br />

also present in multicast, but the potential risk of particular<br />

attacks are c<strong>on</strong>siderably greater in multicast than in unicast as<br />

the multicast architecture makes it inherently more<br />

susceptible.<br />

TABLE I<br />

MULTICAST ATTACKS<br />

Attack<br />

Denial of Service<br />

(Active/Passive)<br />

Traffic Observati<strong>on</strong><br />

(Passive)<br />

Self Beneficial<br />

(Passive)<br />

Masquerading<br />

(Active)<br />

Malicious Replay<br />

(Active)<br />

Descripti<strong>on</strong><br />

Explicit attempt by attackers to prevent<br />

legitimate users of a organizati<strong>on</strong> from<br />

using services <strong>and</strong> network resources like<br />

b<strong>and</strong>width. It should be noted that any<br />

unauthorized sending of multicast data<br />

could be c<strong>on</strong>strued as a denial of service<br />

attack<br />

Often called eavesdropping, traffic<br />

observati<strong>on</strong> c<strong>on</strong>cerns the intercepti<strong>on</strong> of<br />

informati<strong>on</strong> between communicating<br />

parties, thereby resulting in the disclosure<br />

of informati<strong>on</strong> such as traffic type,<br />

c<strong>on</strong>tent, frequency, presence or absence<br />

Attackers increase its own b<strong>and</strong>width<br />

c<strong>on</strong>sumpti<strong>on</strong><br />

Often called spoofing, masquerading<br />

c<strong>on</strong>cerns the issuance of informati<strong>on</strong>, the<br />

receipt of informati<strong>on</strong>, or the acquirer of<br />

access rights using an identity other than<br />

its own. It is relatively easy for a user to<br />

insert a bogus source address in the<br />

network-layer header of an IP packet<br />

A replay attack is the result of an intruder<br />

having intercepted informati<strong>on</strong>, <strong>and</strong><br />

replaying it at a later time. This,<br />

therefore, can result in denial of service<br />

As the number of communicati<strong>on</strong> links traversed by wide-area<br />

multicasts are potentially far greater compared with a single<br />

unicast, where the communicati<strong>on</strong> path is a collecti<strong>on</strong> of links<br />

<strong>and</strong> nodes between just <strong>on</strong>e source <strong>and</strong> <strong>on</strong>e destinati<strong>on</strong>.<br />

Therefore, multicast intrinsically creates more opportunity for<br />

traffic intercepti<strong>on</strong>. Passive attacks [6] that result in<br />

informati<strong>on</strong> release are passive <strong>and</strong> active attacks those that<br />

involve message modificati<strong>on</strong> or denial of resources are<br />

current uses. The brief descripti<strong>on</strong> of multicast attacks [9] is<br />

given in table 1.<br />

C. Secure IGMP<br />

If receivers are successful in obtaining an authorizati<strong>on</strong><br />

stamp for group [11], or if the group is unrestricted, then it<br />

may proceed to join group. The next step in the joining<br />

process involves the host sending an IGMP report to the<br />

receiver’s local designated router. If the group being reported<br />

has restricted access; the authorizati<strong>on</strong> stamp must be included<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 98


Proceedings of ICCNS 08 , 27-28 September 2008<br />

in the membership report. For example as in figure 4 senders<br />

is checking the authenticity of receivers using IGMP reports.<br />

Fig. 5. Secure IGMP<br />

Secure IGMP provide the authenticity but does not aware<br />

about the c<strong>on</strong>gesti<strong>on</strong> problem of multicast network [21] which<br />

is needed for network utilizati<strong>on</strong>. In next secti<strong>on</strong> we are going<br />

to deal multicast c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol <strong>and</strong> c<strong>on</strong>trolling<br />

algorithms.<br />

III. MULTICAST CONGESTION CONTROL<br />

<strong>Computer</strong> network use the channels for transmit the data from<br />

source to receivers. If source rate [5] increases the capacity of<br />

channel then c<strong>on</strong>gesti<strong>on</strong> occurred. There are various multicast<br />

c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol [13] algorithms for example RLM [7],<br />

TFMC [12, 22], FLID-DL [1], DMPRAIS [14], RLC [7],<br />

AMCC [4], MILDA [17], WEBREC [13], MMCC [20],<br />

FDCCMMN [15], RACCOOM [12] etc. which <strong>on</strong>ly c<strong>on</strong>trol<br />

the c<strong>on</strong>gesti<strong>on</strong> but doesn’t aware security threat. There are<br />

some algorithm which describe that they <strong>on</strong>ly c<strong>on</strong>trol<br />

c<strong>on</strong>gesti<strong>on</strong> <strong>and</strong> not working in distrust envir<strong>on</strong>ment. There are<br />

following<br />

Receiver-driven Layered Multicast (RLM)<br />

Receiver-driven Layered Multicast is the first well-known end<br />

to end c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol for layered multicast. In RLM,<br />

receiver detects network c<strong>on</strong>gesti<strong>on</strong> when it observes<br />

increasing packet losses. Receiver reduces the level of<br />

subscripti<strong>on</strong> if it experiences c<strong>on</strong>gesti<strong>on</strong>. In the absence of<br />

loss, the receiver estimates the available b<strong>and</strong>width by doing<br />

the so-called join experiments when the join-timer expires. A<br />

join experiment means that a receiver increases the level of<br />

subscripti<strong>on</strong> <strong>and</strong> measures the loss rate over a certain period.<br />

If the join-experiment causes c<strong>on</strong>gesti<strong>on</strong>, the receiver quickly<br />

drops the offending layer. Otherwise, another join-timer will<br />

be generated r<strong>and</strong>omly <strong>and</strong> the receiver retains the current<br />

level of subscripti<strong>on</strong> <strong>and</strong> c<strong>on</strong>tinues to do the join experiments<br />

for the next layer <strong>on</strong>ce the newly generated join-timer has<br />

expired.<br />

In general, the subscripti<strong>on</strong> level can be increased or<br />

decreased in RLM based <strong>on</strong> the following rules:<br />

1. Before doing the join experiment, receiver will perform the<br />

“shared learning” by broadcasting a notificati<strong>on</strong> message to all<br />

receivers in the multicast group. By doing so, all the receivers<br />

will know which layer is currently participating the join<br />

experiment.<br />

2. Join-timers are r<strong>and</strong>omized to avoid protocol<br />

synchr<strong>on</strong>izati<strong>on</strong> effect. If a join-timer expires <strong>and</strong> no<br />

experiment or a lower layer experiment is in progress, receiver<br />

will perform the join experiment to increase the level of<br />

subscripti<strong>on</strong>. Otherwise, the current join-timer is ignored <strong>and</strong><br />

a new <strong>on</strong>e will be generated.<br />

3. If a packet loss is detected, depending <strong>on</strong> different<br />

circumstances of the receiver, following acti<strong>on</strong>s will be taken:<br />

- If the receiver is currently participating the join experiment<br />

for the highest level, receiver will drop the offending layer <strong>and</strong><br />

back off the join-timer;<br />

- If the receiver is currently doing join experiment but not for<br />

the highest level or no experiment is being performed, RLM<br />

will measure the l<strong>on</strong>g term c<strong>on</strong>gesti<strong>on</strong> before dropping the<br />

offending layer.<br />

TCP-like C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol for Layered Multicast Data<br />

Transfer<br />

A c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol algorithm suitable for us with<br />

cumulative, layered data streams in the Ml3<strong>on</strong>e. Our algorithm<br />

behaves similarly to TCP c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol algorithms, <strong>and</strong><br />

shares b<strong>and</strong>width fairly with other instances of the protocol<br />

<strong>and</strong> with TCP flows. It is entirely receiver driven <strong>and</strong> requires<br />

no per-receiver status at the sender, in order to scale to large<br />

numbers of receivers. It relies <strong>on</strong> st<strong>and</strong>ard functi<strong>on</strong>alities of<br />

multicast routers, <strong>and</strong> is suitable for c<strong>on</strong>tinuous stream <strong>and</strong><br />

reliable data transfer.<br />

FLID-DL: C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol for Layered Multicast<br />

FLID-DL is a c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol algorithm for layered<br />

multicast sessi<strong>on</strong>s. FLID-DL generalizes the receiver-driven<br />

layered c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol protocol (RLC) introduced by<br />

Vicisano et al. ameliorating the problems associated with large<br />

Internet group management protocol (IGMP) leave latencies<br />

<strong>and</strong> abrupt rate increases. Like RLC, FLID-DL is a scalable,<br />

receiver- driven c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol mechanism in which<br />

receivers add layers at sender-initiated synchr<strong>on</strong>izati<strong>on</strong> points<br />

<strong>and</strong> leave layers when they experience c<strong>on</strong>gesti<strong>on</strong>. FLID-DL<br />

c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol coexists with transmissi<strong>on</strong> c<strong>on</strong>trol protocol<br />

(TCP) flows as well as other FLID-DL sessi<strong>on</strong>s <strong>and</strong> supports<br />

general rates <strong>on</strong> the different multicast layers. We dem<strong>on</strong>strate<br />

via simulati<strong>on</strong>s that our c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol scheme exhibits<br />

better fairness properties <strong>and</strong> provides better throughput than<br />

previous methods. A key c<strong>on</strong>tributi<strong>on</strong> that enables FLID-DL<br />

<strong>and</strong> may be useful elsewhere is dynamic layering (DL), which<br />

mitigates the negative impact of l<strong>on</strong>g IGMP leave latencies<br />

<strong>and</strong> eliminates the need for probe intervals present in RLC.<br />

We use DL to resp<strong>on</strong>d to c<strong>on</strong>gesti<strong>on</strong> much faster than IGMP<br />

leave operati<strong>on</strong>s, which have proven to be a bottleneck in<br />

practice for prior work. In network system source, router or<br />

receiver may be attackers. The attacker crate the big problem<br />

which are following<br />

A. Misbehaviors of Source<br />

In case of source misbehavior, source work as attacker <strong>and</strong><br />

disturb the data rate by which channel may be overflow due to<br />

increase of rate of data. For example in figure 5 senders does<br />

misbehave that is the cause of c<strong>on</strong>gesti<strong>on</strong> receiver’s side<br />

channel because it doesn’t provide the fair distributi<strong>on</strong> or<br />

increase the unlimited rate.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 99


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. Misbehaviors of Router<br />

In case of router misbehavior, attacker is a router <strong>and</strong> delay<br />

the data rate by which channel may be overflow due to<br />

increase of rate of data suddenly.<br />

Fig. 4. Misbehavior of Source<br />

B. Misbehaviors of Receivers<br />

In case of misbehaviors receiver c<strong>on</strong>gesti<strong>on</strong> may be<br />

occurred due to increase of feedback data <strong>and</strong> disturbs c<strong>on</strong>trol<br />

unit such as sender <strong>and</strong> router. For example in figure 6<br />

receivers 1, 2, 3 misbehave so due to this misbehave increase<br />

feedback dada at sender side <strong>and</strong> c<strong>on</strong>gesti<strong>on</strong> id occurred.<br />

Fig. 6. Misbehavior of Receivers<br />

Thus, we can see if source, router or receivers are worked<br />

as a attacker the c<strong>on</strong>gest may be increase more <strong>and</strong> network<br />

utilizati<strong>on</strong> will decrease so we need the secure multicast<br />

system to provide the authenticity of source <strong>and</strong> receivers. In<br />

next secti<strong>on</strong> we are providing secure multicast scheme to<br />

c<strong>on</strong>trolling the misbehavior or attack <strong>on</strong> system.<br />

IV. SECURE MULTICAST SCHEME<br />

This secti<strong>on</strong> is providing various type of secure multicast<br />

communicati<strong>on</strong> scheme which protect the network with<br />

security services such as authenticati<strong>on</strong>, N<strong>on</strong>-repudiati<strong>on</strong>,<br />

Integrity etc.<br />

A. Simple off-line hash-chaining<br />

It divides the stream into blocks <strong>and</strong> embed in the current<br />

block a hash of the following block. In this way sign <strong>on</strong>ly the<br />

first block <strong>and</strong> then the properties of this single signature will<br />

propagate to the rest of the stream through the hash chaining<br />

.It is Off-line because entire stream is known in advance <strong>and</strong><br />

this soluti<strong>on</strong> is not fault tolerant.<br />

B. R<strong>and</strong>om hash-chaining<br />

Efficient Multi-chained Stream Signature protocol (EMSS)<br />

EMSS [27] provides more or less probabilistic guarantees that<br />

it remains a hash-chain between the packet <strong>and</strong> a signature<br />

packet, given a certain rate of packet loss in the network. The<br />

robustness of the protocol to packet loss is proporti<strong>on</strong>al to the<br />

redundancy degree, k. In order for the sender to c<strong>on</strong>tinuously<br />

assure the authenticati<strong>on</strong> of the stream, the sender sends<br />

periodic signature packets. To verify authenticity of received<br />

packets, a receiver buffers received packets <strong>and</strong> waits for their<br />

corresp<strong>on</strong>ding signature packet. The signature packet carries<br />

the hashes that allow the verificati<strong>on</strong> of few packets. These<br />

latter packets carry, in turn, the hashes that allow verifying<br />

other packets, <strong>and</strong> so <strong>on</strong> until the authenticity of all received<br />

packets is verified.<br />

A 2 Cast<br />

A 2 Cast [26] is similar to EMSS, but authenticati<strong>on</strong><br />

informati<strong>on</strong> redundancy degree is source driven rather than<br />

fixed a priori. Receivers communicate periodically to the<br />

sender the quality of recepti<strong>on</strong> reports. Reports c<strong>on</strong>tain the<br />

actual packet loss ratio faced by receivers. Sender uses these<br />

reports to calculate the average packet loss ratio. This<br />

technique allows saving authenticati<strong>on</strong> informati<strong>on</strong> b<strong>and</strong>width<br />

overhead.<br />

Redundant <strong>and</strong> r<strong>and</strong>om hash-chaining<br />

It proposed to tolerate packet loss in a network. The r<strong>and</strong>om<br />

redundant topology proposed by the authors is called p-<br />

r<strong>and</strong>om graph. In a basic p-r<strong>and</strong>om graph scheme, for all pairs<br />

of packets (Pi, Pj) where j < i, the hash of packet Pi is<br />

embedded within packet Pj with probability p. Once the p-<br />

r<strong>and</strong>om graph of the stream is c<strong>on</strong>structed, the packets of the<br />

stream are sent. If it is valid, the receiver verifies by checking<br />

the existence of a hash-link path between the received packet<br />

<strong>and</strong> the signature packet.<br />

C. Deterministic hash-chaining<br />

It similar to EMSS, but packets is chosen in a deterministic<br />

way rather than r<strong>and</strong>omly. The authors proposed deterministic<br />

topologies of packet hash-chains, called Augmented Chains.<br />

The goal of the proposed schemes is to maximize the size of<br />

the l<strong>on</strong>gest single burst of loss. Piggybacking, designed to<br />

resist multiple bursts, deals with the case where data carried<br />

by different packets has more or less importance from the<br />

point of view of the applicati<strong>on</strong> level. Then hash chaining is<br />

made in a way that: the higher is the priority of a class, the<br />

more redundant is hash-chaining of packets bel<strong>on</strong>ging to that<br />

class<br />

D. RLH: receiver driven layered hash-chaining for<br />

multicast data origin authenticati<strong>on</strong><br />

Multicast security provides the data origin authenticati<strong>on</strong><br />

(source or receivers means with n<strong>on</strong>-repudiati<strong>on</strong> or without<br />

n<strong>on</strong>-repudiati<strong>on</strong>). To provide this type of security, we can use<br />

the various scheme such as key with packet, hash value with<br />

each packet, hash chaining with each packet. In this approach<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 100


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the main problem is overhead because key, hash, hash<br />

changing will take some more space (b<strong>and</strong>width) then original<br />

data.<br />

In sec<strong>on</strong>d approach we can sent the same things (key, hash<br />

value, hash chaining) with a block of packet. But in this<br />

approach main problem will come after packet loss. If any<br />

packet or block loss the approach will fail, so packet loss<br />

should not exceed from threshold limit.<br />

Yacine Challal [24] use the r<strong>and</strong>om hash changing according<br />

to amortizing (single digital signature over multiple packets)<br />

c<strong>on</strong>cept which also used in EMSS <strong>and</strong> A 2 Cast protocol. This<br />

approach provides the data origin authenticati<strong>on</strong> at threshold<br />

packet loss ratio. According to r<strong>and</strong>om hash changing authors<br />

provide the three algorithms: sender side, receiver side <strong>and</strong><br />

verificati<strong>on</strong> algorithm<br />

E. Hybrid <strong>and</strong> Efficient Scheme of Multicast Source<br />

Authenticati<strong>on</strong><br />

HE Jin [25] uses a hybrid approach in use the hash tree <strong>and</strong><br />

hash chaining combinati<strong>on</strong>. In case of hash tree, data break<br />

into M block; each block into m packets <strong>and</strong> each packet<br />

associate the hash value. Root hash of each block is signed by<br />

sender. So per packet communicati<strong>on</strong> overhead is even higher<br />

than shining each packet. Speed of hash functi<strong>on</strong> (MD5,<br />

SHA1) is about 1000 faster then digital sinning (RSA, ECC,<br />

DSS); the computati<strong>on</strong>al overhead of hash tree is much less.<br />

Singing at each packet <strong>on</strong>ly root hash is sign by sender. Hash<br />

Chaining: Data divide into N block, compute the hash of first<br />

block, sign the hash payload <strong>and</strong> send to all receivers. In case<br />

of hash Chain, One signature is sign by sender <strong>and</strong> n hash is<br />

compute by receivers, so communicati<strong>on</strong> <strong>and</strong> computing<br />

overhead less in hash chaining.<br />

Hash chaining scheme can’t tolerate packet loss <strong>and</strong> the<br />

receiver can not verify authenticity if any future packets <strong>on</strong>ce<br />

any porti<strong>on</strong> of data is lost in transit. He Jin [25] approach use<br />

the hash tree for decreasing receiver’s computati<strong>on</strong> overhead<br />

<strong>and</strong> authenticity because <strong>on</strong>e root hash has the all value of leaf<br />

hash. Hash chaining use used for decreasing communicati<strong>on</strong><br />

overhead <strong>and</strong> signing. It has the very less computati<strong>on</strong><br />

overhead because no need to compute more then <strong>on</strong>e time at<br />

receiver side to verify the authenticity. It has the little more<br />

communicati<strong>on</strong> overhead.<br />

In next secti<strong>on</strong> we are going to illustrate the efficient <strong>and</strong><br />

secure multicast communicati<strong>on</strong> approach.<br />

V. EFFICIENT AND SECURE MULTICAST<br />

COMMUNICATION<br />

Multicast c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol scheme RLM [7], TFMC [12,<br />

22], FLID-DL [1], RLC [7], provide the c<strong>on</strong>trolling respect to<br />

c<strong>on</strong>gesti<strong>on</strong> it is not provide the avoidance with respect to<br />

distrusted receiver, source or router. DMPRAIS [14] provides<br />

the frame work for protecti<strong>on</strong> distrusted receiver to prove the<br />

DELTA <strong>and</strong> SIGMA algorithm with embed a c<strong>on</strong>gesti<strong>on</strong><br />

functi<strong>on</strong>. The main problem with secure multicast scheme is<br />

the packet loss <strong>and</strong> increasing the overhead. In this paper, we<br />

are describe a key c<strong>on</strong>cept for multicast security <strong>and</strong> efficient<br />

in term of reducing packet loss <strong>and</strong> overhead.<br />

To achieve this objective, we can solve the problems of [25],<br />

which have more overhead to providing the security services.<br />

Because each packet, the sender includes the signed block<br />

hash, the packet ID, <strong>and</strong> the hashes of siblings of all the nodes<br />

in the current packet’s path to the root.<br />

Fig. 7 Hybrid Scheme<br />

According to [25] sending data are following<br />

Block 1 (Signature (h18))<br />

P1 h2+h34+h58+h28<br />

P2 h1+h34+h58+ h28<br />

P3 h4+h12+h58+ h28<br />

P4 h3+h12+h58+ h28<br />

P5 h6+h78+h14+ h28<br />

P6 h6+h78+h14+ h28<br />

P7 h8+h56+h14+ h28<br />

P8 h7+h56+h14+ h28<br />

Block 2<br />

P1 h2+h34+h58+ h38<br />

P2 h1+h34+h58+ h38<br />

P3 h4+h12+h58+ h38<br />

…………………………<br />

The sending informati<strong>on</strong> of sender of block 1, block 2. The<br />

senders first verify hash value of block 1 root <strong>and</strong> if true all<br />

coming block are authentic because each packet has the hash<br />

value of next block. The packets P1, P2, P3, P4 have<br />

redundancy with respect to h58, h28, h14. The security<br />

requirement at receiver side for <strong>on</strong>e Block 1, first store h18<br />

<strong>and</strong> verify signature then achieve the new h18 from h1,h2,h12,<br />

h34, h14, h58 for used path P1 to root of tree. We can store<br />

the value of hash h58 like h18 we can produce the h58 such as<br />

h14. This technique may be better then hybrid scheme <strong>and</strong> less<br />

overhead. Main problem with this scheme is packet loss for<br />

that we can embed a multicast c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol scheme such<br />

as RLM, RLC, FLID/DL with tightly bound c<strong>on</strong>diti<strong>on</strong>. For<br />

example: If we are using the FLID/DL, mechanism objective<br />

should be very less packet loss near to zero. If this schem<br />

work satisfactory so we can send h28, h38 with <strong>on</strong>ly <strong>on</strong>e<br />

packet of block. So, these schemes increase the computati<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 101


Proceedings of ICCNS 08 , 27-28 September 2008<br />

overhead at receiver side but we can use the powerful system<br />

for this purpose.<br />

This is new approach to providing efficacy <strong>and</strong> security<br />

multicast communicati<strong>on</strong>. This scheme work in both type of<br />

attack self beneficially <strong>and</strong> DoS. We are going to simulate<br />

these tasks in NS-2 to achieve the secure <strong>and</strong> efficient<br />

multicast communicati<strong>on</strong>.<br />

VI. CONCLUSION<br />

In this paper we have provided the secure <strong>and</strong> efficient<br />

multicast communicati<strong>on</strong> scheme which deal both problem<br />

packet loss <strong>and</strong> network security. With help of this scheme we<br />

can reduce the overhead of packet to providing security <strong>and</strong><br />

reduce the redundancy, packet loss.<br />

REFERENCES<br />

1. Byers, J., Frumin, M., Horn, G., Luby, M., Mitzenmacher, M., Roetter,<br />

A., Shaver, W.: FLID-DL: C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol for Layered Multicast.<br />

Proceedings of NGC, November 2000.<br />

2. Jun Peng <strong>and</strong> Biplab Sikdar “A Multicast C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol Scheme<br />

for Mobile” GLOBECOM 2003.<br />

3. Karan Singh, R. S. Yadav, Ranvijay “A Review Paper On Ad Hoc<br />

Network <strong>Security</strong>” <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Journal of <strong>Computer</strong> Science <strong>and</strong><br />

<strong>Security</strong>, Volume (1): Issue (1) pg.52-69 Malaysia – 2007<br />

4. Karan Singh, Rama Shankar Yadav, Raghav Yadav, R. Shiva Kumaran,<br />

“Adaptive Multicast C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol ” HIT haldia March 2007.<br />

5. Lijun Cheny, Tracey Hoy, Steven H. Lowy, Mung Chiangz <strong>and</strong> John C.<br />

Doy “Rate C<strong>on</strong>trol for Multicast with Network Coding” IEEE<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Symposium <strong>on</strong> Sept. 2004.<br />

6. Karan Singh <strong>and</strong> Rama Shankar Yadav “Overview of secure multicast<br />

C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol” <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Soft Computing <strong>and</strong><br />

Intelligent Systems (ICSCIS-07), Jabalpur, Dec 2007.<br />

7. McCanne, S., Jacobs<strong>on</strong>, V., Vetterli, M.: Receiver-driven Layered<br />

Multicast. Proceedings of ACM SIGCOMM, August 1996.<br />

8. R. Shiva Kumaran, Rama Shankar Yadav, karan Singh “Multihop<br />

wireless LAN” HIT haldia March 2007.<br />

9. R. Stewart, M. Tuexen, G.C. Ericss<strong>on</strong>” <strong>Security</strong> Attacks Found Against<br />

the Stream C<strong>on</strong>trol Transmissi<strong>on</strong> Protocol (SCTP) <strong>and</strong> Current<br />

countermeasures” RFC- 5062 September 2007.<br />

10. RFC 4046 “Multicast <strong>Security</strong> (MSEC) Group Key Management<br />

Architecture” April 2005.<br />

11. RFC-3740 “The Multicast Group <strong>Security</strong> Architecture” March 2004.<br />

12. S. Gorinsky, Sugat Jain, Harrick Vin “Robust C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol for<br />

Multicast: Challenges <strong>and</strong> Opportunities” Jan 2003.<br />

13. S. Bhattacharyya, D. Towsley, <strong>and</strong> J. Kurose, “The Loss Path<br />

Multiplicity Problem in Multicast C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol,” Proc. IEEE<br />

INFOCOM ’99, Mar. 1999.<br />

14. S. Gorinsky, Sugat Jain, Harrick Vin, Y<strong>on</strong>gguang “Design of Multicast<br />

Protocols Robust Against Inflated Subscripti<strong>on</strong>” IEEE/ACM<br />

Transacti<strong>on</strong>s <strong>on</strong> Networking, Vol. 14 No. 2, April 2006.<br />

15. Saswati Sarkar, Le<strong>and</strong>ros Tassiulas, “Fair Distributed C<strong>on</strong>gesti<strong>on</strong><br />

C<strong>on</strong>trol in Multirate Multicast <strong>Networks</strong>” IEEE/ACM<br />

TRANSACTIONS ON NETWORKING, VOL. 13, NO. 1, FEBRUARY<br />

2005.<br />

16. <strong>Security</strong> tools from: http://www. cert- in.org<br />

17. Sisalem, Wolisz “MLDA: A TCP-friendly C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol<br />

Framework for Heterogeneous Multicast Envir<strong>on</strong>ments” IEEE 2000.<br />

18.<br />

Threats: http://www.caci.com/business /ia/threats.html .<br />

19. Underst<strong>and</strong>ing IGMP Snooping “Power C<strong>on</strong>nect Applicati<strong>on</strong> Note #18”<br />

February 2004.<br />

20. Wei-QiangXu, Ya-Ming Wang, Cheng-Hai Yu “MMCC: multirate<br />

multicast c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol for optimal Resource allocati<strong>on</strong> in ad hoc<br />

networks” proceeding IEEE 2005.<br />

21. Wen-Tsuen Chen, Yaw-Ren Chang, <strong>and</strong> Chun-Fu Huang “A Low-cost<br />

Self-routing Multicast Network” in 1993<br />

22. Widmer, J.; Denda, R.; Mauve, M.; “A survey <strong>on</strong> TCP-friendly<br />

c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol” May-June 2001.<br />

23. Y.Challal,A.Bouabdallah,Y. Hinard” RLH: receiver driven layered<br />

hash-chaining for multicast data origin authenticati<strong>on</strong>” 20 November<br />

2004.<br />

24. Yacine Challal, Abdelmadjid Bouabdallah, Yoann Hinard ”RLH:<br />

receiver driven layered hash-chaining for multicast data origin<br />

authenticati<strong>on</strong>” <strong>Computer</strong> Communicati<strong>on</strong>s 28 (2005) 726–740,<br />

Elsevier.<br />

25. HE Jin-xin, XU Gao-chao, FU Xiao-d<strong>on</strong>g, ZHOU Zhi-guo “A Hybrid<br />

<strong>and</strong> Efficient Scheme of Multicast Source Authenticati<strong>on</strong>” Eighth ACIS<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Software Engineering, Artificial<br />

Intelligence, Networking, <strong>and</strong> Parallel/Distributed Computing IEEE,<br />

2007.<br />

26. Y. Challal, H. Bettahar, <strong>and</strong> A. Bouabdallah, “A2Cast: An Adaptive<br />

Source Authenticati<strong>on</strong> Protocol for MultiCast Stream”, IEEE-<br />

ISCCÕ2004, June 2004.<br />

27. A. Perrig et al, “Efficient <strong>and</strong> Secure Source Authenticati<strong>on</strong> for<br />

Multicast”, 8th Annual Internet Society Symp. Network <strong>and</strong><br />

Distributed System <strong>Security</strong>, 2001.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 102


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Enhanced Optimistic Fair-exchange<br />

Protocols for Secured Electr<strong>on</strong>ic Transacti<strong>on</strong>s<br />

Based <strong>on</strong> DSA Signatures<br />

Kishore B. Pawar, Sunil G. Bhirud<br />

Abstract— Now a day use of electr<strong>on</strong>ic transacti<strong>on</strong>s is very<br />

comm<strong>on</strong>. If we analyze the security issues in the secured electr<strong>on</strong>ic<br />

transacti<strong>on</strong>s (SET) there is fundamental problem of fair exchange of<br />

the data. Same problem exists with the digital rights management<br />

also though we are using third parties, we cannot relay fully.<br />

Recently, Park et al. [1] present optimistic fair-exchange protocol<br />

based <strong>on</strong> RSA (Rivet, Shamir, Adleman) Algorithm, Dodis <strong>and</strong><br />

Reyzin analyze the vulnerability of Park’s protocol <strong>and</strong> present an<br />

optimistic fair-exchange protocols based <strong>on</strong> GDH, then Wang, H<strong>on</strong>g<br />

<strong>and</strong> Zhu [3] have analyzed these schemes <strong>and</strong> proposed the new<br />

Optimistic Fair Exchange Protocols based <strong>on</strong> improved DSA<br />

(Digital Signature Algorithm) signatures. This paper points out that<br />

Wang, H<strong>on</strong>g <strong>and</strong> Zhu‘s scheme is also insecure <strong>and</strong> inefficient. This<br />

paper presents a multi-signature scheme based <strong>on</strong> improved DSA,<br />

describes an enhanced way of c<strong>on</strong>structing more efficient fairexchange<br />

protocols based <strong>on</strong> the enhanced DSA signatures. The<br />

protocols of this paper are become more secure <strong>and</strong> efficient than<br />

that of [1], [2], <strong>and</strong> [3].<br />

Keywords— Digital Certificates, Fair-Exchange Protocols,<br />

Multi-signatures, Secured Electr<strong>on</strong>ic Transacti<strong>on</strong>s.<br />

I.INTRODUCTION<br />

In secured Electr<strong>on</strong>ic Transacti<strong>on</strong>s (SET) <strong>and</strong> digital rights<br />

management authenticity <strong>and</strong> c<strong>on</strong>fidentiality are some of the<br />

fundamental security issues; al<strong>on</strong>g with that the fair-exchange<br />

is the fundamental problem. A fair-exchange protocol mainly<br />

deals with the exchanging the items in a fair way between<br />

two parties, so that either each party gets the other’s item or<br />

neither party does. That is the atomicity i.e. transacti<strong>on</strong>s<br />

should be atomic. This is getting more importance as there is<br />

tremendous need of such transacti<strong>on</strong> in business <strong>on</strong> Internet.<br />

Boyd [4] proposed an RSA-based multi-signature scheme that<br />

allows two signers to compute a multi-signature efficiently.<br />

Recently, Park etc [1] point out the vulnerability of Boyd’s<br />

scheme, <strong>and</strong> present an improved scheme of RSA-based<br />

multi-signature scheme. Dodis <strong>and</strong> Reyzin [2] analyze Park<br />

et al.’s scheme <strong>and</strong> its vulnerability <strong>and</strong> present optimistic<br />

fair-exchange protocols based <strong>on</strong> GDH. Afterward Wang,<br />

H<strong>on</strong>g <strong>and</strong> Zhu [3] present optimistic fair exchange protocols<br />

based <strong>on</strong> improved DSA signatures. Wang point out that<br />

Dodis <strong>and</strong> Reyzin’s scheme is insecure <strong>and</strong> inefficient. This<br />

paper point out that Wang’s scheme is also insecure <strong>and</strong><br />

inefficient. Also presents a new multi-signature scheme based<br />

<strong>on</strong> enhanced DSA, describes a novel method of c<strong>on</strong>structing<br />

very efficient fair-exchange protocols based <strong>on</strong> enhanced<br />

DSA signatures than that of Wang’s. Comparing with [1],<br />

[2], [3], the protocols of this paper are more secure <strong>and</strong><br />

efficient.<br />

In the next secti<strong>on</strong>, we analyze the vulnerability of<br />

optimistic fair-exchange protocols which were presented by<br />

Wang, H<strong>on</strong>g <strong>and</strong> Zhu, [3] (based <strong>on</strong> the improved DSA<br />

signature).In secti<strong>on</strong> III we propose approach <strong>and</strong><br />

enhancement. In Secti<strong>on</strong> IV, we describe an enhanced<br />

method of c<strong>on</strong>structing very efficient fair-exchange protocols<br />

based improved DSA signatures. In Secti<strong>on</strong> V, comparing<br />

with [1], [2], [3], [4], we analyze the security <strong>and</strong> efficiency<br />

of our scheme. The c<strong>on</strong>cluding remarks are given in Secti<strong>on</strong><br />

VI.<br />

II.VULNERABILITIES IN WANG’S SCHEME<br />

Wang Shaobin, H<strong>on</strong>g Fan <strong>and</strong> Zhu Xian have proposed the<br />

scheme in optimistic fair-exchange protocol, in their scheme<br />

public key of the signer is calculated as follows.<br />

Setup: Alice/signer generates the p, q, g, x, etc. here p, q,<br />

g <strong>and</strong> x are same as that in DSA (Federal Informati<strong>on</strong><br />

Processing St<strong>and</strong>ards Publicati<strong>on</strong> [6]), x is the private key<br />

then we calculate the public key y.<br />

y = g x ----------------------------- (a)<br />

<strong>and</strong><br />

y1 = g x1<br />

----------------------------- (b)<br />

Here these y <strong>and</strong> g are sent to Co-Signer.<br />

Now,<br />

Let’s take the log <strong>on</strong> both sides for the a <strong>and</strong> b<br />

log y = log (g x )<br />

log y1 = log(g x1 )<br />

log y = x log g<br />

log y1 = x1 log g<br />

x = log y / log g<br />

x1 = log y1 / log g<br />

x = log g y<br />

x1 = log g y1<br />

----------------------------- (c)<br />

----------------------------- (d)<br />

Hence, with reference to the equati<strong>on</strong>s c <strong>and</strong> d private key is<br />

not secure. It can be calculated by co-signers <strong>and</strong> can be<br />

misused.<br />

It can be overcome by using our new scheme explained in<br />

this paper.<br />

K. B. Pawar is student pursuing M.Tech (<strong>Computer</strong> Technology) at the<br />

Veermata Jijabai Technological Institute, Mumbai, India (e-mail: kishore.pwr@<br />

gmail.com).<br />

S. G. Bhirud is with Veermata Jijabai Technological Institute, Mumbai,<br />

India. (e-mail: sgbhirud@yahoo.com).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 103


Proceedings of ICCNS 08 , 27-28 September 2008<br />

III.PROTOCOL APPROACH<br />

Like Wang’s [3] protocols we also use same multisignature<br />

scheme. The players in multisignature scheme are also same<br />

i.e. n 2 signers <strong>and</strong> a verifier.<br />

Registrati<strong>on</strong> Protocol (Faint Arrows)<br />

1. Request for Registrati<strong>on</strong><br />

2. Certificati<strong>on</strong> after validati<strong>on</strong><br />

Exchange Protocol (Dotted Arrows)<br />

3. Exchanging Certificate<br />

4. Receiving Merch<strong>and</strong>ise after Verificati<strong>on</strong><br />

5. Exchanging the Signature<br />

Dispute Resoluti<strong>on</strong> protocol (Dark Arrows)<br />

6. Dispute Resoluti<strong>on</strong> Request if 5 fails<br />

7. Exchanging Signer’s Signature by Co-signer<br />

8. Exchanging Verifier’s Merch<strong>and</strong>ise by Co-Signer<br />

Figure 3.1 Protocol Approach<br />

Basically there are three protocols viz. Registrati<strong>on</strong><br />

Protocol, Exchange Protocol <strong>and</strong> Dispute Resoluti<strong>on</strong> Protocol.<br />

Registrati<strong>on</strong> Protocol c<strong>on</strong>tains the first two steps as in Figure<br />

3.1. Success of this protocol leads to Exchange Protocol<br />

which c<strong>on</strong>tains steps 3, 4 <strong>and</strong> 5. And if this protocol fails<br />

after step 4 then verifier starts the Dispute Resoluti<strong>on</strong><br />

Protocol as steps 6, 7 <strong>and</strong> 8 in Figure 3.1.<br />

But to overcome vulnerabilities in Wang’s scheme we<br />

propose some enhancements to key generati<strong>on</strong> <strong>and</strong> message<br />

verificati<strong>on</strong>.<br />

A.Proposed Enhancements<br />

According to our Enhanced Optimistic Fair-Exchange<br />

Protocol (EOFEP) we will calculate the keys as follows:<br />

Public key of signer y = g x mod p, Likewise;<br />

Public key of co-signer y 1 = g x1 mod p<br />

Now, signatures are generated same as in Wang’s Scheme.<br />

And message verificati<strong>on</strong> can be d<strong>on</strong>e in following manner:<br />

m mod p = g s y r’ r mod p.<br />

or<br />

m ≡ g s y r’ r mod p.<br />

<strong>and</strong><br />

m mod p = g s1 y r1’ 1 r 1 mod p.<br />

or<br />

m ≡ g s1 y r1’ 1 r 1 mod p.<br />

So now signature scheme can be explained as follows<br />

The parameters p, q <strong>and</strong> g are the same of DSA signature<br />

scheme. x is the private key of Alice’s full signature δ. x 1 is<br />

the private key of Alice’s partial signature δ 1. y = g x mod p is<br />

the public key of Alice’s full signature δ. y 1 = g x 1 mod p is the<br />

public key of Alice’s partial signature δ 1. x 2 is the Charlie’s<br />

private arbitrati<strong>on</strong> key. x, x 1 <strong>and</strong> x 2 satisfy the relati<strong>on</strong> x = x 1<br />

− x 2 . The signature of m is as follow:<br />

1) Alice’s full signature δ is computed as follow: Alice<br />

selects a r<strong>and</strong>om number k, <strong>and</strong> computes: r = mg -k<br />

mod p, r'= r mod q, s = k − r' x mod p. (r, s) is<br />

Alice’s full signature δ. Bob verify the signature is as<br />

follow:<br />

m ≡ g s y r’ r mod p.<br />

2) Alice’s partial signature δ 1 is computed as follow:<br />

Alice computes: r 1 = r, r 1’ = r 1 mod q, s 1 = k – r 1’ x 1<br />

mod p. (r1, s1) is Alice’s partial signature δ 1. Bob<br />

verify the signature is as follow:<br />

m mod p = g s1 y r1’ 1 r 1 mod p.<br />

i.e.<br />

m ≡ g s1 y r1’ 1 r 1 mod p.<br />

3) If there is disputed, Charlie must verify δ 1 <strong>and</strong> use<br />

the arbitrati<strong>on</strong> key x 2 to c<strong>on</strong>struct δ. The process is as<br />

follow: First, Charlie verifies δ1: (r1, s1). If it is true,<br />

then c<strong>on</strong>struct full signature δ: (r, s), let r <strong>and</strong> s<br />

satisfy the follow relati<strong>on</strong>:<br />

r = r 1, r 1’= r 1 mod q, s = s 1 + r 1’ x 2 mod p. (r, s) is the full<br />

signature δ.<br />

IV.ENHANCED OPTIMISTIC FAIR-EXCHANGE PROTOCOL BASED ON<br />

IMPROVED DSA SIGNATURE SCHEME<br />

The enhanced optimistic fair-exchange protocol includes<br />

three parties: Alice (primary signer, acting as customer), Bob<br />

(verifier, acting as merchant) <strong>and</strong> Charlie (cosigner, acting as<br />

TTP (Trusted Third Party)). It is composed by three<br />

protocols: registrati<strong>on</strong> protocol, exchange protocol <strong>and</strong><br />

dispute resoluti<strong>on</strong> protocol. First, Alice sends her<br />

commitment (denote as δ 1) of the exchange to Bob. Bob<br />

verifies the commitment <strong>and</strong> sends the merch<strong>and</strong>ise to Alice.<br />

After received the merch<strong>and</strong>ise, Alice sends her digital check<br />

or cash (denote as δ) to Bob. Charlie is involved in the<br />

protocol <strong>on</strong>ly if <strong>on</strong>e of the parties behaves unfairly or aborts<br />

the protocol prematurely; otherwise the Charlie is never<br />

involved in the protocol. The protocol is explained in this<br />

secti<strong>on</strong><br />

A.Registrati<strong>on</strong> Protocol<br />

This is an interactive protocol between Alice (Signer) <strong>and</strong><br />

Charlie (Co-Signer). Alice first generates two mutual keys<br />

(private key, public key): (x, y), (x 1, y 1), <strong>and</strong> the arbitrati<strong>on</strong><br />

key x 2, then c<strong>on</strong>tacts Charlie to get the joint public key y<br />

certified. After verifying the c<strong>on</strong>structi<strong>on</strong> of signature,<br />

Charlie issues a signed certificate C CA. The key x is used to<br />

sign Alice’s full signature δ. The key x 1 is used to sign Alice’s<br />

partial signature δ 1. This value δ 1 has no intrinsic value, but<br />

serves as Alice’s commitment to the exchange. The key x 2 is<br />

the arbitrati<strong>on</strong> key to Charlie. The voucher V C is a signed<br />

statement for δ 1 from Charlie that assures the following:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 104


Proceedings of ICCNS 08 , 27-28 September 2008<br />

1) y 1 is Alice's valid partial public key, <strong>and</strong><br />

2) The algebraic relati<strong>on</strong>s between the keys have been<br />

verified, <strong>and</strong>, as a result, Charlie can generate a multisignature<br />

from the corresp<strong>on</strong>ding partial signature.<br />

Figure 4.1 shows registrati<strong>on</strong> protocol:<br />

1) Alice generates p, q, g, x, x 1, x 2 = x 1 − x, y = g x mod p <strong>and</strong><br />

y 1 = g x1 mod p, then sends (p, q, g, y, y 1, δ, δ 1, x 2, ID A) to<br />

Charlie. ID A is Alice's unique identity. δ is Alice’s full<br />

signature <strong>on</strong> a r<strong>and</strong>om message m: δ=(r, s), r = mg -k<br />

mod p, s = k − r' x mod p . δ 1 is Alice’s partial signature<br />

<strong>on</strong> the r<strong>and</strong>om message m: δ1=(r1, s1), r 1 = mg -k mod p,<br />

s 1 = k − r 1' x 1 mod p.<br />

2) After received the message from Alice, Charlie first<br />

verify δ <strong>and</strong> δ 1, then c<strong>on</strong>struct δ using x 2 <strong>and</strong> δ 1. If<br />

everything is in order, Charlie authorize Alice’s<br />

signature scheme, send V C <strong>and</strong> C CA to Alice.<br />

By the end of which either <strong>on</strong>e of the parties aborts, or<br />

Alice learns (x, y), (x 1, y 1), x 2, V C, C CA, Charlie learns his<br />

secret arbitrati<strong>on</strong> key x 2, <strong>and</strong> y, y 1, x 2, V C, C CA.<br />

Figure 4.1 Registrati<strong>on</strong> Protocol<br />

B.Exchange Protocol<br />

This is an interactive protocol between Alice (Signer) <strong>and</strong><br />

Bob (Verifier). Alice initiates the protocol with Bob. We<br />

assume that Alice <strong>and</strong> Bob have g<strong>on</strong>e through a negotiati<strong>on</strong><br />

process to agree <strong>on</strong> the purchase informati<strong>on</strong> M (which might<br />

c<strong>on</strong>tain Alice's unique identity, Bob's unique account number,<br />

price of the merch<strong>and</strong>ise, descripti<strong>on</strong> of the merch<strong>and</strong>ise, <strong>and</strong><br />

date of transacti<strong>on</strong>) prior to the start of the exchange protocol.<br />

This process may be as simple as Alice choosing fixed-priced<br />

goods from Bob's website. Note that Alice's digital signature<br />

<strong>on</strong> M (which is her multi-signature δ) acts as her digital<br />

check. In additi<strong>on</strong>, Alice <strong>and</strong> Bob agree <strong>on</strong> a sessi<strong>on</strong> key<br />

using some key-agreement protocol (e.g., Diffie-Hellman key<br />

agreement). The sessi<strong>on</strong> key is used to encrypt the digital<br />

merch<strong>and</strong>ise to deter eavesdropping. Figure 4.2 shows the<br />

messages exchanged between Alice <strong>and</strong> Bob in the exchange<br />

protocol when both parties act h<strong>on</strong>estly:<br />

1) Alice selects a r<strong>and</strong>om number k, <strong>and</strong> compute δ 1: (r1,<br />

s1), r 1 = mg -k mod p, r 1’ = r 1 mod q, s 1 = k − r 1' x 1 mod<br />

p. Alice sends δ 1, C CA <strong>and</strong> V C to Bob.<br />

2) Bob verifies C CA, V C <strong>and</strong> δ 1. If everything is in order, Bob<br />

encrypts the digital merch<strong>and</strong>ise u with some symmetric<br />

encrypti<strong>on</strong> algorithm E r(·), where r is the secret<br />

encrypti<strong>on</strong> key (i.e., the sessi<strong>on</strong> key). The encrypted<br />

merch<strong>and</strong>ise E r(u) is sent to Alice. However, if any <strong>on</strong>e of<br />

the items received from Alice is invalid, Bob does not<br />

send the merch<strong>and</strong>ise, <strong>and</strong> stops the protocol.<br />

3) Alice decrypts <strong>and</strong> verifies the merch<strong>and</strong>ise. If Alice is<br />

satisfied with the merch<strong>and</strong>ise, she computes the multisignature<br />

δ: (r, s), <strong>and</strong> sends it to Bob. Otherwise, Alice<br />

stops the protocol.<br />

4) Bob verifies δ, if it is valid, Bob ends the protocol.<br />

Otherwise, Bob initiates the dispute resoluti<strong>on</strong> protocol.<br />

Figure 4.2 Exchange Protocol<br />

C.Dispute Resoluti<strong>on</strong> Protocol<br />

If Bob does not receive the multi-signature δ, or if δ is<br />

invalid, he initiates a dispute resoluti<strong>on</strong> protocol by<br />

c<strong>on</strong>tacting Charlie. We assume that reliable channels exist<br />

between the parties. The following steps describe the dispute<br />

resoluti<strong>on</strong> protocol.<br />

1) Bob encrypts the sessi<strong>on</strong> key r as AE pkc(r), where pkc is<br />

Charlie's public key, <strong>and</strong> AE pkc(·) is an asymmetric<br />

encrypti<strong>on</strong> algorithm. Bob then sends V C, C CA, δ 1, M,<br />

E r(u) <strong>and</strong> AE pkc(r) to Charlie.<br />

2) Charlie decrypts AE pkc(r), <strong>and</strong> uses r to recover u. Next,<br />

he extracts all the system parameters <strong>and</strong> keys from C CA<br />

<strong>and</strong> V C, <strong>and</strong> then verifies δ 1 using those values. If<br />

everything is in order, Charlie generates the multisignature<br />

δ: (r, s) using δ 1 <strong>and</strong> his secret arbitrati<strong>on</strong> key<br />

x 2 as follow:<br />

r = r 1 , r 1' = r 1 mod q, s = s 1 + r 1’ x 2 mod p.<br />

Figure 4.3 shows the messages exchanged between the<br />

parties at dispute resoluti<strong>on</strong>.<br />

The multi-signature δ is sent to Bob, <strong>and</strong> the (encrypted)<br />

merch<strong>and</strong>ise is forwarded to Alice. Otherwise, if any of the<br />

items received from Bob is invalid, Charlie halts the dispute<br />

resoluti<strong>on</strong> protocol without sending anything to either party.<br />

Figure 4.3 Dispute Resoluti<strong>on</strong> Protocol<br />

V.ANALYSIS<br />

We can directly apply the suggesti<strong>on</strong>s given by Wang’s<br />

analysis which are already applied by us during<br />

implementati<strong>on</strong> of protocol. Al<strong>on</strong>g with the Wang’s<br />

guidelines in analysis part of [3] we can also use the Kerberos<br />

key distributi<strong>on</strong> algorithm for different key exchange.We<br />

have achieved more security than Wang’s [3] scheme in our<br />

protocols.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 105


Proceedings of ICCNS 08 , 27-28 September 2008<br />

<strong>Security</strong> against the registrati<strong>on</strong> follows unc<strong>on</strong>diti<strong>on</strong>ally. In<br />

our scheme, Alice has p, q, g, x, x 1, x 2, y, y 1, V C <strong>and</strong> C CA,<br />

Charlie has p, q, g, x 2, y <strong>and</strong> y 1. Indeed, if Charlie accepted<br />

the values (p, q, g, y, y 1, δ, δ 1, x 2, ID A) in the registrati<strong>on</strong>, it<br />

means that m ≡ g s y r’ r mod p, m ≡ g s1 y 1<br />

r1’<br />

r 1 mod p <strong>and</strong> s = s 1<br />

+ r 1’ x 2 mod p is valid. Also, any valid partial signature δ 1 =<br />

(r 1, s 1) satisfies r 1 = mg -k mod p, r 1’ = r 1 mod q, s 1 = k - r1’x<br />

mod p. Therefore the resolved full signature δ=(r, s): r = r 1,<br />

r 1’ = r 1 mod q, s = s 1 + r 1’ x 2 mod p satisfies x 2 = x 1 − x, <strong>and</strong><br />

thus must pass the usual verificati<strong>on</strong> algorithm. Charlie can’t<br />

obtain (x, x 1) in the registrati<strong>on</strong>. So, the registrati<strong>on</strong> is<br />

security.<br />

<strong>Security</strong> against the exchange follows unc<strong>on</strong>diti<strong>on</strong>ally. In<br />

the exchange process, Alice sends Bob (C CA, V C, δ 1, δ 2), Bob<br />

can’t obtain (x, x 1, x 2). Besides, Alice uses a r<strong>and</strong>om number<br />

k in every signature. The k has no effect to Bob <strong>and</strong> Charlie<br />

for verifying. Bob has no other way to produce the signature δ<br />

<strong>and</strong> δ 1. If Bob does not receive the multi-signature δ (in step 3<br />

of exchange protocol), or if δ is invalid (in step 4), he can<br />

obtain δ from Charlie by initiating the dispute resoluti<strong>on</strong><br />

protocol. If Alice does not receive the merch<strong>and</strong>ise (in step 2<br />

of exchange protocol), she lost nothing. Because the value δ 1<br />

sent to Bob in step 1 has no intrinsic value, but serves as<br />

Alice’s commitment to the exchange. So, we can see during<br />

the exchange process, there is no party losing benefits.<br />

[8] William Stalling. “Cryptography <strong>and</strong> Network <strong>Security</strong>”.<br />

[9] http://java.sun.com/docs/books/tutorial/security/apisign/index.html<br />

VI.CONCLUSION<br />

We improved a DSA signature scheme, presented a novel<br />

method for c<strong>on</strong>structing efficient optimistic fair-exchange<br />

protocols using DSA-based multi-signatures. Comparing with<br />

the signature scheme in [Park’s], [Dodis’s], [Wang’s],<br />

[Boyd’s] [1], [2], [3], [4], our scheme is more efficient <strong>and</strong><br />

secure than the schemes in [Park’s], [Dodis’s], [Wang’s],<br />

[Boyd’s] [1], [2], [3], [4]. Our scheme uses multi-signatures<br />

that are compatible with the underlying (single-signer)<br />

signature, which implies that implementing the fair-exchange<br />

feature <strong>on</strong> top of an existing e-commerce system is less<br />

complicated. Also we have successfully implemented the<br />

EOFEP.<br />

REFERENCES<br />

[1] J. M. Park, E. Ch<strong>on</strong>g, H. Siegel, <strong>and</strong> I. Ray. “C<strong>on</strong>structing fair<br />

exchange protocols for E-commerce via distributed computati<strong>on</strong> of<br />

RSA signatures.” In 22-th Annual ACM Symp. <strong>on</strong> Principles of<br />

Distributed Computing, Pages172-181, 13- 16 July 2003.<br />

[2] Y. Dodis, L. Reyzin. “Breaking <strong>and</strong> Repairing Optimistic Fair<br />

Exchange from PODC 2003.” In proceedings of the 2003 ACM<br />

workshop <strong>on</strong> Digital rights management, Pages 47-54, 27 October,<br />

2003.<br />

[3] Wang Shaobin, H<strong>on</strong>g Fan, Zhu Xian. “Optimistic Fair-exchange<br />

Protocols Based <strong>on</strong> DSA Signatures.” In 2004 IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Services Computing (SCC’04)<br />

[4] C. Boyd. Digital multi-signatures. “Cryptography <strong>and</strong> coding”, Pages<br />

241-246, 1989.<br />

[5] A. Boldyreva. “Efficient threshold signatures, multisignatures <strong>and</strong><br />

blind signatures based <strong>on</strong> the Gap-Diffie-Hellman-group signature<br />

scheme”. In Desmedt [14].<br />

[6] Nati<strong>on</strong>al Institute of St<strong>and</strong>ards <strong>and</strong> Technology, NIST FIDS PUB<br />

186, “Digital Signature St<strong>and</strong>ard”, U.S. Department of Commerce,<br />

May 1994.<br />

[7] K. Nyberg <strong>and</strong> R. A. Rueppel, “Message Recovery for Signature<br />

Schemes Based <strong>on</strong> the Discrete Logarithm Problem”, Advances in<br />

Egyptology-EUROCRYPT’94 Proceedings, Springer-Verlag, 1995,<br />

to appear<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 106


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Improved Algorithmic Routing for Disrupti<strong>on</strong><br />

Tolerant Network<br />

Mohammad Arif, Rama Shankar Yadav<br />

Abstract—Disrupti<strong>on</strong> tolerant networks are used in the<br />

situati<strong>on</strong>s where the end to end c<strong>on</strong>nectivity is not certain <strong>and</strong><br />

in the envir<strong>on</strong>ment which are characterised by very l<strong>on</strong>g path<br />

delay. As routing for delay tolerant network is an emerging<br />

topic of research, many approaches have been devised for it.<br />

In this paper we have developed an algorithmic technique for<br />

the routing in disrupti<strong>on</strong> tolerant network. In this technique<br />

we have emphasized <strong>on</strong> minimizing the delay <strong>and</strong><br />

maximizing the delivery ratio. Unlike other approaches we<br />

maintained <strong>on</strong>ly <strong>on</strong>e copy of message at <strong>on</strong>e point of time in<br />

the network. We used breadth first search algorithm <strong>and</strong><br />

modified it to find the route from source to destinati<strong>on</strong> <strong>and</strong><br />

repeat the algorithm for each destinati<strong>on</strong>. It is a unicastmulticast,<br />

meaning that it is multicast like situati<strong>on</strong> but every<br />

time source want to send data to some destinati<strong>on</strong>, it will<br />

apply the algorithm to find the path for that specific node <strong>and</strong><br />

then forward the data al<strong>on</strong>g that path. It will also include the<br />

multicasting up to some extent.<br />

Keywords—Mobile Computing, Routing, Delay Tolerant<br />

Network, Intermittent C<strong>on</strong>nectivity, Network Topology.<br />

I. INTRODUCTION<br />

Disrupti<strong>on</strong> Tolerant Network (DTN) is challenging<br />

network architectures because end to end path between<br />

source <strong>and</strong> destinati<strong>on</strong> may not exist as the links<br />

between the nodes are opportunistic. A DTN is a<br />

network of regi<strong>on</strong>al networks. It is an overlay <strong>on</strong> the<br />

top of the regi<strong>on</strong>al networks, including the internet.<br />

These types of networks are applicable in military<br />

combat situati<strong>on</strong>s, civilian applicati<strong>on</strong>s of vehiclebased<br />

mobile data centers, disaster relief situati<strong>on</strong>s<br />

where fixed infrastructure may have been destroyed.<br />

Mohammad Arif is with Al-Falah School of Engineering &<br />

Technology, Dhauj, Faridabad, Haryana, India (Institute Ph<strong>on</strong>e No. :<br />

0091-129-2206223, Mobile: 0091-9873256208: e mail:<br />

arif_mohd2k@rediffmail.com).<br />

Rama Shankar Yadav is with Motilal Nehru Nati<strong>on</strong>al Institute of<br />

Technology, Allahabad, Uttar Pradesh, India. (e-mail:<br />

rsy@mnnit.ac.in).<br />

A commuter bus as it moves through rural areas<br />

providing c<strong>on</strong>nectivity by acting as a store <strong>and</strong> forward<br />

switch is also an example. In traditi<strong>on</strong>al ad hoc<br />

networks end to end path is must, but in c<strong>on</strong>trast, DTN<br />

based communicati<strong>on</strong> scheme imply asynchr<strong>on</strong>ous<br />

communicati<strong>on</strong> but achieve better reachability,<br />

particularly in sparsely populated envir<strong>on</strong>ment or in the<br />

envir<strong>on</strong>ment which are characterised by very l<strong>on</strong>g<br />

delay paths.<br />

In traditi<strong>on</strong>al TCP/IP based protocol end to end path<br />

between the communicating nodes is necessary <strong>and</strong><br />

round trip delay must be so small so that data transfer<br />

can be d<strong>on</strong>e. But in the case of DTN, it is difficult to<br />

ensure end to end path for an <strong>on</strong>going data transfer due<br />

to frequent network partiti<strong>on</strong> <strong>and</strong> sparsely c<strong>on</strong>nected<br />

networks. L<strong>on</strong>g round trip delay makes it impossible to<br />

provide acknowledgement <strong>and</strong> retransmissi<strong>on</strong>.<br />

In this paper we have devised a routing algorithm in<br />

which we have used breadth first search which can<br />

cope up with the changes in the network topology over<br />

a period of time. We simulated our algorithm in NS2<br />

<strong>and</strong> we have proved our algorithm <strong>on</strong> the basis of the<br />

performance metrics such as delivery ratio <strong>and</strong> end to<br />

end delay.<br />

Rest of the paper is organized as follows: In secti<strong>on</strong> 2<br />

we have menti<strong>on</strong>ed the related work. In secti<strong>on</strong> 3 we<br />

have explained our proposed scheme. In secti<strong>on</strong> 4 we<br />

presented <strong>and</strong> discussed the simulati<strong>on</strong> model <strong>and</strong> the<br />

results. In secti<strong>on</strong> 5 we have summarized the<br />

c<strong>on</strong>clusi<strong>on</strong>.<br />

II. RELATED WORK<br />

DTN is an overlay <strong>on</strong> the top of the regi<strong>on</strong>al networks,<br />

including the internet which provides network services<br />

<strong>and</strong> interoperability am<strong>on</strong>g them. Many researchers<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 107


Proceedings of ICCNS 08 , 27-28 September 2008<br />

have proposed the routing algorithm in which they<br />

have c<strong>on</strong>sidered the intermittent c<strong>on</strong>nectivity of the<br />

links [12]. Some of them [2, 3] have modified the<br />

Dijkstra’s shortest path algorithm by including the link<br />

weights <strong>and</strong> also c<strong>on</strong>sidered the waiting time due to<br />

disc<strong>on</strong>necti<strong>on</strong> of links.<br />

In the recent time the attenti<strong>on</strong> of the researchers have<br />

been diverted towards the networks in which the<br />

network partiti<strong>on</strong>s occur very frequently or sparsely<br />

c<strong>on</strong>nected networks. Many of the algorithms<br />

emphasized <strong>on</strong> the characteristics of the mobility of the<br />

nodes such as epidemic routing in [4]. Some proposed<br />

the spray <strong>and</strong> weight scheme in which the flooding<br />

overhead have been reduced by spaying the limited<br />

number of copies of the message in the network <strong>and</strong><br />

wait until it reach he destinati<strong>on</strong> [5].<br />

Some researches like [6] devised the mobile nodes<br />

which are called message ferries which move in a<br />

predictable manner in the network to collect <strong>and</strong><br />

transfer the data.<br />

CAMR<br />

In [7], the author presented a multicasting scheme<br />

called CAMR which works in the envir<strong>on</strong>ment where<br />

the nodes are moving in the sparsely c<strong>on</strong>nected<br />

network. In this paper he suggested that firstly the<br />

communicating node will try to find the neighbor by<br />

sending the route request with regular power of<br />

transmissi<strong>on</strong> (say 250 m) but if the topology is sparsely<br />

c<strong>on</strong>nected then it will send the route request with high<br />

power transmissi<strong>on</strong> (say 500 m). If any intermediate<br />

node or the receiver gets the request with high power,<br />

obviously it will resp<strong>on</strong>d with high power reply. If<br />

sending node gets the resp<strong>on</strong>se with high power it will<br />

move towards the receiving node to transfer the data<br />

with regular power.<br />

III. Algorithmic Routing<br />

In this secti<strong>on</strong> we have presented the Algorithmic<br />

Routing. We have made the assumpti<strong>on</strong> that link state<br />

change is predictable [12]. In [6] the author has used a<br />

message ferry which moves in a predictable manner to<br />

help in collecting <strong>and</strong> delivering the data. In this the<br />

author tried to show that by making the n<strong>on</strong> r<strong>and</strong>om<br />

movement of node, the delivery of data can be planned<br />

more efficiently. We also have assumed that links have<br />

sufficient b<strong>and</strong>width, required to carry the data.<br />

a. Algorithm Terminology<br />

We have c<strong>on</strong>sidered the entire topology as an<br />

undirected graph G <strong>and</strong> then applied the breadth first<br />

search algorithm <strong>on</strong> it to find the route from source<br />

node to all destinati<strong>on</strong> nodes. In graph G = (V, E), V<br />

st<strong>and</strong>s for the set of vertices (nodes are c<strong>on</strong>sidered as<br />

vertices) <strong>and</strong> E st<strong>and</strong>s for set of edges. One node<br />

am<strong>on</strong>g V is the source node <strong>and</strong> is represented by “s”.<br />

An edge is (u, v) which can be add or deleted any time<br />

in the delay tolerant network. The graph is represented<br />

as adjacency list representati<strong>on</strong> which c<strong>on</strong>sists of the<br />

arrays for each node in V. There will be some edges<br />

which will be fixed, that edges will be called static<br />

edges <strong>and</strong> the edges which are added or deleted are<br />

called dynamic edges. We assume the starting time as<br />

t 0 . We have taken a linked list Events(u, v, t e , a)<br />

representing the events of additi<strong>on</strong> <strong>and</strong> deleti<strong>on</strong> of<br />

edges which will be sorted by the event time t e . Here<br />

(u, v) G is an edge which can be added or deleted at<br />

any time t e <strong>and</strong> “a” represents the acti<strong>on</strong> which can<br />

either ADD or DELETE. We have taken an upper limit<br />

of time T, which should be as T > t 0 . The search is<br />

restricted within this time T to avoid the endless search<br />

<strong>and</strong> to avoid the endless event list where the edges are<br />

added <strong>and</strong> deleted regularly. If the upper limit of time<br />

T has reached then it will not c<strong>on</strong>sider any new event<br />

<strong>and</strong> algorithm will be terminated.<br />

b. Algorithm Descripti<strong>on</strong><br />

We have an undirected graph G, at the start time t 0 , end<br />

time T, source node s <strong>and</strong> the event list Events. The<br />

algorithm calculates the earliest time in which a<br />

message originated at s can reach to any other node of<br />

G within the time T if possible.<br />

The source first broadcast the message to reach the 1-<br />

hop neighbor nodes. If the destinati<strong>on</strong> is 1-hop away,<br />

then the algorithm will be terminated here <strong>on</strong>ly. In that<br />

case we will not apply the algorithm. If the destinati<strong>on</strong><br />

is more than 1-hop away then in that case the Traversal<br />

<strong>and</strong> Route , both the algorithms will be applied from<br />

source to find the best possible or we can say the<br />

shortest path to reach the destinati<strong>on</strong>. So first apply the<br />

Traversal initially to discover the nodes reachable<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 108


Proceedings of ICCNS 08 , 27-28 September 2008<br />

immediately from s. We assume that all nodes<br />

reachable during the initial search are discovered at<br />

time t 0 <strong>and</strong> are marked. Now we process each event in<br />

the list Events. We always update E when ever any<br />

edge is added or deleted. An edge can be added at any<br />

time which means that a new node has been<br />

discovered. In such case we will apply the breadth first<br />

search <strong>on</strong> the newly discovered node as the new source<br />

node. All new nodes discovered during the search are<br />

marked with the time of the event t e , that led to their<br />

discovery. Whenever an ADD event takes place, it<br />

discovers the new node due to which the route is<br />

extended. If a DELETE takes place, it means that <strong>on</strong>ly<br />

topology has changed, length of route may or may not<br />

shorten.<br />

In our algorithm given in Figure 1, we used d to store<br />

the distance in the terms of number of hops from the<br />

source node, F is a first-in-first-out queue. π, is the<br />

predecessor node. We use WHITE to denote nodes<br />

which are not yet discovered, <strong>and</strong> GRAY nodes<br />

represent the discovered nodes which are being<br />

explored. BLACK, for nodes discovered <strong>and</strong> explored.<br />

We first modify the st<strong>and</strong>ard breadth-first search<br />

algorithm to store the time of discovery t d for each<br />

node discovered. At the end of the executi<strong>on</strong> of the<br />

breadth first search algorithm, all nodes are colored<br />

BLACK.<br />

We next introduce the c<strong>on</strong>straint that the amount of<br />

storage available at any node is limited. If S u is the total<br />

storage available <strong>on</strong> node u, m is the size of the<br />

message, <strong>and</strong> s u is the amount of storage in use at node<br />

u at a given time, we must ensure that: s u + m ≤ S u<br />

To enforce storage c<strong>on</strong>straint, we implement a drop<br />

policy <strong>on</strong> each node. Using the route found by<br />

Traversal algorithm, a message as it is being<br />

transmitted could be dropped due to storage c<strong>on</strong>straint<br />

al<strong>on</strong>g the path. For a drop policy, we propose that the<br />

message with the l<strong>on</strong>gest life time in a queue would be<br />

dropped when there is no available storage.<br />

We used breadth first search algorithm <strong>and</strong> modified it<br />

to find the route from source to destinati<strong>on</strong> <strong>and</strong> repeat<br />

the algorithm for each destinati<strong>on</strong>. It will be unicastmulticast<br />

meaning that it is multicast like situati<strong>on</strong> but<br />

every time source want to send data to some<br />

destinati<strong>on</strong>, it will apply the algorithm to find the path<br />

for that specific node <strong>and</strong> then forward the data al<strong>on</strong>g<br />

that path. We have also assumed that the link state is<br />

predictable, i.e. we know in advance when the new<br />

node will be added or deleted.<br />

IV. Performance Evaluati<strong>on</strong><br />

To evaluate the performance of different routing<br />

algorithms, we implemented proposed scheme <strong>and</strong><br />

CAMR in the NS2 simulator. Table 1 shows the<br />

simulati<strong>on</strong> parameters used in the simulati<strong>on</strong>s. The<br />

performance metrics that are used to compare different<br />

multicast routing approaches are:<br />

Message Deliver Ratio: It is defined as the number of<br />

successful transfers which successfully arrive at all the<br />

receivers over the total number of messages which are<br />

expected to be received. Because of the l<strong>on</strong>g link<br />

disc<strong>on</strong>necti<strong>on</strong>s, many transfers will still be in progress<br />

within the network at the end of simulati<strong>on</strong> time. We<br />

do not count those in our calculati<strong>on</strong> of delivery ratio.<br />

Delivery ratio = S / (S + N + D)<br />

Number of successful transfers (S): this metric defines<br />

the number of complete transfers with storage <strong>on</strong><br />

intermediate nodes.<br />

Number of No Routes (N): this metric defines the<br />

number of transfers that result in incomplete paths to<br />

the destinati<strong>on</strong> because the BFS algorithm fails to find<br />

a path within the given LAT.<br />

Number of message drops (D): this metric defines the<br />

number of transfers failing to complete because of<br />

storage unavailability at intermediate nodes.<br />

Average Message Delay: It is defined as the average<br />

of the end to end message delivery latencies for each<br />

algorithm.<br />

Data Efficiency: It is defined as the ratio between the<br />

packets received successfully by the receivers <strong>and</strong> the<br />

total data traffic (i.e. data packets <strong>and</strong> the c<strong>on</strong>trol<br />

packets) generated in the networks.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 109


Proceedings of ICCNS 08 , 27-28 September 2008<br />

_____________________________________<br />

Traversal(G, x, t d )<br />

1 F ← {x}<br />

2 While F ≠ Ф<br />

3 Do u ← head(F)<br />

4 For each v Є Adj[u]<br />

5 Do if color[v] == WHITE<br />

6 Then color[v] ← GRAY<br />

7 d[v] ← d[u] + 1<br />

8 π[v] ← u<br />

9 d t [v] ← t d<br />

10 ENQUEUE(F,v)<br />

11 DEQUEUE(F)<br />

12 Color[u] ← BLACK<br />

Route(G, s, t 0 , T, Evts)<br />

1 Send the message to all 1-hop neighbors<br />

2 If the destinati<strong>on</strong> is 1-hop away<br />

3 then terminate the algorithm<br />

<strong>and</strong> EXIT<br />

Else do following steps<br />

4 For each vertex u Є V[G] – {s}<br />

5 Do color[u] ← WHITE<br />

6 d[u] ← ∞<br />

7 π [u] ← NIL<br />

8 d t [u] ← NEVER<br />

9 Color[s] ← GRAY<br />

10 d[s] ← 0<br />

11 Π[s] ← NIL<br />

12 d t [s] ← t 0<br />

13 Traversal (G, s, t 0 )<br />

14 While Evts ≠ Ф<br />

15 Do Evt ← DEQUEUE(Evts)<br />

16 u ← u(Evt);<br />

17 v ← v(Evt);<br />

18 t e ← t e (Evt);<br />

19 If a(Evt) == DELETE then<br />

20 E ← E - (u, v)<br />

21 Else Do E ← E U (u, v)<br />

22 if color[u] ≠ color[v]<br />

23 Then do<br />

24 if color[u] ≠ BLACK<br />

25 then swap(u, v)<br />

26 d[v] ← d[u] + 1<br />

27 π[v] ← u<br />

28 d t [v] ← t e<br />

29 Color[v] ← GRAY<br />

30 Traversal (G, v, t e )<br />

31 Repeat the above algorithm for each<br />

Destinati<strong>on</strong><br />

_____________________________________<br />

Figure 1: Algorithm for Routing<br />

Simulati<strong>on</strong> parameters<br />

No. of nodes 40<br />

Number of messages generated<br />

per sec<strong>on</strong>d <strong>on</strong> each node<br />

Simulati<strong>on</strong> time<br />

Look-ahead-time (LAT)<br />

Message size<br />

Storage amount <strong>on</strong> each node<br />

Simulati<strong>on</strong> Area<br />

Values<br />

5, 10, 15<br />

(msg/sec)<br />

500 Sec<br />

200 Sec<br />

15KB<br />

Table1: Simulati<strong>on</strong> Parameters<br />

a. Effect of Node Density<br />

5, 10, 15MB<br />

1Kx1K, 2Kx2K,<br />

3Kx3K, 4Kx4K<br />

In the first set of experiments we evaluate the effect of<br />

node density <strong>on</strong> CAMR <strong>and</strong> proposed algorithm as in<br />

Figure 2. Figure 2 (a) shows that as we increase the<br />

simulati<strong>on</strong> area (i.e. decrease the node density), delay<br />

increases as the network becomes sparse. From Figure<br />

2 (b) & 2(c) it is clear that data efficiency <strong>and</strong> the<br />

dlivery ratio both are afected by the node density <strong>and</strong><br />

both increases <strong>on</strong> increasing the node density.<br />

b. Effect of Traffic Load<br />

In the sec<strong>on</strong>d set of experiments we evaluate the effect<br />

of traffic load <strong>on</strong> CAMR <strong>and</strong> proposed algorithm as in<br />

Figure 3 <strong>and</strong> find that performance decreases because<br />

message drop increases.<br />

From Figure 3 it is clear that <strong>on</strong> increasing the traffic<br />

load <strong>on</strong> each node of the network, the performance<br />

deteriorates. Average delay increases <strong>and</strong> delivery ratio<br />

& efficiency both decreases.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 110


Proceedings of ICCNS 08 , 27-28 September 2008<br />

2 (a)<br />

3 (b)<br />

2 (b)<br />

3 (c)<br />

Figure 3: Effect of Traffic Load<br />

c. Effect of Storage Capacity <strong>and</strong><br />

Traffic Load <strong>on</strong> Delivery Ratio<br />

In the third set of experiments we evaluated the empact<br />

of storage capacity <strong>and</strong> traffic load <strong>on</strong> delivery ratio.<br />

Figure 4 expalins that <strong>on</strong> increasing the storage<br />

capacity al<strong>on</strong>g with the traffic load , the delivery ratio<br />

of proposed scheme improves <strong>and</strong> increases.<br />

2 (c)<br />

Figure 2: Effect of Node Density<br />

3 (a)<br />

Figure 4: Effect of Storage Capacity <strong>and</strong> Traffic Load<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 111


Proceedings of ICCNS 08 , 27-28 September 2008<br />

V. C<strong>on</strong>clusi<strong>on</strong><br />

We have presented an algorithmic approach for<br />

developing a routing technique for delay tolerant<br />

networks by modifying the well known breadth first<br />

search algorithm. We made simplifying assumpti<strong>on</strong>s<br />

with justificati<strong>on</strong>, such as predictability of link state<br />

changes, to bring out the essence of our approach in its<br />

simplest form. Through simulati<strong>on</strong> we analyzed the<br />

performance of the proposed routing algorithm using<br />

appropriate metrics.<br />

[9] K. Fall, “A delay-tolerant network architecture for<br />

challenged Internets”, In Proceedings of<br />

SIGCOMM’03, August 2003.<br />

[10] W. Zhao, M. Ammar, <strong>and</strong> E. Zegura, “Multicasting<br />

in delay tolerant networks: semantic models <strong>and</strong><br />

routing algorithms,” in the Proceeding of Sigcomm<br />

Workshop in DTN, August 2005.<br />

[11] DARPA Disrupti<strong>on</strong> Tolerant <strong>Networks</strong> program<br />

http://www.darpa.mil/ato/solicit/dtn/.<br />

[12] Padma Mundur, Sookyoung Lee, Matthew<br />

Seligman. “Routing in Intermittent Network<br />

Topologies”. In the Proceedings of ACM-<br />

MSWiM’06. Malaga, Spain, October 2006.<br />

Simulati<strong>on</strong> results clearly show that delivery ratio, data<br />

performance have been increased. The delay is also<br />

improved <strong>and</strong> is minimised.<br />

References:<br />

[1] Forrest Warthman. “Delay Tolerant <strong>Networks</strong> – A<br />

Tutorial” DTN Research Group Internet Draft,<br />

March 2003 Vres<strong>on</strong> No. 1.1. http://www.dtnrg.org.<br />

[2] J. Al<strong>on</strong>so, <strong>and</strong> K. Fall. “A linear programming<br />

formulati<strong>on</strong> of flows over time with piecewise<br />

c<strong>on</strong>stant capacity <strong>and</strong> transit times”. Technical<br />

report IRB-TR-03-007, Intel Research Berkeley,<br />

July 2003.<br />

[3] S. Jain, K. Fall, <strong>and</strong> R. Patra. “Routing in a delay<br />

tolerant network”. In ACM Sigcomm 2004,<br />

Portl<strong>and</strong>, OR, 2004.<br />

[4] A. Vahdat <strong>and</strong> D. Becker. “Epidemic routing for<br />

partially c<strong>on</strong>nected ad hoc networks”. Technical<br />

Report CS-200006, Duke University, April 2000.<br />

[5] T. Spyropoulos, K. Psounis, <strong>and</strong> C. Raghavendra,<br />

“Spray <strong>and</strong> wait: an efficient routing scheme for<br />

intermittently c<strong>on</strong>nected mobile networks,” in<br />

WDTN ’05: Sigcomm’05 DTN workshop, 2005, pp.<br />

252–259.<br />

[6] Zhao, W., Ammar, M., <strong>and</strong> Zegura, E. Message<br />

ferrying approach for data delivery in sparse mobile<br />

ad hoc networks. In Proceedings of the 3rd ACM<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Symposium <strong>on</strong> Mobile Ad Hoc<br />

Networking <strong>and</strong> Computing (Mobihoc), Tokyo,<br />

Japan, May 2004.<br />

[7] Peng Yang, Mooi Choo Chuah. “C<strong>on</strong>text-Aware<br />

Multicast Routing Scheme for Disrupti<strong>on</strong> Tolerant<br />

<strong>Networks</strong>”. In proceeding of PE-WASUN'06,<br />

October 6, 2006, Torremolinos, Malaga, Spain.<br />

[8] Mohammad Arif, Rama Shankar Yadav, Karan<br />

Singh. “Survey <strong>on</strong> Routing in Delay Tolerant<br />

<strong>Networks</strong> (DTNs)”. In the Proceedings of the<br />

Nati<strong>on</strong>al <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Emerging Trends in<br />

<strong>Computer</strong> Science & Informati<strong>on</strong> Technology<br />

(ETCSIT-08), pages: 171-182, AFSET, Fardabad<br />

(Haryana). April 23, 2008.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 112


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Implementati<strong>on</strong> of Protocol Anomaly Detecti<strong>on</strong><br />

System for Network <strong>Security</strong><br />

Prof. Sahana K. Bhosale, Prof. Ravindra P. Joshi, <strong>and</strong> Prof. Prakash H. Patil<br />

Abstract - Network management platforms provide<br />

flexible facilities for setting up custom applicati<strong>on</strong>s able<br />

to detect protocol anomalies <strong>on</strong> a specific envir<strong>on</strong>ment.<br />

This is because each network is made of users, services<br />

<strong>and</strong> computers with a specific behavior that is then<br />

reflected in the generated network traffic. Protocol<br />

anomaly detecti<strong>on</strong> works by analyzing applicati<strong>on</strong> level<br />

traffic, comm<strong>and</strong>s <strong>and</strong> behavior, blocking <strong>and</strong> denying<br />

undesirable otherwise inappropriate comm<strong>and</strong>s. Goal of<br />

this paper is to show that in every network there are some<br />

global variables that can be probably used for detecting<br />

network anomalies, regardless of the type of network<br />

users <strong>and</strong> equipment. As most of the relati<strong>on</strong>s am<strong>on</strong>g<br />

these variables are fixed, this paper shows that it is<br />

possible to define generic network rules aimed to<br />

automatically detect selected network/protocol anomalies.<br />

Finally, the paper covers the design <strong>and</strong> implementati<strong>on</strong><br />

of an open-source applicati<strong>on</strong> used to effectively validate<br />

this work <strong>on</strong> a large campus network.<br />

Key Words - Anomaly, Detecti<strong>on</strong>, Correcti<strong>on</strong>, Protocol,<br />

Intrusi<strong>on</strong> Detecti<strong>on</strong> System (IDS), Signatures<br />

I. INTRODUCTION<br />

The most comm<strong>on</strong> network issues that c<strong>on</strong>tinue<br />

to plague the corporate world are securing their<br />

network from attacks. Worms, port scans, ARP<br />

floods, IP spoofing, IP fragmentati<strong>on</strong>, ping of death,<br />

SYN flood, UDP flooding, DNS spoofing <strong>and</strong> other<br />

network anomalies attack the availability <strong>and</strong> are<br />

able to abuse network <strong>and</strong> b<strong>and</strong>width resources. In<br />

comm<strong>on</strong>, the IDS/IPS is known as “attack<br />

preventi<strong>on</strong> technologies”. In this paper, the basic<br />

c<strong>on</strong>cepts of IDS are covered first, followed by the<br />

actual implementati<strong>on</strong> in a campus network [1].<br />

Prof. Sahana K. Bhosale is Assistant Professor at the<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Institute of Informati<strong>on</strong> Technology (I 2 IT),<br />

Hinjawadi, Pune - 411057, India (e-mail:<br />

sahanab@isquareit.ac.in)<br />

Prof. Ravindra P. Joshi is Professor at the <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

Institute of Informati<strong>on</strong> Technology (I 2 IT), Hinjawadi,<br />

Pune - 411057, India (e-mail: ravindraj@isquareit.ac.in)<br />

Prof. Prakash H. Patil is Assistant Professor <strong>and</strong> Head,<br />

E&TC Dept. at the Indira College of Engg. <strong>and</strong><br />

Management, Pune, India (e-mail:<br />

phpatil2005@yahoo.co.in)<br />

An Intrusi<strong>on</strong> is defined as any set of acti<strong>on</strong>s that<br />

attempt to compromise the integrity, c<strong>on</strong>fidentiality,<br />

or availability of a resource. It is the violati<strong>on</strong> of<br />

the security policy of a system or a network.<br />

Intrusi<strong>on</strong> detecti<strong>on</strong> is the methodology by which<br />

intrusi<strong>on</strong>s are detected. This methodology can be<br />

categorized into two: “anomaly” detecti<strong>on</strong> <strong>and</strong><br />

“misuse” detecti<strong>on</strong>. There are two types of IDS:<br />

“network-based IDS” <strong>and</strong> “host-based IDS”. A<br />

network-based IDS collects, filters, <strong>and</strong> analyses<br />

traffic that pass through a specific network locati<strong>on</strong>.<br />

In host-based IDS, each computer has an IDS client<br />

installed that reports either locally or to a central<br />

m<strong>on</strong>itoring stati<strong>on</strong>. The advantage of host-based<br />

IDS is that the internal operati<strong>on</strong> <strong>and</strong> c<strong>on</strong>figurati<strong>on</strong><br />

of the individual computers can be m<strong>on</strong>itored.<br />

The purpose of anomaly detecti<strong>on</strong> is to find<br />

abnormal usage of a system/network, possibly<br />

indicating intrusi<strong>on</strong>s. Normal usage is described<br />

using profiles that can be built using either<br />

statistical measures or rules. The profiles are built<br />

either from a set of presumed n<strong>on</strong>-intrusive usage or<br />

c<strong>on</strong>tinuous m<strong>on</strong>itoring [2]. A weakness with<br />

c<strong>on</strong>tinuous m<strong>on</strong>itoring is that it is vulnerable to<br />

gradual change of usage. Rules used for building<br />

profiles can be generated manually or automatically<br />

by the administrator. A weakness when using rules<br />

is that the detecti<strong>on</strong> abilities depend <strong>on</strong> the<br />

knowledge about the normal usage; this weakness is<br />

not there in the automatically generated rules.<br />

Anomalies can be detected by comparing current<br />

usage with the profiles. Anomaly detecti<strong>on</strong> covers<br />

a number of different threats <strong>and</strong> is most effective<br />

for intrusi<strong>on</strong>s by authorized users who d<strong>on</strong>’t bypass<br />

the system security mechanisms but merely violate<br />

a security policy.<br />

II.<br />

DATA COLLECTION METHODS FOR<br />

INTRUSION DETECTION<br />

Intrusi<strong>on</strong> data basically comes from two sources:<br />

audit logs <strong>and</strong> system informati<strong>on</strong>. Under UNIX,<br />

Syslog provides functi<strong>on</strong>ality for recording<br />

informati<strong>on</strong> that is hard to tamper with. Ordinary<br />

system informati<strong>on</strong>, such as process status, <strong>and</strong><br />

packets appearing <strong>on</strong> the network interface also<br />

provide data for intrusi<strong>on</strong> detecti<strong>on</strong> [6]. The<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 113


Proceedings of ICCNS 08 , 27-28 September 2008<br />

intrusi<strong>on</strong> data comes from different levels of the<br />

computer system. As a result, these levels<br />

determine the type of events provided that are<br />

logged <strong>on</strong> to the other applicati<strong>on</strong>s (electr<strong>on</strong>ic bill<br />

payment, direct funds transfer etc).<br />

A. Applicati<strong>on</strong><br />

User applicati<strong>on</strong> can be augmented to produce<br />

audit logs. These logs will c<strong>on</strong>tain informati<strong>on</strong><br />

about user acti<strong>on</strong>s within that particular applicati<strong>on</strong>.<br />

Database management systems usually have audit<br />

functi<strong>on</strong>ality, as they c<strong>on</strong>trol access to shared data.<br />

B. Comm<strong>and</strong><br />

The comm<strong>and</strong>s typed in the comm<strong>and</strong> interface<br />

(shell) are recorded in sequence. The comm<strong>and</strong>s<br />

can either be built-in comm<strong>and</strong>s or starting arbitrary<br />

programs.<br />

C. Network<br />

Informati<strong>on</strong> c<strong>on</strong>cerning network traffic, such as<br />

communicating hosts, services, <strong>and</strong> transmitted data<br />

can be logged through API or taping wire.<br />

D. Operating system<br />

Informati<strong>on</strong> at operating system level is logged<br />

or extracted by a system call. This can be<br />

implemented in the form of a layer, intercepting all<br />

system calls or modificati<strong>on</strong>s to the kernel. Many<br />

aspects of user behavior are available through<br />

system calls such as login-time, process status,<br />

system resource utilizati<strong>on</strong> [3].<br />

E. Hardware<br />

Certain characteristics of hardware usage are<br />

relevant for logging. Methods like keystroke<br />

analysis need informati<strong>on</strong> available at the hardware<br />

level. In a host-based intrusi<strong>on</strong> detecti<strong>on</strong> system,<br />

intrusi<strong>on</strong> data is collected at each host. The host<br />

data can come from applicati<strong>on</strong>, comm<strong>and</strong>,<br />

operating system or hardware level. In network<br />

intrusi<strong>on</strong> detecti<strong>on</strong>, intrusi<strong>on</strong> data is collected at<br />

network level.<br />

III. IDS IMPLEMENTATION METHODS<br />

There are two important methods for<br />

implementing IDS: the statistical method <strong>and</strong> the<br />

rule-based method. There are other methods of<br />

implementati<strong>on</strong> like neural networks, traps, <strong>and</strong><br />

keystroke analysis. All these methods, except<br />

keystroke analysis are generic, <strong>and</strong> can be applied<br />

to all data levels.<br />

A. Statistical<br />

The statistical method is mainly used for<br />

anomaly detecti<strong>on</strong> [5]. Statistical methods are used<br />

to compare the profile against current usage. It can<br />

also be used for misuse detecti<strong>on</strong>. The patterns of<br />

misuse are described by the threshold values, which<br />

are compared to the current usage [2]. It is often<br />

based <strong>on</strong> the assumpti<strong>on</strong> about the distributi<strong>on</strong> of<br />

data results since many times these assumpti<strong>on</strong>s are<br />

not valid.<br />

B. Rule-Based<br />

A rule-based system c<strong>on</strong>sists of rules <strong>and</strong> facts<br />

together with a c<strong>on</strong>trol mechanism for applying the<br />

rules. The rule is basically a c<strong>on</strong>diti<strong>on</strong> <strong>and</strong> the<br />

resulting c<strong>on</strong>sequence or acti<strong>on</strong>. The c<strong>on</strong>diti<strong>on</strong> is<br />

specified in terms of data or facts that are analyzed.<br />

The facts are variables which are either results<br />

derived from the rules or explicitly as input. An<br />

expert system is a type of rule-based system where<br />

the knowledge of human system is represented as<br />

rules.<br />

Rule-based methods can be used for both misuse<br />

<strong>and</strong> anomaly detecti<strong>on</strong>. The most comm<strong>on</strong><br />

approach is to represent known misuse as rules <strong>and</strong><br />

then apply these rules to the current usage. For<br />

anomaly detecti<strong>on</strong>, the rules define the normal<br />

usage <strong>and</strong> then each rule has an associated<br />

probability or some other statistical measure.<br />

One advantage when using rule-based methods<br />

for intrusi<strong>on</strong> detecti<strong>on</strong> is that good explanati<strong>on</strong>s of<br />

suspected intrusi<strong>on</strong>s are given by showing the rules,<br />

which were used. Rule-based methods are often<br />

used to evaluate results from other comp<strong>on</strong>ents of<br />

the intrusi<strong>on</strong> detecti<strong>on</strong> system such as a statistical<br />

comp<strong>on</strong>ent [7].<br />

IV. PROTOCOL ANOMALY DETECTION<br />

Protocol Anomaly Detecti<strong>on</strong> detects <strong>and</strong> blocks<br />

previously unknown forms of attack without the<br />

need for signature. A network attack signature is a<br />

pattern that we want to look for in the network<br />

traffic [4]. To better underst<strong>and</strong> the signatures,<br />

following examples are given.<br />

A. C<strong>on</strong>necti<strong>on</strong> attempt from a reserved IP address:<br />

This can be easily identified by checking the<br />

source address field in an IP header.<br />

B. Packet with an illegal TCP flag combinati<strong>on</strong>:<br />

This can be found by inspecting the flags in a<br />

TCP header against known good/bad flag<br />

combinati<strong>on</strong>s.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 114


Proceedings of ICCNS 08 , 27-28 September 2008<br />

C. Email c<strong>on</strong>taining a particular virus:<br />

The attack preventi<strong>on</strong> system can compare the<br />

subject or attachment of each email with known<br />

features of virus-laden email.<br />

As we look at <strong>and</strong> analyze the above examples,<br />

you can underst<strong>and</strong> that the signatures range from<br />

very simple such as checking the value of a header<br />

field to highly complex which may actually track<br />

the state of a c<strong>on</strong>necti<strong>on</strong> or perform extensive<br />

protocol analysis. Some signatures may tell you<br />

which specific attack is occurring or what<br />

vulnerability the attacker is trying to exploit, while<br />

other signatures may just indicate occurring of<br />

unusual behavior. It will often take significantly<br />

more time <strong>and</strong> resources to identify the tool that<br />

causes malicious activity, but it will give you more<br />

informati<strong>on</strong> as to why you’re being attacked <strong>and</strong><br />

what the intent of the attack is.<br />

A. Attack signatures based <strong>on</strong> headers:<br />

Some header values are clearly abnormal, so<br />

they make great c<strong>and</strong>idates for signatures. A classic<br />

example of this is a TCP packet with the SYN <strong>and</strong><br />

FIN flags set. This is a violati<strong>on</strong> of RFC 793, which<br />

defines the TCP st<strong>and</strong>ard, <strong>and</strong> has been used in<br />

many tools in an attempt to circumvent firewalls,<br />

routers <strong>and</strong> intrusi<strong>on</strong> detecti<strong>on</strong> systems [9]. Many<br />

exploits include header values that purposely<br />

violate RFCs, because many operating systems <strong>and</strong><br />

applicati<strong>on</strong>s have been written <strong>on</strong> the assumpti<strong>on</strong><br />

that the RFCs would not be violated resulting in<br />

improper error h<strong>and</strong>ling of such traffic. Not all<br />

Operating systems <strong>and</strong> applicati<strong>on</strong>s completely<br />

adhere to the RFCs. In fact, many have at least <strong>on</strong>e<br />

facet of their behavior that violates an RFC. Also,<br />

over time, protocols may implement new features<br />

that are not included in an RFC [10]. New st<strong>and</strong>ards<br />

emerge over time which may “legalize” values that<br />

were previously illegal; RFC 3168, for Explicit<br />

C<strong>on</strong>gesti<strong>on</strong> Notificati<strong>on</strong> (ECN) is a good example<br />

of this. Thus, an attack preventi<strong>on</strong> signature based<br />

strictly <strong>on</strong> an RFC may produce many false<br />

positives.<br />

Although illegal header values are certainly a<br />

fundamental comp<strong>on</strong>ent of signatures, legal but<br />

suspicious header values are at least as important.<br />

For example, alerting <strong>on</strong> c<strong>on</strong>necti<strong>on</strong>s to suspicious<br />

port numbers such as 31337 or 27374 (often<br />

associated with Trojans) may provide a quick way<br />

of identifying Trojan activity. Unfortunately, some<br />

normal traffic may happen to use the same port<br />

numbers. Without using a more detailed signature<br />

that includes other characteristics of the traffic, we<br />

w<strong>on</strong>’t be able to determine the true nature of this<br />

traffic. Suspicious but legal values such as a port<br />

number are best used in combinati<strong>on</strong> with other<br />

values.<br />

B. Identifying possible signature comp<strong>on</strong>ents<br />

Let we take an example of a worm activity to<br />

make underst<strong>and</strong> the issues in developing the<br />

signature-based <strong>on</strong> header values. C<strong>on</strong>sider the<br />

Ramen Worm example <strong>and</strong> the detail informati<strong>on</strong><br />

about the worm is given in the Appendix. Here are<br />

some of the IP <strong>and</strong> TCP header values that were<br />

present in Ramen worm packets during the first<br />

stage of the worm’s spread.<br />

• Various source IP addresses<br />

• TCP source port 21, destinati<strong>on</strong> port 21<br />

• Type of service 0<br />

• IP identificati<strong>on</strong> number 39426<br />

• SYN <strong>and</strong> FIN flags set<br />

• Various sequence numbers set<br />

• Various acknowledgment numbers set<br />

• TCP window size 1028<br />

We look for values that are illegal, unusual or<br />

suspicious. In many cases, these characteristics<br />

corresp<strong>on</strong>d to the vulnerabilities that the attacker is<br />

trying to exploit, or a particular technique that the<br />

attacker uses. Packet values that are completely<br />

normal d<strong>on</strong>’t make good signature characteristics<br />

by themselves, although they are often included to<br />

limit the amount of traffic that we study. For<br />

example, we would include the normal IP protocol<br />

value of 6 for a protocol, so that we <strong>on</strong>ly check TCP<br />

packets. But other characteristics that are<br />

completely normal, such as the type of service set to<br />

0, are much less likely to be helpful in signature<br />

development<br />

V. IMPLEMENTATION OF PROTOCOL<br />

ANOMALY DETECTION SYSTEM<br />

The previous secti<strong>on</strong> highlighted some network<br />

traffic parameters used for detecting network<br />

anomalies. This secti<strong>on</strong> describes the scenario<br />

where this work has been validated <strong>and</strong> it shows<br />

how dynamic traffic knowledge parameters have<br />

been collected. In order to validate the work in a<br />

real, large network, the authors decided to use the<br />

whole network campus of <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Institute of<br />

Informati<strong>on</strong> Technology (I 2 IT), Pune as test bed.<br />

The Cisco 2600 router sports both serial <strong>and</strong><br />

Ethernet interfaces. This router has been c<strong>on</strong>figured<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 115


Proceedings of ICCNS 08 , 27-28 September 2008<br />

LAN<br />

Internet Link<br />

Router<br />

Fig. 1: Validati<strong>on</strong> Test Bed<br />

Ntop<br />

in a way that the traffic to/from Internet has been<br />

mirrored <strong>on</strong> an Ethernet port where a home grown<br />

traffic probe named Ntop has been installed (see<br />

Fig. 3). This c<strong>on</strong>figurati<strong>on</strong> allows the probe to see<br />

all the traffic from/to the Internet that flows through<br />

the 2 Mbps Internet link. Thus, the authors can<br />

validate the work <strong>on</strong> a large network without having<br />

to place different probes <strong>on</strong>e in each department<br />

under analysis. The use of a Cisco 2600 router<br />

allows testing of thous<strong>and</strong> of traffic rules per port<br />

with almost no performance degradati<strong>on</strong>. Also, it<br />

has a quite flexible c<strong>on</strong>figurati<strong>on</strong> language that<br />

enables administrators to define:<br />

• Packets/volume counters for traffic that<br />

matches some traffic rules (e.g. fragmented<br />

HTTP traffic)<br />

• Traffic shapers per network flow<br />

• Filters for logging <strong>and</strong> discarding certain<br />

kind of traffic.<br />

Although the router is very flexible, its<br />

measurement capabilities are quite rudimental as<br />

they have been designed for measuring overall<br />

traffic <strong>and</strong> not fine-grained host traffic. For this<br />

reas<strong>on</strong>s, we decided to enhance Ntop to integrate<br />

into it the ability to measure all the traffic<br />

parameters useful for detecting network anomalies,<br />

<strong>and</strong> to store informati<strong>on</strong> into a database for<br />

statistical analysis. The implementati<strong>on</strong> of the<br />

alarming system <strong>and</strong> anomaly detector has been<br />

realized outside of Ntop, in order to avoid creating a<br />

large m<strong>on</strong>olithic applicati<strong>on</strong> difficult to manage <strong>and</strong><br />

c<strong>on</strong>figure.<br />

Fig. 2 highlights the current Ntop architecture.<br />

The Ntop core is resp<strong>on</strong>sible for capturing <strong>and</strong><br />

analyzing network packets. Most of the informati<strong>on</strong><br />

is kept in memory with some limited caching <strong>on</strong><br />

disk for storing data accessed very seldom. For each<br />

m<strong>on</strong>itored host, Ntop has a set of counters that keep<br />

track of the relevant network activities including<br />

(but are not limited to):<br />

- The total traffic (volume <strong>and</strong> packets<br />

sent/received) generated/received by the host<br />

classified according to network protocol (IP,<br />

IPX, AppleTalk, etc.) <strong>and</strong> when applicable, IP<br />

protocol (TCP, UDP, ICMP, FTP, HTTP, NFS)<br />

- TCP sessi<strong>on</strong> history: source/destinati<strong>on</strong>,<br />

durati<strong>on</strong>, TCP sliding window size <strong>and</strong> TTL<br />

statistics, retransmitted data <strong>and</strong> fragmented<br />

packets percentage.<br />

- Host used TCP/UDP services, operating system<br />

type, <strong>and</strong> address tracking by means of DHCP<br />

m<strong>on</strong>itoring.<br />

- Traffic distributi<strong>on</strong> (local vs. remote traffic),<br />

network usage (c<strong>on</strong>tacted peers, traffic<br />

generated by each running applicati<strong>on</strong>), overall<br />

used b<strong>and</strong>width (actual, peak, <strong>and</strong> average),<br />

local subnet traffic matrix.<br />

- Packets distributi<strong>on</strong>: total number of packets<br />

sorted by packet size, unicast Vs. multicast vs.<br />

broadcast, <strong>and</strong> IP vs. n<strong>on</strong>-IP traffic.<br />

- Protocol utilizati<strong>on</strong> <strong>and</strong> distributi<strong>on</strong> according<br />

to both protocol <strong>and</strong> source/ destinati<strong>on</strong>.<br />

Report Engine<br />

Packet sniffer<br />

& analyzer<br />

Traffic Stats<br />

Alarms<br />

RRD<br />

Threshold<br />

Analyzer<br />

SQL DB<br />

Fig 2: Ntop <strong>Security</strong> Architecture<br />

In additi<strong>on</strong>, Ntop has been extended with new<br />

counters (<strong>on</strong>e for data sent, <strong>and</strong> <strong>on</strong>e for data<br />

received) to detect all the anomalies listed below.<br />

TCP flags<br />

Scanning<br />

TCP<br />

c<strong>on</strong>necti<strong>on</strong>s<br />

Fragments<br />

ICMP<br />

Protocol<br />

checker<br />

Other<br />

TABLE 1<br />

Ntop Host <strong>Security</strong> Counters<br />

SynPkts, rstPkts, rstPkts, synFinPkts,<br />

finPushUrgPkts<br />

AckScan, xmasScan, finScan, nullScan,<br />

udpToClosedPort,<br />

UdptoDiagnosticPort,<br />

tcpToDiagnosticPort<br />

RejectedTCPC<strong>on</strong>n, establishedTCPC<strong>on</strong>n,<br />

ClosedEmptyTCPC<strong>on</strong>n,<br />

incompleteTWH<strong>and</strong>shaking<br />

TinyFragment, icmpFragment,<br />

overlappingFragment, icmpFragments<br />

IcmpPortUnreach, icmpHostNetUnreach,<br />

icmpProtocolUnreach,<br />

icmpAdminProhibited, icmpToBroadcast<br />

InvalidHTTPReq, invalidFTPReq,<br />

invalidSMTPReq, invalidSSHReq<br />

L<strong>and</strong>AttackPkts, malformedPkts<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 116


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Whenever a counter goes above a threshold, the<br />

counter that keeps track of the problem is<br />

incremented, an alarm is emitted, <strong>and</strong> the packet(s)<br />

that triggered the alarm is stored <strong>on</strong> disk for later in<br />

depth analysis. Ntop generated alarms are both<br />

stored in a SQL database <strong>and</strong> used to alert users<br />

using several ways including SNMP Traps, GSM<br />

SMSs, <strong>and</strong> instant messengers. Although alarms<br />

<strong>and</strong> counters can partially overlap, the authors have<br />

decided to have both for two reas<strong>on</strong>. First, some<br />

problems (e.g. port scan or fragmented ICMP<br />

packet) are evident after just <strong>on</strong>e alarm, hence the<br />

alarming subsystem can alert the user as so<strong>on</strong> as it<br />

sees an alarm without having to wait the polling<br />

time. Sec<strong>on</strong>d, further problems (e.g. network scan)<br />

cannot be detected with <strong>on</strong>e single Ntop generated<br />

alarm but with a broader view of the overall<br />

network traffic over a specified period of time.<br />

The alarming subsystem is split into two<br />

independent comp<strong>on</strong>ents: traffic informati<strong>on</strong><br />

storage, <strong>and</strong> a traffic analyzer. The first <strong>on</strong>e is<br />

resp<strong>on</strong>sible for periodically polling traffic<br />

informati<strong>on</strong> (represented in simple ASCII or using<br />

high level languages such as XML) out of Ntop via<br />

HTTP <strong>and</strong> storing it <strong>on</strong> disk. In order to create a<br />

modular system the following c<strong>on</strong>venti<strong>on</strong>s have<br />

been used:<br />

- Each counter of each host is stored using the<br />

RRDTool <strong>on</strong> a different RRD (Round Robin<br />

Database) as this format allows to easily<br />

maintain large amount of data over the time<br />

with limited effort.<br />

- Supposing to store the value of counter<br />

tinyFragmentSent for host Y, the RRD file that<br />

c<strong>on</strong>tains the counter is stored <strong>on</strong><br />

$DATA DIR=Y=tinyFragmentSent.rrd<br />

The traffic analyzer is a comp<strong>on</strong>ent written in<br />

Perl <strong>and</strong> resp<strong>on</strong>sible for analyzing <strong>and</strong> correlating<br />

the data stored in RRD, <strong>and</strong> generated alarms. The<br />

correlati<strong>on</strong> rules used by the traffic analyzer are<br />

stored <strong>on</strong> a table inside the same SQL database<br />

where the alarms are stored. The format of that<br />

table that c<strong>on</strong>tains the rules is the following:<br />

< counter comparis<strong>on</strong> expressi<strong>on</strong> > < time period ><br />

< acti<strong>on</strong> >. For instance:<br />

“for each host if ((# ARP requests) - (# ARP<br />

resp<strong>on</strong>ses) > 20) over the past 10 minutes then send<br />

a trap'' is translated in <strong>on</strong>e SQL table row:<br />

(arpSentarpRcvd)<br />

> 20<br />

10 ALARM 'Host $host is<br />

sending too many ARP<br />

requests: (network scan<br />

attempt)'<br />

“if host jake sent more that 5 packets to a closed<br />

UDP port in the past 15 minutes then send a trap''<br />

becomes:<br />

jake.udpToClos<br />

edPort >5<br />

15 ALARM Host $host sent<br />

too packets to a closed<br />

UDP port over the past<br />

$timePeriod minutes<br />

Where,<br />

- The < counter comparis<strong>on</strong> expressi<strong>on</strong> > is<br />

expressed as < host >: < counter >: if the<br />

host name is not specified then the rule is<br />

applied to all stored hosts.<br />

- The variable names start with the dollar<br />

sign $ <strong>and</strong> are exp<strong>and</strong>ed by the traffic<br />

analyzer at runtime for each matching rule.<br />

As the counters rely <strong>on</strong> RRD, the analyzer takes<br />

advantage of the facilities offered by RRD for<br />

analyzing the counter archives <strong>and</strong> validating the<br />

expressi<strong>on</strong>: .<br />

Nevertheless, it is usually not very wise to emit an<br />

alarm every time the analyzer detects that a counter<br />

is above the specified threshold. In fact, some early<br />

tests have shown that it does not make sense to emit<br />

an alarm whenever Ntop detects a suspicious event<br />

such as data sent to a closed port or a not completed<br />

three-way h<strong>and</strong>shake. In additi<strong>on</strong>, in order to detect<br />

events such as network mapping it would be<br />

necessary to c<strong>on</strong>trol most of the hosts of the<br />

network, making life difficult for network anomaly<br />

applicati<strong>on</strong>s developers. For the above reas<strong>on</strong>s it<br />

has been introduced the c<strong>on</strong>cept of risk factor, an<br />

integer value in the range 0-100 that shows how<br />

likely the system has detected an anomaly in the<br />

network. The risk factor is implemented in the<br />

analyzer as follows:<br />

- The < acti<strong>on</strong> > _field can c<strong>on</strong>tain the value<br />

RISK < X > where < X > is the value of the<br />

risk factor.<br />

- Whenever the traffic analyzed encounters for a<br />

host Y a matching rule c<strong>on</strong>taining as RISK<br />

acti<strong>on</strong>, it increments of X the value of the RRD<br />

file $DATA_DIR/Y/ -riskFactor.rrd.<br />

- As so<strong>on</strong> as the value of<br />

$DATA_DIR/Y/riskFactor.rrd for the current<br />

timeframe goes above 100, an alarm is emitted<br />

(no additi<strong>on</strong>al alarms are emitted if the value is<br />

further incremented by additi<strong>on</strong>al rules).<br />

As stated before, the Ntop probe has been<br />

attached to an Ethernet port of the Cisco router <strong>and</strong><br />

c<strong>on</strong>figured to analyze all the Internet traffic<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 117


Proceedings of ICCNS 08 , 27-28 September 2008<br />

generated/directed to the campus hosts. The<br />

alarming subsystem (running <strong>on</strong> the same host<br />

where Ntop is active) stores <strong>on</strong>ce every 5 minutes<br />

the Ntop traffic counters <strong>on</strong> disk <strong>and</strong> validates the<br />

traffic correlati<strong>on</strong>s rules against the stored traffic.<br />

The main goals of the validati<strong>on</strong> have been to:<br />

- Prove that the proposed architecture <strong>and</strong><br />

implementati<strong>on</strong> can work effectively <strong>on</strong> a real<br />

large network<br />

- Put at work the traffic informati<strong>on</strong> gathered by<br />

Ntop as shown in the previous secti<strong>on</strong> by using<br />

the border gateway<br />

- Create a set of correlati<strong>on</strong> rules that allows the<br />

campus network administrators to be noticed<br />

about security violati<strong>on</strong>s of campus hosts.<br />

VI. CONCLUSION<br />

In this paper, we discussed the protocol-based<br />

anomaly detecti<strong>on</strong> system <strong>and</strong> deals with the basics<br />

of anomaly detecti<strong>on</strong> <strong>and</strong> related challenges. It<br />

gives a detailed explanati<strong>on</strong> of anomaly pattern <strong>and</strong><br />

a design for the same. The design allows<br />

integrati<strong>on</strong> of anomaly-based techniques in order to<br />

prevent all the major attacks against networks. Its<br />

modular c<strong>on</strong>cept provides an adequate<br />

infrastructure to dynamically add a new<br />

functi<strong>on</strong>ality to the system. By taking packets from<br />

the protocol stack itself, <strong>on</strong>ly the legitimate packets<br />

are passed <strong>and</strong> processed.<br />

VIII. REFERENCES<br />

[1] Daniel Blomqvist et al. “Intrusi<strong>on</strong> Detecti<strong>on</strong>: A Study”<br />

Technical Report, Uppsala University, June 1995. ISSN<br />

0283 - 0574.<br />

[2] S<strong>and</strong>eep Kumar et al. “An applicati<strong>on</strong> of Pattern Matching<br />

in Intrusi<strong>on</strong> Detecti<strong>on</strong>”, Technical Report, Purdue<br />

University, June 1994. CSD-TR-94-013.<br />

[3] Alfred V Aho et al. “Compilers: Principles, Techniques <strong>and</strong><br />

Tools”, Addis<strong>on</strong> Wesley, 1986.<br />

[4] R.S. Boyer <strong>and</strong> J.S. Moore. “A Fast String Searching<br />

Algorithm”, Communicati<strong>on</strong>s of the ACM, 20(10): 262-272,<br />

1977.<br />

[5] Dorothy E. Denning, “An Intrusi<strong>on</strong> Detecti<strong>on</strong> Model”, In<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> Software Engineering, number 2, page<br />

222, Feb 1987.<br />

[6] Koral Ilgun. “USAT: A real-time Intrusi<strong>on</strong> Detecti<strong>on</strong> System<br />

for UNIX”, Technical Report, University of California,<br />

November 1992.<br />

[7] Karen Kent Frederick. “Network Intrusi<strong>on</strong> Detecti<strong>on</strong><br />

Signatures”, Technical Paper, www.securityfocus.com.<br />

2005.<br />

[8] Christian Charras et al. "H<strong>and</strong>book of Exact string matching<br />

algorithms”, Technical Report, Available {<strong>on</strong>line].<br />

http://www-igm.univ-mlv.fr/%7Elecroq/string/<br />

[9] Stephen Northcutt et al. “Network Intrusi<strong>on</strong> Detecti<strong>on</strong>, An<br />

analyst’s H<strong>and</strong>book”, Sec<strong>on</strong>d Editi<strong>on</strong>, New Riders.<br />

The set of rules/thresholds/acti<strong>on</strong>s produced<br />

during the validati<strong>on</strong> phase <strong>and</strong> the learnt<br />

experience has allowed campus network<br />

administrators to instrument the campus border<br />

router for:<br />

- Blocking the most comm<strong>on</strong> attacks<br />

- Detecting comm<strong>on</strong> trojans that have been<br />

installed <strong>on</strong> campus hosts<br />

- Counting valid yet suspicious traffic<br />

- adding traffic shaping rules for limiting the<br />

b<strong>and</strong>width of some class of traffic (e.g.<br />

SYN packets)<br />

VII. ACKNOWLEDGEMENTS<br />

Authors are thankful to Dr. Bharat S. Chaudhari,<br />

Dean Academics <strong>and</strong> Head of the Dept. for<br />

encouraging us to c<strong>on</strong>duct this research work in the<br />

Networking & Telecommunicati<strong>on</strong> laboratory.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 118


Proceedings of ICCNS 08 , 27-28 September 2008<br />

<strong>Security</strong> enhancement by reliable secret sharing<br />

<strong>and</strong> embedding using bit plane complexity<br />

segmentati<strong>on</strong><br />

SONALI PATIL, DR. ARPITA GOPAL, AMRESH NIKAM, M. A. POTEY<br />

Abstract- Many researchers have separately developed secret image<br />

sharing scheme <strong>and</strong> image hiding schemes over years. Some<br />

researchers have been integrating image sharing technique <strong>and</strong> image<br />

hiding technique with the purpose of hiding secret images <strong>and</strong><br />

authenticati<strong>on</strong>. However, researchers have not yet explored the<br />

combinati<strong>on</strong> of a reliable secret image sharing scheme with reduced<br />

secret size <strong>and</strong> embedding technique with high data hiding capacity<br />

for images without size c<strong>on</strong>straint. This paper presents a scheme that<br />

divides secret image into n image shares <strong>and</strong> then embeds the image<br />

shares in cover images with high data hiding capacity technique. The<br />

original image can be rec<strong>on</strong>structed by using the same embedding<br />

technique <strong>on</strong> at least k shares where k ≤ n. This technique helps in<br />

enhancing the reliability as even if not all image shares reach the<br />

destinati<strong>on</strong> the original image can be rec<strong>on</strong>structed, <strong>and</strong> increases the<br />

security as the image shares are embedded in cover images hence not<br />

attracting the attacker’s attenti<strong>on</strong>. The experimental results show that<br />

the proposed scheme achieves reduced secret image share size <strong>and</strong><br />

very high embedding capacity making it more suitable for<br />

transmissi<strong>on</strong> <strong>on</strong> the network. This scheme also provides high security<br />

<strong>and</strong> reliability for image hiding, transmissi<strong>on</strong> <strong>and</strong> rec<strong>on</strong>structi<strong>on</strong>.<br />

Keywords- informati<strong>on</strong> hiding, matrix projecti<strong>on</strong> <strong>and</strong> visual<br />

cryptography.<br />

1. INTRODUCTION<br />

Secure transmissi<strong>on</strong> of data is more <strong>and</strong> more needed in the<br />

worldwide computer network envir<strong>on</strong>ment. The effective <strong>and</strong><br />

secure protecti<strong>on</strong>s of sensitive informati<strong>on</strong> are primary<br />

c<strong>on</strong>cerns where <strong>on</strong>ly encrypting data is not the soluti<strong>on</strong>.<br />

1.1 Existing techniques to overcome the problem:<br />

To transmit or store an image in a safer way against<br />

interceptor, there are at least three possible major approaches:<br />

encrypti<strong>on</strong> with keys; sharing the image am<strong>on</strong>g distinct<br />

channels/places; hiding the image in other media or objects.<br />

N<strong>on</strong>e of these techniques provide high degree of security <strong>and</strong><br />

reliability at the same time. These techniques are discussed<br />

below.<br />

S<strong>on</strong>ali Patil, Sinhgad Institute of Business Administrati<strong>on</strong> <strong>and</strong> Research,<br />

K<strong>on</strong>dhwa – Pune (s<strong>on</strong>alimpatil@gmail.com).<br />

Arpita Gopal, Sinhgad Institute of Business Administrati<strong>on</strong> <strong>and</strong> Research,<br />

K<strong>on</strong>dhwa – Pune (aina@rediffmail.com).<br />

A. V. Nikam, Sinhgad Institute of Business Administrati<strong>on</strong> <strong>and</strong> Research,<br />

K<strong>on</strong>dhwa – Pune (amresh_n2000@rediffmail.com).<br />

M. A. Potey, D. Y. Patil College of Engineering, Akurdi – Pune<br />

(mapotey@gmail.com ).<br />

1.2 Sharing:<br />

Shamir [1] <strong>and</strong> Blakley [2] invented two (k, n) thresholdbased<br />

SSS independently in 1979. The general idea behind<br />

“secret sharing” is to distribute a secret (e.g.,<br />

encrypti<strong>on</strong>/decrypti<strong>on</strong> key) to n different participants so that<br />

any k participants can rec<strong>on</strong>struct the secret, <strong>and</strong> any (k − 1)<br />

or fewer participants cannot reveal anything about the secret.<br />

Karnin [3] suggested the c<strong>on</strong>cept of perfect secret sharing<br />

(PSS) where zero informati<strong>on</strong> of the secret is revealed for an<br />

unqualified group of (k −1) or fewer members. For these<br />

requirements in PSS schemes, a secret has zero uncertainty if<br />

k or more participants can discover the secret. On the<br />

c<strong>on</strong>trary, the secret, in PSS schemes, remains the same<br />

uncertainty for (k − 1) or fewer members. Therefore, there is<br />

no informati<strong>on</strong> exposed to (k−1) or fewer members. When<br />

exposed informati<strong>on</strong> is proporti<strong>on</strong>al to the size of the<br />

unqualified coaliti<strong>on</strong>, these types of SSS are referred as a<br />

ramp secret sharing (RSS) [4], [5]. Various research papers<br />

are devoted <strong>on</strong> the topics of PSS schemes [6], [7] <strong>and</strong> RSS<br />

schemes [8], [9].<br />

Naor <strong>and</strong> Shamir [10], [11] extended the secret sharing<br />

c<strong>on</strong>cept into image research, <strong>and</strong> referred it as visual<br />

cryptography. Visual cryptography is a PSS scheme, <strong>and</strong><br />

requires stacking any k image shares (or shadow images) to<br />

show the original image without any cryptographic<br />

computati<strong>on</strong>. They are not applicable for lossless image<br />

recovery due to: i) image shares have larger image size<br />

compared to the size of the original secret image <strong>and</strong> ii) the<br />

c<strong>on</strong>trast ratio in the rec<strong>on</strong>structed image is quite poor. Thien<br />

<strong>and</strong> Lin [12] have presented a better image secret sharing<br />

approach. With some cryptographic computati<strong>on</strong>, they<br />

cleverly used Shamir’s SSS to share a secret image.<br />

1.3 Embedding:<br />

Most of the image embedding programs use image data (cover<br />

image) as a c<strong>on</strong>tainer, for hiding the c<strong>on</strong>fidential informati<strong>on</strong><br />

<strong>and</strong> some use the least significant bits [13] of the image data<br />

(cover image) to hide the c<strong>on</strong>fidential informati<strong>on</strong>. Other<br />

programs embed the c<strong>on</strong>fidential informati<strong>on</strong> in a specific<br />

b<strong>and</strong> of the spatial frequency comp<strong>on</strong>ent of the carrier.<br />

Nakamura’s [14] embedding method paid attenti<strong>on</strong> to the<br />

frequency redundancy of the images, while still others make<br />

use of the sampling error in image digitizati<strong>on</strong>. However, each<br />

of these embedding methods has relatively small informati<strong>on</strong><br />

hiding capacity, allowing <strong>on</strong>ly 5-15% of the cover image to<br />

hide informati<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 119


Proceedings of ICCNS 08 , 27-28 September 2008<br />

This capacity is generally sufficient for “watermarking” or<br />

placing a digital “signature” <strong>on</strong>to computer data, but is<br />

generally insufficient for c<strong>on</strong>fidential human-to-human<br />

communicati<strong>on</strong> applicati<strong>on</strong>s.<br />

1.4 Sharing <strong>and</strong> hiding:<br />

Very few have proposed the combinati<strong>on</strong> of secret image<br />

sharing <strong>and</strong> hiding techniques. These techniques give higher<br />

reliability <strong>and</strong> security at the same time compared to <strong>on</strong>ly<br />

sharing or <strong>on</strong>ly hiding techniques. Chin-Chen Chang <strong>and</strong> Duc<br />

Kieu [15] have proposed a novel secret sharing <strong>and</strong><br />

informati<strong>on</strong>-hiding scheme by embedding a secret image <strong>and</strong><br />

a secret bit stream into two shadow images. It has limited<br />

reliability <strong>and</strong> shadow image size is more. Y.S. Wu, C.C.<br />

Thien, <strong>and</strong> J.C. Lin [16] have proposed sharing <strong>and</strong> hiding of<br />

secret images but with size c<strong>on</strong>straint.<br />

1.5 Proposed technique<br />

Our technique proposes a combinati<strong>on</strong> of informati<strong>on</strong> sharing<br />

<strong>and</strong> hiding techniques for secret image using a cover image to<br />

provide greater reliability <strong>and</strong> security. The proposed method<br />

involves a "transmitter" <strong>and</strong> many "receivers". The transmitter<br />

chooses a secret image <strong>and</strong> applies reliable secret sharing<br />

scheme <strong>on</strong> it, to obtain the corresp<strong>on</strong>ding image shares. Every<br />

share is individually embedded into cover image using BPCS<br />

(Bit Plane Complexity Segmentati<strong>on</strong>) [17] method. Finally,<br />

the transmitter electr<strong>on</strong>ically transmits the images with<br />

embedded data (stego images) to the receivers. Receivers<br />

process the received image by applying the reverse of BPCS<br />

technique to obtain the embedded image shares. The receivers<br />

should obtain minimum k image shares to rec<strong>on</strong>struct the<br />

original secret image. During the transmissi<strong>on</strong> even if few<br />

image shares are lost <strong>and</strong> not all but k image shares are<br />

received the original image can be rec<strong>on</strong>stituted providing<br />

greater degree of reliability. Also since original secret image<br />

is divided into image shares <strong>and</strong> embedded using cover image<br />

it doesn’t attract attacker’s attenti<strong>on</strong> hence providing better<br />

security.<br />

2. Review of Secret Sharing Schemes<br />

2.1 Shamir’s [1] Secret Sharing Scheme<br />

Shamir developed the idea of a (k, n) threshold-based secret<br />

sharing technique (k ≤ n). The technique allows a polynomial<br />

functi<strong>on</strong> of order (k −1) c<strong>on</strong>structed as,<br />

f(x) = d 0 + d 1 x 1 + d 2 x 2 + . . . + d k-1 x k-1 (mod p), where the<br />

value d 0 is the secret <strong>and</strong> p is a prime number.<br />

The secret shares are the pairs of values (x<br />

i<br />

, y<br />

i<br />

), where<br />

y i = f(x i ), 1 ≤ i ≤ n <strong>and</strong> 0 < x 1 < x 2 . . < x n ≤ p − 1.<br />

The polynomial functi<strong>on</strong> f(x) is destroyed after each<br />

shareholder possesses a pair of values (x i , y i ) so that no single<br />

shareholder knows the secret value d 0 . In fact, no groups of (k<br />

− 1) or fewer secret shares can discover the secret d 0 . On the<br />

other h<strong>and</strong>, when k or more secret shares are available, then<br />

we may set at least k linear equati<strong>on</strong>s y i = f(x i ) for the<br />

unknown d i ’s.<br />

The unique soluti<strong>on</strong> to these equati<strong>on</strong>s shows that the secret<br />

value d 0 can be easily obtained by using Lagrange<br />

interpolati<strong>on</strong> [1].<br />

Shamir’s SSS is regarded as a PSS scheme because knowing<br />

even (k − 1) linear equati<strong>on</strong>s doesn’t expose any informati<strong>on</strong><br />

about the secret.<br />

2.2 Bai’s[18] Matrix Projecti<strong>on</strong> Secret Sharing Scheme<br />

Bai developed a SSS using matrix projecti<strong>on</strong>. The idea is<br />

based up<strong>on</strong> the invariance property of matrix projecti<strong>on</strong>. This<br />

scheme can be used to share multiple secrets, <strong>and</strong> detail of the<br />

scheme can be found in [18].<br />

3. Review of Image embedding schemes<br />

Image embedding hides a secret message in a cover image,<br />

this process is usually parameterized by a hide-key, <strong>and</strong> the<br />

detecti<strong>on</strong> or reading of embedded informati<strong>on</strong> is possible <strong>on</strong>ly<br />

by having this key.<br />

3.1 Least Significant Bit Inserti<strong>on</strong> [13]<br />

In this method the secret message is embedded into the least<br />

significant bit plane of the image. Since this <strong>on</strong>ly affect each<br />

pixel by +/- 1, if at all, it is generally assumed with good<br />

reas<strong>on</strong> that the degradati<strong>on</strong> caused by this embedding process<br />

would be perceptually transparent. Hence there are a number<br />

of LSB based steganography techniques available in the<br />

public domain. The problem with this method is that it does<br />

not provide protecti<strong>on</strong> against small changes resulting from<br />

lossy compressi<strong>on</strong> or image transformati<strong>on</strong>s. The other<br />

disadvantage of this method is that it is having very less data<br />

hiding capacity. Therefore, improvements as suggested by R.<br />

J. Anders<strong>on</strong> <strong>and</strong> F. A. P. Petitcolas [19] are urged for LSB.<br />

3.2 Adaptive MELSBR Method [20]<br />

To avoid changing the properties of cover-images, the<br />

message must be embedded in "r<strong>and</strong>om texture" areas of each<br />

bit-plane. For taking advantage of local characteristics, an<br />

adaptive steganography method based <strong>on</strong> the Minimum Error<br />

LSB Replacement (MELSBR) method is proposed. First, the<br />

upper bound of embedding capacity for each pixel in the<br />

cover-image is evaluated. If the amount of message to be<br />

embedded is less than the total embedding capacity provided<br />

by the cover-image, whole secret message will be embed in a<br />

local area <strong>and</strong> it can be easier for the attacker to extract the<br />

secret. To treat this scattering method is provided.<br />

4. Our Proposal<br />

The proposed technique is a combinati<strong>on</strong> of (a) C<strong>on</strong>structi<strong>on</strong><br />

of secret image shares <strong>and</strong> embedding shares in cover images;<br />

<strong>and</strong> (b) Rec<strong>on</strong>structi<strong>on</strong> of original secret image. This<br />

technique provides enhanced security <strong>and</strong> reliability than any<br />

other existing technique.<br />

4.1 C<strong>on</strong>structi<strong>on</strong> of secret image shares <strong>and</strong> embedding<br />

Sharing:<br />

For image sharing a reliable secret sharing method is<br />

suggested which incorporates two k-out-of-n secret sharing<br />

schemes:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 120


Proceedings of ICCNS 08 , 27-28 September 2008<br />

i) Shamir’s secret sharing scheme [1] <strong>and</strong> ii) matrix<br />

projecti<strong>on</strong> secret sharing scheme [18]. The technique allows a<br />

secret image to be divided as n image shares so that: i) any k<br />

image shares (k < n) are sufficient to rec<strong>on</strong>struct the secret<br />

image in the lossless manner <strong>and</strong> ii) any (k - 1) or fewer image<br />

shares cannot get enough informati<strong>on</strong> to reveal the secret<br />

image. It is an effective, reliable <strong>and</strong> secure method to prevent<br />

the secret image from being lost, stolen or corrupted. In<br />

comparis<strong>on</strong> with other image secret sharing methods, this<br />

approach’s advantages are its large compressi<strong>on</strong> rate <strong>on</strong> the<br />

size of the image shares, its str<strong>on</strong>g protecti<strong>on</strong> of the secret<br />

image <strong>and</strong> its ability for the real time processing. For an l × l<br />

secret image with intensity level as I (i, j) where 1 ≤ i, j ≤ l,<br />

partiti<strong>on</strong> the secret image I as n<strong>on</strong>-overlapped m × m blocks<br />

(m > 2(k − 1) − 1) for each RGB color. It procedures roughly<br />

([l/m]) 2 blocks. We can share each block S using following<br />

scheme.<br />

1. C<strong>on</strong>struct an m × k r<strong>and</strong>om matrix A of rank k.<br />

2. Determine its projecti<strong>on</strong> matrix $ <strong>and</strong> remainder matrix R =<br />

S − $.<br />

3. If any element in matrices $ <strong>and</strong> R is greater than 251, go<br />

back to step (1) to rec<strong>on</strong>struct a new r<strong>and</strong>om matrix A.<br />

Otherwise, proceed to the next step.<br />

4. Choose n linearly independent k × 1 r<strong>and</strong>om vectors x<br />

i<br />

<strong>and</strong><br />

n distinct values r<br />

i<br />

.<br />

5. Calculate share v i = (A × x i ) (mod p) for 1 ≤ i ≤ n.<br />

6. Use Thien <strong>and</strong> Lin’s [21] image SSS to secretly share the<br />

matrix R as a G i = [g 1 (i) g 2 (i) . . . g (mk) (i) ] for g tt (i)(j)<br />

= I (t k + 1, j) +. . + I (t k + (k−1), j) rt (k-1) t mod 251, where<br />

1 ≤ t ≤ (mk) <strong>and</strong> 1 ≤ j ≤ m.<br />

7. Each image share Sh i<br />

is the combinati<strong>on</strong> of v i <strong>and</strong> G ii .<br />

Embedding:<br />

Suggested technique to embed secret data into a dummy<br />

image is based <strong>on</strong> BPCS. The key idea to this approach is that<br />

a binary image can be categorized as “informative” <strong>and</strong><br />

“noise-like” regi<strong>on</strong>s, which are segmented by a “complexity<br />

measure”. If the embedding data is noise-like, we can hide it<br />

in the noise-like regi<strong>on</strong> of the dummy image. If a part of<br />

embedding data is simple, then we apply “image c<strong>on</strong>jugate”<br />

operati<strong>on</strong> to it. This operati<strong>on</strong> transforms a simple pattern into<br />

a complex pattern.<br />

Following steps describes the algorithm for embedding:<br />

1. Segment each bit-plane of the dummy image into<br />

informative <strong>and</strong> noise-like regi<strong>on</strong>s by using a threshold<br />

value (α). A typical value is α = 0.3.<br />

2. Group the bytes of the secret file into a series of secret<br />

blocks.<br />

3. If a block (S) is less complex than the threshold (α), then<br />

c<strong>on</strong>jugate it to make it a more complex block (S*). The<br />

c<strong>on</strong>jugated block must be more complex than α.<br />

4. Embed each secret block into the noise-like regi<strong>on</strong>s of the<br />

bit-planes (or, replace all the noise-like regi<strong>on</strong>s with a<br />

series of secret blocks). If the block is c<strong>on</strong>jugated, then<br />

record this fact in a “c<strong>on</strong>jugati<strong>on</strong> map.”<br />

5. Also embed the c<strong>on</strong>jugati<strong>on</strong> map as was d<strong>on</strong>e with the<br />

secret blocks.<br />

When the stego image is ready for transmissi<strong>on</strong> it is<br />

transmitted over the network. This transmissi<strong>on</strong> is more secure<br />

<strong>and</strong> reliable in comparis<strong>on</strong> to any other technique. This part of<br />

the process is illustrated in Fig. 1.<br />

4.2 Rec<strong>on</strong>structi<strong>on</strong> of original secret image<br />

To rec<strong>on</strong>struct the secret image the inverse operati<strong>on</strong>s of<br />

the above procedures is required. The Decoding algorithm<br />

(i.e., the extracting operati<strong>on</strong> of the image share from an<br />

embedded dummy image) is just the reverse procedure of the<br />

embedding steps. It is impossible to extract it without<br />

knowing α <strong>and</strong> c<strong>on</strong>jugati<strong>on</strong>-map. At least k shares are<br />

required to rec<strong>on</strong>struct the original secret image. By applying<br />

the reverse of reliable secret sharing technique <strong>on</strong> k or more<br />

image shares the original secret image is obtained as<br />

illustrated in Fig. 2.<br />

Embedding:<br />

Suggested technique to embed secret data into a dummy<br />

image is based <strong>on</strong> BPCS. The key idea to this approach is that<br />

a binary image can be categorized as “informative” <strong>and</strong><br />

“noise-like” regi<strong>on</strong>s, which are segmented by a “complexity<br />

measure”. If the embedding data is noise-like, we can hide it<br />

in the noise-like regi<strong>on</strong> of the dummy image. If a part of<br />

embedding data is simple, then we apply “image c<strong>on</strong>jugate”<br />

operati<strong>on</strong> to it. This operati<strong>on</strong> transforms a simple pattern into<br />

a complex pattern.<br />

Following steps describes the algorithm for embedding:<br />

1. Segment each bit-plane of the dummy image into<br />

informative <strong>and</strong> noise-like regi<strong>on</strong>s by using a threshold<br />

value (α). A typical value is α = 0.3.<br />

2. Group the bytes of the secret file into a series of secret<br />

blocks.<br />

3. If a block (S) is less complex than the threshold (α), then<br />

c<strong>on</strong>jugate it to make it a more complex block (S*). The<br />

c<strong>on</strong>jugated block must be more complex than α.<br />

4. Embed each secret block into the noise-like regi<strong>on</strong>s of the<br />

bit-planes (or, replace all the noise-like regi<strong>on</strong>s with a<br />

series of secret blocks). If the block is c<strong>on</strong>jugated, then<br />

record this fact in a “c<strong>on</strong>jugati<strong>on</strong> map.”<br />

5. Also embed the c<strong>on</strong>jugati<strong>on</strong> map as was d<strong>on</strong>e with the<br />

secret blocks.<br />

When the stego image is ready for transmissi<strong>on</strong> it is<br />

transmitted over the network. This transmissi<strong>on</strong> is more secure<br />

<strong>and</strong> reliable in comparis<strong>on</strong> to any other technique. This part of<br />

the process is illustrated in Fig. 1.<br />

4.2 Rec<strong>on</strong>structi<strong>on</strong> of original secret image<br />

To rec<strong>on</strong>struct the secret image the inverse operati<strong>on</strong>s of the<br />

above procedures is required. The Decoding algorithm (i.e.,<br />

the extracting operati<strong>on</strong> of the image share from an embedded<br />

dummy image) is just the reverse procedure of the embedding<br />

steps. It is impossible to extract it without knowing α <strong>and</strong><br />

c<strong>on</strong>jugati<strong>on</strong>-map. At least k shares are required to rec<strong>on</strong>struct<br />

the original secret image.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 121


Proceedings of ICCNS 08 , 27-28 September 2008<br />

By applying the reverse of reliable secret sharing technique <strong>on</strong><br />

k or more image shares the original secret image is obtained as<br />

illustrated in Fig. 2.<br />

Table I Comparis<strong>on</strong> between VC & Reliable SSS<br />

Table II Comparis<strong>on</strong> between LSB & BPCS<br />

Fig. 1 Embedding process<br />

DHC: Data Hiding Capacity<br />

PSNR: Peak Signal to Noise Ratio<br />

4.4 COMPARISON WITH EXISTING TECHNIQUES:<br />

We propose a simple <strong>and</strong> lossless secret sharing <strong>and</strong><br />

informati<strong>on</strong>-hiding scheme for color images. The<br />

experimental results show that the proposed method provides<br />

high reliability with reduced image share size as illustrated in<br />

Table 1. The size of image shares is less than the secret image<br />

so transmissi<strong>on</strong> time is less. It also provides high security as<br />

original image is divided into image shares <strong>and</strong> each <strong>on</strong>e of<br />

which is embedded in cover image making it least susceptible<br />

to attackers. Even if attackers are aware it is not possible to<br />

rec<strong>on</strong>struct original image with less than k image shares. The<br />

BPCS technique provides high embedding capacity up to 55%<br />

as illustrated in Table 2. Because of these reas<strong>on</strong>s the<br />

technique is most suitable for security-related applicati<strong>on</strong>s.<br />

The difficulty with the technique is that it is computati<strong>on</strong>ally<br />

heavy both at transmitting end <strong>and</strong> at receiving end.<br />

Fig. 2 Rec<strong>on</strong>structi<strong>on</strong> of secret image<br />

4.3 EXPERIMENTAL RESULTS:<br />

1) R<strong>and</strong>om basis column<br />

2) Pixel sampling<br />

3) Square sub-pixel expansi<strong>on</strong><br />

4) Smallest square expansi<strong>on</strong> with filler<br />

5) Smallest square expansi<strong>on</strong> w/o filler<br />

6) Extended VCS: preserve size<br />

7) Extended VCS: preserve detail<br />

5. FUTURE WORK AND SUGGESTIONS:<br />

To accommodate this computati<strong>on</strong>ally heavy but highly<br />

reliable <strong>and</strong> secure technique we propose to design parallel<br />

algorithm to generate the image shares of secret image <strong>and</strong> for<br />

generati<strong>on</strong> of embedded image shares in cover images at the<br />

transmitting end. At the receiving end similar parallel<br />

algorithms can be designed for extracti<strong>on</strong> of hidden image<br />

shares from the cover images <strong>and</strong> subsequent rec<strong>on</strong>structi<strong>on</strong><br />

of original image from at least k image shares. Parallel<br />

algorithm will make this technique suitable for real time<br />

applicati<strong>on</strong>s with high security requirements. This proposed<br />

technique is not suitable for palette images due to numerous<br />

color variati<strong>on</strong>s.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 122


Proceedings of ICCNS 08 , 27-28 September 2008<br />

REFERENCES<br />

1. A. Shamir, “How to share a secret,” Communicati<strong>on</strong>s of the ACM,<br />

vol. 22, no. 11, pp. 612–613, Nov. 1979.<br />

2. G. Blakely, “Safeguarding cryptographic keys,” presented at the<br />

Proceedings of the AFIPS 1979 Nati<strong>on</strong>al <strong>Computer</strong> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>,<br />

vol. 48, Arlingt<strong>on</strong>, VA, June 1997, pp. 313–317.<br />

3. E. D. Karnin, J. W. Greene, <strong>and</strong> M. E. Hellman, “On secret sharing<br />

systems,” vol. IT-29, no. 1, pp. 35–41, Jan. 1983.<br />

4. W. Ogata <strong>and</strong> K. Kurosawa, “Some basic properties of general<br />

n<strong>on</strong>perfect secret sharing schemes,” J.UCS: Journal of Universal<br />

<strong>Computer</strong> Science, vol. 4, no. 8, pp. 690–704, 1998.<br />

5. K. Srinathan, N. Tharani Rajan, <strong>and</strong> C. P<strong>and</strong>u Rangan, “N<strong>on</strong>perfect<br />

secret sharing over general access structures,” in<br />

INDOCRYPT, 2002, pp. 409–421.<br />

6. C. Asmuth <strong>and</strong> J. Bloom, “A modular approach to key<br />

safeguarding,” vol. 29, no. 2, pp. 208–210, Mar. 1983.<br />

7. A. Beimel <strong>and</strong> B. Chor, “Secret sharing with public<br />

rec<strong>on</strong>structi<strong>on</strong>,” vol. 44, no. 5, pp. 1887–1896, Sept. 1998.<br />

8. A. De Santis <strong>and</strong> B. Masucci, “Multiple ramp schemes,” vol. 45,<br />

no. 5, pp. 1720–1728, July 1999.<br />

9. M. Franklin <strong>and</strong> M. Yung, “Communicati<strong>on</strong> complexity of secure<br />

computati<strong>on</strong>,” 1992.<br />

10. M. Naor <strong>and</strong> A. Shamir. (1996, June) Visual cryptography II:<br />

Improving the c<strong>on</strong>trast via the cover base.<br />

11. M. Naor, A. Shamir, “Visual cryptography”, Proc. Eurocrypt<br />

’94, Lecture Notes <strong>Computer</strong> Sci., Vol. 950, pp.1-12, 1994.<br />

12. C. C. Thien <strong>and</strong> J. C. Lin, “Secret image sharing,” <strong>Computer</strong>s &<br />

Graphics, vol. 26, no. 5, pp. 765–770, 2002.<br />

13. N.F. Johns<strong>on</strong>, Z. Duric, <strong>and</strong> S. Jajodia, “Informati<strong>on</strong> hiding:<br />

Steganography <strong>and</strong> watermarking- attacks <strong>and</strong><br />

countermeasures”, Kluwer Academic Publishers, 2000.<br />

14. Nakamura, Y. <strong>and</strong> Matsui, K., “A Unified Coding of Image <strong>and</strong><br />

Text Data Using Discrete Orthog<strong>on</strong>al Transform”, IEICE D-II,<br />

Vol. J72-D-II, No.3, pp.363-368, 1989.<br />

15. Chin-Chen Chang, The Duc Kieu “Secret Sharing <strong>and</strong><br />

Informati<strong>on</strong> Hiding by Shadow Images”, 2006.<br />

16. Y. S. Wu, C. C. Thien, <strong>and</strong> J. C. Lin, “Sharing <strong>and</strong> hiding secret<br />

images with size c<strong>on</strong>straint,” Pattern Recogniti<strong>on</strong>, vol. 37, no.<br />

7, pp. 1277–1385, 2004.<br />

17. Michiharu Nimmi, Hideki Noda <strong>and</strong> Eiji Kawaguch, “An image<br />

embedding in image by a complexity based regi<strong>on</strong> segmentati<strong>on</strong><br />

method”, Proceedings of the 1997 <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Image Processing (ICIP '97).<br />

18. L. Bai, “A str<strong>on</strong>g ramp secret sharing scheme using matrix<br />

projecti<strong>on</strong>,” presented at the Sec<strong>on</strong>d <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Workshop <strong>on</strong><br />

Trust, <strong>Security</strong> <strong>and</strong> Privacy for Ubiquitous Computing, Niagara-<br />

Falls, Buffalo, NY, 2006.<br />

19. R. J. Anders<strong>on</strong> <strong>and</strong> F. A. P. Petitcolas, “On the limits of<br />

steganography,” IEEE J. Select. Areas Commun, vol. 16, no. 4,<br />

pp. 474–481, May 1998.<br />

20. Tuomas Aura, "Practical Invisibility in Digital Communicati<strong>on</strong>",<br />

First Workshop of Informati<strong>on</strong> Hiding Proceedings, Cambridge,<br />

U.K. May 30 - June 1, 1996. Lecture Notes in <strong>Computer</strong><br />

Science, Vol.1174, Springer-Verlag (1996).<br />

21. C.C. Thien <strong>and</strong> J. C. Lin, “Secret image sharing, “<strong>Computer</strong>s &<br />

Graphics, vol. 26, no. 5, pp. 765–770, 2002<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 123


ICCNS 08<br />

Network Management


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Analysis of Reactive Routing Protocols in<br />

C<strong>on</strong>gested MANETS based <strong>on</strong><br />

Energy C<strong>on</strong>sumpti<strong>on</strong><br />

Mr.M.Neelakantappa 1 ,r.B.Satyanarayana 2 ,Dr. A. Damodaram 3<br />

Abstract-Ad hoc networks are aut<strong>on</strong>omous systems composed of<br />

mobile hosts that are free to move around arbitrarily. Rather than<br />

relying <strong>on</strong> a network infrastructure to perform routing in an Mobile<br />

Ad hoc NETwork (MANET) each mobile host serves as a router to<br />

forward packets originated from other nodes. We compare the<br />

performance of three reactive routing protocols for mobile ad hoc<br />

networks: Dynamic Source Routing (DSR), Ad Hoc On-Dem<strong>and</strong><br />

Distance Vector Routing (AODV), locati<strong>on</strong>-aided routing<br />

(LAR1).Our evaluati<strong>on</strong> is based <strong>on</strong> energy c<strong>on</strong>sumpti<strong>on</strong> in<br />

MANETS. The performance differentials are analyzed using varying<br />

network load, mobility, <strong>and</strong> network size. We simulate protocols<br />

with GLOMOSIM simulator. Based <strong>on</strong> the results, we c<strong>on</strong>clude<br />

about the best protocol under various parameters of the MANET<br />

under c<strong>on</strong>siderati<strong>on</strong>.<br />

Keywords—Mobile Ad hoc Network, Energy c<strong>on</strong>sumpti<strong>on</strong>,<br />

GlomoSim, routing protocols.<br />

I. INTRODUCTION<br />

A MANET is a multi-hop wireless network formed by a<br />

group of mobile nodes that have wireless capabilities<br />

<strong>and</strong> are in proximity of each other. MANETS facilitate<br />

communicati<strong>on</strong> am<strong>on</strong>g mobile users in situati<strong>on</strong>smilitary<br />

or disaster recovery – where fixed infrastructure<br />

is infeasible. In MANETS each node in the network also<br />

acts as a router, forwarding data packets for other nodes.<br />

A central challenge in the design of ad hoc networks is<br />

the development of dynamic routing protocols that can<br />

efficiently find routes between two communicating<br />

nodes.<br />

The routing protocol must be able to keep up with the<br />

high degree of node mobility that often changes the<br />

network topology drastically <strong>and</strong> unpredictably .Such<br />

networks have been studied in the past in relati<strong>on</strong> to<br />

defense research, often under the name of packet radio<br />

networks. Routes between two hosts in a MANET may<br />

c<strong>on</strong>sist of hops through other hosts in the network.<br />

1 M.Neelakantappa is working as Professor & Head in CSE Dept. of<br />

G.Pullaiah Engineering College, Kurnool,AP,India. He is Research scholar in<br />

Faculty of CSE in JNT University,Hyderanad.<br />

2 Dr.B.Satyanarayana is working as Professor & Head in <strong>Computer</strong> Science<br />

Dept. of S.K University ,Anantapur,AP,India.<br />

3 Dr. A.Damodharam working as Vice-Principal <strong>and</strong> Professor in JNT<br />

Universty, Hyderabad,AP,India<br />

Host mobility causes frequent unpredictable topology<br />

changes. Therefore, the task of finding <strong>and</strong> maintaining<br />

routes in MANET is n<strong>on</strong>trivial. Many protocols have<br />

been proposed for mobile ad hoc networks, with the goal<br />

of achieving efficient routing. These algorithms differ in<br />

the approach used for searching a new route or<br />

modifying a known route, when hosts move. The ad hoc<br />

routing protocols may be generally categorized as<br />

proactive <strong>and</strong> reactive [2,3]. The simulati<strong>on</strong> results<br />

reported in several papers show that normally reactive<br />

(<strong>on</strong> dem<strong>and</strong>) routing protocols have higher packet<br />

delivery ratio <strong>and</strong> need less routing messages than<br />

proactive (table-driven) routing protocols.<br />

Energy c<strong>on</strong>sumpti<strong>on</strong> in ad hoc networks is a very<br />

important factor. Because batteries carried by each<br />

mobile node have limited power supply, processing<br />

power is limited, which in turn limits services <strong>and</strong><br />

applicati<strong>on</strong>s that can be supported by each node. This<br />

becomes a bigger issue in mobile ad hoc networks<br />

because, as each node is acting as both an end system<br />

<strong>and</strong> a router at the same time, additi<strong>on</strong>al energy is<br />

required to forward packets from other nodes. Our goal<br />

is to carry out a systematic performance study of three<br />

<strong>on</strong> dem<strong>and</strong> routing protocols for high density ad hoc<br />

networks: the Dynamic Source Routing protocol (DSR)<br />

<strong>and</strong> the Ad Hoc On-Dem<strong>and</strong> Distance Vector protocol<br />

(AODV) Locati<strong>on</strong>-Aided Routing (LAR)[1,8,6].<br />

The rest of the paper is organized as follows: In the<br />

following secti<strong>on</strong>, we briefly review the LAR1, DSR <strong>and</strong><br />

AODV protocols. We present a detailed critique of the<br />

three protocols, focusing <strong>on</strong> the differences in their<br />

dynamic behaviors that can lead to performance<br />

differences. This lays the foundati<strong>on</strong> for much of the<br />

c<strong>on</strong>text of the performance study. We describe the<br />

simulati<strong>on</strong> envir<strong>on</strong>ment. We present the simulati<strong>on</strong><br />

results, followed by their interpretati<strong>on</strong>s. We finally<br />

draw c<strong>on</strong>clusi<strong>on</strong>.<br />

II.DESCRIPTION OF THE PROTOCOLS<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 124


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. LAR1<br />

The LAR1 [6] algorithm uses a request z<strong>on</strong>e that is<br />

rectangular in shape [6]. C<strong>on</strong>sider a node S that needs to<br />

find a route to node D. Assume that node S knows that<br />

node D was at locati<strong>on</strong> (Xd,Yd) at time t0. At time t1,<br />

node S initiates a new route discovery for destinati<strong>on</strong> D.<br />

It assumes that node S also knows the average speed v<br />

with which D can move. Using this, node S defines the<br />

expected z<strong>on</strong>e at time t1 to be the circle of radius R =<br />

v(t1 - t0) centered at locati<strong>on</strong> (Xd Yd). When a node<br />

receives a route request, it discards the request if the<br />

node is not within the rectangle specified by the four<br />

corners included in the route request.<br />

the RREP packet is cached at the source for future use. If<br />

any link <strong>on</strong> a source route is broken, the source node is<br />

notified using a route error (RERR) packet. The source<br />

removes any route using this link from its cache. A new<br />

route discovery process must be initiated by the source if<br />

this route is still needed.<br />

{a,b}<br />

a<br />

{a,b}<br />

b<br />

c<br />

{a,b,c}<br />

d<br />

{a,b,c,d}<br />

e<br />

Fig.2: Example of route Discovery with same request ID<br />

Fig. 1 LAR1 Routing protocol<br />

For instance, in Fig. 1, if node I receives the<br />

route request from another node, node I forwards the<br />

request to its neighbors, because I determines that it is<br />

within the rectangular request z<strong>on</strong>e. However, when<br />

node X receives the route request, node X discards the<br />

request, as it is not within the request z<strong>on</strong>e.<br />

B. DSR<br />

The key distinguishing feature of DSR[4] is the<br />

use of source routing. That is, the sender knows the<br />

complete hop-by-hop route to the destinati<strong>on</strong>. These<br />

routes are stored in a route cache. The data packets carry<br />

the source route in the packet header. When a node in<br />

the ad hoc network attempts to send a data packet to a<br />

destinati<strong>on</strong> for which it does not already know the route,<br />

it uses a route discovery process to dynamically<br />

determine such a route. Route discovery works by<br />

flooding the network with route request (RREQ) packets<br />

[4].<br />

Each node receiving an RREQ rebroadcasts it,<br />

unless it is the destinati<strong>on</strong> or it has a route to the<br />

destinati<strong>on</strong> in its route cache. Such a node replies to the<br />

RREQ with a route reply (RREP) packet that is routed<br />

back to the original source. RREQ <strong>and</strong> RREP packets<br />

are also source routed.<br />

The RREQ builds up the path traversed across the<br />

network. The RREP, routes itself back to the source by<br />

traversing this path backward. The route carried back by<br />

C. AODV<br />

AODV[7] shares DSR’s <strong>on</strong>-dem<strong>and</strong> characteristics in<br />

that it also discovers routes <strong>on</strong> an as needed basis via a<br />

similar route discovery process. Similar to DSR, AODV<br />

uses the route discovery <strong>and</strong> route reply mechanism to<br />

create <strong>and</strong> maintain a route <strong>on</strong> dem<strong>and</strong>. However,<br />

AODV adopts a very different mechanism to maintain<br />

routing informati<strong>on</strong> [8]. It uses traditi<strong>on</strong>al routing tables,<br />

<strong>on</strong>e entry per destinati<strong>on</strong>. This is in c<strong>on</strong>trast to DSR,<br />

which can maintain multiple route cache entries for each<br />

destinati<strong>on</strong>. Without source routing, AODV relies <strong>on</strong><br />

routing table entries to propagate an RREP back to the<br />

source <strong>and</strong>, subsequently, to route data packets to the<br />

destinati<strong>on</strong>. AODV uses sequence numbers maintained<br />

at each destinati<strong>on</strong> to determine freshness of routing<br />

informati<strong>on</strong> <strong>and</strong> to prevent routing loops.<br />

These sequence numbers are carried by all<br />

routing packets. Different from DSR, AODV uses a<br />

distributed approach, meaning that source nodes do not<br />

maintain a complete sequence of intermediate nodes to<br />

reach a destinati<strong>on</strong>. An important feature of AODV is<br />

the maintenance of timer-based states in each node,<br />

regarding utilizati<strong>on</strong> of individual routing table entries.<br />

A routing table entry is expired if not used recently. A<br />

set of predecessor nodes is maintained for each routing<br />

table entry, indicating the set of neighboring nodes<br />

which use that entry to route data packets.<br />

These nodes are notified with RERR packets<br />

when the next-hop link breaks. Each predecessor node,<br />

in turn, forwards the RERR to its own set of<br />

predecessors, thus effectively erasing all routes using the<br />

broken link. In c<strong>on</strong>trast to DSR, RERR packets in<br />

AODV are intended to inform all sources using a link<br />

when a failure occurs.<br />

Route error propagati<strong>on</strong> in AODV can be visualized<br />

c<strong>on</strong>ceptually as a tree whose root is the node at the point<br />

of failure <strong>and</strong> all sources using the failed link as the<br />

leaves.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 125


Proceedings of ICCNS 08 , 27-28 September 2008<br />

III. THE SIMULATION MODEL<br />

To compare the routing protocols, a parallel discrete<br />

event driven simulator, GlomoSim,[15] was used.<br />

GloMoSim (Global Mobile Informati<strong>on</strong> System<br />

Simulator) is a simulati<strong>on</strong> tool for large wireless <strong>and</strong><br />

wired networks. We focused <strong>on</strong> energy c<strong>on</strong>sumpti<strong>on</strong> to<br />

compare the three routing protocols. The c<strong>on</strong>trol<br />

parameters we used in our simulati<strong>on</strong> experiments were<br />

traffic load (TL), node density (n) <strong>and</strong> node mobility<br />

(pause-time).<br />

Traffic load generated by each source node was modeled<br />

by a c<strong>on</strong>stant bit rate data stream, whose transmissi<strong>on</strong><br />

rate was defined by packet transmissi<strong>on</strong> interval for<br />

fixed size packets. Two different levels of traffic load<br />

defined by the packet transmissi<strong>on</strong> intervals are, (i) low<br />

traffic load: <strong>on</strong>e packet transmitted at every 10 sec<strong>on</strong>ds,<br />

(ii) medium traffic load: <strong>on</strong>e packet at every sec<strong>on</strong>d.<br />

Movement of each node was modeled using the r<strong>and</strong>om<br />

waypoint model. In the r<strong>and</strong>om waypoint model, each<br />

node remains stati<strong>on</strong>ary for the durati<strong>on</strong> of its “pausetime”.<br />

At the end of a pause time, a node starts moving<br />

in a r<strong>and</strong>omly selected directi<strong>on</strong> in the network terrain at<br />

a fixed speed. Once a node reaches its new locati<strong>on</strong>, it<br />

remains stati<strong>on</strong>ary during its next pause-time. At the end<br />

of the new pause time, a node again starts moving in<br />

another r<strong>and</strong>omly selected directi<strong>on</strong> in the network. This<br />

movement process was c<strong>on</strong>tinued during a simulati<strong>on</strong><br />

experiment. The network terrain size was fixed for 2,000<br />

* 2,000 meters. The simulati<strong>on</strong> time was 450 sec<strong>on</strong>ds for<br />

all the experiments.<br />

Table1 describes the detailed setup for our simulati<strong>on</strong>.<br />

Routing<br />

AODV,DSR,LAR1<br />

MAC Layer 802.11<br />

B<strong>and</strong>width 2Mbps<br />

TERRAIN 2000 x 2000<br />

Nodes 100,500<br />

Node Placement R<strong>and</strong>om<br />

Simulati<strong>on</strong> Time 450 Sec<br />

Mobility Model RWP(0-10 m/s)<br />

Data Traffic CBR<br />

Pause Time 0,150,225,300,450<br />

Table1: Simulati<strong>on</strong> parameters in GlomoSim<br />

Avg.Energy C<strong>on</strong>sumpti<strong>on</strong>(mwhr)<br />

Avg.Energy C<strong>on</strong>sum pti<strong>on</strong>(m whr)<br />

Avg.Energy C<strong>on</strong>sumpti<strong>on</strong>(mwhr)<br />

112.512<br />

112.51<br />

112.508<br />

112.506<br />

112.504<br />

112.502<br />

112.5<br />

112.498<br />

DSR<br />

AODV<br />

LAR!<br />

112.496<br />

0 50 100 150 200 250 300 350 400 450<br />

pause-time(s)<br />

112.522<br />

112.52<br />

112.518<br />

112.516<br />

112.514<br />

112.512<br />

112.51<br />

112.508<br />

112.506<br />

Fig3: Energy C<strong>on</strong>sumpti<strong>on</strong> (n=500,TL=1S)<br />

DSR<br />

AODV<br />

LAR!<br />

112.504<br />

0 50 100 150 200 250 300 350 400 450<br />

pause-time(s)<br />

Fig4: Energy C<strong>on</strong>sumpti<strong>on</strong> (n=100,TL=1S)<br />

112.505<br />

112.504<br />

112.504<br />

112.503<br />

112.503<br />

112.502<br />

112.502<br />

112.501<br />

112.501<br />

DSR<br />

AODV<br />

LAR1<br />

112.5<br />

0 50 100 150 200 250 300 350 400 450<br />

pause-time(s)<br />

Fig5: Energy C<strong>on</strong>sumpti<strong>on</strong> (n=100,TL=10S)<br />

IV. SIMULATION RESULTS<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 126


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Avg.Energy C<strong>on</strong>sum pti<strong>on</strong>(m whr)<br />

Avg.Energy C<strong>on</strong>sumpti<strong>on</strong>(mwhr)<br />

112.515<br />

112.51<br />

112.505<br />

112.5<br />

112.495<br />

DSR<br />

AODV<br />

LAR1<br />

112.49<br />

0 50 100 150 200 250 300 350 400 450<br />

pause-time(s)<br />

Avg.Energy C<strong>on</strong>sum pti<strong>on</strong>(m whr)<br />

112.505<br />

112.505<br />

112.504<br />

112.504<br />

112.503<br />

112.503<br />

112.502<br />

112.502<br />

112.501<br />

112.501<br />

Fig6: Energy C<strong>on</strong>sumpti<strong>on</strong> (n=1000,TL=1S)<br />

112.502<br />

112.502<br />

112.501<br />

112.501<br />

112.5<br />

112.5<br />

112.499<br />

112.499<br />

DSR<br />

AODV<br />

LAR1<br />

112.498<br />

0 50 100 150 200 250 300 350 400 450<br />

pause-time(s)<br />

Fig7: Energy C<strong>on</strong>sumpti<strong>on</strong> (n=1000,TL=10S)<br />

DSR<br />

AODV<br />

LAR1<br />

112.5<br />

0 50 100 150 200 250 300 350 400 450<br />

pause-time(s)<br />

Fig8: Energy C<strong>on</strong>sumpti<strong>on</strong> (n=500,TL=10S)<br />

V. CONCLUSION<br />

We have compared the performance of LAR1, DSR <strong>and</strong><br />

AODV, three prominent reactive routing protocols for ad<br />

hoc networks. The following is a list of key findings<br />

obtained from our experiments:<br />

Finding 1: C<strong>on</strong>trary to our predicti<strong>on</strong>, LAR1 performed<br />

much better than expected for high density networks.<br />

LAR1 is better in energy c<strong>on</strong>sumpti<strong>on</strong> generally in high<br />

density networks(n=1000). Hence LAR1 is good<br />

protocol for c<strong>on</strong>gested networks.<br />

Finding 2: DSR resulted in the best (i.e., the least)<br />

energy c<strong>on</strong>sumpti<strong>on</strong> for low density networks.<br />

Finding 3:AODV generated higher volume of energy<br />

even than the DSR in high density networks.<br />

REFERENCES<br />

[1]Das, S.R., Perkins, C.E., <strong>and</strong> Royer E.M.: Performance<br />

comparis<strong>on</strong> of two <strong>on</strong>-dem<strong>and</strong> routing protocols for ad hoc<br />

networks. http://www.ietf.org/internetdrafts/ draft-ietfmanetaodv-06.txt,<br />

IETF Internet Draft, July 2000, work in progress.<br />

[2] Jochen Schiller. Mobile Communicati<strong>on</strong>s; Pears<strong>on</strong><br />

Educati<strong>on</strong>,2004.<br />

[3]D.J.Goodman.Wireless Pers<strong>on</strong>al Commun. Systems;<br />

Addis<strong>on</strong>Wesley,2002.<br />

[4] Johns<strong>on</strong>, D.B., Maltz, D.A., <strong>and</strong> Hau, Y.C.: The dynamic<br />

source routing protocol for mobile ad hoc networks, IETF<br />

Internet Draft , http://www.ietf.org/internetdrafts/draftietfmanet<br />

-dsr-03.txt, IETF Internet draft, April 2003 work in<br />

progress.<br />

[5] Samir Das, Charles Perkins, Elizabeth Royer. Performance<br />

Comparis<strong>on</strong> of On-dem<strong>and</strong> Routing Protocds for Ad hoc<br />

<strong>Networks</strong>, IEEE, INFOCOM2000.<br />

[6] Y.B. Ko <strong>and</strong> N.H. Vaidya, “Locati<strong>on</strong>-Aided Routing<br />

(LAR) in Mobile Ad Hoc <strong>Networks</strong>,” Proc. IEEE MobiCom,<br />

Oct. 1998.<br />

[7] C. E. Perkins <strong>and</strong> E. M. Royer, “Ad Hoc On-dem<strong>and</strong><br />

Distance Vector Routing,” Proc. 2nd IEEE Wksp. Mobile<br />

Comp. Sys. <strong>and</strong> Apps., Feb. 1999, pp. 90100.<br />

[8] C. E. Perkins, E. M. Royer, <strong>and</strong> S. R. Das, “Ad Hoc <strong>on</strong><br />

Dem<strong>and</strong> Distance Vector (AODV) Routing,<br />

http://www.ietf.org/internetdrafts/ draft-ietfmanet-aodv-06.txt<br />

, IETF Internet Draft, July 2000, work in progress.<br />

[9] B. Das, E. Sivakumar <strong>and</strong> V. Bhargavan, Routing in adhoc<br />

networks using a spine, in: Procof IEEEIC3N ’97<br />

[10] M. Jiang, J. Li <strong>and</strong> Y.-C. Tay, Cluster based routing<br />

protocol (CBRP) functi<strong>on</strong>al specificati<strong>on</strong> (Internet-draft),<br />

in:MobileAd-hoc Network (MANET) Working Group,IETF98).<br />

[11] C.E. Perkins <strong>and</strong> P. Bhagwat, Highly dynamic<br />

destinati<strong>on</strong>-sequenced distance-vector routing (DSDV) for<br />

mobile computers, in: Proc. Of ACM SIGCOMM ’94<br />

Symposium <strong>on</strong> Communicati<strong>on</strong>, Architectures <strong>and</strong> Protocols<br />

(1994) pp. 234–244.<br />

[12] J. Broch, D. A. Maltz, D. B. Johns<strong>on</strong>, Y.-C.<br />

Hu&J.Jetcheva,“A Performance Comparis<strong>on</strong> of Multi-Hop<br />

Wireless Ad Hoc Network Routing Protocols”, Proc. of the<br />

Fourth Annual ACM/IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Mobile Computing <strong>and</strong> Networking,Dallas, TX, Oct. 98.<br />

[13] E. M. Royer <strong>and</strong> C.-K. Toh, “A Review of Current<br />

Routing Protocols for Ad-Hoc Mobile<br />

Wireless <strong>Networks</strong>”, IEEE Pers<strong>on</strong>al<br />

Communicati<strong>on</strong>sMagazine,April 1999, pp46-55.<br />

[14] Imrich Chlamtac , Marco C<strong>on</strong>ti , Jennifer J.-N. Liu”<br />

Mobile ad hoc networking: imperatives <strong>and</strong> challenges.<br />

[15] X.Zeng, R.Bargrodia <strong>and</strong> M.Gerla “GloMoSim: A library<br />

for parallel simulati<strong>on</strong> of large scale wireless networks” in<br />

workshop <strong>on</strong> Parallel & distrib’d simulati<strong>on</strong>;1998.pp154-161<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 127


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Analytic Investigati<strong>on</strong> for <strong>Security</strong> in Wireless<br />

Hotspot <strong>Networks</strong><br />

Raad A. Muhajjar, S. Kazim Naqvi., <strong>and</strong> Nupur Prakash<br />

<br />

Abstract— This paper presents the analytic investigati<strong>on</strong> for<br />

security threats <strong>and</strong> security mechanisms in wireless hotspot<br />

networks, some security threats of user authenticati<strong>on</strong> <strong>and</strong> access<br />

c<strong>on</strong>trol methods for hotspot networks, related to Universal Access<br />

Method (UAM) <strong>and</strong> IEEE 802.1x are identified <strong>and</strong> studied.<br />

Keywords— Hotspot Network, Wireless <strong>Security</strong>, Universal<br />

Access Method, IEEE 802.1x, Secure Socket Layer.<br />

I. INTRODUCTION<br />

hotspot is a locati<strong>on</strong> with a public available wireless<br />

A network. Achieving a truly secure c<strong>on</strong>necti<strong>on</strong> at a public<br />

wireless hotspot is an impossible propositi<strong>on</strong> [1]. Despite the<br />

lack of security, wireless hotspots using IEEE 802.11-based<br />

wireless technology have popped up in coffee shops, hotels,<br />

airports <strong>and</strong> even gas stati<strong>on</strong>s. They do provide people a very<br />

c<strong>on</strong>venient way to stay in touch with the corporate office.<br />

While using public hotspots is c<strong>on</strong>venient, the user should be<br />

careful before accessing any c<strong>on</strong>fidential informati<strong>on</strong> using a<br />

hotspot.<br />

We believe that the current wireless hotspots present a<br />

larger security issues than the early wired-Internet c<strong>on</strong>necti<strong>on</strong>s.<br />

A large number of organizati<strong>on</strong>s, based <strong>on</strong> vendor literature,<br />

believe that the security provided by their deployed wireless<br />

hotspot is sufficient to prevent unauthorized access <strong>and</strong> use.<br />

Unfortunately, nothing could be further from the truth. While<br />

the current combined with the work of others show that all of<br />

these mechanisms are completely ineffective [17]. As a result,<br />

organizati<strong>on</strong>s with deployed wireless hotspot networks are<br />

vulnerable to unauthorized use of, <strong>and</strong> access to, their internal<br />

infrastructure.<br />

The rest of the paper is organized as follows. In the sec<strong>on</strong>d<br />

secti<strong>on</strong>, we introduce the details of network hotspot networks<br />

provide several security mechanisms, our work architecture for<br />

Wireless Internet Service provider (WISP). The security<br />

mechanisms <strong>and</strong> security threats are then presented in detail in<br />

Raad A. Muhajjar is ICCR Scholarship, Department of <strong>Computer</strong> Science,<br />

Jamia Millia Islamia, New Delhi-110025, India. Mobil No : 9811370889 ( e-<br />

mail: raadmahjar@yahoo.com).<br />

S. Kazim Naqvi, Sr. System Analyst , FTK-Centre for Informati<strong>on</strong><br />

Technology , Jamia Millia Islamia, New Delhi-110025, India Mobile No:<br />

9212004194 (e-mail: kazim.cit@jmi.ac.in).<br />

Nupur Prakash Dean, University School of Informati<strong>on</strong> Technology, GGS<br />

Indraprastha University, Kashmere Gate, Delhi-110006, India. Ph<strong>on</strong>e<br />

No:23900309 (e-mail: nupurprakash@rediffmail.com).<br />

the third <strong>and</strong> fourth secti<strong>on</strong>s. In the fifth secti<strong>on</strong>, we discuss<br />

the security issues in WISP hotspots <strong>and</strong> possible soluti<strong>on</strong>s.<br />

The last secti<strong>on</strong> c<strong>on</strong>cludes the paper.<br />

II. NETWORK ARCHITECTURE<br />

General network architecture of a WISP is shown in figure-<br />

1. It includes a hotspot access network <strong>and</strong> a networkoperating<br />

centre [2]. The hotspot c<strong>on</strong>tains the basic access<br />

network comp<strong>on</strong>ents to provide access service. Network<br />

operating centre is located away from the hotspot <strong>and</strong><br />

c<strong>on</strong>nected via telecom infrastructure that is usually out of<br />

c<strong>on</strong>trol of the WISP. The distributed architecture permits the<br />

hotspots to extend its services over large geographical areas.<br />

Thus, WISP’s network domain may comprise many hotspot<br />

access networks <strong>and</strong> <strong>on</strong>e or a few network operating centers<br />

c<strong>on</strong>nected via other operator’s infrastructure.<br />

The comp<strong>on</strong>ents in hotspot access network are: Access<br />

point (AP), Access C<strong>on</strong>troller (AC), Gateway (GW), firewalls<br />

<strong>and</strong> other specific modules such as DHCP server, mobile IP<br />

agents, VPN support etc. An AP provides network access to<br />

users <strong>on</strong> their respective stati<strong>on</strong>s (STA) which are fitted with<br />

WLAN radio interfaces. A hotspot network may have multiple<br />

APs. The Access C<strong>on</strong>troller (AC) c<strong>on</strong>trols access of STAs to<br />

network based <strong>on</strong> authenticati<strong>on</strong> <strong>and</strong> authorizati<strong>on</strong> results.<br />

AAA client collects authenticati<strong>on</strong> request <strong>and</strong> forwards them<br />

to an AAA server located at Network Operating Centre. The<br />

Gateway (GW) provides access to the Internet The firewall<br />

protects the hotspot domain from possible network security<br />

attacks which may originate from outside the hotspot.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 128


Proceedings of ICCNS 08 , 27-28 September 2008<br />

III.<br />

SECURITY MECHANISMS<br />

Because the basic security services <strong>and</strong> methods specified in<br />

IEEE 802.11 st<strong>and</strong>ard are not designed for public network<br />

access, WISPs had to develop new methods of basic security<br />

services - like user authenticati<strong>on</strong> <strong>and</strong> access c<strong>on</strong>trol [3]. In<br />

this secti<strong>on</strong>, we describe <strong>and</strong> analyze the most popular security<br />

methods of wireless hotspot network viz. the Universal Access<br />

Method (UAM) <strong>and</strong> Port based Authenticati<strong>on</strong> (IEEE 802.1x).<br />

A. Universal Access Method (UAM)<br />

The UAM is a web browser based access c<strong>on</strong>trol method<br />

recommended by Wireless Internet Service Provider Roaming<br />

(WISPr). The method addresses the problem of roaming users<br />

in different WiFi hotspots. Since its recommendati<strong>on</strong> by<br />

WISPr the method has been adopted at many hotspot networks<br />

[3]. It is also referred to as “Web-based authenticati<strong>on</strong> [4]” or<br />

“Captive Portal1 [5]”. The method uses the authenticati<strong>on</strong> <strong>and</strong><br />

encrypti<strong>on</strong> protocol of Secure Sockets Layer/ Transport Layer<br />

<strong>Security</strong> (SSL/TLS). The UAM allows a subscriber to access<br />

WISP services with <strong>on</strong>ly an Internet browser <strong>and</strong> WiFi<br />

network interface <strong>on</strong> the subscriber device, so that all users,<br />

regardless of device type or operating system, can participate<br />

in the hotspot network. The UAM represents the lowest<br />

comm<strong>on</strong> denominator for granting access to a WISPr network<br />

ensuring that all users can share the same experience. User’s<br />

experience of authenticati<strong>on</strong> is described in the following<br />

passage:<br />

“A user visits a public hotspot. He boots up his laptop <strong>and</strong><br />

associates with the local WiFi network by selecting the<br />

available network or the correct SSID in his WiFi PC card<br />

C<strong>on</strong>figurati<strong>on</strong> Utility. He then starts his browser, which, for<br />

the sake of discussi<strong>on</strong>, is c<strong>on</strong>figured to load www.yahoo.com<br />

as his home page. Instead of the browser loading this home<br />

page, it loads a Welcome Page from the Hotspot Operator that<br />

allows the user to login with a username <strong>and</strong> password. Once<br />

authenticated, a Star Page appears from the Home Entity <strong>and</strong><br />

the user can access his original home page such as Yahoo. In<br />

additi<strong>on</strong>, a smaller window pops up detailing sessi<strong>on</strong><br />

informati<strong>on</strong> <strong>and</strong> providing a butt<strong>on</strong> which, when clicked, will<br />

1 Captive Portal was first proposed in Stanford’s SPINACH project. They<br />

are widely used for user authenticati<strong>on</strong> in WiFi access networks.<br />

log him out. At this time the user can access the Internet via<br />

his wireless c<strong>on</strong>necti<strong>on</strong>. When the user finishes, he clicks the<br />

aforementi<strong>on</strong>ed logout butt<strong>on</strong> to disc<strong>on</strong>nect from the network<br />

<strong>and</strong> c<strong>on</strong>tinues to work <strong>on</strong> the laptop or shuts down his laptop<br />

<strong>and</strong> leaves”<br />

The signaling mechanism between various entities of a<br />

UAM is shown in figure-2. After STA associates with a<br />

hotspot WLAN AP, it receives an IP address from DHCP<br />

server, user than starts a Web browser. The first HTTP<br />

c<strong>on</strong>necti<strong>on</strong> request is captured <strong>and</strong> suspended by AC in the<br />

hotspot. The HTTP request is redirected to an internal Web<br />

server module in order to start authenticati<strong>on</strong> procedure. The<br />

internal web server module may reside in the AC or in network<br />

operating centre, i.e. close to AAA server. It establishes a<br />

SSL/TLS c<strong>on</strong>necti<strong>on</strong> to the browser <strong>on</strong> STA <strong>and</strong> displays a<br />

log<strong>on</strong> page requesting user to provide his/her credentials<br />

(account /username <strong>and</strong> password). The user is expected to<br />

verify the SSL/TLS certificate to authenticate the WISP.<br />

Depending <strong>on</strong> the result, user may provide his credentials<br />

which are encrypted <strong>and</strong> are transmitted to the internal Web<br />

server. User credentials are then embedded in an<br />

Authenticati<strong>on</strong> Request <strong>and</strong> forwarded to WISP’s AAA server,<br />

which performs user authenticati<strong>on</strong> <strong>and</strong> authorizati<strong>on</strong>. The<br />

results are returned to the hotspot AC which may admit or<br />

reject the access. Up<strong>on</strong> admissi<strong>on</strong> the original HTTP request is<br />

resumed.<br />

In comparis<strong>on</strong> with other access c<strong>on</strong>trol methods of hotspot<br />

networks [2], UAM has the following advantages:<br />

unified authenticati<strong>on</strong> interface for various usage<br />

scenarios (prepaid, c<strong>on</strong>tractual <strong>and</strong> roaming users);<br />

no extra hardware required at user side;<br />

easy software c<strong>on</strong>figurati<strong>on</strong> at user side;<br />

Interoperability for roaming user authenticati<strong>on</strong>.<br />

The security goals of UAM are [2]:<br />

network authenticati<strong>on</strong> – based <strong>on</strong> WISP’s (SSL/TLS)<br />

public key certificate;<br />

User authenticati<strong>on</strong> – to authenticate user’s credential<br />

(account <strong>and</strong> password pair).<br />

Some security issues in UAM are identified as follows:<br />

Authenticati<strong>on</strong> of network/WISP is performed through<br />

verificati<strong>on</strong> of the SSL/TLS certificate received from the<br />

internal web server. However, the verificati<strong>on</strong> requires<br />

users:<br />

a) to have some knowledge of certificates <strong>and</strong> to know<br />

some technical aspects of the WISP, such as its<br />

domain name, which may bey<strong>on</strong>d user’s capability;<br />

b) to manually check the certificate every time he/she<br />

logs into the network<br />

Ignorance about the aforementi<strong>on</strong>ed issues may render the<br />

security useless as a rough WLAN with a valid SSL certificate<br />

can be launched in the hotspot <strong>and</strong> cheat users of their<br />

credentials. The certificate says nothing about whether the<br />

valid certificate holder is entitled to operate a public WLAN at<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 129


Proceedings of ICCNS 08 , 27-28 September 2008<br />

a specific site.<br />

Password based user authenticati<strong>on</strong> suffers many attacks,<br />

especially for c<strong>on</strong>tractual users that have a l<strong>on</strong>g-term<br />

relati<strong>on</strong> with a WISP.<br />

No support to dynamic key generati<strong>on</strong> <strong>and</strong> exchange,<br />

which prevents using IEEE 802.11i or WEP, based<br />

encrypti<strong>on</strong> mechanisms for c<strong>on</strong>fidentiality <strong>and</strong> except<br />

other integrity protecti<strong>on</strong>. Thus, user data is transmitted in<br />

plaintext in the air measure like IPSec is adopted.<br />

The Universal Access Method may be enhanced by use of a<br />

proprietary Smart Client2 to simplify the user experience [3].<br />

A Smart Client can be used to enhance the subscriber<br />

experience by providing features such as a directory listing<br />

available public network access hotspots, SSID browsing,<br />

automated sign-<strong>on</strong> or single-click launch of additi<strong>on</strong>al<br />

software (like a remote Virtual Private Network client). These<br />

Smart Clients are typically compatible with, <strong>and</strong> add value<br />

over <strong>and</strong> above the UAM, <strong>and</strong> are typically provided by the<br />

subscriber’s WISP. The WISP should be mindful that<br />

requiring the use of a proprietary Smart Client could restrict<br />

network access. As a result, the WISP must ensure that use of<br />

the Smart Client does not preclude roaming using the UAM.<br />

B. Port-based network authenticati<strong>on</strong><br />

The port-based authenticati<strong>on</strong> protocol was approved by<br />

IEEE in June 2001 as an IEEE 802.1x st<strong>and</strong>ard [16]. It was<br />

originally designed for wired networks of IEEE 802 family<br />

(layer-2 authenticati<strong>on</strong>), but was later extended to 802.11 as<br />

well. It enables authenticati<strong>on</strong> <strong>and</strong> key management for IEEE<br />

802 LANs, including Ethernet, token ring <strong>and</strong> fiber distributed<br />

data interface. One objective of IEEE 802.11 Task Group I is<br />

to define how 802.1x <strong>and</strong> 802.11 machines are to<br />

communicate [6]. The purpose of this st<strong>and</strong>ard in WLAN is to<br />

drive authenticati<strong>on</strong> <strong>and</strong> encrypti<strong>on</strong> keys for use with any<br />

cipher <strong>and</strong> to manage the keys.<br />

The IEEE 802.1x is based <strong>on</strong> Extensible Authenticati<strong>on</strong><br />

Protocol (EAP). Various authenticati<strong>on</strong> methods such as <strong>on</strong>etime<br />

passwords, smart cards, tokens <strong>and</strong> certificate-based<br />

authenticati<strong>on</strong> may be employed for authenticati<strong>on</strong> [4]. Since<br />

open st<strong>and</strong>ards for authenticati<strong>on</strong>, authorizati<strong>on</strong>, <strong>and</strong><br />

accounting (including RADIUS <strong>and</strong> LDAP) combine well with<br />

IEEE 802.1x, the Remote Authenticati<strong>on</strong> Dial In user Servers<br />

(RADIUS) that support EAP are often used as authenticati<strong>on</strong><br />

servers. EAP messages <strong>and</strong> are referred to as EAP Over LAN<br />

(EAPOL) [7]. As depicted in figure 3, 802.1x defines three<br />

roles in the authenticati<strong>on</strong> process:<br />

Supplicant: a wireless device that, when authenticated,<br />

can send IP data to the LAN.<br />

Authenticator: an AP that keeps a port status for each<br />

supplicant it is c<strong>on</strong>trolling,<br />

Authenticati<strong>on</strong> server: often a RADIUS based server,<br />

2 Smart Client is a Software soluti<strong>on</strong> that resides <strong>on</strong> the user’s access<br />

device that facilitates the user’s c<strong>on</strong>necti<strong>on</strong> to public access networks whether<br />

via a browser, signaling protocol or other proprietary method of access.<br />

though this not specifically required.<br />

Figure 3: Message flow of EAP-TLS<br />

In 802.1x, supplicants are by default c<strong>on</strong>sidered<br />

unauthorized. Supplicants in this state can send or receive <strong>on</strong>ly<br />

EAPOL (EAP [11] over LAN) frames. After associati<strong>on</strong>, an<br />

802.1x supplicant sends an EAPOL-Start frame to the<br />

authenticator. The authenticator resp<strong>on</strong>ds by requesting the<br />

supplicant’s identity. The authenticator then translates <strong>and</strong><br />

relays a sequence of resp<strong>on</strong>ses <strong>and</strong> requests between the<br />

supplicant <strong>and</strong> the authenticati<strong>on</strong> server. Communicati<strong>on</strong><br />

between the supplicant <strong>and</strong> authenticator uses the EAPOL<br />

protocol. On the other h<strong>and</strong>, communicati<strong>on</strong> between the<br />

authenticator <strong>and</strong> the authenticati<strong>on</strong> server uses the RADIUS<br />

protocol [7, 10]. RADIUS can be c<strong>on</strong>figured to secure packets<br />

using a secret key. The sequence of requests <strong>and</strong> resp<strong>on</strong>ses in<br />

this phase will depend <strong>on</strong> the particular authenticati<strong>on</strong> scheme<br />

used (which will be discussed later in this subject). The<br />

authenticator receives this informati<strong>on</strong> from the client <strong>and</strong> then<br />

passes it <strong>on</strong>to an authenticati<strong>on</strong> server for validati<strong>on</strong>. No other<br />

communicati<strong>on</strong>s from the client is permitted until the<br />

authenticati<strong>on</strong> server has validated the log<strong>on</strong> request. If the<br />

log<strong>on</strong> is accepted, the authenticati<strong>on</strong> server generates a WEP<br />

key specifically for the client <strong>and</strong> sends it through the access<br />

point to the client. The client is now permitted to access the<br />

network behind the access point.<br />

There are several implementati<strong>on</strong>s of EAP, including<br />

[4,8,9,10]:<br />

1- Transport Layer <strong>Security</strong> (EAP-TLS): developed by<br />

Microsoft <strong>and</strong> used in 802.1X clients for Windows<br />

XP, EAPTLS provides str<strong>on</strong>g security, but requires<br />

each WLAN user to run a client certificate.<br />

2- Lightweight EAP (LEAP): developed by CISCO <strong>and</strong><br />

used in their Air<strong>on</strong>et soluti<strong>on</strong>, LEAP supports<br />

dynamic WEP key generati<strong>on</strong> <strong>and</strong> provides for fixed<br />

password user authenticati<strong>on</strong>.<br />

3- Protected EAP (PEAP): co-developed by CISCO,<br />

Microsoft <strong>and</strong> RSA <strong>Security</strong>, PEAP does not require<br />

certificates for authenticati<strong>on</strong>. It supports dynamic<br />

WEP key generati<strong>on</strong> <strong>and</strong> provides opti<strong>on</strong>s for<br />

password, token or digital certificate based user<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 130


Proceedings of ICCNS 08 , 27-28 September 2008<br />

authenticati<strong>on</strong>.<br />

4- Tunneled Transport Layer <strong>Security</strong> (EAP-TTLS):<br />

developed by Funk Software <strong>and</strong> Certicom as a<br />

competing st<strong>and</strong>ard for PEAP, EAP-TTLS supports<br />

password, token or certificate side user<br />

authenticati<strong>on</strong>. Unlike EAP-TLS, EAP-TTLS<br />

requires <strong>on</strong>ly the server to be certified.<br />

The comparis<strong>on</strong> of the authenticati<strong>on</strong> mechanisms discussed<br />

above is provided in Table 1 [9].<br />

Some of the advantages of 802.1x/EAP authenticati<strong>on</strong> are:<br />

It provides user authenticati<strong>on</strong>/accounting,<br />

It provides encrypti<strong>on</strong>,<br />

It protects the infrastructure,<br />

It results in light network traffic, as there is no per-packet<br />

overhead, <strong>on</strong>ly periodic authenticati<strong>on</strong> transacti<strong>on</strong>s,<br />

It allows secured applicati<strong>on</strong> level protocols, such as<br />

VPN, SSL, SSH, to be used.<br />

Some of the issues of 802.1x/EAP authenticati<strong>on</strong> include the<br />

following:<br />

It is an evolving st<strong>and</strong>ard,<br />

It requires specific client software,<br />

At the moment, proprietary network equipment is<br />

required,<br />

Investment in new authenticati<strong>on</strong> infrastructure is<br />

necessary.<br />

EAP was designed for PPP, <strong>and</strong> was never meant to take<br />

wireless threat models into account.<br />

It is limited to <strong>on</strong>e-way authenticati<strong>on</strong>: supplicants <strong>and</strong><br />

authenticati<strong>on</strong>s should not send data traffic until mutual<br />

authenticati<strong>on</strong> is complete.<br />

It does not offer authenticati<strong>on</strong> of management frames.<br />

Traffic can be intercepted.<br />

Various types of attack, including hijacking <strong>and</strong> man in<br />

the middle, are possible.<br />

Authenticati<strong>on</strong> after associati<strong>on</strong> presents roaming<br />

<br />

problems because of the time needed, during which data<br />

transmissi<strong>on</strong> can be disrupted.<br />

If the RADIUS server fails, the WLAN becomes<br />

unavailable.<br />

IV. SECURITY THREATS<br />

Without authenticati<strong>on</strong> <strong>and</strong> encrypti<strong>on</strong>, security problems<br />

cannot be addressed [12]. In this secti<strong>on</strong>, we categorize<br />

security threats. This is followed by a discussi<strong>on</strong> <strong>on</strong> some of<br />

the weakness in security approaches based <strong>on</strong> SSL <strong>and</strong> PKI.<br />

We explain why these features are not in wireless hotspot<br />

network services.<br />

A. Threats<br />

UAM <strong>and</strong> IEEE 802.1x are used for authenticati<strong>on</strong> between<br />

the user <strong>and</strong> WISP, however, n<strong>on</strong>e of the methods is enough<br />

for security <strong>and</strong> authenticati<strong>on</strong> purpose for public wireless<br />

Internet access.<br />

The UAM based public wireless LAN systems use webbased<br />

authenticati<strong>on</strong> schemes, <strong>and</strong> users can get IP-level<br />

network access before showing their identity <strong>and</strong> credentials.<br />

Although this open style of network authenticati<strong>on</strong> enables<br />

fine-grained service authorizati<strong>on</strong> <strong>and</strong> accounting opti<strong>on</strong>s, lack<br />

of lower-layer cryptographic bindings yields security<br />

vulnerabilities. Examples include:<br />

Theft of service by spoofing IP or MAC address;<br />

Eavesdropping because of no data encrypti<strong>on</strong>;<br />

Message alterati<strong>on</strong> because of no message integrity check;<br />

<strong>and</strong><br />

Denial of service attack by placing rogue access points.<br />

The key to avoiding those security threats is to have a<br />

cryptographic binding between the user <strong>and</strong> the network. As<br />

explained in Secti<strong>on</strong> 3.2, the IEEE 802.1X port-based network<br />

access c<strong>on</strong>trol is being deployed in corporate wireless LANs,<br />

<strong>and</strong> it uses cryptographic method for user authenticati<strong>on</strong> <strong>and</strong><br />

network access c<strong>on</strong>trol. Normally IEEE 802.1X adopts<br />

c<strong>on</strong>venti<strong>on</strong>al closed style mutual authenticati<strong>on</strong> <strong>and</strong> assumes a<br />

pre-shared secret between users <strong>and</strong> the network. However, we<br />

can’t assume a pre-shared secret in public wireless LANs to<br />

accommodate <strong>on</strong>e-time users that use credit-card<br />

authorizati<strong>on</strong>, or to provide free c<strong>on</strong>tents for n<strong>on</strong> subscribers.<br />

EAP allowed developers to c<strong>on</strong>struct their own algorithm<br />

<strong>and</strong> c<strong>on</strong>sequently a lot of wireless vendors implemented their<br />

own 802.1X adaptati<strong>on</strong>. They provided significant<br />

modificati<strong>on</strong>s to the authenticati<strong>on</strong> system but, as there was no<br />

general specificati<strong>on</strong>, this enhancement was frequently<br />

platform dependent. Moreover, these adaptati<strong>on</strong>s often relied<br />

<strong>on</strong> external systems like RADIUS server, PKI <strong>and</strong> Certificates.<br />

All this soluti<strong>on</strong>s have some problems related to attacks <strong>on</strong><br />

802.1X [13]:<br />

1- Man-in-Middle attack: the <strong>on</strong>e-way authenticati<strong>on</strong><br />

exposed to the man-in-middle attack where adversary<br />

becomes an authenticator for the client <strong>and</strong> a client<br />

for the real authenticator.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 131


Proceedings of ICCNS 08 , 27-28 September 2008<br />

2- Sessi<strong>on</strong> Hijacking: A hacker waits until a valid user<br />

authenticates himself, then he pretends to be this user<br />

<strong>and</strong> blocks the valid user traffic.<br />

Here is a list of the most comm<strong>on</strong> EAP implementati<strong>on</strong>s<br />

with known vulnerabilities:<br />

EAP-MD5, Message Digest 5 (or CHAP Protocol)<br />

(RFC1994): Vulnerable to a lot of attacks <strong>and</strong> did not<br />

support dynamic WEP keys. Only use this implementati<strong>on</strong><br />

in a small private network.<br />

EAP-TLS, Transport Layer <strong>Security</strong> (RFC2716): Open<br />

st<strong>and</strong>ard, using X.509 certificates complex architecture<br />

for servers <strong>and</strong> users. It relies <strong>on</strong> PKI <strong>and</strong> TLS. It allowed<br />

manipulati<strong>on</strong> of dynamic WEP keys. It resists to most<br />

802.1X attacks except Man-in-Middle <strong>and</strong> the user’s<br />

identity is revealed.<br />

EAP-TTLS, Tunnelled TLS: very similar to EAP-TLS.<br />

This protocol simplifies the PKI structure by using<br />

server’s Certificate <strong>on</strong>ly. It also protects the user’s<br />

identity.<br />

PEAP, Protected EAP: Very similar to EAP-TTLS.<br />

LEAP, Lightweight EAP: It is vulnerable to a lot of<br />

attacks like dicti<strong>on</strong>ary, man-in-middle <strong>and</strong> sessi<strong>on</strong><br />

hijacking (Cisco answer to dicti<strong>on</strong>ary attack by EAP-<br />

FAST1).<br />

B. Known weakness in PKI <strong>and</strong> TLS<br />

Newer wireless security st<strong>and</strong>ards offer much better security<br />

if set up <strong>and</strong> used properly. For example, IEEE 802.1x<br />

framework has been in fact used with authenticati<strong>on</strong> protocol<br />

(EAP methods). EAP allows system designers to use whatever<br />

manner of authenticati<strong>on</strong> they need to secure their system. For<br />

some, this may be a simple user-name-<strong>and</strong>-password<br />

combinati<strong>on</strong>. Others may need much more assurance of the<br />

identity of the actors <strong>on</strong> the networks; bidirecti<strong>on</strong>al certificatebased<br />

authenticati<strong>on</strong> is an opti<strong>on</strong> <strong>and</strong> a key method for<br />

creating secure wireless networks. With both the client<br />

verifying the identity of the access point <strong>and</strong> the access point<br />

verifying the client, attackers have difficulty pretending to be<br />

legitimate actors in the network. When a str<strong>on</strong>g-enough<br />

signature algorithm <strong>and</strong> key length are used, attackers find it<br />

almost impossible to impers<strong>on</strong>ate a legitimate device,<br />

assuming the software that implements the certificate checking<br />

is properly coded.<br />

The drawback of this bidirecti<strong>on</strong>al certificate-based<br />

authenticati<strong>on</strong> architecture is the difficulty of assembling <strong>and</strong><br />

maintaining it. Clients <strong>and</strong> access points must have software<br />

that underst<strong>and</strong>s low to perform certificate-based<br />

authenticati<strong>on</strong>.<br />

In theory, eavesdropping <strong>and</strong> the Man-In-The-Middle<br />

(MITM) attacks against UAM would not be possible [15]. The<br />

web-based authenticati<strong>on</strong> use HTTPS. HTTPS employs a<br />

certificate to authenticate the Web server to the client’s<br />

browser. Browsers typically come prec<strong>on</strong>figured with public<br />

keys of major certifying authorities (CAs, e.g., Verisign). Such<br />

keys enable browsers to authenticate certificates issued by<br />

those CAs, thwarting MITM attacks. After server<br />

authenticati<strong>on</strong>, HTTPS can use str<strong>on</strong>g algorithms for<br />

authenticating <strong>and</strong> encrypting data packets sent between client<br />

<strong>and</strong> server.<br />

However, the current state of public-key infrastructure<br />

(PKI) deployment is such that browsers frequently encounter<br />

certificates that they cannot verify. In such circumstances,<br />

browsers typically display a warning to the user, asking if the<br />

user wants to c<strong>on</strong>tinue anyway. By giving users this override<br />

ability, browsers enable MITM attacks, despite HTTPS.<br />

Certificate verificati<strong>on</strong> can fail for a variety of reas<strong>on</strong>s<br />

[14,15]. First, the browser may not know the public key of the<br />

CA that issued a server’s certificate. If the accessed server is<br />

intended <strong>on</strong>ly for members of the organizati<strong>on</strong> that owns the<br />

server, this failure is very comm<strong>on</strong> <strong>and</strong> not indicative of an<br />

attack: many organizati<strong>on</strong>s have private CAs that issue<br />

certificates for internal servers. Such certificates are easier <strong>and</strong><br />

less costly to obtain than are those issued by major CAs, but<br />

they require the public key of the private CA to be installed in<br />

all clients – a chore that is often neglected. On the other h<strong>and</strong>,<br />

for servers open to the public, this type of failure could very<br />

well be result of a MITM attack. Sec<strong>on</strong>d, the certificate may<br />

have expired. This failure may result from inattenti<strong>on</strong> <strong>and</strong> is<br />

not suggestive of a MITM attack. Third, the certificate may be<br />

for a server whose name differs from that which the user<br />

wishes to visit. Discrepancies at the sub domain level may<br />

result from simple server reorganizati<strong>on</strong>, <strong>and</strong> not an attack. On<br />

the other h<strong>and</strong>, if the domains differ, the possibility of a<br />

MITM attack is high.<br />

V. PROBLEMS AND POSSIBLE SOLUTIONS<br />

Mitigating these problems is clearly difficult. First <strong>and</strong><br />

foremost the 802.11 protocol is designed to make layer-2<br />

transiti<strong>on</strong>s transparent to the user. While such transparency is<br />

great from a usability perspective, it is terrible from a security<br />

perspective [1]. To avoid attacks the core protocol must be<br />

violated, a preexisting trust relati<strong>on</strong>ship must exist in the form<br />

of bidirecti<strong>on</strong>al certificate-based authenticati<strong>on</strong>; otherwise,<br />

security software (such as a wireless intrusi<strong>on</strong> detecti<strong>on</strong><br />

system) must be added after the fact.<br />

N<strong>on</strong>e of these soluti<strong>on</strong>s is particularly useful in normal<br />

hotspot envir<strong>on</strong>ments. Worse, even most of the educated users<br />

too do not know if something malicious is happening <strong>on</strong> the<br />

network without using specialized wireless security software.<br />

Users have been educated over the years that when using a<br />

secure socket layer protected Web site they must look at the<br />

URL to ensure they are at the right site <strong>and</strong> “look for the lock”<br />

to ensure the traffic is protected. There is no analog for this<br />

activity <strong>on</strong> wireless networks. The network name is the same<br />

whether it is the legitimate network or a rogue; moreover, the<br />

user has no visual cue to look for.<br />

Applicati<strong>on</strong>s are unaware of the network envir<strong>on</strong>ment in<br />

which they run. An instant messaging client or Web browser<br />

has no way of knowing if the computer it is running <strong>on</strong> it is<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 132


Proceedings of ICCNS 08 , 27-28 September 2008<br />

within a c<strong>on</strong>trolled area with a wired network or if it is a<br />

coffee shop with a r<strong>and</strong>om wireless network. Attackers who<br />

subvert the wireless c<strong>on</strong>necti<strong>on</strong> will then probably try to<br />

subvert applicati<strong>on</strong>s running <strong>on</strong> the client system. Ideally, the<br />

applicati<strong>on</strong>s are able to recognize differing threat<br />

envir<strong>on</strong>ments <strong>and</strong> rec<strong>on</strong>figure themselves accordingly.<br />

C<strong>on</strong>venti<strong>on</strong>al wisdom with secure software architectures do<br />

not account for these situati<strong>on</strong>s.<br />

VI. CONCLUSION<br />

The characteristic hotspot ability to be easily available <strong>and</strong><br />

easy to use for all prospective customers sets tight restricti<strong>on</strong>s<br />

<strong>on</strong> security mechanisms to be adopted. In this paper we made a<br />

security analysis of user authenticati<strong>on</strong> <strong>and</strong> access c<strong>on</strong>trol<br />

methods for hotspot WLAN. The main focus has been put <strong>on</strong><br />

Universal Access Method, IEEE 802.1x. The role of smart<br />

client in the c<strong>on</strong>text of UAM is discussed.<br />

The analysis shows n<strong>on</strong>e of the existing <strong>and</strong> proposed<br />

authenticati<strong>on</strong> mechanisms for WLANs cover the requirements<br />

that are induced through the openness of hotspot networks, the<br />

dem<strong>and</strong>ed interoperability <strong>and</strong> roaming features between them.<br />

Some mechanism such as UAM <strong>and</strong> 802.1x offer mutual<br />

authenticati<strong>on</strong>, but the implementati<strong>on</strong>s lack usability for<br />

public deployment (SSL certificates have to be checked<br />

manually) or have other severe security issues such as putting<br />

authenticator in an insecure place or unauthorized usage of<br />

resources with stolen devices (WISPr with automatic<br />

authenticati<strong>on</strong>). Thus, there is a need to develop a security<br />

soluti<strong>on</strong> that can provide necessary functi<strong>on</strong>s in a hotspot<br />

while at the same time providing the expected security.<br />

[12] J<strong>on</strong> Edney, <strong>and</strong> William A. Arbaugh, “ Real 802.11 <strong>Security</strong> WiFi<br />

Protected Access <strong>and</strong> 802.11i”, copyright 2004 by Pears<strong>on</strong> Educati<strong>on</strong>,<br />

Inc.<br />

[13] Mishra <strong>and</strong> Arbaugh, “An Initial <strong>Security</strong> Analysis of the IEEE 802.1X<br />

St<strong>and</strong>ard”, University of Maryl<strong>and</strong>;<br />

http://www.cs.umd.edu/~waa/1x.pdf.<br />

[14] Haid<strong>on</strong>g Xia, Jos´e Carlos Brustol<strong>on</strong>i," Improving the Usability of Web<br />

Browser <strong>Security</strong>"<br />

[15] Haid<strong>on</strong>g Xia, Jos´e Carlos Brustol<strong>on</strong>i,”Hardening Web Browsers<br />

Against ManintheMiddle <strong>and</strong> Eavesdropping Attacks” 802.1x-Port<br />

Based Network Access C<strong>on</strong>trol, http://www.ieee<br />

802.org/1/pages/802.1x.html,1998, last accessed, July 1, 2004.<br />

[16] William A. Arbaugh, Narendar Shankar, “Your 802.11 Wireless<br />

Network has No Clothes”, University of Maryl<strong>and</strong>, march 2001.<br />

REFERENCES<br />

[1] Bruce Potter, “Wireless Hotspots: Petri Dish of Wireless <strong>Security</strong>”,<br />

Communicati<strong>on</strong>s of the CAM June 2006/Vol. 49, No. 6, P-51.<br />

[2] H. Wang, A. R. Prasad, P. Schoo, K. M. Bayarou, S. Rohr, “<strong>Security</strong><br />

Mechanisms <strong>and</strong> <strong>Security</strong> Analysis: Hotspot WLAN <strong>and</strong> Inter-Operator<br />

Roaming”<br />

[3] B. Ant<strong>on</strong>, B. Bullock, <strong>and</strong> J. Short, “Best Current Practices for Wireless<br />

Internet Service Provider (WISP) Roaming, “ Best Practices Document,<br />

Wireless Ethernet Compatibility Alliance (WECA), Wireless ISP<br />

Roaming (WISPr) initiative, Mar. 2002.<br />

[4] Hardj<strong>on</strong>o, Thomas. <strong>Security</strong> in Wireless LANs <strong>and</strong> MANs. Norwood,<br />

MA, USA : Artech House, Incorporated, 2005.<br />

[5] Haid<strong>on</strong>g Xia, Jos´e Carlos Brustol<strong>on</strong>i,”Detecting <strong>and</strong> Blocking<br />

Unauthorized Access in WiFi <strong>Networks</strong>”<br />

[6] Philippe Bouvier, “Wireless Lan <strong>Security</strong>”, Thales <strong>Security</strong> Systems,<br />

November 2003.<br />

[7] C. Rigney, W. Willats, <strong>and</strong> P. Calhoun, “RADIUS Extensi<strong>on</strong>s.” RFC<br />

2869, June 2000.<br />

[8] Bhagyavati, Wayne C. Summers, Anth<strong>on</strong>y DeJoie, “Wireless <strong>Security</strong><br />

Techniques: An Overview”, InfoSecCD c<strong>on</strong>ference ’04, September<br />

2004, Kennesaw, GA, USA.<br />

[9] Jyh-Chang, <strong>and</strong> Yu-Ping Wang, “Extensible Authenticati<strong>on</strong> Protocol<br />

(EAP) <strong>and</strong> IEEE 802.1x: Tutorial <strong>and</strong> Empirical Experience”, IEEE<br />

Radio Communicati<strong>on</strong>, December 2005.<br />

[10] L. Blunk <strong>and</strong> J. Vollbrecht, “PPP Extensible Authenticati<strong>on</strong> Protocol<br />

(EAP).” RFC 2284, Mar. 1998.<br />

[11] C. Rigney, S.Willens, A. Rubens, <strong>and</strong>W. Simps<strong>on</strong>, “Remote<br />

Authenticati<strong>on</strong> Dial In User Service RADIUS).” RFC 2865, June 2000.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 133


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Aut<strong>on</strong>omic System Manager<br />

First A: Karuna C. Gull, Sec<strong>on</strong>d B: Prof. R. M. Jogd<strong>and</strong><br />

Abstract--Aut<strong>on</strong>omic computing is about shifting the burden of<br />

managing systems from people to technologies.<br />

The architecture of Aut<strong>on</strong>omous Computing System reinforces that<br />

self-management uses intelligent c<strong>on</strong>trol loop implementati<strong>on</strong>s to<br />

m<strong>on</strong>itor, analyze, plan <strong>and</strong> execute leveraging knowledge of the<br />

envir<strong>on</strong>ment. These c<strong>on</strong>trol loops can be embedded in resource run-time<br />

envir<strong>on</strong>ments in the form of self-managing resources or delivered in<br />

management tools. The c<strong>on</strong>trol loops collaborate using an enterprise<br />

service bus that integrates the remaining four architectural building<br />

blocks: aut<strong>on</strong>omic managers, manual managers, manageability endpoints<br />

<strong>and</strong> knowledge sources.<br />

Aut<strong>on</strong>omic managers <strong>and</strong> manual managers communicate with<br />

managed resources through the manageability interface, in the form of a<br />

manageability endpoint, using sensor <strong>and</strong> effector interfaces.<br />

The project is aiming to develop an Intelligent C<strong>on</strong>trol Loop in<br />

Aut<strong>on</strong>omic Manager-which has Self-healing attribute-that automates<br />

these functi<strong>on</strong>s-The M<strong>on</strong>itor, The Analyze, The Plan <strong>and</strong> The Execute.<br />

To form Intelligent C<strong>on</strong>trol Loop following functi<strong>on</strong>s must be<br />

automated:<br />

The M<strong>on</strong>itor collects, aggregates, filters <strong>and</strong> reports details (the log<br />

file) collected from managed resource (Applicati<strong>on</strong> in this case).<br />

The Analyse correlates <strong>and</strong> models complex situati<strong>on</strong>s. Helps the<br />

aut<strong>on</strong>omic manager to learn about the IT envir<strong>on</strong>ment <strong>and</strong> helps to<br />

predict future situati<strong>on</strong>s<br />

The Plan c<strong>on</strong>structs the acti<strong>on</strong> needed to achieve goals <strong>and</strong><br />

objectives. Uses policy informati<strong>on</strong> to guide its work. If suitable acti<strong>on</strong>s<br />

are not available in policy informati<strong>on</strong>, then present those queries to a<br />

manual manager (IT professi<strong>on</strong>al) through SMS or E-mail for evaluati<strong>on</strong>.<br />

Now generates recommended changes to the IT system (Applicati<strong>on</strong> in<br />

this case).<br />

The Execute changes the behavior of the managed<br />

resource(Applicati<strong>on</strong> in this case) using effectors based <strong>on</strong> the acti<strong>on</strong>s<br />

recommended by the plan functi<strong>on</strong>s.<br />

Keywords-- GSM (Global System for Mobile Communicati<strong>on</strong>s), IT<br />

(Informati<strong>on</strong> Technology), SLA(Service Level Agreements), SMS(Short<br />

message service),<br />

I. INTRODUCTION<br />

What is Aut<strong>on</strong>omic Computing<br />

The term aut<strong>on</strong>omic is derived from human biology. The<br />

aut<strong>on</strong>omic nervous system m<strong>on</strong>itors your heartbeat, checks<br />

your blood sugar level <strong>and</strong> keeps your body temperature close<br />

to 98.6°F, without any c<strong>on</strong>scious effort <strong>on</strong> your part. In much<br />

the same way, aut<strong>on</strong>omic computing comp<strong>on</strong>ents anticipate<br />

computer system needs <strong>and</strong> resolve problems -with minimal<br />

human interventi<strong>on</strong>. However, there is an important distincti<strong>on</strong><br />

between aut<strong>on</strong>omic activity in the human body <strong>and</strong> aut<strong>on</strong>omic<br />

resp<strong>on</strong>ses in computer systems. Many of the decisi<strong>on</strong>s made<br />

by aut<strong>on</strong>omic elements in the body are involuntary, whereas<br />

aut<strong>on</strong>omic elements in computer systems make decisi<strong>on</strong>s<br />

based <strong>on</strong> tasks you choose to delegate to the technology. In<br />

other words, adaptable policy—rather than rigid hard<br />

coding—determines the types of decisi<strong>on</strong>s <strong>and</strong> acti<strong>on</strong>s<br />

aut<strong>on</strong>omic elements make in computer systems.<br />

F.A. Author is studying in IV Semester M.Tech. (CSE) in Gogte Institute<br />

of Technology, Belgaum, Karnataka, India. (E-mail : karuna_gull@sify.com,<br />

Cell : +919902897445)<br />

S.B. Author is working as Assistant Professor, Department of <strong>Computer</strong><br />

Science <strong>and</strong> Engg., G I T, Belgaum, Karnataka, India. (Cell: +919964084413,<br />

E-mail : sojwal25@rediffmail.com)<br />

Self-management attributes of system comp<strong>on</strong>ents<br />

Aut<strong>on</strong>omic computing was c<strong>on</strong>ceived as a way to help reduce<br />

the cost <strong>and</strong> complexity of owning <strong>and</strong> operating an IT<br />

infrastructure. In an aut<strong>on</strong>omic envir<strong>on</strong>ment, system<br />

comp<strong>on</strong>ents—from hardware such as desktop computers <strong>and</strong><br />

mainframes to software such as operating systems <strong>and</strong><br />

business applicati<strong>on</strong>s-are self-c<strong>on</strong>figuring, self-healing, selfoptimizing<br />

<strong>and</strong> self-protecting.<br />

These self-managing attributes are defined as follows:<br />

Self-c<strong>on</strong>figuring-To adapt automatically to the dynamically<br />

changing envir<strong>on</strong>ments.<br />

Self-c<strong>on</strong>figuring comp<strong>on</strong>ents adapt dynamically to<br />

changes in the IT system, using policies provided by the IT<br />

professi<strong>on</strong>al. Such changes could include the deployment of<br />

new comp<strong>on</strong>ents or the removal of existing <strong>on</strong>es, or a dramatic<br />

increase or decrease in the workload. Dynamic adaptati<strong>on</strong><br />

helps ensure c<strong>on</strong>tinuous strength <strong>and</strong> productivity of the IT<br />

infrastructure, to help ensure business growth <strong>and</strong> flexibility.<br />

Self-healing-To discover, diagnose <strong>and</strong> react to disrupti<strong>on</strong>s.<br />

Self-healing comp<strong>on</strong>ents can detect system malfuncti<strong>on</strong>s<br />

<strong>and</strong> initiate policy based corrective acti<strong>on</strong> without disrupting<br />

the IT envir<strong>on</strong>ment. Corrective acti<strong>on</strong> could involve a product<br />

altering its own state or effecting changes in other comp<strong>on</strong>ents<br />

in the envir<strong>on</strong>ment. The IT system as a whole becomes more<br />

resilient since the day-to-day operati<strong>on</strong>s are less likely to fail.<br />

Self-optimizing-To m<strong>on</strong>itor <strong>and</strong> tune resources automatically.<br />

Self-optimizing comp<strong>on</strong>ents are able to tune themselves to<br />

meet end-user or business needs. The tuning acti<strong>on</strong>s could mean<br />

reallocating resources to improve overall utilizati<strong>on</strong> or to<br />

ensure that particular business transacti<strong>on</strong>s can be completed<br />

in a timely fashi<strong>on</strong>. This includes adapting to dynamically<br />

changing workloads. Self-optimizati<strong>on</strong> helps provide a high<br />

st<strong>and</strong>ard of service for both the system’s end users <strong>and</strong> their<br />

customers.<br />

Self-protecting-To anticipate, detect, identify <strong>and</strong> protect<br />

against attacks from anywhere.<br />

Self-protecting comp<strong>on</strong>ents can detect hostile behaviors as<br />

they occur <strong>and</strong> take corrective acti<strong>on</strong>s to make themselves less<br />

vulnerable. The hostile behaviors can include unauthorized<br />

access <strong>and</strong> use, virus infecti<strong>on</strong> <strong>and</strong> proliferati<strong>on</strong>, <strong>and</strong> denialof-service<br />

attacks. Self-protecting capabilities allow businesses<br />

to c<strong>on</strong>sistently enforce security <strong>and</strong> privacy policies.<br />

Customer Value<br />

Ideally, the IT business operates through a collecti<strong>on</strong> of<br />

best practices <strong>and</strong> processes. The Fig.1 shows an example of a<br />

typical process flow for incident management, problem management<br />

<strong>and</strong> change management. The actual mechanics of<br />

how these flows are implemented in a particular IT organizati<strong>on</strong><br />

varies but the functi<strong>on</strong>ality remains the same.<br />

The efficiency <strong>and</strong> effectiveness of these processes are<br />

measured using metrics such as elapsed time to complete a<br />

process, percentage executed correctly, <strong>and</strong> people <strong>and</strong> mate-<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 134


Proceedings of ICCNS 08 , 27-28 September 2008<br />

rial cost to execute a process. Aut<strong>on</strong>omic systems can positively<br />

affect these types of metrics, improving resp<strong>on</strong>siveness,<br />

reducing “Total Cost of Ownership TCO” <strong>and</strong> enhancing time<br />

to value through:<br />

Quick process initiati<strong>on</strong>-Typically, implementing these<br />

processes requires an IT professi<strong>on</strong>al to initiate the process,<br />

create the request for change, spend time collecting incident<br />

detail <strong>and</strong> open a problem record. In a self-managing system,<br />

comp<strong>on</strong>ents can initiate the processes based <strong>on</strong> informati<strong>on</strong><br />

derived directly from the system. This helps reduce the<br />

manual labor <strong>and</strong> time required to resp<strong>on</strong>d to critical situati<strong>on</strong>s,<br />

resulting in two immediate benefits: more timely initiati<strong>on</strong><br />

of the process <strong>and</strong> more accurate data from the system.<br />

Reduced time <strong>and</strong> skill requirements-There are tasks or<br />

activities in these processes that usually st<strong>and</strong> out as skills-intensive,<br />

l<strong>on</strong>g lasting <strong>and</strong> difficult to complete correctly, because<br />

of system complexity. In a change management process,<br />

such an activity is the” change impact analysis task.”And, in<br />

problem management, such an activity is problem diagnosis.<br />

In self-managing systems, resources are built so that the expertise<br />

required to perform these tasks can be encoded or automated<br />

into the system. This helps reduce the amount of time<br />

<strong>and</strong> degree of skill needed to perform these tedious tasks, since<br />

the tasks can be performed by technology rather than people.<br />

Fig.1 Typical IT Processes can be presented as<br />

aut<strong>on</strong>omic c<strong>on</strong>trol loops<br />

Architecture of Aut<strong>on</strong>omic Computing System<br />

The building blocks of reference architecture are the architectural<br />

representati<strong>on</strong>s of the comp<strong>on</strong>ents in an aut<strong>on</strong>omic<br />

system <strong>and</strong> they work together to provide self-managing capabilities.<br />

One such compositi<strong>on</strong> is illustrated in Fig.2<br />

Fig.2 Aut<strong>on</strong>omic computing reference architecture<br />

Managed Resource is an Entity that exists in the run-time<br />

envir<strong>on</strong>ment of an IT System <strong>and</strong> that can be managed.<br />

Example: Server, Storage Unit, Database, Applicati<strong>on</strong> etc.<br />

Manageability Endpoints or Touch Points implements<br />

the manageability Interface for a specific managed resource or<br />

set of related managed resource. The manageability Interface<br />

for m<strong>on</strong>itoring <strong>and</strong> c<strong>on</strong>trolling a managed resource is<br />

organized into its sensor-used to obtain data from the<br />

resource-<strong>and</strong> effector–used to perform operati<strong>on</strong>s <strong>on</strong> the<br />

resource. Example: Web Services Distributed Management is<br />

<strong>on</strong>e st<strong>and</strong>ard manageability interface.<br />

Aut<strong>on</strong>omic Manager implements an Intelligent C<strong>on</strong>trol<br />

Loop. To form Intelligent C<strong>on</strong>trol Loop the functi<strong>on</strong>s The<br />

M<strong>on</strong>itor, The Analyze, The Plan <strong>and</strong> The Execute must be automated.<br />

The M<strong>on</strong>itor collects, Aggregates, filters <strong>and</strong> reports<br />

details that were collected from managed resource.<br />

The Analyze correlates <strong>and</strong> model complex situati<strong>on</strong>s.<br />

Helps the aut<strong>on</strong>omic manager to learn about the IT envir<strong>on</strong>ment<br />

<strong>and</strong> helps predict future situati<strong>on</strong>s. Example: Time Series<br />

forecasting <strong>and</strong> Queuing model<br />

The Plan c<strong>on</strong>structs the acti<strong>on</strong> needed to achieve goals <strong>and</strong><br />

objectives. Uses policy informati<strong>on</strong> to guide its work.<br />

The Execute changes the behavior of the managed resource<br />

using effectors based <strong>on</strong> the acti<strong>on</strong>s recommended by the<br />

plan functi<strong>on</strong>s.<br />

Different Aut<strong>on</strong>omic Managers<br />

Touch Point Aut<strong>on</strong>omic Manager is a single Touch point<br />

manager acting in isolati<strong>on</strong> can achieve aut<strong>on</strong>omic behavior<br />

<strong>on</strong>ly for the resources that it manages.<br />

Orchestrating Aut<strong>on</strong>omic Manager is an Aut<strong>on</strong>omic<br />

Manager that works with other Aut<strong>on</strong>omic Manages to<br />

provide coordinati<strong>on</strong> functi<strong>on</strong>s to deliver system wide AC<br />

behavior. There are two C<strong>on</strong>figurati<strong>on</strong>s in this case<br />

1.Orchestrating within a discipline coordinates multiple<br />

touch point mangers of the same type.<br />

2.Orchestrating across disciplines coordinates multiple<br />

touch point mangers that are a mixture of self-c<strong>on</strong>figuring,<br />

self-healing, self-optimizing <strong>and</strong> self-protecting.<br />

Knowledge Source is a st<strong>and</strong>ard data shared am<strong>on</strong>g the<br />

M<strong>on</strong>itor, Analyze, Plan <strong>and</strong> Execute functi<strong>on</strong>s of Aut<strong>on</strong>omic<br />

Manager such as Symptoms <strong>and</strong> policies.<br />

Enter Prize Bus is used to c<strong>on</strong>nect various Aut<strong>on</strong>omic<br />

Computing building blocks.<br />

This project is aiming to implement An Aut<strong>on</strong>omic Manager<br />

that automates some management functi<strong>on</strong> <strong>and</strong> externalizes<br />

this functi<strong>on</strong> according to the behavior defined by management<br />

interfaces. The aut<strong>on</strong>omic manager is a comp<strong>on</strong>ent that<br />

implements an intelligent c<strong>on</strong>trol loop. For a system comp<strong>on</strong>ent<br />

to be self-managing, it must have an automated method<br />

to collect the details it needs from the system; to analyze those<br />

details to determine if something needs to change; to create a<br />

plan, or sequence of acti<strong>on</strong>s, that specifies the necessary<br />

changes; <strong>and</strong> to perform those acti<strong>on</strong>s. When these functi<strong>on</strong>s<br />

can be automated, an intelligent c<strong>on</strong>trol loop is formed.<br />

As illustrated in Fig.3, an aut<strong>on</strong>omic manager is capable of<br />

automating the m<strong>on</strong>itor, analyze, plan, <strong>and</strong> execute parts of the<br />

loop, IT professi<strong>on</strong>als might delegate <strong>on</strong>ly porti<strong>on</strong>s of the<br />

potential automated functi<strong>on</strong>s to the aut<strong>on</strong>omic manager. In<br />

Fig.3, four profiles (m<strong>on</strong>itoring, analyzing, planning, <strong>and</strong> exe-<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 135


Proceedings of ICCNS 08 , 27-28 September 2008<br />

cuting) are shown. An administrator might delegate <strong>on</strong>ly the<br />

m<strong>on</strong>itoring functi<strong>on</strong> to the aut<strong>on</strong>omic manager, choosing to<br />

have the aut<strong>on</strong>omic manager provide data <strong>and</strong> recommended<br />

acti<strong>on</strong>s that the administrator can process. As a result, the<br />

aut<strong>on</strong>omic manager would surface notificati<strong>on</strong>s to a comm<strong>on</strong><br />

c<strong>on</strong>sole for the situati<strong>on</strong>s that it recognizes, rather than<br />

automating the analysis, planning, <strong>and</strong> executi<strong>on</strong> functi<strong>on</strong>s<br />

associated with those acti<strong>on</strong>s. Other delegati<strong>on</strong> choices could<br />

allow additi<strong>on</strong>al parts of the c<strong>on</strong>trol loop to be automated.<br />

Fig.3 Functi<strong>on</strong>al details of an Aut<strong>on</strong>omic Manager<br />

II. VARIOUS TRANSFORMATION LEVELS OF AUTONOMIC<br />

COMPUTING<br />

An IT deployment model that defines each progressive<br />

level of aut<strong>on</strong>omic maturity. The following list prescribe the<br />

five levels of transformati<strong>on</strong> toward achieving a refined state<br />

of Aut<strong>on</strong>omic Computing, which is required in every <strong>on</strong><br />

dem<strong>and</strong> Operating Envir<strong>on</strong>ment. These levels are as follows:<br />

Level 1: Basic-The starting point where most systems are<br />

today, this level represents manual computing, in which all<br />

system elements are managed independently by an extensive,<br />

highly skilled IT staff.<br />

The staff sets up, m<strong>on</strong>itors, <strong>and</strong> eventually replaces system<br />

elements.<br />

Level 2: Managed-Systems management technologies can<br />

be used to collect <strong>and</strong> c<strong>on</strong>solidate informati<strong>on</strong> from disparate<br />

systems <strong>on</strong>to fewer c<strong>on</strong>soles, reducing administrative time.<br />

There is greater system awareness <strong>and</strong> improved productivity.<br />

Level 3: Predictive-The system m<strong>on</strong>itors <strong>and</strong> correlates<br />

data to recognize patterns <strong>and</strong> recommends acti<strong>on</strong>s that are<br />

approved <strong>and</strong> initiated by the IT staff.<br />

This reduces the dependency <strong>on</strong> deep skills <strong>and</strong> enables<br />

faster <strong>and</strong> better decisi<strong>on</strong>-making.<br />

Level 4: Adaptive-In additi<strong>on</strong> to m<strong>on</strong>itoring <strong>and</strong> correlating<br />

data, the system takes acti<strong>on</strong> based <strong>on</strong> the informati<strong>on</strong>.<br />

This can be mapped to SLAs, thereby enhancing IT agility<br />

<strong>and</strong> resiliency with minimal human interacti<strong>on</strong> while insuring<br />

that the SLAs are met.<br />

Level 5: Aut<strong>on</strong>omic-Fully integrated systems <strong>and</strong> comp<strong>on</strong>ents<br />

are dynamically managed by business rules <strong>and</strong> policies,<br />

enabling IT staff to focus <strong>on</strong> meeting business needs with true<br />

business agility <strong>and</strong> resiliency.<br />

The need is to define, st<strong>and</strong>ardize, <strong>and</strong> integrate an Industry-wide<br />

approach to problem determinati<strong>on</strong> to achieve selfhealing<br />

in multi-comp<strong>on</strong>ent envir<strong>on</strong>ments. This will always<br />

c<strong>on</strong>sist of a st<strong>and</strong>ards-based approach to data capture, analysis,<br />

<strong>and</strong> remediati<strong>on</strong> to realize the self-healing aspects, <strong>and</strong><br />

would practically be achieved by a phased approach, over<br />

time, represented by incremental levels of increasing aut<strong>on</strong>omic<br />

maturity.<br />

The first step is to get the right data from the system, in a<br />

c<strong>on</strong>sistent, st<strong>and</strong>ards-based format. The next step c<strong>on</strong>sists of<br />

putting a set of symptoms <strong>and</strong> corresp<strong>on</strong>ding acti<strong>on</strong>able causes<br />

in a c<strong>on</strong>sistent format, <strong>and</strong> building tools that can correlate<br />

the data to match against a cross-product, st<strong>and</strong>ards-based problem/symptom<br />

database: in other words, aut<strong>on</strong>omic event correlati<strong>on</strong>.<br />

We ultimately want to automate fixing defects by being<br />

able to automate the provisi<strong>on</strong>ing of an applicati<strong>on</strong> with<br />

st<strong>and</strong>ardized fixes (or temporary workarounds) based <strong>on</strong> the<br />

business policies that govern each applicati<strong>on</strong>.<br />

While we evolve IT infrastructures toward self-healing,<br />

there are many benefits that can be realized <strong>and</strong> are already<br />

having an impact. Here are two examples: First, the comm<strong>on</strong><br />

format for log entries, submitted as a st<strong>and</strong>ard, is dramatically<br />

reducing training time for administrators <strong>and</strong> providing a<br />

c<strong>on</strong>sistent format to evaluate multiple logs together. Sec<strong>on</strong>d,<br />

automated correlati<strong>on</strong> engines are reducing manual analysis by<br />

providing a programmatic method to correlate the logs that are<br />

adapted to the comm<strong>on</strong> format. Fig.4 Shows the aut<strong>on</strong>omic<br />

model.<br />

Fig.4 The various levels involved in creating selfhealing<br />

systems.<br />

For an IT professi<strong>on</strong>al to be willing to delegate management<br />

tasks to the system, he or she must have a high degree of<br />

trust in the aut<strong>on</strong>omic management functi<strong>on</strong>s. Moving toward<br />

higher degrees of aut<strong>on</strong>omic maturity is an evoluti<strong>on</strong>ary<br />

process. One phase of this process involves management<br />

functi<strong>on</strong>s that can m<strong>on</strong>itor the IT system for situati<strong>on</strong>s of<br />

interest, perform analysis of those situati<strong>on</strong>s, generate<br />

recommended changes to the IT system <strong>and</strong> present those<br />

changes to a manual manager (IT professi<strong>on</strong>al) for evaluati<strong>on</strong>.<br />

This phase is an important <strong>on</strong>e, as it enables the IT<br />

professi<strong>on</strong>al to build trust in the aut<strong>on</strong>omic management<br />

functi<strong>on</strong>s – that is, if the aut<strong>on</strong>omic manager c<strong>on</strong>sistently<br />

recommends acti<strong>on</strong>s that the IT professi<strong>on</strong>al routinely<br />

performs, then the IT professi<strong>on</strong>al is likely to become willing<br />

to automate those acti<strong>on</strong>s by delegating the corresp<strong>on</strong>ding<br />

tasks to the aut<strong>on</strong>omic manager.<br />

III. DESIGN AND IMPLEMENTATION<br />

The approach of the author of this paper is shown in Fig.5<br />

Step-wise proceedings towards the author’s approach.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 136


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Module 1:This module is designed for logging into the<br />

Aut<strong>on</strong>omic System Manager.<br />

Step1:System User enters username <strong>and</strong> password.<br />

Fig.5 Block Diagram of Aut<strong>on</strong>omic System Manager-<br />

Author’s Approach<br />

Step2:Verificati<strong>on</strong> of username <strong>and</strong> password to be valid, is<br />

carried with Login table.<br />

Step3:If valid jumps to Module 2. Else Allows login settings<br />

for new user.<br />

Module2:C<strong>on</strong>tains design issues of System settings, Administrator’s<br />

settings, Adding symptom catalog to knowledge<br />

source <strong>and</strong> Path of the log file.<br />

Step1:Aut<strong>on</strong>omic System Manager is rec<strong>on</strong>figured to get the<br />

POP3 facilities from the particular server for mail exchanges<br />

(Ex: G-mail POP3 service).<br />

Step2:Aut<strong>on</strong>omic System Manager can change the Administrator<br />

settings like cell number or e-mail id for corresp<strong>on</strong>dence.<br />

Step3:Aut<strong>on</strong>omic System Manager can change the Customer<br />

settings like cell number or e-mail id for corresp<strong>on</strong>dence.<br />

Step4:To increase the knowledge of the Aut<strong>on</strong>omic System<br />

Manager, this provides an user interface to add/delete the knowledge<br />

to the symptom catalog.<br />

Step5:This step is used to enter into the Aut<strong>on</strong>omic System<br />

Manager.<br />

The following modules are used to implement the actual<br />

Intelligent C<strong>on</strong>trol Loop.<br />

Module 3:Designed for m<strong>on</strong>itoring to capture data. i.e. To<br />

get the particular log file from Applicati<strong>on</strong>.<br />

Step1:Enter the path of the log file.<br />

Step2:Reads every line of log file, c<strong>on</strong>verts it into author’s<br />

st<strong>and</strong>ard format <strong>and</strong> compares error message with database. If<br />

error message does not exist in the database then it generates<br />

new error code for that message <strong>and</strong> adds it to the database.<br />

Module 4:Designed for analyzing every line of c<strong>on</strong>verted<br />

log file with the help of symptom catalog.<br />

Step1:Reads each line of c<strong>on</strong>verted log file, error message is<br />

compared with database entry <strong>and</strong> extracts the error code <strong>and</strong><br />

acti<strong>on</strong> number of that error message.<br />

Step2:If acti<strong>on</strong> number is “0”, it jumps to Module 5. Else the<br />

acti<strong>on</strong> is directly sent to the customer through e-mail or SMS.<br />

Module 5:Designed for planning the acti<strong>on</strong>. After performing<br />

analysis of situati<strong>on</strong>s, generate recommended changes to the<br />

applicati<strong>on</strong> if available in knowledge source, else forward<br />

those analysis to the manual manager. (This phase is an<br />

important <strong>on</strong>e, as it enables the IT professi<strong>on</strong>al to build trust in<br />

the aut<strong>on</strong>omic management functi<strong>on</strong>s).<br />

Step1:It sends an e-mail to Manual manager requesting for the<br />

resp<strong>on</strong>se in said format “Send resp<strong>on</strong>se in double quotes with<br />

error code <strong>and</strong> acti<strong>on</strong> number separated by :” .<br />

Step2:It waits for three minutes for the resp<strong>on</strong>se from Manual<br />

manager.<br />

Step3:If System receives acti<strong>on</strong> for error, then sends that<br />

acti<strong>on</strong> to the customer through e-mail or SMS <strong>and</strong> jumps back<br />

to Module 4. Else jumps to Module 6.<br />

Module 6:Designed for sending the SMS using GSM<br />

modem or GSM enabled mobile.<br />

Step1:It sends SMS to Manual manager requesting for the resp<strong>on</strong>se<br />

in said format “Send resp<strong>on</strong>se within forward slashes,<br />

with error code <strong>and</strong> acti<strong>on</strong> number separated by : (col<strong>on</strong>)”.<br />

Step2:It waits for three minutes for the resp<strong>on</strong>se from Manual<br />

manager.<br />

Step3:If System receives acti<strong>on</strong> for error, then sends that acti<strong>on</strong><br />

to the applicati<strong>on</strong> or end user through e-mail or SMS <strong>and</strong><br />

jumps back to Module 4. Else sends acti<strong>on</strong> as “No Resp<strong>on</strong>se”<br />

to the end user <strong>and</strong> jumps to Module 4 until all the lines of the<br />

log file are addressed.<br />

Module 7:After reading all the lines of log file, this module<br />

is designed to get the new log file or to get the appended old<br />

log file.<br />

Step1:After completi<strong>on</strong> of that log file it has facility to read<br />

the new log file or the appended old log file.<br />

Step2:If new log file then start with first line of that file. Else<br />

begin with next line after the last line of the old log file.<br />

Step3:Jump back to Module 3.<br />

Algorithms used:<br />

1. Algorithm: Basic Steps: Sending Email over SMTP:<br />

Create a java.util.Properties object to pass informati<strong>on</strong> about<br />

the mail server, as the JavaMail API allows room for many<br />

settings.<br />

Load the Properties with at least the hostname of the SMTP<br />

mail server.<br />

Create a Sessi<strong>on</strong> object.<br />

Create a Message from the Sessi<strong>on</strong> object.<br />

Set the From, To, CC address, <strong>and</strong> Subject in the Message.<br />

Set the message text into the message body. Finally, use the<br />

static method Transport.send( ) to send the message<br />

2. Algorithm: Basic Steps: Reading Email Using Store:<br />

Get a Sessi<strong>on</strong> object using Sessi<strong>on</strong>. getDefaultInstance() <strong>and</strong><br />

pass System. getProperties() as the Properties argument.<br />

Get a Store from the Sessi<strong>on</strong> object.<br />

Get the root folder.<br />

If the root Folder can c<strong>on</strong>tain subfolders, list them.<br />

For each Folder that can c<strong>on</strong>tain messages, call getMessages(),<br />

which returns an array of Message objects.<br />

Display the headers <strong>and</strong> let the user select which message to<br />

view<br />

3. Algorithm to send SMS using GSM Modem is:<br />

In our code we need to write externally the Port Number in the<br />

program to which GSM is c<strong>on</strong>nected <strong>and</strong> we also set the<br />

properties of Modem in the program.<br />

The code also checks for the c<strong>on</strong>nectivity of GSM by giving<br />

the at comm<strong>and</strong> <strong>and</strong> waits, till it gets an resp<strong>on</strong>se from modem.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 137


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Modem will resp<strong>on</strong>se either by sending OK (for proper<br />

c<strong>on</strong>nectivity) or Error (for error in the c<strong>on</strong>nectivity).<br />

If we get OK signal from modem then it sends the recipient’s<br />

cell number to Modem.<br />

So<strong>on</strong> after sending a Cell number <strong>on</strong> COM Port, an <strong>on</strong>Comm<br />

event within code will automatically triggers itself to check<br />

the status of GSM Modem whether it is in a positi<strong>on</strong> to receive<br />

the message or not by accepting a Greater Than(>) sign or<br />

other character.<br />

If event receives a > sign then it is in a ready state to<br />

accept message to be sent.<br />

IV. RESULTS AND DISCUSSION<br />

Fig.6 through Fig.18 show snap shots of the various<br />

implemented modules.<br />

Module designed for logging into the Aut<strong>on</strong>omic System<br />

Manager.<br />

This is used to change the Customer settings like cell<br />

number or e-mail id for corresp<strong>on</strong>dence.<br />

Fig.10 For changing the settings of the customer<br />

Providing an user interface to add the to the enter symptom<br />

catalog.<br />

Fig.6 Verificati<strong>on</strong> of username <strong>and</strong> password to be valid<br />

C<strong>on</strong>tains design issues of System settings, Administrator’s<br />

settings, Customer settings, Adding symptom catalog to knowledge<br />

source <strong>and</strong> Path of the log file.<br />

Fig.11 Adding symptom catalog to the knowledge source<br />

Designed for m<strong>on</strong>itoring to capture data. i.e. To get the<br />

particular log file from Applicati<strong>on</strong> <strong>and</strong> for analyzing the<br />

every line of log file by assigning a unique error code for a<br />

new error generated.<br />

Fig.7 Main page to enter settings page.<br />

C<strong>on</strong>tains c<strong>on</strong>figurati<strong>on</strong> <strong>and</strong> setting issues regarding choosing<br />

of particular server for mail exchanges.<br />

Fig.12 Getting the log file of the applicati<strong>on</strong> by giving the<br />

path <strong>and</strong> submitting it for the analyzing<br />

Designed for planning the acti<strong>on</strong>. After performing<br />

analysis of situati<strong>on</strong>s, generates recommended changes to the<br />

applicati<strong>on</strong> if available in knowledge source, else forward<br />

those analysis to the manual manager. To interact with manual<br />

manager system may send e-mail or SMS.<br />

Designed for sending the e-mail using System Setting.<br />

Fig.8 For changing the settings of the system.<br />

This is used to change the Administrator settings like cell<br />

number or e-mail id for corresp<strong>on</strong>dence.<br />

Fig.13 Sending E-mail to the administrator for planning<br />

i.e. prior to taking an acti<strong>on</strong><br />

Designed for getting resp<strong>on</strong>se from Administrator through<br />

E-mail<br />

Fig.9 For changing the settings of the administrator<br />

Fig.14 Waiting for resp<strong>on</strong>se from the Administrator.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 138


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Designed for sending the SMS using GSM modem or<br />

GSM enabled mobile.<br />

Fig.15 Sending SMS to the administrator for planning i.e.<br />

prior to taking an acti<strong>on</strong><br />

Designed for getting resp<strong>on</strong>se from Administrator through<br />

SMS.<br />

Fig.16 Waiting for resp<strong>on</strong>se from the Administrator.<br />

Designed for sending the resp<strong>on</strong>se or acti<strong>on</strong> as E-mail or<br />

SMS to the customer.<br />

Fig.17 Sending an acti<strong>on</strong>/a resp<strong>on</strong>se as E-mail or SMS to the<br />

customer.<br />

After reading all the lines of log file, this module is designed<br />

to get the new log file or to get the appended old log file.<br />

Fig.18 Getting new or appended log file of applicati<strong>on</strong>.<br />

V. CONCLUSION<br />

Businesses-small, medium <strong>and</strong> large-want <strong>and</strong> need to<br />

reduce their IT costs, simplify the management of complex IT<br />

resources, realize a faster return <strong>on</strong> their IT investments, <strong>and</strong><br />

ensure the highest possible levels of system availability,<br />

performance, security <strong>and</strong> asset utilizati<strong>on</strong>.<br />

Aut<strong>on</strong>omic computing addresses these issues-not just<br />

through new technology but also through a fundamental,<br />

evoluti<strong>on</strong>ary shift in the way that IT systems are managed.<br />

Moreover, aut<strong>on</strong>omic computing can free IT staffs from<br />

detailed mundane tasks, allowing them to focus <strong>on</strong> managing<br />

business processes.<br />

Aut<strong>on</strong>omic computing can be accomplished through a<br />

combinati<strong>on</strong> of process changes, skills evoluti<strong>on</strong>, new technologies,<br />

architecture, <strong>and</strong> open industry st<strong>and</strong>ards.<br />

The <strong>on</strong> dem<strong>and</strong> business evoluti<strong>on</strong>, incorporating<br />

Aut<strong>on</strong>omic Computing, is not an overnight transformati<strong>on</strong> in<br />

which system-wide, self-managing envir<strong>on</strong>ments suddenly<br />

appear inside the infrastructure. Aut<strong>on</strong>omic Computing must<br />

be a gradual transformati<strong>on</strong> to deliver new technologies that<br />

are adopted <strong>and</strong> implemented at various stages <strong>and</strong> levels.<br />

Thus it is c<strong>on</strong>cluded that “the project developed here is a<br />

single touch point aut<strong>on</strong>omic manager -which has self healing<br />

attribute- acting in isolati<strong>on</strong> can achieve aut<strong>on</strong>omic behavior<br />

<strong>on</strong>ly for the resource (applicati<strong>on</strong> in this case) that it<br />

manages.”<br />

VI. FUTURE SCOPE<br />

The project can de extended to develop the following<br />

different kinds of c<strong>on</strong>trol loops, which may be automated to<br />

have an aut<strong>on</strong>omous effect.<br />

Self-C<strong>on</strong>figuring…To adapt dynamically to the changes-<br />

Deployment of new comp<strong>on</strong>ents or Removal of existing <strong>on</strong>esin<br />

the envir<strong>on</strong>ments using policies provided by the IT<br />

professi<strong>on</strong>als. Example: Installati<strong>on</strong> of Software when system<br />

detects that software is missing<br />

Self-Optimizing...To tune resources <strong>and</strong> balance workloads<br />

to maximize the use of IT resources. Example: By adjusting<br />

the current workload, when it observes an increase in capacity.<br />

Self-Protecting...To anticipate, detect, identify <strong>and</strong> protect<br />

against threats. Example: By taking resources offline if it<br />

detects an intrusi<strong>on</strong> attempt.<br />

The extensi<strong>on</strong> of this project may help to produce a system-wide<br />

aut<strong>on</strong>omic computing behavior in which the selfmanaging<br />

aut<strong>on</strong>omic capabilities delivered by touch point aut<strong>on</strong>omic<br />

managers need to be coordinated. Coordinati<strong>on</strong> are<br />

two types. First <strong>on</strong>e is coordinati<strong>on</strong> of multiple touch-point<br />

aut<strong>on</strong>omic managers of the same type (<strong>on</strong>e of self-c<strong>on</strong>figuring,<br />

self-healing, self-optimizing or self-protecting).<strong>and</strong> another<br />

<strong>on</strong>e is coordinati<strong>on</strong> of touch-point aut<strong>on</strong>omic managers that<br />

are a mixture of self-c<strong>on</strong>figuring, self-healing, self-optimizing<br />

<strong>and</strong> self-protecting. Thus, it is possible to have multiple c<strong>on</strong>trol<br />

loops managing the same resource. In general, a robust IT<br />

system can have thous<strong>and</strong>s of active c<strong>on</strong>trol loops at any point<br />

in time.<br />

VII. REFERENCES<br />

[1] An IBM White Paper <strong>on</strong> ”An Architectural Blue Print for Aut<strong>on</strong>omic<br />

Computing”, 4th ed. June 2006.<br />

[2] IBM Corporati<strong>on</strong>, IT Service Management St<strong>and</strong>ards: A Reference<br />

Model for Open St<strong>and</strong>ards-Based ITSM Soluti<strong>on</strong>s, April 2006.<br />

[3] Websites Referred:<br />

http://www.phptr.com/c<strong>on</strong>tent/images/0131440241/samplechapter/0131<br />

440241_ch03.pdf<br />

ftp://ftp.software.ibm.com/software/tivoli/pdf/itsmst<strong>and</strong>ardsreferencemo<br />

del.pdf<br />

www.ibm.com/aut<strong>on</strong>omic/pdfs/ACwpFinal.pdf<br />

www.3.ibm.com/aut<strong>on</strong>omic/pdfs/ACBP2_2004-10-04.pdf<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 139


Proceedings of ICCNS 08 , 27-28 September 2008<br />

CHAMELEON: AN AGILE FRAMEWORK FOR<br />

ADAPTIVE WEB SITE GENERATION<br />

Abhinay Nagpal, Deepa Ambre, Chinmay Soman, Harshwardhan Mulay<br />

Abstract<br />

The subject of Web mining <strong>and</strong> pers<strong>on</strong>alizati<strong>on</strong> has generated a<br />

lot of interest across the research community as well as<br />

industry. The c<strong>on</strong>tinuous growth in the size <strong>and</strong> use of the World<br />

Wide Web imposes new methods of design <strong>and</strong> development of<br />

<strong>on</strong>-line Informati<strong>on</strong> Services. Recommendati<strong>on</strong>s are crucial for<br />

the success of large websites. While there are many ways to<br />

determine recommendati<strong>on</strong>s, the relative quality of these<br />

recommenders depends <strong>on</strong> many factors <strong>and</strong> is largely unknown.<br />

We propose a new classificati<strong>on</strong> of recommenders <strong>and</strong> evaluate<br />

their quality for a sample website. Web navigati<strong>on</strong> is dynamic<br />

<strong>and</strong> idiosyncratic, by viewing each Web user’s navigati<strong>on</strong><br />

process <strong>on</strong> a Web site as a Markov chain; in our work we build<br />

a Markov model of the Web site <strong>and</strong> search for Maximal<br />

forward Chains using past users’ traversals <strong>on</strong> the hyperlinks as<br />

their accumulated navigati<strong>on</strong> behavior. We analyze heatmap of<br />

clicks <strong>on</strong> a HTML page, showing hot <strong>and</strong> cold click z<strong>on</strong>es <strong>and</strong><br />

render the page such that users view the hot z<strong>on</strong>es area <strong>on</strong><br />

requesting the page. Our framework Chamele<strong>on</strong> enhances the<br />

user’s browsing by employing searching <strong>and</strong> relevance ranking<br />

techniques in acquisiti<strong>on</strong> of relevant informati<strong>on</strong> <strong>and</strong> in the<br />

rendering of pages.<br />

1. Introducti<strong>on</strong><br />

Web pers<strong>on</strong>alizati<strong>on</strong> is the process of customizing a Web site to<br />

the needs of specific users, taking advantage of the knowledge<br />

acquired from the analysis of the user’s navigati<strong>on</strong>al behavior in<br />

correlati<strong>on</strong> with other informati<strong>on</strong> [9-10] collected in the Web<br />

c<strong>on</strong>text, namely structure, c<strong>on</strong>tent <strong>and</strong> user profile data.<br />

Informati<strong>on</strong> based model of WWW makes it difficult for users<br />

to navigate <strong>and</strong> glean essential data [1-2, 11-15].<br />

Recommendati<strong>on</strong>s have been used to alleviate the problem faced<br />

by users.<br />

The overall process of usage-based Web pers<strong>on</strong>alizati<strong>on</strong><br />

c<strong>on</strong>sists of four modules, which corresp<strong>on</strong>d to each step of the<br />

process. These are:<br />

1. User profiling: In the Web domain, user profiling is the<br />

process of gathering informati<strong>on</strong> specific to each visitor, either<br />

explicitly or implicitly [17-18, 21-22]. A user profile includes<br />

demographic informati<strong>on</strong> about the user, their interests <strong>and</strong> even<br />

their behavior when browsing a Web site. This informati<strong>on</strong> is<br />

exploited in order to customize the c<strong>on</strong>tent <strong>and</strong> structure of a<br />

Web site to the visitor’s specific <strong>and</strong> individual needs.<br />

informati<strong>on</strong> <strong>and</strong> discover interesting usage patterns [13-16]. This<br />

process of extracting informati<strong>on</strong> c<strong>on</strong>cerning the browsing<br />

behavior of the users can be regarded as part of the user<br />

profiling process.<br />

3. C<strong>on</strong>tent management: This is the process of classifying the<br />

c<strong>on</strong>tent of a Web site in semantic categories in order to make<br />

informati<strong>on</strong> retrieval <strong>and</strong> presentati<strong>on</strong> [18-23] easier for the<br />

users. C<strong>on</strong>tent management is very important for Web sites<br />

whose c<strong>on</strong>tent is increasing <strong>on</strong> a daily basis, such as news sites<br />

or portals.<br />

4. Web site publishing: A publishing mechanism is used in<br />

order to present the c<strong>on</strong>tent stored locally in a Web server <strong>and</strong>/or<br />

some informati<strong>on</strong> [18, 23-25] retrieved from other Web<br />

resources in a uniform way to the end-user. Different<br />

technologies can be used to publish data <strong>on</strong> the Web.<br />

Existing research in this domain fails to capitalize <strong>on</strong> c<strong>on</strong>tent<br />

management [30-32] <strong>and</strong> fail to provide an agile framework for<br />

making resp<strong>on</strong>sive, dynamic <strong>and</strong> adaptive web sites. Perkowitz,<br />

Etzi<strong>on</strong>i [26] c<strong>on</strong>centrate <strong>on</strong>ly <strong>on</strong> clustering of resources by<br />

modifying the PageGather Algorithm; it fails to c<strong>on</strong>centrate <strong>on</strong><br />

user profiling, log analysis <strong>and</strong> mouse behavior. Pazzani, Billsus<br />

[27] fail to c<strong>on</strong>sider c<strong>on</strong>tent management <strong>and</strong> adaptive<br />

reorganizati<strong>on</strong> of web pages.<br />

In this work, we develop a system that predicts next page a user<br />

may visit by modeling user's web access pattern to classical<br />

Markov theory [29]. The recommendati<strong>on</strong>s made being<br />

dependent <strong>on</strong> user's past behavior, suit the user in c<strong>on</strong>siderati<strong>on</strong><br />

very well. Secti<strong>on</strong>(2.1) discusses creati<strong>on</strong> of development of<br />

such system. Secti<strong>on</strong>(2.2) presents way to extract the most<br />

frequently used forward reference chain from user's <strong>on</strong>-line<br />

behavior. We further try to assist user by using click-stream<br />

analysis in secti<strong>on</strong>(3). The following secti<strong>on</strong>(4) presents results<br />

obtained by employing methods discussed in this paper to a<br />

demo web-site. Finally we c<strong>on</strong>clude our work with c<strong>on</strong>clusi<strong>on</strong>s<br />

in secti<strong>on</strong>(5).<br />

2. Link predicti<strong>on</strong><br />

2.1 Markov Analysis<br />

A Markov process is a stochastic process whose dynamic<br />

behavior is such that probability distributi<strong>on</strong>s for its future<br />

development depend <strong>on</strong>ly <strong>on</strong> the present state <strong>and</strong> not <strong>on</strong> how<br />

the process arrived in that state [29]. This idea can be<br />

mathematically expressed as:<br />

2. Log analysis <strong>and</strong> Web usage mining: This is the procedure<br />

where the informati<strong>on</strong> stored in Web server logs is processed by<br />

applying data mining techniques in order to extract statistical<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 140


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The equati<strong>on</strong> implies that given the “present” state of the<br />

system, the “future” is independent of it's “past”. The usage<br />

pattern of web site for user can be modeled using the Markov<br />

process implying the <strong>on</strong>ly causal influence <strong>on</strong> the user's choice<br />

of what page to do to next is presumed to arise from the factors<br />

related to current page.<br />

To model the Web site traversal pattern peculiar to user after<br />

Markov process we develop URL-state associati<strong>on</strong>, frequency<br />

transiti<strong>on</strong> matrix <strong>and</strong> probability matrix. We also keep track of<br />

the inter-state transiti<strong>on</strong>s made by the user.<br />

URL-state Associati<strong>on</strong>:<br />

In our approach to link predicti<strong>on</strong> we identify each page with a<br />

unique id. The id is a simple integer. Thus a 'n' page website will<br />

need 'n' states to identify the individual pages. At any point of<br />

time, the user <strong>on</strong> page 'p' can be c<strong>on</strong>sidered to be in state 's' if 's'<br />

is associated with 'p'.<br />

Frequency transiti<strong>on</strong> matrix (FTM):<br />

A frequency transiti<strong>on</strong> matrix can be defined as:<br />

where,<br />

e i,j = k implies, user has made 'k' transiti<strong>on</strong>s from state<br />

'i' to state 'j'<br />

Probability Transiti<strong>on</strong> Matrix (PTM):<br />

A probability transiti<strong>on</strong> matrix can be represented as:<br />

1. Begin<br />

2. State Retrieval:<br />

For a new visitor (a user whose IP<br />

address is not found in the server<br />

database),<br />

initialize his state to the state<br />

current page corresp<strong>on</strong>ds to.<br />

Associate zero matrices PTM,<br />

FTM with him <strong>and</strong> initialize<br />

num_trans = 0 for him.<br />

For a existing user(a user whose IP<br />

address is found in the server database),<br />

extract his PTM, FTM <strong>and</strong><br />

num_trans from the database.<br />

Initialize the current state of user<br />

to the state the current page<br />

corresp<strong>on</strong>ds to.<br />

3. State Update:<br />

For each transiti<strong>on</strong> made by user from<br />

state 'i' to state 'j' do,<br />

His current state is updated to the state<br />

his current page represents.<br />

i. Increase user's<br />

num_trans by 1<br />

ii.<br />

Increase the e ij element<br />

in FTM by 1<br />

iii. Update the probabilities<br />

in PTM<br />

4. Display the web url associated with state<br />

'k' such that, p jk is maximum.<br />

5. State Storage:<br />

Store the user associated data structures<br />

in the server database.<br />

6. End<br />

Algorithm (1) Using Markov Chain to predict the next page<br />

where,<br />

p i,j = m implies, the probability that the user will make<br />

a transiti<strong>on</strong> to state j, given current state is i, is 'm'<br />

Now c<strong>on</strong>sider the applicati<strong>on</strong> of above algorithm for web usage<br />

graph shown in figure below where each of the circle is<br />

representative of a state (web page).<br />

Number of transiti<strong>on</strong>s (num_trans):<br />

'Number of transiti<strong>on</strong>s' represent the times a user has changed<br />

his state.<br />

Web-page predicti<strong>on</strong>:<br />

Afore menti<strong>on</strong>ed data structures are used in predicting web page<br />

the user will visit next. Representatives of user's behavior, PTM,<br />

FTM <strong>and</strong> num_trans, are maintained persistently <strong>on</strong> the web<br />

server using a database (eg. MySQL). The stored data is indexed<br />

according to user id (IP address in our case). The following can<br />

be used to predict the web page user will visit next:<br />

Figure (1) A sample web site hierarchy<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 141


Proceedings of ICCNS 08 , 27-28 September 2008<br />

When the user is in state 1 after access pattern 1-2-6-2-1-3-7-3-<br />

1-2-6-2-1, the num_trans will be 12,n<strong>on</strong>-zero elements of FTM<br />

will be,<br />

e 1,2 = 2, e 2,6 = 2, e 6,2 = 2, e 2,1 = 2, e 1,3 = 1, e 3,7 = 1, e 7,3 = 1, e 3,1 =<br />

1<br />

Based <strong>on</strong> elements of FTM, the n<strong>on</strong>-zero elements of PTM will<br />

be,<br />

p 1,2 = 0.17, p 2,6 = 0.17, p 6,2 = 0.17, p 2,1 = 0.17, p 1,3 = 0.083, p 3,7 =<br />

0.083, p 7,3 = 0.083, p 3,1 = 0.083<br />

Based <strong>on</strong> the PTM, the Markov chain usage will predict that it is<br />

probable for the user in state '1' to go to state '2'.<br />

2.2 Most Frequent Maximum Forward Chain (MFC)<br />

Predicti<strong>on</strong>:<br />

A maximal forward reference of a Web user is a l<strong>on</strong>gest<br />

c<strong>on</strong>secutive sequence of Web pages visited by the user without<br />

revisiting some previously visited page in the sequence [30-31].<br />

A most frequent maximal forward reference is a MFC sequence<br />

most frequently followed by the user.<br />

Most frequent MFC is a property associated with user's web<br />

access pattern. Displaying most frequent MFC that originates at<br />

the current page [21, 23-25] the user is <strong>on</strong> exposes the usage of<br />

user to himself, thereby reducing the memory load of user <strong>and</strong><br />

making the navigati<strong>on</strong> [7] simpler for user. Using the PTM<br />

developed in secti<strong>on</strong>(2.1) <strong>and</strong> keeping track of user's MFC can<br />

help in predicting the most frequent MFC in following way:<br />

Tracking MFC:<br />

We keep a track of the MFC that gets developed when the user<br />

browses a website. These MFCs are stored in the database<br />

associated to the user id. The MFC tracking art can be seen in<br />

[30, 32-33].<br />

Predicting frequent MFC for a user:<br />

Let us represent a MFC stored in database as a sequence of<br />

states: S a1 S a2 ...S ak . Let 'A' be the set of MFCs the user has used<br />

until now. Let the user be in state 'm'<br />

Referring back to the model web site dem<strong>on</strong>strated in fig(1), if<br />

the user ends up in state '1' after a web-site traverse pattern like<br />

1-2-6-2-5-10-5-2-6-2-5-10-5-2-1, then the num_trans will be 14.<br />

The n<strong>on</strong>-zero elements of FTM will be,<br />

e 1,2 = 1, e 2,6 = 2, e 6,2 = 2, e 2,5 = 2, e 5,10 = 2, e 10,5 = 2, e 5,2 = 2, e 2,1<br />

= 1.<br />

Based <strong>on</strong> the value of FTM, the n<strong>on</strong>-zero elements of PTM will<br />

be,<br />

p 1,2 = 0.07, p 2,6 = 0.14, p 6,2 = 0.14, p 2,5 = 0.14, p 5,10 = 0.14, p 10,5<br />

= 0.14, p 5,2 = 0.14, p 2,1 = 0.07.<br />

Here the forward chains that user has visited will be 1-2-6 <strong>and</strong><br />

1-2-5-10. Both these chains have been visited by the user 2<br />

times but the algorithm(2) will predict 1-2-5-10 as the possible<br />

maximum forward chain that user may re-traverse when he is in<br />

state '1', eventually giving l<strong>on</strong>ger chain a preference in case the<br />

k-step transiti<strong>on</strong> probability from the present state is same for<br />

two or more chains. In this case both 1-2-6 <strong>and</strong> 1-2-5 have same<br />

probability with k = 3.<br />

1. Begin<br />

2. Let M=Ǿ<br />

3. For each MFC 'c' in 'A',<br />

if c is a sequence s.t. it c<strong>on</strong>tains the state<br />

S m then,<br />

M = M Ú s where s = substring of c<br />

starting from the current state S m<br />

4. selectedChain = Ǿ<br />

5. For each MFC 'c' in M<br />

i. minTrans =<br />

minimum(length(selectedChain),<br />

length(c))<br />

ii. P selectedChain =<br />

p a(i),a(i_+1) *p a(i+1),a(i+2) *...*p a(minTrans-<br />

1),a(minTrans) where,<br />

ai = the current state,<br />

p ai,a(i+1) represents the probability of<br />

user making a transiti<strong>on</strong> from<br />

state 'ai' to 'a(i+1)'. This<br />

probability can be obtained from<br />

PTM<br />

iii. P c =<br />

p a(i),a(i_+1) *p a(i+1),a(i+2) *...*p a(minTrans-<br />

1),a(minTrans)<br />

iv. if P c < P selectedChain , selectedChain =<br />

c<br />

v. if P c = P selectedChain , selectedChain =<br />

l<strong>on</strong>ger chain of selectedChain <strong>and</strong><br />

c<br />

6. Display the selectedChain as the most<br />

probable MFC to user<br />

7. End<br />

Algorithm (2) Predicti<strong>on</strong> of frequent MFC<br />

In the WWW, objects (i.e. webpage) are linked together <strong>and</strong><br />

users travel through them back <strong>and</strong> forth in accordance with the<br />

links <strong>and</strong> ic<strong>on</strong>s provided. Therefore, some node might be visited<br />

<strong>on</strong>ly because of its locati<strong>on</strong>, not c<strong>on</strong>tent[26-27]. This is easily<br />

underst<strong>and</strong>able. For example, when the user wants to reach a<br />

sibling of the current webpage he/she is viewing, he/she is<br />

usually inclined to use the “BACK” butt<strong>on</strong> <strong>on</strong> the browser or if<br />

provided, the “backward” butt<strong>on</strong> <strong>on</strong> the page, then c<strong>on</strong>tinue<br />

selecti<strong>on</strong> <strong>on</strong> the links <strong>on</strong> the parent node. C<strong>on</strong>sequently, to<br />

extract the frequent itemsets from the server log database, we<br />

will have to take into c<strong>on</strong>siderati<strong>on</strong> such backward traversals<br />

that are not needed in our research [30-33]. Informal statistics<br />

research has shown that <strong>on</strong>ly a very small amount of backward<br />

moves are made because of webpage c<strong>on</strong>tents. So we can safely<br />

rule them out.<br />

Specifically, a backward reference means revisiting a previously<br />

visited object in the same user sessi<strong>on</strong> [10, 14, 19]. Whenever<br />

there is a backward reference, a forward reference path is<br />

terminated. This resulting forward reference path is termed a<br />

maximal forward reference.<br />

After a maximal forward reference is obtained, we shall go back<br />

to the starting point of the forward references <strong>and</strong> get ready for<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 142


Proceedings of ICCNS 08 , 27-28 September 2008<br />

collecting another forward path. Also, the occurrence of a null<br />

source node also indicates the terminati<strong>on</strong> of current forward<br />

reference path.<br />

transiti<strong>on</strong>matrix Object<br />

(<br />

[freq_matrix] => Array<br />

(<br />

[0] => Array<br />

(<br />

[0] => 0 [1] => 5<br />

[2] => 0 [3] => 1<br />

[4] => 0 [5] => 3<br />

)<br />

[1] => Array<br />

(<br />

[0] => 3 [1] => 0<br />

[2] => 2 [3] => 0<br />

[4] => 0 [5] => 1<br />

)<br />

[2] => Array<br />

(<br />

[0] => 0 [1] => 0<br />

[2] => 0 [3] => 2<br />

[4] => 0<br />

)<br />

[3] => Array<br />

(<br />

[0] => 0 [1] => 1<br />

[2] => 0 [3] => 0<br />

[4] => 1 [5] => 1<br />

)<br />

[4] => Array<br />

(<br />

[0] => 1 [1] => 0<br />

[2] => 0 [3] => 0<br />

[4] => 0 [5] => 1<br />

)<br />

[5] => Array<br />

(<br />

[0] => 4[4] => 1<br />

)<br />

)<br />

Figure(2) Sample Output showing Transiti<strong>on</strong> Matrix<br />

Determinati<strong>on</strong> of these most visited secti<strong>on</strong>s m<strong>and</strong>ates a click<br />

stream analysis of that particular web page.<br />

3.1 Methodology:<br />

3. Click Stream Analysis<br />

The general internet users have a very peculiar pattern when it<br />

comes to reading the web pages. Users normally read in an F<br />

shaped pattern [28], with their eyes rapidly moving across the<br />

c<strong>on</strong>tents, in a horiz<strong>on</strong>tal <strong>and</strong> vertical manner. The implicati<strong>on</strong>s<br />

of this pattern are significant from the point of view of c<strong>on</strong>tent<br />

design. There are some areas within the web site that receive<br />

more attenti<strong>on</strong> than others, [9-10,12-14] particularly when these<br />

areas comprise of visual entities like images, diagrams,<br />

advertisements <strong>and</strong> so <strong>on</strong>. However, in case of web sites having<br />

a large number of text secti<strong>on</strong>s, the most visited secti<strong>on</strong> is often<br />

the most informative <strong>on</strong>e. If we can draw the user’s attenti<strong>on</strong> to<br />

these “popular” secti<strong>on</strong>s [32-, 33] at the moment when the page<br />

loads, it would greatly enhance the utility of that web page.<br />

Algorithm (3) Determinati<strong>on</strong> of most visited secti<strong>on</strong> using click<br />

stream analysis<br />

Logs are maintained for each of the secti<strong>on</strong>s of the web page<br />

visited by the users. These logs c<strong>on</strong>tain following informati<strong>on</strong> –<br />

i. Click frequency<br />

ii. Click interval<br />

iii. Secti<strong>on</strong> type<br />

iv. C<strong>on</strong>tainer element (if any)<br />

v. Anchor tag name attribute (if any)<br />

vi. Secti<strong>on</strong> positi<strong>on</strong>, size<br />

The click frequency <strong>and</strong> click interval values are used in<br />

determining the most visited secti<strong>on</strong>. The other properties are<br />

stored al<strong>on</strong>g with these fields, so that the next time any user<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 143


Proceedings of ICCNS 08 , 27-28 September 2008<br />

visits this page, we can highlight the popular secti<strong>on</strong> by<br />

manipulating its properties.<br />

For sake of dem<strong>on</strong>strati<strong>on</strong>, we focus <strong>on</strong> the Wikipedia pages for<br />

click stream analysis (Table 1). A distinct property of these<br />

pages is that the secti<strong>on</strong>s have a clearly defined anchor tag name<br />

attribute. We store this informati<strong>on</strong> in the log, al<strong>on</strong>g with the<br />

click frequency <strong>and</strong> click interval to highlight the most visited<br />

secti<strong>on</strong>.<br />

Secti<strong>on</strong><br />

Click_<br />

frequency<br />

Click_<br />

interval<br />

(sec<strong>on</strong>ds)<br />

Wsec i<br />

1 5 4 4.6<br />

2 3 2 2.6<br />

3 1 5 2.6<br />

4 2 5 3.2<br />

5 5 3 4.2<br />

6 4 2 3.2<br />

Table (1) Wikipedia pages click stream analysis<br />

4. Results<br />

As a part of our study, we hosted Wikipedia pages <strong>on</strong> a college's<br />

web server, to track user acti<strong>on</strong>s when browing through the<br />

same. Following graphs depict the enhancement in erg<strong>on</strong>omics<br />

of the web sites by using our system – Chamele<strong>on</strong>. As observed<br />

in the first graph when the number of page hits is at its peak, the<br />

number of user acti<strong>on</strong>s expended is of factor 0.475, when this<br />

tool is not used. In the presence of Chamele<strong>on</strong> this figure goes<br />

down to 0.38, which is testim<strong>on</strong>ial to the ability of this system in<br />

serving the user's needs.<br />

Therefore, max(Wsec i ) = 4.6. Hence, most popular secti<strong>on</strong> is<br />

‘Secti<strong>on</strong>1’. In this case, we use the anchor tag name attribute of<br />

secti<strong>on</strong> 1, to display secti<strong>on</strong> 1 automatically when some user<br />

visits this page next time. This is d<strong>on</strong>e by redirecting to the<br />

following URL:<br />

#<br />

Where, URL is the actual URL of the web page under<br />

c<strong>on</strong>siderati<strong>on</strong>.<br />

Figure (3) Number of Acti<strong>on</strong>s per user vs. number of hits<br />

In general, the stored properties of the most visited secti<strong>on</strong> can<br />

be used to highlight the same. This can be d<strong>on</strong>e by various<br />

methods:<br />

1. Rearranging the secti<strong>on</strong> in the DOM node hierarchy,<br />

to make it appear at the top.<br />

2. Highlighting the secti<strong>on</strong> using explicit visual<br />

indicators.<br />

Figure (4) Number of Acti<strong>on</strong>s per user vs. number of hits using<br />

Chamele<strong>on</strong><br />

Figure (2) Click Stream Analysis Overview<br />

The overall system operati<strong>on</strong> is given in the following figures.<br />

The Markov chain analysis <strong>and</strong> maximum forward chain<br />

predicti<strong>on</strong> mechanisms are resp<strong>on</strong>sible for generating the<br />

recommendati<strong>on</strong> links, as shown in figure(5).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 144


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The figures also depict the capability of the click stream analysis<br />

in customizing pages for different users. The heat maps<br />

generated by the user clicks are shown in color. This<br />

informati<strong>on</strong>, regarding user focus areas is used by the system in<br />

highlighting the most popular secti<strong>on</strong>s as shown in figures (5)<br />

<strong>and</strong> (6).<br />

Figure (7) secti<strong>on</strong> is automatically loaded by using the anchor<br />

tag name attribute<br />

Figure (5) Markov Analysis <strong>and</strong> MFC predicti<strong>on</strong><br />

5. C<strong>on</strong>clusi<strong>on</strong><br />

Figure (6) Click Heat Area<br />

Figure (7) is a snapshot the paragraph <strong>on</strong> “ec<strong>on</strong>omy” is the<br />

most visited, evident from the heat map. C<strong>on</strong>sequently, next<br />

time when some user visits this page, the “ec<strong>on</strong>omy” secti<strong>on</strong> is<br />

automatically loaded by using the anchor tag name attribute.<br />

This system has been implemented using PHP, Apache Web<br />

Server, MySQL <strong>and</strong> AJAX. For representati<strong>on</strong> of the heat z<strong>on</strong>es<br />

GD2 library has been used. The framework supports use of<br />

cookies <strong>and</strong> server logs for user tracking. Thus the framework<br />

has been implemented using portable technologies <strong>and</strong> can be<br />

deployed across all popular platforms.<br />

Figure (8) User Satisfacti<strong>on</strong> graph<br />

This paper presents an agile framework for an adaptive web site<br />

A survey of the study showed that 67% of users found the<br />

recommendati<strong>on</strong>s <strong>and</strong> the dynamic rendering to be very useful<br />

about 14% of users were unsatisfied <strong>and</strong> 19% of users did not<br />

have any opini<strong>on</strong>.<br />

This clearly dem<strong>on</strong>strates that automatic pers<strong>on</strong>alizati<strong>on</strong><br />

provided by the framework is successful <strong>and</strong> is scalable. In the<br />

future we will incorporate user clustering <strong>and</strong> extend the<br />

framework for PDA’s <strong>and</strong> mobile ph<strong>on</strong>es.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 145


Proceedings of ICCNS 08 , 27-28 September 2008<br />

6. References<br />

[1] Chakrabarti, Dom, Kumar, “Mining the link structure of the<br />

World Wide Web,” IEEE <strong>Computer</strong>, 32(8), August 1999<br />

[2] Principles of Data Mining, H<strong>and</strong>, Mannila, Smyth. MIT<br />

Press, 2001.<br />

[3] Link Analysis in Web Informati<strong>on</strong> Retreival, M<strong>on</strong>ika<br />

Henzinger. Bulletin of the IEEE computer Society Technical<br />

Committee <strong>on</strong> Data Engineering, 2000.<br />

[4] Slides from Data Mining: C<strong>on</strong>cepts <strong>and</strong> Techniques, Jan <strong>and</strong><br />

Kamber, Morgan Kaufman, 2001.<br />

[5] J. Srivastava, R. Cooley, M. Deshp<strong>and</strong>e, Pang-Ning Tan,<br />

Web Usage Mining: Discovery <strong>and</strong> Applicati<strong>on</strong>s of Usage<br />

Patterns from Web Data, SIGKDD Explorati<strong>on</strong>s, Vol. 1, Issue 2,<br />

2000.<br />

[6] B. Mobasher, R. Cooley <strong>and</strong> J. Srivastava, Web Mining:<br />

Informati<strong>on</strong> <strong>and</strong> Pattern Discovery <strong>on</strong> the World Wide Web,<br />

Proceedings of the 9th IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Tools<br />

with Artificial Intelligence (ICTAI'97), November 1997.<br />

[7] B. Mobasher, Namit Jain, Eui-H<strong>on</strong>g (Sam) Han, Jaideep<br />

Srivastava. Web Mining: Pattern Discovery from World Wide<br />

Web Transacti<strong>on</strong>s. Technical Report TR 96- 060, University of<br />

Minnesota, Dept. of <strong>Computer</strong> Science, Minneapolis, 1996<br />

[8] R. Cooley, P. N. Tan., <strong>and</strong> J. Srivastava. (1999). WebSIFT:<br />

the Web site informati<strong>on</strong> filter system. In Proceedings of the<br />

1999 KDD Workshop <strong>on</strong> Web Mining, San Diego, CA.<br />

Springer-Verlag, in press.<br />

[9] R. W. Cooley, Web Usage Mining: Discovery <strong>and</strong><br />

Applicati<strong>on</strong> of Interesting Patterns from Web data. PhD Thesis,<br />

Dept of <strong>Computer</strong> Science, University of Minnesota, May 2000.<br />

[10] Cooley, R., Mobasher, B., <strong>and</strong> Srivastava, J. Web Mining:<br />

Informati<strong>on</strong> <strong>and</strong> pattern Discovery <strong>on</strong> the World Wide Web.<br />

IEEE <strong>Computer</strong>, pages 558-566, 1997.<br />

[11] N. Good, J. Schafer, J. K<strong>on</strong>stan, A. Borchers, B. Sarwar, J.<br />

Herlocker, J. Riedl, Combining collaborative filtering with<br />

pers<strong>on</strong>al agents for better recommendati<strong>on</strong>s, in: Proc. AAAI-99,<br />

Orl<strong>and</strong>o, FL, 1999.<br />

[12] S. Hans<strong>on</strong>, M. Bauer, C<strong>on</strong>ceptual clustering, categorizati<strong>on</strong>,<br />

<strong>and</strong> polymorphy, Machine Learning 3 (1989) 343–372.<br />

[13] T. Joachims, D. Freitag, T. Mitchell, Webwatcher: A tour<br />

guide for the World Wide Web, in: Proc. IJCAI-97, Nagoya,<br />

Japan, 1997, pp. 770–775.<br />

[14] R. Khare, A. Rifkin, XML: A door to automated Web<br />

applicati<strong>on</strong>s, IEEE Internet Computing 1 (4) (1997) 78–87.<br />

[15] J. Kleinberg, Authoritative sources in a hyperlinked<br />

envir<strong>on</strong>ment, in: Proc. 9th ACM-SIAM Symposium <strong>on</strong> Discrete<br />

Algorithms, 1998.<br />

[16] Etzi<strong>on</strong>i, O. The world wide web: Quagmire or gold mine.<br />

Communicati<strong>on</strong>s of the ACM, 39(11):65-68, 1996.<br />

[17] Kosala, R. <strong>and</strong> Blockeel, H. Web Mining Research: A<br />

summary. SIGKDD Explorati<strong>on</strong>s, 2(1):1-15, 2000.<br />

[18] Fayyad, U., Djorgovski, S., <strong>and</strong> Weir, N. Automating the<br />

analysis <strong>and</strong> cataloging of sky surveys. In Advances in<br />

Knowledge Discovery <strong>and</strong> Data Mining, pages 471-493. AAAI<br />

Press, 1996.<br />

[19] Langley, P. User modeling in adaptive interfaces. In<br />

Proceedings of the Seventh <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> User<br />

Modeling, pages 357-370, 1999.<br />

[20] Madria, S.K., Bhowmick, S.S., Ng, W.K., <strong>and</strong> Lim, E.-P.<br />

Research issues in web data mining. In Proceedings of Data<br />

Warehousing <strong>and</strong> Knowledge Discovery, First <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, DaWaK ‘99, pages 303-312, 1999.<br />

[21] Mas<strong>and</strong>, B. <strong>and</strong> Spiliopoulou, M. Webkdd-99: Work-shop<br />

<strong>on</strong> web usage analysis <strong>and</strong> user profiling. SIGKDD<br />

Explorati<strong>on</strong>s, 1(2), 2000.<br />

[22] Trawling the web for emerging cyber-communities (1999)<br />

Ravi Kumar, Prabhakar Raghavan, Sridhar Rajagopalan,<br />

Andrew Tomkins, WWW8 / <strong>Computer</strong> <strong>Networks</strong>.<br />

[23] Finding Related Pages in the World Wide Web (1999)<br />

Jeffrey Dean, M<strong>on</strong>ika R. Henzinger, WWW8 / <strong>Computer</strong><br />

<strong>Networks</strong>.<br />

[24] A System for Collaborative Web Resource Categorizati<strong>on</strong><br />

<strong>and</strong> Ranking, Maxim Lifantsev.<br />

[25] A Study of Approaches to Hypertext Categorizati<strong>on</strong><br />

(2002) Yiming Yang, Sean Slattery, Rayid Ghani, Journal of<br />

Intelligent Informati<strong>on</strong> Systems.<br />

[26] Mike Perkowitz <strong>and</strong> Oren Etzi<strong>on</strong>i. Adaptive web sites:<br />

C<strong>on</strong>ceptual cluster mining. In Sixteenth <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Joint<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Articial Intelligence, Stockholm, Sweden, 1999.<br />

[27] Pazzani, M., <strong>and</strong> Billsus, D. Adaptive Web Site Agents. In<br />

Proceedings of the Third <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Aut<strong>on</strong>omous Agents (Agents'99) (1999).<br />

[28] Jakob Nielsen,<br />

“http://www.useit.com/alertbox/reading_pattern.html” F-shaped<br />

pattern for Reading Web C<strong>on</strong>tent.<br />

[29] Kishore S. Trivedi Probability <strong>and</strong> Statistics with<br />

Reliability, Queuing <strong>and</strong> <strong>Computer</strong> Science Applicati<strong>on</strong>s<br />

[30] Chen, M.S., Park, J.S. & Yu, P.S. (1998). Efficient data<br />

mining for path traversal patterns. IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Knowledge <strong>and</strong> Data Engineering. 10(2), 209-221.<br />

[31] Cooley, R., Mobasher, B. & Srivastava, J. (1999). Data<br />

preparati<strong>on</strong> for mining world wide web browsing patterns.<br />

Journal of Knowledge <strong>and</strong> Informati<strong>on</strong> Systems}, 1(1), 5-32.<br />

[32] Z. Chen, R. Fowler, A. Fu, C. Wang: Efficient Web Mining<br />

for Traversal Path Patterns.<br />

[33] D. Xing: Algorithms for Web Page Traversal Pattern<br />

Mining.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 146


Proceedings of ICCNS 08 , 27-28 September 2008<br />

X-Server Database: Str<strong>on</strong>g RDBMS for<br />

Wired <strong>and</strong> Wireless Network<br />

Prof. Prakash Devale, Mr. Pritesh Patil<br />

Abstract- Nowadays XML is being used as an<br />

underlying technology for most of the transacti<strong>on</strong>s <strong>on</strong> the<br />

internet. XML is widely used for Database Storage.<br />

Most of the leading product developed companies use<br />

XML as their Metadata framework. This work started<br />

with a goal to manage XML data <strong>and</strong> to provide security<br />

to XML data while wired or wireless data transfer. It<br />

helps in storing, managing, publishing, retrieving data<br />

from Database in XML format <strong>and</strong> updating stored data<br />

in XML documents. The databases are normalized upto<br />

3NF. There are different workspaces of this work. First is<br />

a SQL Manager, which helps to retrieve <strong>and</strong> manage data<br />

from XML documents, sec<strong>on</strong>d is Relati<strong>on</strong>ship Builder<br />

which helps in establishing the relati<strong>on</strong>ship between the<br />

relati<strong>on</strong>s, <strong>and</strong> User Management <strong>and</strong> <strong>Security</strong> which<br />

helps in creating users or clients of the database <strong>and</strong> to<br />

assign security <strong>and</strong> privileges. Major feature of our<br />

database is its platform independence, which would help<br />

us to us this database with different envir<strong>on</strong>ments which<br />

supports JAVA, for example we can install the database<br />

server <strong>on</strong> LINUX <strong>and</strong> <strong>on</strong> Windows or LINUX clients.<br />

Keywords- Query Analyzer, Relati<strong>on</strong>ship, Client-server<br />

based database, Encrypti<strong>on</strong>, Enterprise Manager<br />

I. INTRODUCTION<br />

MAKING a cross-platform tool was a challenge<br />

some 10 years ago, but this has totally changed<br />

now. In 1993 when Sun Microsystems introduced<br />

the JAVA platform, making platform independent<br />

software’s was a breeze. The slogan “Compile<br />

<strong>on</strong>ce, Run anywhere” could be heard, thanks to<br />

Java. Not <strong>on</strong>ly does Java provide the capabilities to<br />

make the software run <strong>on</strong> many platforms, but also<br />

as a programming language it is very superior to its<br />

c<strong>on</strong>temporaries.<br />

X-Server database is a Client – Server<br />

based Database. It is more user-friendly, easy to<br />

retrieve data <strong>and</strong> easy to access the database for<br />

both the programmer <strong>and</strong> the client or end user.<br />

Prof. Prakash Devale is with IT department of Bharati<br />

Vidyapeeth University, Pune-43 (Ph<strong>on</strong>e: +91-20-24220697<br />

email: Prakash_devale@yahoo.com)<br />

Mr. Pritesh Patil is with <strong>Computer</strong> Engg. Department of Bharati<br />

Vidyapeeth University, Pune-43 (Ph<strong>on</strong>e: +91-9975850134 email:<br />

p.patil.k@gmail.com)<br />

It is used to create database, tables, query <strong>and</strong> the<br />

reports. User can view the database, create the<br />

tables <strong>and</strong> analyze the query <strong>and</strong> after all he can<br />

make reports <strong>on</strong> the basis of tables <strong>and</strong> with respect<br />

to their queries.<br />

For Creating, accessing <strong>and</strong> maintaining<br />

the database, User should have permissi<strong>on</strong>s from<br />

the Server. Server granted the permissi<strong>on</strong>s <strong>and</strong> after<br />

that client (user) can do what he wants to do. Client<br />

can view <strong>on</strong>ly the encrypted form of data because<br />

of all the data are maintained in the XML database<br />

in Encrypted form what a client can never perceive.<br />

For the security point of view it has particular users<br />

with their passwords who are the authorized<br />

pers<strong>on</strong>s who can access the database. This is query<br />

analyzer database to which multiple users can<br />

access at the same time with no restricti<strong>on</strong>s. It is a<br />

platform independent database <strong>and</strong> more<br />

ec<strong>on</strong>omical than any other databases.<br />

The database proposed in this paper is<br />

platform independent. XML Metadata framework is<br />

the key feature, by which <strong>on</strong>e can deal with data<br />

within very less time <strong>and</strong> accurately [1]. At<br />

different level the security issues have been<br />

c<strong>on</strong>sidered. In terms of putting the join between<br />

two tables or databases in proposed database which<br />

works <strong>on</strong> XML metadata framework means the<br />

XML files c<strong>on</strong>taining data, we have c<strong>on</strong>sidered<br />

primary key <strong>and</strong> foreign key c<strong>on</strong>cepts [1,3,5].<br />

Our database provides inbuilt GUI forms<br />

for h<strong>and</strong>ling different applicati<strong>on</strong> which requires<br />

third party backend. It also provides auto report<br />

generati<strong>on</strong> facility. For secure delivery of records<br />

<strong>on</strong> the network the database proposed in this paper,<br />

it provides the encrypti<strong>on</strong> strategy.<br />

II. SCOPE<br />

The future extent of this SQL Query Analyzer is too<br />

extensive to comprehend. Today the IT Industries<br />

dem<strong>and</strong> for effective envir<strong>on</strong>ment <strong>and</strong> efficient<br />

tools. They want to specify the following strategies<br />

before implementing the software needs. XML<br />

Database helps professi<strong>on</strong>als <strong>and</strong> the Corporate to<br />

record <strong>and</strong> maintain the data into the database.<br />

Even Corporate uses the database like Oracle<br />

[12,13,14], MS – Access, SQL Server <strong>and</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 147


Proceedings of ICCNS 08 , 27-28 September 2008<br />

MySQL[8] for accessing, retrieving <strong>and</strong><br />

maintaining data into the database, but for these<br />

databases user should have absolute knowledge<br />

about the Comm<strong>and</strong>s of Structured Query<br />

languages <strong>and</strong> should be well trained in accessing<br />

the granting permissi<strong>on</strong>s from the server. For using<br />

the above specified databases Corporate has to pay<br />

the respected amount as per the Company rules <strong>and</strong><br />

regulati<strong>on</strong>s for getting the registrati<strong>on</strong> from the<br />

authorized Database Companies. Installati<strong>on</strong> cost,<br />

maintenance cost <strong>and</strong> the implementati<strong>on</strong> cost can<br />

affect the company’s producti<strong>on</strong> cost. This database<br />

is a platform independent server database <strong>and</strong> can<br />

be used with free of cost platform provided by the<br />

Sun Microsystems.<br />

Scope of X- Server applicati<strong>on</strong> is to provide a XML<br />

based Data Server, which will have a provisi<strong>on</strong> to<br />

store data in XML format [2,4]. X- Server provides<br />

a tool for:<br />

1. Storing metadata<br />

2. SQL Manager to h<strong>and</strong>le DDL <strong>and</strong> DML<br />

statements<br />

3. Creating indexes <strong>on</strong> XML data<br />

4. H<strong>and</strong>ling XML data through Cache<br />

Mechanism<br />

5. Middleware to act as an interface to SQL<br />

Manager to parse SQL statements <strong>and</strong> pick<br />

data from XML metadata.<br />

The clients using X-Server database are assumed to<br />

have the knowledge of SQL to use Query analyzer<br />

of SQL Manager for accessing the data. No existing<br />

applicati<strong>on</strong>s need to be modified <strong>on</strong> the client side.<br />

Users login to the system by providing the<br />

username <strong>and</strong> password <strong>and</strong> then interact with the<br />

system <strong>and</strong> other opti<strong>on</strong>al parameters.<br />

Use of SAX: SAX is an interface that allows us to<br />

write applicati<strong>on</strong>s to read the data held in an XML<br />

document. It is primarily a Java interface.<br />

Use of JDOM: JDOM is an open source, treebased,<br />

pure Java API for parsing, creating,<br />

manipulating, <strong>and</strong> serializing XML documents.<br />

IV. SYSTEM ARCHITECTURE<br />

This secti<strong>on</strong> describes the X-Server Database<br />

architecture defining major tiers comprising that<br />

architecture. The architecture of the database<br />

proposed in this paper is the very simple to<br />

underst<strong>and</strong> <strong>and</strong> implement, figure 1 shows the<br />

architecture of X-Server database.<br />

Client c<strong>on</strong>nects to X-Server entering all necessary<br />

details such as Server Name, Login <strong>and</strong> password.<br />

After c<strong>on</strong>necting Client sends or receive c<strong>on</strong>tent of<br />

XML Documents via SQL Manager. Server fetches<br />

request made by Fr<strong>on</strong>t End for processing, parses<br />

the request <strong>and</strong> then processed request is given<br />

back to Client in the form of Resp<strong>on</strong>se.<br />

Administrator takes care of User Management by<br />

creating, editing <strong>and</strong> deleting users.<br />

Client<br />

X- SERVER<br />

User<br />

Repository<br />

C<strong>on</strong>tent<br />

(XML)<br />

Repository<br />

III. TECHNOLOGY OVERVIEW<br />

Java: Java language is used due to its powerful<br />

features such as it is simple to underst<strong>and</strong>, highly<br />

object oriented, robust, secure, architecture neutral,<br />

portable, multithreaded <strong>and</strong> dynamic.<br />

XML: XML st<strong>and</strong>s for extensible Markup<br />

Language. The word “extensible” implies that a<br />

developer can extend his ability to describe a<br />

document, <strong>and</strong> define meaningful tags for his<br />

applicati<strong>on</strong> XML is used to generate dynamic<br />

c<strong>on</strong>tents.<br />

Databases: The study of databases like SQL-<br />

SERVER, ORACLE [9,10,11], MySQL [6,7] are<br />

d<strong>on</strong>e in the aspect of manipulating the stored data<br />

by their respective query language.<br />

Figure 1. Physical structure of X-Server Database.<br />

The detailed system design c<strong>on</strong>sists of different<br />

comp<strong>on</strong>ents of the system <strong>and</strong> the primary<br />

resp<strong>on</strong>sibilities <strong>and</strong>/or behavior of this comp<strong>on</strong>ent.<br />

All kinds of services it provides to its clients. The<br />

c<strong>on</strong>necti<strong>on</strong> module c<strong>on</strong>nects X-server Client to X-<br />

Server. SQL manager accepts the opti<strong>on</strong>s for<br />

building <strong>and</strong> executing the query. User module is at<br />

Client end. Resp<strong>on</strong>sibilities of this comp<strong>on</strong>ent are:<br />

i. Access to SQL Manager<br />

ii. Save the Query<br />

iii. Choose mode of result display i.e. Grid or file.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 148


Proceedings of ICCNS 08 , 27-28 September 2008<br />

V. DATABASE DESIGN<br />

X-server database design process includes the<br />

designing of SQL manager, Data storage secti<strong>on</strong>,<br />

Relati<strong>on</strong>ship builder, security, GUI design of<br />

database.<br />

A. SQL MANAGER:<br />

To establish the c<strong>on</strong>necti<strong>on</strong> with respective<br />

database.<br />

Parse the query in proper syntax. (It c<strong>on</strong>tains<br />

“syntax.xml” which is used for syntax<br />

checking).<br />

Execute the query.<br />

Display the result in grid or in file format.<br />

Provide opti<strong>on</strong> for saving the query so formed.<br />

All syntax’s for DDL as well as DML Queries are<br />

stored in “syntax.xml” file.<br />

Example syntax:<br />

<br />

<br />

<br />

<br />

B. DATA STORAGE:<br />

With the popularity of XML, most of the<br />

servers need to work with <strong>and</strong> store XML data.<br />

Example .xml file format:<br />

<br />

DatabaseName<br />

<br />

<br />

<br />

<br />

<br />

C. Relati<strong>on</strong>ship Builder<br />

Relati<strong>on</strong>ship Builder of X-server builds<br />

relati<strong>on</strong> between two XML documents,<br />

implementing the c<strong>on</strong>cepts of primary <strong>and</strong> foreign<br />

keys. It is a tool to facilitate joining two XML files<br />

based <strong>on</strong> attributes comm<strong>on</strong> in both files. The<br />

attribute in <strong>on</strong>e xml file is a primary key <strong>and</strong> it gets<br />

related to some attribute in other xml file, which is<br />

a foreign key.<br />

D. GUI Design<br />

This secti<strong>on</strong> describes the X-Server<br />

architecture defining major layers comprising that<br />

architecture. Fr<strong>on</strong>t End can be any Form Template<br />

Designer or applicati<strong>on</strong> that sends or receive XML<br />

Documents. Like other Servers, X-Server also has<br />

Service Providers- Request <strong>and</strong> Resp<strong>on</strong>se, which<br />

are implemented via Java Classes. Server fetches<br />

request made by Fr<strong>on</strong>t End for processing <strong>and</strong> then<br />

processed request is given back to Client in the<br />

form of Resp<strong>on</strong>se. X-server provides st<strong>and</strong>ard API<br />

for processing XML based informati<strong>on</strong> <strong>and</strong> way of<br />

passing XML documents <strong>and</strong> n<strong>on</strong>-XML documents<br />

to <strong>and</strong> from Server. API will c<strong>on</strong>sist of different<br />

classes written in Java using OOPS c<strong>on</strong>cepts, which<br />

are used for c<strong>on</strong>necting to database, executing<br />

queries <strong>and</strong> displaying the result. Figure 1 below<br />

explains the architecture of the project.<br />

E. General c<strong>on</strong>straints<br />

Availability or volatility of resources:<br />

Volatile resources such as main memory<br />

must c<strong>on</strong>form to the current st<strong>and</strong>ard c<strong>on</strong>figurati<strong>on</strong>.<br />

The software will be h<strong>and</strong>ling files occupying<br />

memory of the order of megabytes.<br />

<strong>Security</strong> requirements:<br />

The system will be password protected.<br />

Since multi-user feature is disabled the sole purpose<br />

of the password is for security reas<strong>on</strong>s.<br />

Memory <strong>and</strong> other capacity limitati<strong>on</strong>s:<br />

The software will be h<strong>and</strong>ling files<br />

occupying memory of the order of megabytes.<br />

Sufficient volatile <strong>and</strong> n<strong>on</strong>-volatile memory does<br />

become a c<strong>on</strong>straint.<br />

F. User Management<br />

This module helps in managing users by<br />

Creating users, Editing users, Deleting users,<br />

assigning/ editing their passwords.<br />

G. <strong>Security</strong><br />

Server will provide its own authenticati<strong>on</strong><br />

features to authenticate users via facility of XML<br />

Encrypti<strong>on</strong>/Decrypti<strong>on</strong>, which ensures that,<br />

unauthorized individuals or intruders cannot access<br />

important documents. Figure 2 shows the detailed<br />

internal structure of X-server database of figure 1.<br />

X-server database provides a complete<br />

GUI to h<strong>and</strong>le all activities performed by the clients<br />

or users. Users can perform the activities according<br />

to the privileges they obtain. At the time of adding<br />

new users administrator can assign minimum to<br />

higher level privileges. The relati<strong>on</strong>s created by<br />

using X-server database are normalized upto higher<br />

level of normalizati<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 149


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Figure 2. X-Server Database internal architecture<br />

VI. SCREEN SHOTS<br />

Figures 3(a, b, c) shows some of the screens of the<br />

proposed database.<br />

Figure 3(a) Table View of Database<br />

Figure 3(c) User View of database.<br />

Figure 3(b) SQL Manager view<br />

VII. CONCLUSION<br />

XML has become very popular in various Web <strong>and</strong><br />

platform independent applicati<strong>on</strong>s. There is an<br />

increasing need to store XML documents. This X-<br />

Server will provide an efficient way to store,<br />

maintain, publish <strong>and</strong> exchange XML documents.<br />

Although<br />

its possible to store XML in the form of text files,<br />

or to extract the data from structured XML <strong>and</strong><br />

store it relati<strong>on</strong>ally, neither soluti<strong>on</strong> is as potential<br />

as X-Server Database. The X-server uses core<br />

XML services such as a SAX Parser <strong>and</strong> JDOM.<br />

These provide the core services for parsing the<br />

incoming document to determine the appropriate<br />

class <strong>and</strong> method to call, as well as getting the data<br />

out of the XML format for manipulati<strong>on</strong> by the<br />

database. X-servers will provide an important<br />

building block for the next generati<strong>on</strong> of Web<br />

applicati<strong>on</strong>s.<br />

VIII. REFERENCES.<br />

[1] Using Stylus Studio to Deploy XML Data Services: A<br />

Zap Think.<br />

[2] Building XQuery Based Web Service Aggregati<strong>on</strong> <strong>and</strong><br />

Reporting Applicati<strong>on</strong>s.<br />

[3] An XML Schema Tutorial: Practical XML Schema<br />

Development.<br />

[4] SQL/XML, XQuery, <strong>and</strong> Native XML Programming<br />

Languages.<br />

[5] FIXML Tutorial: Working With Complex Message Sets<br />

Defined Using XML Schema.<br />

[6] MySQL: The Best Choice for Modern Online Database<br />

Applicati<strong>on</strong>s Enterprise.<br />

[7] A Guide to Database High Availability.<br />

[8] MySQL High Availability Soluti<strong>on</strong>s.<br />

[9] http://docs.oraclewhitepapers.com/oraclewhitepapers/totalrecall.<br />

[10] http://docs.oraclewhitepapers.com/oraclewhitepapers/nextgenerati<strong>on</strong>-soa.<br />

[11].http://docs.oraclewhitepapers.com/oraclewhitepapers/jdevel<br />

oper<br />

[12].http://docs.oraclewhitepapers.com/oraclewhitepapers/databa<br />

se10g_release2.<br />

[13].http://docs.oraclewhitepapers.com/oraclewhitepapers/acade<br />

micenterprise.<br />

[14].http://docs.oraclewhitepapers.com/oraclewhitepapers/fusi<strong>on</strong><br />

middleware.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 150


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Transliterati<strong>on</strong> Approach for Customizable<br />

Localizati<strong>on</strong><br />

Sanjesh S. Pawale, Manikrao L. Dhore, Mahesh R. Dube, Ashutosh M. Kulkarni<br />

Abstract—This paper explains the use of transliterati<strong>on</strong> approach for<br />

customizable localizati<strong>on</strong> support in small scale systems. Indian<br />

languages like Hindi <strong>and</strong> Marathi which are based <strong>on</strong> Devanagari<br />

Script are c<strong>on</strong>sidered by using customizable Localizati<strong>on</strong> support<br />

with the use of translati<strong>on</strong> memory. This work addresses supporting<br />

the user to input <strong>and</strong> retrieve the data in Hindi or Marathi languages<br />

<strong>on</strong> the fly; whereas the data will be stored in database in default<br />

language, English. When a user wants to see the data in Hindi or<br />

Marathi, middleware will read the English data from the server or<br />

from keyboard <strong>and</strong> transliterate it into Devanagari script <strong>and</strong> display<br />

it to user. This transliterati<strong>on</strong> from English to Devanagari will be <strong>on</strong><br />

the fly. The transliterated data is not getting stored anywhere. This<br />

method solves the problem of web page translati<strong>on</strong> such as<br />

c<strong>on</strong>sumpti<strong>on</strong> of extra space <strong>on</strong> web server as well as complexity in<br />

web pages. This approach provides safe <strong>and</strong> cost effective method of<br />

localizing existing <strong>and</strong> new web pages stored <strong>on</strong> web server from<br />

English to Hindi or Marathi language using Devanagari script.<br />

Keywords—Localizati<strong>on</strong>, middleware, <strong>on</strong> the fly c<strong>on</strong>versi<strong>on</strong>,<br />

translati<strong>on</strong> Memory, transliterati<strong>on</strong> approach.<br />

I. INTRODUCTION<br />

In the era of globalizati<strong>on</strong>, Internet evolved as a powerful <strong>and</strong> cost<br />

effective medium of communicati<strong>on</strong> <strong>and</strong> informati<strong>on</strong> sharing. Mass<br />

Scale data is available within few clicks irrespective of locati<strong>on</strong> i.e.<br />

<strong>on</strong> anytime anywhere basis. Internet has become global<br />

communicati<strong>on</strong> medium of choice. Internet is global medium of<br />

communicati<strong>on</strong> <strong>and</strong> informati<strong>on</strong> sharing. English is the dominant<br />

language for the World Wide Web. The number of internet users is<br />

steadily growing. In India, there are more than thirty official<br />

languages spoken or used. It is obvious that a site in the native<br />

language will be more appealing <strong>and</strong> easy to use. Localizati<strong>on</strong> is a<br />

c<strong>on</strong>cept in which the interacti<strong>on</strong> with the applicati<strong>on</strong> including all the<br />

comm<strong>and</strong>s is d<strong>on</strong>e in the specific language. This calls for major<br />

enhancements to the system software to allow interpretati<strong>on</strong> of text<br />

strings in different languages. Hence an applicati<strong>on</strong> supporting<br />

localizati<strong>on</strong> for a language can provide an effective user interface in<br />

that language. Localizati<strong>on</strong> is not just translati<strong>on</strong>, its modificati<strong>on</strong> of<br />

Sanjesh S Pawale is a Research Scholar at Department of <strong>Computer</strong><br />

Engineering, Vishwakarma Institute of Technology, Pune (ph<strong>on</strong>e:91-20-<br />

24202110) (email: sanjeshpawale@yahoo.com).<br />

Manikrao L. Dhore is with Vishwakarma Institute of Technology, Pune as<br />

Assistant Professor in <strong>Computer</strong> Engineering (ph<strong>on</strong>e:91-20-24202133) (email:<br />

manikrao.dhore@vit.edu).<br />

Mahesh R. Dube is with Vishwakarma Institute of Technology, Pune as<br />

Assistant Professor in Informati<strong>on</strong> Technpology (ph<strong>on</strong>e: 91-20-24202116)<br />

(eamil: mahesh.dube@vit.edu).<br />

Ashutosh M. Kulkarni is with Vishwakarma Institute of Technology, Pune as<br />

Reader in Master of <strong>Computer</strong> Applicati<strong>on</strong> (ph<strong>on</strong>e:91-20-24202268) (email:<br />

ashutosh.kulkarni@vit.edu).<br />

the product or service so that it becomes optimised for local market.<br />

The <strong>on</strong>ly c<strong>on</strong>straint for this is linguistic barrier <strong>and</strong> the soluti<strong>on</strong> to the<br />

problem is Localizati<strong>on</strong> using <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g>izati<strong>on</strong>, it will open the<br />

doors of the informati<strong>on</strong> <strong>and</strong> communicati<strong>on</strong> centers for those who<br />

are not comfortable with the c<strong>on</strong>venti<strong>on</strong>al language of the system.<br />

The existing approach is to replicate the HTML web page in several<br />

languages depending <strong>on</strong> the targeted audience but this approach<br />

suffers with the problem of web page updating <strong>and</strong> redundancies.<br />

Modifying the default web page c<strong>on</strong>tents needs to modify all the web<br />

pages in alternative languages <strong>and</strong> as the same web page needs to be<br />

stored in number of languages increases the redundancy <strong>and</strong> wastage<br />

of server space.<br />

Although the web has predominantly been an English-centred<br />

medium, leading companies identify that 90% of their market outside<br />

the US is n<strong>on</strong>-English speaking <strong>and</strong> web users are four times more<br />

likely to purchase from a site that communicates in the customer’s<br />

language. Nearly <strong>on</strong>e in four Americans speaks a language other than<br />

English at home, the Census Bureau says, an increase of nearly 50<br />

percent during the past decade.[6] So for increasing sales <strong>and</strong> market,<br />

it is needed to provide web pages to clients in their native language.<br />

Even though English is main business language, over 100 milli<strong>on</strong><br />

people access the Internet in a language other than English. Only<br />

38% of web users use English as a language for internet. Rest all use<br />

their own native languages. English is a language mainly used in<br />

USA, but in country like India the percentage of English language<br />

users is less. According to ITU, Dec.2001, this percentage is just 7%<br />

in India [7]. Web users are more sensitive towards the site which<br />

communicates in their own native language.<br />

1. Problem<br />

For increasing market <strong>and</strong> providing user-friendly interface to<br />

clients, previously addressed web page translati<strong>on</strong> technique has risks<br />

like complexity in updating existing web pages <strong>and</strong> c<strong>on</strong>sumpti<strong>on</strong> of<br />

extra space <strong>on</strong> web server for storing translated target language web<br />

pages. In case of multilingual web sites using translati<strong>on</strong> technique,<br />

the original English web pages are translated into languages in which<br />

website is providing access to clients. But if some changes made to<br />

original web page then changes should be performed in all translated<br />

web pages also. If change performed in original web page is not<br />

updated in a way it is desired, then all corresp<strong>on</strong>ding translated web<br />

pages will display incorrect / inc<strong>on</strong>sistent informati<strong>on</strong> to clients.<br />

Moreover there is no system at present which h<strong>and</strong>les the dynamic<br />

data submitted by client in his native language, in such case the static<br />

language localizati<strong>on</strong> is an incomplete soluti<strong>on</strong> to the problem.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 151


Proceedings of ICCNS 08 , 27-28 September 2008<br />

2. Current Soluti<strong>on</strong><br />

The existing tools can be categorized into Web Page Localizati<strong>on</strong><br />

Tools <strong>and</strong> Client side Localizati<strong>on</strong> Tools. Client side language<br />

localizati<strong>on</strong> tools are installed <strong>on</strong> the client side as an add-<strong>on</strong><br />

comp<strong>on</strong>ent of the browser, it has opti<strong>on</strong>s for few user specific<br />

languages <strong>and</strong> when user gets page in some other language, user<br />

requests for localizati<strong>on</strong> <strong>and</strong> gets the localized page but the drawback<br />

is its st<strong>and</strong>al<strong>on</strong>e. Also there are too less opti<strong>on</strong>s for localizati<strong>on</strong> as it<br />

supports two or three languages <strong>on</strong>ly.<br />

Some dynamism is added by the Web Page Localizati<strong>on</strong> tools, which<br />

is server-side comp<strong>on</strong>ent, encapsulated with the server itself. In this<br />

case client request for localizati<strong>on</strong>, this request goes to server; it<br />

processes the request <strong>and</strong> resp<strong>on</strong>ds with the same page with<br />

requested language. But the drawback is that page referenced is static<br />

<strong>and</strong> stored in server already. Shortcomings of this method are no<br />

dynamism, <strong>and</strong> it is a time c<strong>on</strong>suming process. This is overcome by<br />

localizati<strong>on</strong> <strong>on</strong> the fly c<strong>on</strong>cept.<br />

3. Proposed soluti<strong>on</strong><br />

The basic difference between English <strong>and</strong> Devanagari is, Devanagari<br />

is having 12 Vowels <strong>and</strong> 36 c<strong>on</strong>s<strong>on</strong>ants. Each c<strong>on</strong>s<strong>on</strong>ant has 12<br />

variati<strong>on</strong>s. This produces about 432 different alphabetical characters<br />

(glyphs). It has 10 numerals similar to English; Whereas English has<br />

<strong>on</strong>ly 26 alphabets. The alphabetical complexity of Devanagari is<br />

more than English. Devanagari script does not have separate Capital<br />

<strong>and</strong> small alphabets as in English. Devanagari is not having traditi<strong>on</strong><br />

of making acr<strong>on</strong>yms <strong>and</strong> short forms as practiced in English. In<br />

English, <strong>on</strong>e tends to drop vowels for speed of typing e.g. ‘tbl’ for<br />

‘table’ or ‘u’ for ‘you’ or ‘r’ for ‘are’. In Devanagari vowels are<br />

integral part of c<strong>on</strong>s<strong>on</strong>ants <strong>and</strong> therefore they can not be separated or<br />

dropped for making short forms [19].<br />

English alphabets do not alter their basic shapes, whereas, a<br />

Devanagari alphabet alters itself drastically with additi<strong>on</strong> of Matra<br />

<strong>and</strong> C<strong>on</strong>juncts. English Script does not encode the c<strong>on</strong>juncts but they<br />

are pr<strong>on</strong>ounced in speech. But Devanagari script encodes the<br />

c<strong>on</strong>juncts exactly the way <strong>on</strong>e would pr<strong>on</strong>ounce it. English alphabets<br />

are designed with basic geometric shapes like vertical, horiz<strong>on</strong>tal,<br />

diag<strong>on</strong>al <strong>and</strong> circular lines. It also uses lot of symmetric shapes. On<br />

c<strong>on</strong>trary, Devanagari alphabets have asymmetric, free flowing <strong>and</strong><br />

highly intricate shapes [19].<br />

The proposed system aims at analyzing <strong>and</strong> enhancing Indian<br />

languages specially Hindi <strong>and</strong> Marathi to adapt Transliterati<strong>on</strong><br />

approach through the development of middleware. The middleware<br />

will support the user to input <strong>and</strong> to retrieve the data in Hindi or<br />

Marathi languages, whereas the data will be stored <strong>on</strong> server / central<br />

database in default language, English.<br />

The web page is dynamically c<strong>on</strong>verted into the target language <strong>on</strong><br />

the fly. On the fly means no intermediate storage of web pages in any<br />

alternative language. So there is no questi<strong>on</strong> of redundancy of<br />

memory <strong>and</strong> as the web pages are getting dynamically c<strong>on</strong>verted in<br />

to the target language it is much faster than normal translati<strong>on</strong>. This<br />

is the basic theme of the localizati<strong>on</strong>.<br />

II. SYSTEM DESIGN<br />

The system being developed is basically a module/middleware which<br />

can be used in client server model. Client will give a request to server<br />

in his native language <strong>and</strong> server will listen to it in its default<br />

language, English. When server gives resp<strong>on</strong>se to the client request,<br />

it gives it in English <strong>on</strong>ly, but the middleware will transliterate that<br />

resp<strong>on</strong>se to client’s native language <strong>on</strong> the fly. For the transliterati<strong>on</strong>,<br />

static or c<strong>on</strong>verted data is not getting stored anywhere hence<br />

effective memory utilizati<strong>on</strong> is achieved.<br />

Following Linguistic Usability Heuristics were identified <strong>and</strong> applied<br />

during the evaluati<strong>on</strong> of Customizable Localizati<strong>on</strong> support using<br />

Transliterati<strong>on</strong> Approach. The heuristics will be useful for qualitative<br />

evaluati<strong>on</strong> of any other languages in the applicati<strong>on</strong> <strong>and</strong> also serve as<br />

design guidelines [19]<br />

• Representati<strong>on</strong> of languages in its original form<br />

• Uniform representati<strong>on</strong> of language<br />

• Avoid influence of any other language<br />

• Maximum three characters for representati<strong>on</strong> of single<br />

character<br />

• Least typing effort, User Navigati<strong>on</strong> support<br />

• Avoid unc<strong>on</strong>trolled mixture of alphabets<br />

• Good readability of text<br />

Fig. 1 Flow graph for <strong>on</strong> the fly c<strong>on</strong>versi<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 152


Proceedings of ICCNS 08 , 27-28 September 2008<br />

effort. The translati<strong>on</strong> memory stores matching source <strong>and</strong> target<br />

language segments that were translated by translator in a database for<br />

future reuse. As the translati<strong>on</strong> effort progresses, the translati<strong>on</strong><br />

memory grows. Newly encountered segments are compared to the<br />

database c<strong>on</strong>tent, <strong>and</strong> the resulting output (exact, fuzzy or no match)<br />

is reviewed <strong>and</strong> completed by the translator [15].<br />

Once the data in Translati<strong>on</strong> Memory is loaded then different<br />

functi<strong>on</strong>s can be applied <strong>on</strong> it such as:<br />

• Multilingual search capabilities.<br />

• Multiple TM databases.<br />

• Search of both the source <strong>and</strong> target languages of translati<strong>on</strong>s.<br />

• Display of ranked list of relevant example texts.<br />

• Display of “snapshots'' of ranked examples for easy skimming.<br />

• Fuzzy matching of search <strong>and</strong> text terms to capture cognates <strong>and</strong><br />

morphological variants.<br />

• Fuzzy highlighting of found terms, including cognates in the<br />

parallel text.<br />

There are many advantages in using TMs:<br />

• The translati<strong>on</strong> can go much faster, avoid unnecessary re-typing<br />

of existing translati<strong>on</strong>s, or having to change <strong>on</strong>ly parts of text.<br />

• TMs also allow a better c<strong>on</strong>trol of the quality by offering<br />

translati<strong>on</strong> c<strong>and</strong>idates that have been already approved,<br />

with the correct terminology.<br />

Fig. 2 Flow graph for <strong>on</strong> the fly c<strong>on</strong>versi<strong>on</strong> (Functi<strong>on</strong>1)<br />

2. C<strong>on</strong>versi<strong>on</strong> Process<br />

The C<strong>on</strong>versi<strong>on</strong> process can now be reformulated with more<br />

detail as follows:<br />

Skelet<strong>on</strong><br />

of<br />

Document<br />

4<br />

C<strong>on</strong>verted<br />

Document<br />

Original<br />

Document<br />

1<br />

3<br />

C<strong>on</strong>versi<strong>on</strong><br />

5<br />

Dynamic<br />

Part of<br />

Document<br />

2<br />

Translati<strong>on</strong><br />

Memory<br />

Database<br />

Fig. 3 Flow graph for <strong>on</strong> the fly c<strong>on</strong>versi<strong>on</strong> (Functi<strong>on</strong>2)<br />

III. SYSTEM IMPLEMENTATION<br />

Middleware is a key part of the Customizable Localizati<strong>on</strong> support<br />

using Transliterati<strong>on</strong> Approach procedure. Middleware support<br />

<strong>on</strong>line Translati<strong>on</strong> Memory. Translati<strong>on</strong> memory acts as a database<br />

memory which goes <strong>on</strong> increasing. Translati<strong>on</strong> Memory is a soluti<strong>on</strong><br />

that increases efficiency by reusing previously translated words,<br />

phrases <strong>and</strong> sentences.<br />

1. Translati<strong>on</strong> Memory<br />

Translati<strong>on</strong> Memory is designed to enhance the human translati<strong>on</strong><br />

Fig. 4 C<strong>on</strong>versi<strong>on</strong> Process<br />

Text extracti<strong>on</strong>: Separati<strong>on</strong> of translatable text from layout data.<br />

Pre-translati<strong>on</strong>: Additi<strong>on</strong> of existing translati<strong>on</strong> to the new file<br />

generated in the previous step.<br />

C<strong>on</strong>versi<strong>on</strong>: Performed by a C<strong>on</strong>versi<strong>on</strong> logic.<br />

Reverse c<strong>on</strong>versi<strong>on</strong>: Generati<strong>on</strong> of a translated document from the<br />

translated file.<br />

Translati<strong>on</strong> memory improvement: Storage of new translati<strong>on</strong>s in<br />

a translati<strong>on</strong> memory (TM) database for later reuse<br />

C<strong>on</strong>versi<strong>on</strong>:<br />

Once it has been decided that translati<strong>on</strong> is required then the core<br />

step C<strong>on</strong>versi<strong>on</strong> comes into picture. Translati<strong>on</strong> unit is a string, so<br />

<strong>on</strong>e can easily find out its length. Once length of string is known that<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 153


Proceedings of ICCNS 08 , 27-28 September 2008<br />

will become the terminating c<strong>on</strong>diti<strong>on</strong> to run a loop. Every character<br />

in the string is getting c<strong>on</strong>verted into its equivalent Devanagari<br />

Unicode, So that it can be displayed into Marathi. For every<br />

character <strong>on</strong>e has to check whether it is a vowel, like ‘a’, ‘e’, ‘i’, ‘o’,<br />

‘u’ or c<strong>on</strong>s<strong>on</strong>ant. If a character is a c<strong>on</strong>s<strong>on</strong>ant it means <strong>on</strong>e has to<br />

display that character as a whole. But immediately we can not<br />

display that character because based <strong>on</strong> next character we have to<br />

decide whether we have to add any other character to it or we have to<br />

display it as whole character.<br />

There are mainly two categories, <strong>on</strong>e the full characters having <strong>on</strong>ly<br />

vowels attachment <strong>and</strong> another category is characters which need to<br />

be displayed as half characters. Let’s c<strong>on</strong>sider first category. For<br />

example if first character is ‘s’ <strong>on</strong>e cannot display ‘ स ‘ but if next<br />

character is ‘e’ then we have to display ‘ से ‘ but if next character is<br />

‘u’ then we have to display ‘ सु ‘.<br />

Therefore to display a character <strong>on</strong>e has to wait for minimum two<br />

characters to come. Similarly if first character is ‘s’ <strong>and</strong> next<br />

character is ‘h’ then <strong>on</strong>e has to wait for third character also, because<br />

single ‘s’ means ‘ स ‘ <strong>and</strong> single ‘h’ means ‘ह ‘ but when ‘sh’ is there<br />

then the character becomes ‘ श ‘ <strong>and</strong> to this ‘ श ‘ now we can add ‘<br />

◌ा ‘, ‘ ◌े ‘, ‘ि◌ ‘ , ‘ ◌ी ’, ‘ ◌ु ‘ , ‘◌ो ‘ , etc.<br />

Now let’s c<strong>on</strong>sider sec<strong>on</strong>d category having half characters. To<br />

display half character <strong>on</strong>e has to make use of ‘Halant’ whose<br />

Unicode is ‘\u094d’. This Unicode character is used for c<strong>on</strong>juncts<br />

<strong>on</strong>ly. Any character followed by this character is c<strong>on</strong>sidered as half<br />

character. The complexity of characters can go <strong>on</strong> increasing like<br />

this. It may happen that a vowel may be used as a single character i.e.<br />

‘a’ will be for ‘अ’ so <strong>on</strong>e has to take care of such characters also.<br />

One has to differentiate the characters which are following by ‘h’<br />

character <strong>and</strong> treat them separately.<br />

Unicode St<strong>and</strong>ards are used for c<strong>on</strong>versi<strong>on</strong>. For Devanagari the<br />

Unicode’s are ranging from \u0900 to \u097F, i.e. 128 characters are<br />

supported. ITRANS is getting utilized at the time of c<strong>on</strong>versi<strong>on</strong><br />

process. ITRANS is nothing but Indian languages TRANSliterati<strong>on</strong><br />

which is an ASCII transliterati<strong>on</strong> scheme for Indic scripts [11].<br />

ITRANS transliterati<strong>on</strong> scheme which is used here is as follows:<br />

Fig. 5 ITRANS Scheme<br />

When the translated data is finally ready, it must be merged with the<br />

skelet<strong>on</strong> file to produce a translated document in the desired output<br />

format. Now the skelet<strong>on</strong> is read <strong>and</strong> the translated document is<br />

combined with it to produce a final document. Here we have a<br />

skelet<strong>on</strong> as static part of the different forms. After all dynamic parts<br />

have been replaced with the corresp<strong>on</strong>ding text from the c<strong>on</strong>versi<strong>on</strong><br />

step; the skelet<strong>on</strong> becomes a translated document <strong>and</strong> should be<br />

saved under a new name.<br />

Finally we have to extract <strong>and</strong> pairs from the<br />

approved elements of the c<strong>on</strong>verted file. Store these<br />

pairs in the TM database for later reuse. These pairs are usually<br />

stored in a special XML format called Translati<strong>on</strong> Memory<br />

eXchange (TMX), which all important translati<strong>on</strong> tools support. But<br />

here a pair of English <strong>and</strong> equivalent Marathi word is getting stored<br />

in normal MS Access Database.<br />

IV. TESTING<br />

For this project work following feature set were been tested.<br />

• Displaying of different forms in Marathi<br />

• Reading from <strong>and</strong> updating to Database<br />

• Check against different error functi<strong>on</strong>s such as password check,<br />

date check, no. of days check, empty field check, etc.<br />

• C<strong>on</strong>versi<strong>on</strong> of English to Marathi String ( input from Keyboard,<br />

read from Database)<br />

• Testing administrator login for different opti<strong>on</strong>s like change in<br />

post, change in name, change is department, etc.<br />

V. CONCLUSION<br />

The English speakers are no l<strong>on</strong>ger the <strong>on</strong>ly <strong>on</strong>e making use of the<br />

internet. The growth of its usages in other languages has posed new<br />

challenges <strong>and</strong> dem<strong>and</strong>ed new soluti<strong>on</strong>s to offering c<strong>on</strong>tent in other<br />

languages. The process involves not <strong>on</strong>ly translati<strong>on</strong> but cultural<br />

adaptati<strong>on</strong> <strong>and</strong> a series of technical hurdles that have to be overcome.<br />

Customizable Localizati<strong>on</strong> support achieves dynamism, platform<br />

Independence as implemented with Java, multilingualism as it<br />

supports multiple languages <strong>and</strong> can be extended to support number<br />

of languages which are based <strong>on</strong> Devanagari. Hence this work is<br />

committed to deliver state-of-art capabilities for global market place.<br />

VI. REFERENCES<br />

[1]. Cornell <strong>and</strong> Horstmann., Core Java2, Vol. II., Advance<br />

Features of Sun Microsystems., Pears<strong>on</strong> Educati<strong>on</strong>.<br />

[2]. Steven Holzner., Java2, Swings, Servlets, JDBC <strong>and</strong> Java<br />

Beans Black Book, DreamTech Press.<br />

[3]. Andrew Deitsch <strong>and</strong> Mike Loukides, Java <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g>izati<strong>on</strong>.,<br />

O’Reilly 2001.<br />

[4]. John Yunker, Bey<strong>on</strong>d Borders : Web Globalizati<strong>on</strong> Strategies<br />

by, New Riders Publishing., 2003.<br />

[5]. Bert Esselink, A Practical Guide to Localizati<strong>on</strong>. John<br />

Publishing Company, 2000.<br />

[6]. “Percentage of n<strong>on</strong> English speaking”, www.bost<strong>on</strong>.com.<br />

[7]. “Internet Language Use Statistics”,www.translate-tosuccess.com/internet-language-use.html.<br />

[8]. “Census Data Summary”, www.censusindia.gov.in<br />

[9]. “CDAC LISM, MANTRA, Gist”, www.cdac.in<br />

[10]. “Unicode c<strong>on</strong>sortium St<strong>and</strong>ard”, www.unicode.org<br />

[11]. “Unicode for Indian languages”,<br />

http://acharya.iitm.ac.in/multi_sys/unicode/intro.php<br />

[12]. “Unicode enabling in Microsoft applicati<strong>on</strong>s”,<br />

http://www.i18nguy.com/unicode/c-unicode.html<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 154


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[13]. “cultural differences, internati<strong>on</strong>alizati<strong>on</strong>, localizati<strong>on</strong>,<br />

globalizati<strong>on</strong>, translati<strong>on</strong>”, http://www.i18nguy.com/index.html<br />

[14]. “Unicode in Java”, www.jorendorff.com/articles/<br />

[15]. “Java localizati<strong>on</strong> with TMX st<strong>and</strong>ard”,<br />

http://www.evolt.org/Java-Localizati<strong>on</strong>-with-TMX-st<strong>and</strong>ard<br />

[16]. “Creating, managing <strong>and</strong> maintaining a global website”,<br />

www.sdtlintl.com<br />

[17]. “Localizati<strong>on</strong> c<strong>on</strong>cept”, http://www.localizati<strong>on</strong>.ie<br />

[18].Prof. Dhore, M (2006), Automating HTML Localisati<strong>on</strong><br />

Process: An Implementati<strong>on</strong> Using Java <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g>isati<strong>on</strong><br />

Approach.<br />

[19].Katre D. S. (2006), 'A Positi<strong>on</strong> Paper On Cross-cultural<br />

Usability Issues of Bilingual (Hindi & English) Mobile Ph<strong>on</strong>es',<br />

http://hceye.org<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 155


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Adaptive <strong>and</strong> Aggregati<strong>on</strong> Aware Scheduling<br />

Algorithm for Event Detecti<strong>on</strong> Applicati<strong>on</strong><br />

First A. Sivagami , Sec<strong>on</strong>d K. Pavai, Third D. Sridharan, <strong>and</strong> Fourth S.A.V. Satya Murty<br />

Abstract—Energy is most important but scare resource in<br />

Wireless Sensor <strong>Networks</strong> (WSNs). We c<strong>on</strong>sider a problem of data<br />

aggregati<strong>on</strong> in WSN for event detecti<strong>on</strong> applicati<strong>on</strong>. For such an<br />

applicati<strong>on</strong>, minimizing the end-to-end delay of the data <strong>and</strong><br />

maximizing the lifetime of the network are the prime requirements in<br />

the design of WSN. Most of the data aggregati<strong>on</strong> schemes aim at<br />

reducing the energy c<strong>on</strong>sumpti<strong>on</strong> but giving less importance to the<br />

latency. While aggregating the packets, the latency increases with the<br />

increase in number of child nodes. Hence, when data aggregati<strong>on</strong> is<br />

d<strong>on</strong>e in an event detecti<strong>on</strong> applicati<strong>on</strong>, the time will be c<strong>on</strong>sidered as<br />

prime factor. A new MAC layer protocol, Adaptive <strong>and</strong> Aggregati<strong>on</strong><br />

Aware MAC (AA-MAC) is proposed to increase the lifetime of the<br />

network while reducing the end-to-end delay. The lifetime of the<br />

network is increased by routing the packet based <strong>on</strong> the residual<br />

energy of a node <strong>and</strong> by reducing the number of transmissi<strong>on</strong>. The<br />

end-to-end delay is reduced by changing the duty cycle of a node<br />

adaptively based <strong>on</strong> the traffic. Hence, this protocol balances between<br />

the energy <strong>and</strong> the delay.<br />

Keywords—Data Aggregati<strong>on</strong>, Medium Access C<strong>on</strong>trol (MAC),<br />

Wireless Sensor <strong>Networks</strong> (WSN)<br />

I. INTRODUCTION<br />

A Wireless Sensor Network c<strong>on</strong>sists of <strong>on</strong>e or multiple data<br />

sinks <strong>and</strong> many low cost sensor nodes. These sensor nodes are<br />

capable of sensing, processing <strong>and</strong> transmitting the sensed data<br />

to the sink, but they have limited resources like low processing<br />

speed, less storage capacity <strong>and</strong> limited power. Since, these<br />

nodes are operated by batteries, energy is a precious source.<br />

Hence it should be used in most ec<strong>on</strong>omical way to increase<br />

the life time of the node <strong>and</strong> hence the life time of the network.<br />

[1]<br />

The energy is drained by microprocessor <strong>and</strong> its associated<br />

circuitry, by sensor circuits <strong>and</strong> by the transceiver circuits.<br />

The main cause for energy drain in WSN is due to<br />

communicati<strong>on</strong>. Energy is used for transmissi<strong>on</strong>, recepti<strong>on</strong>,<br />

collisi<strong>on</strong> <strong>and</strong> retransmissi<strong>on</strong>. To reduce collisi<strong>on</strong>, the MAC<br />

Manuscript received May 14, 2008.<br />

F. A. Sivagami, Research Scholar, CEG Campus, Anna University,<br />

Chennai - 25 (ph<strong>on</strong>e: 9443881215; email: siva_psg69@yahoo.co.in).<br />

S. K. Pavai, Research Scholar, CEG Campus, Anna University, Chennai –<br />

25 (e-mail: pavai_me@yahoo.com)<br />

T. D. Sridharan, Assistant Professor, CEG Campus, Anna University,<br />

Chennai -25 (e-mail: sridhar@annauniv.edu)<br />

F. S. A. V. Satya Murty, Head, <strong>Computer</strong> Divisi<strong>on</strong>, Indira G<strong>and</strong>hi Centre<br />

for Atomic Research, Kalpakkam – 602 102 (e-mail : satya@igcar.gov.in)<br />

layer protocol Carrier Sense Multiple Access/ Collisi<strong>on</strong><br />

Avoidance (CSMA/CA) with RTS/CTS is used. If the number<br />

of transmissi<strong>on</strong>s is reduced, then the energy can be preserved.<br />

To reduce the number of transmissi<strong>on</strong>s <strong>and</strong> save the energy<br />

cost, an efficient data aggregati<strong>on</strong> scheme can be employed.<br />

The aggregati<strong>on</strong> may be either lossy or lossless. In lossless<br />

aggregati<strong>on</strong>, the data from all the sources are put together <strong>and</strong><br />

transmitted as a single packet. This will reduces the packet<br />

overhead <strong>and</strong> number of transmissi<strong>on</strong>s. In lossy aggregati<strong>on</strong>,<br />

the simple aggregati<strong>on</strong> functi<strong>on</strong>s like MAX, MIN,<br />

AVERAGE, <strong>and</strong> SD can be used. For example, if n packets are<br />

aggregated, the number of transmissi<strong>on</strong>s by a node is reduced<br />

from n to 1. We have used simple lossless data aggregati<strong>on</strong><br />

scheme.<br />

There are many applicati<strong>on</strong>s where the data should be<br />

delivered to the sink within a specified time frame. The data<br />

will be transmitted using multi hop communicati<strong>on</strong>. The data<br />

collected by the nodes which are far away from the sink will<br />

experience maximum delay. The causes for delay are<br />

processing delay, channel c<strong>on</strong>tenti<strong>on</strong> delay, sleep delay,<br />

queuing delay <strong>and</strong> data transmissi<strong>on</strong> delay. Compared to<br />

communicati<strong>on</strong> delay, the processing <strong>and</strong> transmissi<strong>on</strong> delay<br />

are ignored. Queuing delay can be avoided by doing<br />

aggregati<strong>on</strong> at the intermediate node. In order to reduce the<br />

end to end delay, the channel c<strong>on</strong>tenti<strong>on</strong> delay <strong>and</strong> sleep delay<br />

should be reduced. This proposed MAC protocol aims at<br />

reducing these two delays <strong>and</strong> hence improves the latency.<br />

Thus we propose a new adaptive, aggregati<strong>on</strong> aware MAC<br />

protocol (AA - MAC) that guarantees the network lifetime by<br />

making all the nodes deplete their energy uniformly. To<br />

guarantee the network life time, a cross layer approach is used.<br />

No explicit routing protocol is used in this applicati<strong>on</strong>.. The<br />

routing is performed based <strong>on</strong> the residual energy in the node.<br />

The residual energy is piggybacked with RTS/CTS packets.<br />

This informati<strong>on</strong> is passed to the routing layer from the MAC<br />

layer <strong>and</strong> the neighbor table is updated.<br />

This work aims at the following issues.<br />

• Adaptive Duty Cycle: Duty cycle of the node varies<br />

according to the traffic load of the network. The<br />

nodes, listen the channel for the particular durati<strong>on</strong>.<br />

If any packet is intended for it, the node will<br />

c<strong>on</strong>tinue to be in awakening state to receive the<br />

packet. The parent node receives packets from its<br />

child nodes <strong>and</strong> aggregates the packet.<br />

• Improving the Network Lifetime: Routing is based<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 156


Proceedings of ICCNS 08 , 27-28 September 2008<br />

<strong>on</strong> the node’s individual energy. Hence load<br />

balancing is achieved am<strong>on</strong>g the forwarding nodes.<br />

The overall energy c<strong>on</strong>sumpti<strong>on</strong> by all the nodes is<br />

uniform. This avoids the hole formati<strong>on</strong> <strong>and</strong> hence<br />

the partiti<strong>on</strong>ing of the network.<br />

• Latency Reducti<strong>on</strong>: The aggregated packet will<br />

experience less delay due to adaptive duty cycling<br />

of the MAC layer <strong>and</strong> the packets are routed to the<br />

parent node which is closer to the sink <strong>and</strong> having<br />

more energy as well.<br />

The rest of the paper is organized as follows. Secti<strong>on</strong> 2<br />

gives the survey of existing MAC protocols Secti<strong>on</strong> 3 gives the<br />

protocol overview of AA – MAC <strong>and</strong> secti<strong>on</strong> 4 gives the<br />

performance evaluati<strong>on</strong> of the proposed protocol. Finally<br />

Secti<strong>on</strong> 5 gives the c<strong>on</strong>clusi<strong>on</strong> <strong>and</strong> future work.<br />

II. RELATED WORK<br />

The main energy waste at the MAC layer are idle listening,<br />

overhearing, c<strong>on</strong>trol overhead <strong>and</strong> collisi<strong>on</strong> & retransmissi<strong>on</strong>s.<br />

To mitigate the energy c<strong>on</strong>sumpti<strong>on</strong> by idle listening, many of<br />

the currently proposed protocols adapt periodic listen/sleep<br />

scheduling. All the nodes wake up at the same period <strong>and</strong><br />

listen the channel. If a node wants to communicate, it c<strong>on</strong>tends<br />

for the channel. It sends the RTS to the receiver if it succeeds<br />

in getting the channel. The receiver node sends the CTS <strong>and</strong><br />

c<strong>on</strong>tinue to be in the awaken state to receive the data. Even<br />

though this periodic listen/sleep schedule reduces the energy<br />

c<strong>on</strong>sumpti<strong>on</strong>, it increases the end to end delay [2]. The<br />

tradeoff between the energy <strong>and</strong> the latency will depend <strong>on</strong> the<br />

duty cycle. The existing MAC protocols are categorized into<br />

two: 1. protocols for maximizing the energy efficiency <strong>and</strong> 2.<br />

Protocols for minimizing the latency.<br />

Ye et al. in 2002[3] proposed the MAC protocol called<br />

Sensor MAC(S –MAC) which is focusing <strong>on</strong> energy<br />

efficiency. The ideal listening is reduced by adapting periodic<br />

listen/sleep cycle. All nodes are free to choose their schedule<br />

<strong>and</strong> broadcast it to its neighbor through SYNC packet. Nodes<br />

that have not adapted their own schedule will follow <strong>on</strong>e of the<br />

schedule it has received from its neighbor <strong>and</strong> form a virtual<br />

cluster. The nodes will listen the channel when they wakeup<br />

<strong>and</strong> if it receives any RTS from its neighbor, it remains awake.<br />

Collisi<strong>on</strong> <strong>and</strong> overhearing problems are alleviated by<br />

RTS/CTS <strong>and</strong> NAV mechanism similar to IEEE 802.11.<br />

Due to periodic sleep, the downstream nodes may not know<br />

the <strong>on</strong>going communicati<strong>on</strong>. Hence the upstream nodes have<br />

to defer their data forwarding until the next node’s listen<br />

period. This delay increases as number of hops. This is called<br />

sleep forwarding delay <strong>and</strong> S- MAC suffers from this delay.<br />

Fig. 1 S – MAC Schedule<br />

In the fig. 1, [5] Node A is the source node <strong>and</strong> B, C, <strong>and</strong> D<br />

are the forwarding nodes. The node B receives packet from A<br />

but it can’t forward this packet until C wakes up. This causes<br />

sleep delay.<br />

To reduce this delay, an Adaptive S –MAC [4] was<br />

proposed by W. Ye, et al in which they can reduce this delay<br />

slightly. In this scheme, a RTS/CTS communicati<strong>on</strong> between<br />

A & B is overheard by C <strong>and</strong> sets it NAV timer. The node<br />

wakes up after the timer expires even during the sleep<br />

durati<strong>on</strong>. From the Fig. 2 [5], it is clear that the sleep delay is<br />

reduced compared to S – MAC.<br />

Fig. 2 A – MAC Schedule<br />

This reduces the sleep delay in alternate hops, but cannot<br />

address multi-hop latency problem.<br />

In order to reduce the latency in multiple hops, Changsu Suh<br />

et al proposed Traffic Aware Early Wakeup (T - Wakeup)<br />

scheme [5]. In Fig. 3, during the listen period the nodes A & B<br />

exchange RTS/CTS packets. The nodes within the CS range of<br />

A & B can hear this communicati<strong>on</strong> <strong>and</strong> aware of <strong>on</strong> going<br />

communicati<strong>on</strong>. Nodes C, D, <strong>and</strong> E are in the CS range <strong>and</strong> set<br />

their NAV timers. The nodes wake up after the timer expires<br />

<strong>and</strong> forward the packet c<strong>on</strong>tinuously. The cross layer approach<br />

is used to wakeup <strong>on</strong>ly the forwarding nodes in the CS range.<br />

Routing informati<strong>on</strong> is exchanged in RTS/CTS packets, hence<br />

the nodes which are in the routing path will wake up <strong>and</strong><br />

forward the packet. Remaining nodes in the CS range will not<br />

wake up during their sleep schedule.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 157


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 3 Traffic Aware MAC<br />

The author claims that the latency is reduced very much<br />

compared to S – MAC where it takes 4 duty cycles to forward<br />

the data from A to E whereas Traffic Aware –MAC takes <strong>on</strong>ly<br />

1 duty cycle. Even though this scheme reduces the latency but<br />

it does not provide any significant energy efficiency over S –<br />

MAC.<br />

To reduce the end to end delay <strong>and</strong> to guarantee the network<br />

lifetime, Youngsub et al proposed A-MAC approach [6]. In<br />

this algorithm, the nodes dynamically change their duty cycles<br />

depending <strong>on</strong> the remaining energy <strong>and</strong> the remaining time<br />

until the required network lifetime expires. The nodes with less<br />

energy will sleep more to balance the energy c<strong>on</strong>sumpti<strong>on</strong>.<br />

The nodes will broadcast their schedule using SYNC packets<br />

<strong>and</strong> all the nodes keep track their neighbor’s sleep schedule.<br />

The nodes do not have packets to send will wake up <strong>on</strong>ly<br />

during their listen interval. If a node is having packets to send<br />

will wake up at their neighbor’s listen period.<br />

III. ADAPTIVE DATA AGGREATION AWARE MAC PROTOCOL<br />

(AA-MAC)<br />

The primary focus of this protocol is to reduce the end to<br />

end delay <strong>and</strong> increasing the life time of the network while<br />

aggregating the data. The data aggregati<strong>on</strong> scheme is used to<br />

reduce the number of transmissi<strong>on</strong>. In Tiny Aggregati<strong>on</strong> Tree<br />

(TAG) protocol [7], the packets coming from various child<br />

nodes are aggregated by the parent node <strong>and</strong> it is forwarded to<br />

the next down stream node. The parent node has to wait until<br />

all of its child nodes transmit their data. Suppose a node is<br />

having n child nodes, then the minimum waiting time of the<br />

parent node to forward the packet is n * t MAC , where t MAC is<br />

<strong>on</strong>e sleep <strong>and</strong> listen period. Because, the nodes will go to sleep<br />

mode after a transmissi<strong>on</strong> starts between any two nodes in<br />

their vicinity. Hence the delay in <strong>on</strong>e hop depends <strong>on</strong> how<br />

many child nodes (degree of the node) are there in a parent.<br />

This delay will increase if any node is not getting its chance to<br />

transmit. The packets are forwarded to the sink by multihop.<br />

Hence the total delay experienced by a packet is equal to<br />

cumulative delay of this single hop delay. The total delay = H<br />

* single hop delay where H is the maximum level of the tree.<br />

Therefore the total delay depends <strong>on</strong> the number of hops <strong>and</strong><br />

degree of the nodes [8]<br />

In order to reduce the delay, a MAC layer listen/sleep<br />

schedule is modified. All nodes wake up during its listen<br />

interval <strong>and</strong> c<strong>on</strong>tend for the channel. If any node gets its<br />

chance to transmit, the neighbor nodes will hear the RTS/CTS<br />

communicati<strong>on</strong> <strong>and</strong> seize their back off timer. If any of the<br />

neighbor nodes wants to communicate with same parent node,<br />

it will do the carrier sensing c<strong>on</strong>tinuously instead of going to<br />

sleep. Once the communicati<strong>on</strong> is over, the nodes which are<br />

having packets for the same parent will start their timer <strong>and</strong><br />

c<strong>on</strong>tend. Mean time, the parent node will not go for sleep state.<br />

Instead it waits for the c<strong>on</strong>tenti<strong>on</strong> window period. If no RTS<br />

from any of its child nodes it goes to sleep, otherwise it will<br />

stay awake to receive the data from its child nodes. In order to<br />

fix a bound for the delay, the number of packets to be<br />

aggregated is fixed to D. The duty cycle of the nodes, which<br />

are close to the sink are increased in order to decrease the<br />

forwarding delay.<br />

Self-Organizati<strong>on</strong>: When a node is switched <strong>on</strong>, it listens to<br />

the channel for any transmissi<strong>on</strong>. The sink node transmits the<br />

HELLO message to all the nodes. It c<strong>on</strong>tains the Source Node<br />

ID, its locati<strong>on</strong>, level, Residual energy <strong>and</strong> the next hop<br />

downstream neighbor. The level is the hop number, i.e. how<br />

many hops it is away from the sink. Hence the level for the<br />

sink is 0 <strong>and</strong> the neighbors of the sink are level 1 <strong>and</strong> so <strong>on</strong>.<br />

The node receives the HELLO packet will check the source id,<br />

it tells the originati<strong>on</strong> of the HELLO packet <strong>and</strong> writes into its<br />

neighbor table. The other entries in the neighbor table are<br />

Level, residual energy <strong>and</strong> the locati<strong>on</strong> of the source id. The<br />

node with maximum residual energy is selected as the parent<br />

node. The HELLO packet will be retransmitted after updating<br />

the next hop neighbor <strong>and</strong> the level field, which is incremented<br />

by <strong>on</strong>e. Fig. 4 explains this procedure.<br />

After this initial phase, all the nodes are having the neighbor<br />

table which holds the informati<strong>on</strong> about its downstream<br />

neighbors. The routing of the packets will be based <strong>on</strong> this<br />

table. This table will be updated periodically by broadcasting<br />

HELLO messages.<br />

The SYNC informati<strong>on</strong> is also transmitted by the sink in<br />

HELLO message, there by all the child nodes synchr<strong>on</strong>ize<br />

their clock with the sink node.<br />

SINK LEVEL 0<br />

Fig. 4 Network organizati<strong>on</strong><br />

LEVEL 1<br />

LEVEL 2<br />

Network Operati<strong>on</strong>: The nodes will from a virtual tree. The<br />

packets are routed through this virtual tree. This can be<br />

changed dynamically at the time of Hello messages. Routing is<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 158


Proceedings of ICCNS 08 , 27-28 September 2008<br />

based <strong>on</strong> the residual energy available in the node. While<br />

exchanging the RTS/CTS packets, the nodes will include their<br />

residual energy. The nodes hear this RTS/CTS will update<br />

their neighbor table entries. The routing is based <strong>on</strong> the energy<br />

available <strong>and</strong> the distance between the forwarding node <strong>and</strong><br />

the sink. From the neighbor list, the routing algorithm of the<br />

source node calculates the distance of each of the forwarding<br />

node <strong>and</strong> the sink node. Then it routes the packets to the<br />

forwarding node which is closer to the sink is selected as the<br />

relay node [9].<br />

For example, suppose a source node wants to communicate<br />

with sink, it looks for the neighbor list. From the list, it<br />

chooses the node with more energy as a forwarding node. If<br />

any two nodes (A & B in the figure 5) are having equal energy,<br />

then it will calculate the distance of the forwarding nodes A &<br />

B from the sink. The node which is closer to the sink is<br />

chosen to be the next hop neighbor. Here Node B will be<br />

selected as the forwarding c<strong>and</strong>idate.<br />

Adaptive<br />

Wake up<br />

First<br />

Packets for<br />

packet<br />

aggregati<strong>on</strong><br />

Listen<br />

Extended<br />

period<br />

Listen period<br />

Fig. 6 Adaptive Sleep/Wake up schedule<br />

Level 1<br />

Level 2<br />

Level 3<br />

SOURCE<br />

A<br />

B<br />

SINK<br />

Fig. 5 Routing based <strong>on</strong> distance<br />

MAC for Data Aggregati<strong>on</strong>: The nodes are grouped into<br />

different levels based <strong>on</strong> their hop count from the sink. All the<br />

nodes wake up at the same interval of time, but their duty cycle<br />

changes with the traffic load. The nodes at all the levels except<br />

the leaf nodes, wakes up at the centre of its sleep durati<strong>on</strong> if<br />

there are any packets to forward. From the fig. 6, the nodes at<br />

the level 3 are the leaf nodes. If any event is detected, the data<br />

will be sent to the level 2. If more nodes want to communicate,<br />

those nodes will compete for the channel. If any node<br />

succeeds, they exchange RTS/CTS <strong>and</strong> this will be overheard<br />

by the nodes in the level 1. The CTS packet also carries the<br />

next hop informati<strong>on</strong>, hence the next hop neighbor in the level<br />

1 will wake up at he middle of the sleep interval <strong>and</strong> receives<br />

the packet. Otherwise, it will not get up in between <strong>and</strong> thus<br />

saves energy.<br />

Thus the adaptive wake up executed by the nodes at the<br />

same level decreases the aggregati<strong>on</strong> delay <strong>and</strong> the adaptive<br />

wake up at different levels decreases the forwarding delay. The<br />

system will report about the event with less delay <strong>and</strong> uses less<br />

energy. This ensures the fairness am<strong>on</strong>g the competing nodes.<br />

The number of packets to be aggregated is fixed in order to<br />

avoid delay in the MAC layer.<br />

Fig. 6 shows the adaptive sleep/wakeup schedule for the<br />

proposed AA-MAC. The next level nodes will wake up in<br />

between if there is any CTS heard during the listen period.<br />

Otherwise, it w<strong>on</strong>’t wakeup in the middle. For example, the<br />

nodes in the level 1 hear the RTS/CTS communicati<strong>on</strong><br />

between the nodes in level 2 & 3. Hence they wake up in the<br />

middle of the sleep period <strong>and</strong> receive the packet. This reduces<br />

the latency in forwarding the packets to the sink.<br />

The fig. 7 explains the two level communicati<strong>on</strong>s between<br />

the parent & child at any level. The node 1 in the level 1<br />

communicates with its parent during its listen period. This will<br />

be heard by nodes 2 & 3 <strong>and</strong> they are having packets to<br />

transmit. They set their NAV timer <strong>and</strong> goes to sleep mode.<br />

When the timer expires, all the competing nodes again c<strong>on</strong>tend<br />

for the channel. For this durati<strong>on</strong> the parent node will remain<br />

in awaken state.<br />

RTS<br />

CTS<br />

4 1 2<br />

3<br />

5<br />

6<br />

2 & 3 do carrier<br />

sensing<br />

Level 2<br />

Level 3<br />

Fig. 7 Two level communicati<strong>on</strong> between parent <strong>and</strong> child<br />

IV. PERFORMANCE EVALUATION<br />

We implemented this algorithm in ns –2 Network simulator<br />

[10], [11]. The network size is 10 X 10 arranged in grid<br />

topology with the inter node spacing of 45m. The sink is fixed<br />

at the center of the grid. The RX threshold is said to be 55m<br />

<strong>and</strong> the CS threshold is said to be 110m. We use the battery<br />

model <strong>and</strong> receiver threshold as given for IRIS mote [12]. The<br />

size of the data packet is 100 bytes <strong>and</strong> the duty cycle is said to<br />

be 10% as used in LE –MAC. The total simulati<strong>on</strong> time is<br />

400s. The number of packets to be aggregated is fixed as 4<br />

packets. The traffic is generated at the node at extreme left<br />

corner <strong>and</strong> is transmitted to the sink. The event is assumed to<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 159


Proceedings of ICCNS 08 , 27-28 September 2008<br />

be take place at the bottom left corner. Hence the nodes near to<br />

this regi<strong>on</strong> will have the data for transmissi<strong>on</strong>. The nodes 70 -<br />

73, 80 – 83 <strong>and</strong> 90 – 93 will generate the traffic at 50s. The<br />

node 45 will act as a sink.<br />

The end-to-end delay is calculated by finding the average<br />

delay of all the packets received during the simulati<strong>on</strong> interval.<br />

The energy c<strong>on</strong>sumpti<strong>on</strong> is calculated as the total energy<br />

c<strong>on</strong>sumpti<strong>on</strong> in all the nodes to transmit the packets for the<br />

durati<strong>on</strong> of the simulati<strong>on</strong>. This analysis is performed for<br />

various sizes of networks.<br />

The performance of the algorithm will be compared with S<br />

–MAC <strong>and</strong> TAG. The end-to-end delay increases with increase<br />

in number of nodes <strong>and</strong> it decreases with increase in duty<br />

cycle. The duty cycle is defined as the ratio of listen period to<br />

listen + sleep period. The AA- MAC will be compared with S-<br />

MAC for the delay <strong>and</strong> energy analysis against the network<br />

size. The aggregati<strong>on</strong> capabilities of this algorithm will be<br />

compared with TAG.<br />

V. CONCLUSION<br />

Since this algorithm uses no fixed infrastructure like Tree in<br />

TAG, it doesn’t require any tree formati<strong>on</strong> algorithm. So, it<br />

doesn’t require any memory space for storing the algorithm<br />

<strong>and</strong> it doesn’t waste the CPU energy. The energy saving is<br />

achieved by routing through more energy nodes <strong>and</strong> doing data<br />

aggregati<strong>on</strong>. The delay is reduced by adaptive listening. Hence<br />

lifetime will be increased compared to S-MAC & TAG <strong>and</strong> the<br />

delay will be reduced compared to TAG. This algorithm will<br />

balance between the energy efficiency <strong>and</strong> the delay incurred<br />

by the data aggregati<strong>on</strong>. This algorithm will also be tested in<br />

Crossbow’s IRIS motes.<br />

REFERENCES<br />

[1] D. Culler, D. Estrin, <strong>and</strong> M. Srivastava, “ Overview of sensor<br />

<strong>Networks</strong>”, <strong>Computer</strong>, Vol. 37, No. 8, pp. 41-49,2004<br />

[2] Yang Yu, Bhaskar Krishnamachari <strong>and</strong> Viktor K. Prasanna, "Energy-<br />

Latency Tradeoffs for Data Gathering in Wireless Sensor <strong>Networks</strong>,"<br />

IEEE Infocom, H<strong>on</strong>g K<strong>on</strong>g, March 2004<br />

[3] W. YE, J. Heidemann, D. Estrin, “An energy efficient MAC protocol for<br />

wireless sensor networks”, IEEE INFOCOM ’02, June 2002.<br />

[4] J W. YE, J. Heidemann, D. Estrin ,”Medium Access C<strong>on</strong>trol with<br />

Coordinated Adaptive Sleeping for Wireless Sensor <strong>Networks</strong>”, IEEE<br />

Trans. On Networking , Vol. 12 No. 3 493-506, 2004<br />

[5] Changsu Suh, Deepesh Man Shrestha, <strong>and</strong> Young-Bae Ko, “an Energy-<br />

Efficient MAC Protocol for Delay-Sensitive Wireless Sensor <strong>Networks</strong>”,<br />

EUC Workshops 2006, LNCS 4097, pp 445- 454, 2006<br />

[6] Y<strong>on</strong>gsub Nam, Taekyoung Kw<strong>on</strong>, Hojin Lee, Hakyung Jung, Yangghee<br />

Choi, “ Guaranteing the network lifetime in wireless sensor networks: A<br />

MAC layer approach”, ScienceDirect, <strong>Computer</strong> Communicati<strong>on</strong> 30,<br />

2007<br />

[7] Samuel Madden, Michael J. Franklin <strong>and</strong> Joseph Hellerstein, Wei H<strong>on</strong>g,<br />

“TAG: a Tiny AGgregati<strong>on</strong> Service for Ad-Hoc Sensor <strong>Networks</strong>“,<br />

[8] H.Cheng, Q.Liu, <strong>and</strong> X.Jia, “Heuristic algorithms for real-time data<br />

aggregati<strong>on</strong> in wireless sensor networks” in ACM IWCCC 2006,<br />

Vancouver, British Columbia, Canada, Jul 2006<br />

[9] B. Karp, H.T. Kung,, ”GPSR: greedy perimeter stateless routing for<br />

wireless networks“, in Proceedings of the 6 th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g><br />

<strong>on</strong> Mobile Computing <strong>and</strong> Networking (MobiCom 2000), Bost<strong>on</strong>, MA,<br />

USA, August 2000, pp. 243 - 254<br />

[10] http://www.isi.edj/nsnam/ns/ - Ns home page<br />

[11] http://www.isi.edu/nsnam/ns/ns-man.html - ns manual page<br />

[12] www.xbow.com/iris --- crossbow iris data sheet<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 160


Proceedings of ICCNS 08 , 27-28 September 2008<br />

An Efficient Eager Dynamic Primary Copy<br />

Algorithm for Replicated UDDI Registry<br />

Pradhan Bagur Umesh, Bharath Kumar A. R., <strong>and</strong> Ananthanarayana V. S.<br />

Abstract— UDDI (Universal Descripti<strong>on</strong>, Discovery, <strong>and</strong><br />

Integrati<strong>on</strong>) provides a method for publishing <strong>and</strong> finding service<br />

descripti<strong>on</strong>s, <strong>and</strong> therefore is a crucial entry point for Web Services.<br />

High throughput, availability <strong>and</strong> data integrity are the basic<br />

requirements of UDDI. In this paper we propose an eager dynamic<br />

primary copy algorithm for replicated databases which satisfies the<br />

above requirements in an efficient manner. Due to high access rates<br />

of UDDI registry reducti<strong>on</strong> of number of messages exchanged during<br />

updating is a crucial factor for increasing throughput in a distributed<br />

database system like UDDI registry. Our algorithm preserves the<br />

advantages of dynamic primary copy method. It h<strong>and</strong>les the<br />

c<strong>on</strong>flicting requests efficiently by arranging the nodes into groups<br />

<strong>and</strong> restricts all the interacti<strong>on</strong>s to within these groups which reduces<br />

the number of messages significantly.<br />

U<br />

Keywords— Dynamic Primary copy, eager replicati<strong>on</strong>, UDDI.<br />

I. INTRODUCTION<br />

DDI (Universal Descripti<strong>on</strong>, Discovery, <strong>and</strong> Integrati<strong>on</strong>)<br />

specificati<strong>on</strong>s define a registry service for Web services<br />

<strong>and</strong> for other electr<strong>on</strong>ic <strong>and</strong> n<strong>on</strong>-electr<strong>on</strong>ic services which<br />

helps to provide simplified mechanisms for B2B <strong>and</strong> B2C<br />

interacti<strong>on</strong>s. Each Service Provider registers the services in<br />

the registry of Service Broker <strong>and</strong> the Service Requester<br />

queries the registry to find the required Web Service. UDDI<br />

would be a crucial entry point for web services <strong>and</strong> it needs to<br />

provide high throughput, low resp<strong>on</strong>se time, high availability,<br />

<strong>and</strong> access to accurate data. Many applicati<strong>on</strong>s dem<strong>and</strong><br />

replicated databases <strong>and</strong> involve large number of transacti<strong>on</strong>s.<br />

Thus we can expect to have numerous c<strong>on</strong>flicting requests for<br />

access of data everyday. This can be d<strong>on</strong>e by data replicati<strong>on</strong><br />

<strong>and</strong> h<strong>and</strong>ling c<strong>on</strong>flicting requests is a necessity.<br />

A primary copy of a data in replicated databases refers to<br />

the data item to which any update request has to be directed.<br />

In dynamic primary copy method [1], [2], the noti<strong>on</strong> of<br />

primary copy is dynamic in nature where the update is d<strong>on</strong>e at<br />

the same site where the request is submitted.<br />

Pradhan Bagur Umesh is with the Nati<strong>on</strong>al Institute of Technology<br />

Karnataka, Surathkal (NITK, Surathkal), Srinivasanagar Post, Mangalore -<br />

575025 ,India( mobile: 91-9886857647, e-mail: pradhan@ieee.org)<br />

Bharath Kumar A. R. is with the Nati<strong>on</strong>al Institute of Technology<br />

Karnataka, Surathkal (NITK, Surathkal), Srinivasanagar Post, Mangalore -<br />

575025, India (e-mail: a.r.bharathkumar@gmail.com).<br />

Ananthanarayana V. S is with the Nati<strong>on</strong>al Institute of Technology<br />

Karnataka, Surathkal (NITK, Surathkal), Srinivasanagar Post, Mangalore -<br />

575025, India (e-mail: anvs@nitk.ac.in).<br />

Replicati<strong>on</strong> strategies can be broadly categorized as lazy<br />

replicati<strong>on</strong> <strong>and</strong> eager replicati<strong>on</strong> [3], [4], [5], [6]. In lazy<br />

replicati<strong>on</strong>, the propagati<strong>on</strong> of the updates is d<strong>on</strong>e by<br />

independent transacti<strong>on</strong>s after the original transacti<strong>on</strong><br />

commits. This method provides low resp<strong>on</strong>se time, but at a<br />

given point of time data at all remote sites may not always<br />

corresp<strong>on</strong>d to <strong>on</strong>e of the latest update. Whereas, in eager<br />

replicati<strong>on</strong>, the coordinati<strong>on</strong> between the replicas ensure that<br />

the resp<strong>on</strong>se received by user corresp<strong>on</strong>ds to <strong>on</strong>e of the latest<br />

update. In dynamic primary copy method [1], the method used<br />

is a blend of lazy <strong>and</strong> eager replicati<strong>on</strong> where as Lazy<br />

Dynamic Primary Copy Method (LDPC) [2] uses lazy<br />

strategy. In this paper, we discuss an Eager Dynamic Primary<br />

Copy Method (EDPC).<br />

In Dynamic primary copy method[1], [2], as the number of<br />

c<strong>on</strong>current <strong>and</strong> c<strong>on</strong>flicting update requests increases, the<br />

number of messages exchanged is lesser than Eager<br />

Middleware Replicati<strong>on</strong> method[3] i.e. the number of<br />

messages exchanged decreases with increase in the number of<br />

c<strong>on</strong>flicting update messages. Our method for dynamic primary<br />

copy provides a soluti<strong>on</strong> where the number of messages<br />

exchanged is independent of number of c<strong>on</strong>flicting requests.<br />

Our algorithm makes sure that deadlocks d<strong>on</strong>’t occur while<br />

h<strong>and</strong>ling c<strong>on</strong>flicting requests.<br />

The rest of the paper is organized as follows: In next<br />

secti<strong>on</strong>, we give a brief descripti<strong>on</strong> of UDDI Registry API. In<br />

secti<strong>on</strong> 3, we describe the previous work d<strong>on</strong>e in this area. In<br />

secti<strong>on</strong> 4, we describe our algorithm. Later in secti<strong>on</strong> 5, we<br />

give a brief descripti<strong>on</strong> about h<strong>and</strong>ling of c<strong>on</strong>flicti<strong>on</strong> requests.<br />

In secti<strong>on</strong> 6, we give the analysis of the algorithm <strong>and</strong> in<br />

secti<strong>on</strong> 7 we compare our algorithm with Eager Middleware<br />

replicati<strong>on</strong> <strong>and</strong> Dynamic Primary copy mechanism with<br />

Piggy-Backing (both DPCP M <strong>and</strong> DPCP P ) <strong>and</strong> finally we<br />

c<strong>on</strong>clude in secti<strong>on</strong> 8.<br />

II. DESCRIPTION OF UDDI REGISTRY API<br />

UDDI Registry c<strong>on</strong>sists of four core data structure types [11]:<br />

business informati<strong>on</strong>, service informati<strong>on</strong>, binding<br />

informati<strong>on</strong>, <strong>and</strong> informati<strong>on</strong> describing the specificati<strong>on</strong>s for<br />

services. The relati<strong>on</strong>ship between these data structures is<br />

illustrated in Fig. 1[13].<br />

Business informati<strong>on</strong>: It is c<strong>on</strong>tained in a businessEntity<br />

structure. The businessEntity models business informati<strong>on</strong> of<br />

organizati<strong>on</strong> that provides web services<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 161


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Service informati<strong>on</strong>: It is c<strong>on</strong>tained in a businessService<br />

structure. The businessService describes the family of Web<br />

Service offered by organizati<strong>on</strong>.<br />

Binding informati<strong>on</strong>: It is c<strong>on</strong>tained in a bindingTemplate<br />

structure. The bindingTemplate describes the technical<br />

informati<strong>on</strong> required to use the Web Service<br />

Informati<strong>on</strong> describing the specificati<strong>on</strong>s for services:<br />

Metadata about the various specificati<strong>on</strong>s implemented by a<br />

given Web service represented by the tModel. The tModel<br />

describes a technical model which describes a reusable<br />

c<strong>on</strong>cept like Web Service type, a protocol used by Web<br />

Services, or a category system.<br />

The above data structures are uniquely identified by a key,<br />

i.e. businessKey, serviceKey, bindingKey <strong>and</strong> tModelKey for<br />

businessEntity, businessService, bindingTemplate <strong>and</strong> tModel<br />

respectively.<br />

Fig. 1 Relati<strong>on</strong>ship between data structures.<br />

Each child structure has a unique parent structure i.e. each<br />

businessService structure is owned by a specific<br />

businessEntity. Each bindingTemplate is owned by a specific<br />

businessService. Each bindingTemplate structure references to<br />

unique instances of tModel structures.<br />

An UDDI node supports the interacti<strong>on</strong> with UDDI data<br />

using <strong>on</strong>e or more of the API sets, viz. UDDI Inquiry <strong>and</strong><br />

UDDI Publicati<strong>on</strong>(necessary API sets); <strong>and</strong> opti<strong>on</strong>al APIs<br />

which are UDDI <strong>Security</strong>, UDDI Custody Transfer, UDDI<br />

Subscripti<strong>on</strong> <strong>and</strong> UDDI Replicati<strong>on</strong> API sets. One or more<br />

UDDI nodes may be combined to form a UDDI Registry.<br />

UDDI Inquiry API <strong>and</strong> UDDI Publisher API which are<br />

relevant to the proposed algorithm explained below:<br />

UDDI Inquiry API: It is used to locate <strong>and</strong> obtain detail <strong>on</strong><br />

entries in a UDDI registry. To locate any entry API calls<br />

involving find_business, find_service, find_binding <strong>and</strong><br />

find_tModel (find_xx) are used. And to obtain the details <strong>on</strong><br />

the UDDI entries API calls involving get_businesDetail,<br />

get_serviceDetail, get_bindingDetail, get_tModelDetail<br />

(get_xx) are used.<br />

UDDI Publisher API: It is used to update (add, modify or<br />

delete) informati<strong>on</strong> c<strong>on</strong>tained in a UDDI registry. To add or<br />

modify the entries API calls involving save_business,<br />

save_service, save_binding <strong>and</strong> save_tModel(save_xx) are<br />

used. And to delete entries API calls involving<br />

delete_business, delete_service, delete_binding <strong>and</strong><br />

delete_tModel (delete_xx) are used.<br />

Relevant arguments are passed to these APIs <strong>and</strong> <strong>on</strong>e of<br />

the required arguments is the key in direct or indirect form.<br />

III. RELATED WORK<br />

A. Lazy Primary copy method<br />

In this method, the propagati<strong>on</strong> of the updates is d<strong>on</strong>e by<br />

independent transacti<strong>on</strong>s after the original transacti<strong>on</strong><br />

commits. Thus it provides low resp<strong>on</strong>se time by providing the<br />

resp<strong>on</strong>se before any coordinati<strong>on</strong> takes place between the<br />

different sites. Also, at a given point of time data at remote<br />

site do not always corresp<strong>on</strong>d to <strong>on</strong>e of the latest update.<br />

Here, the replicas just apply the changes propagated by the<br />

site having the primary copy <strong>and</strong> all coordinati<strong>on</strong> <strong>and</strong> ordering<br />

happens <strong>on</strong>ly at primary site.<br />

B. Eager Primary copy method<br />

In this method, the transacti<strong>on</strong> is committed <strong>on</strong>ly after the<br />

propagati<strong>on</strong> of updates is completed (after primary copy<br />

learns that other copies i.e. sec<strong>on</strong>dary copies are updated).<br />

Thus its resp<strong>on</strong>se time is higher than that of lazy method<br />

because the resp<strong>on</strong>se to user has to be sent after the<br />

transacti<strong>on</strong> is committed which in turn happens <strong>on</strong>ly after the<br />

propagati<strong>on</strong> of updates to all the sites. Ordering of updates in<br />

sec<strong>on</strong>dary copies is governed by that of primary copy (order<br />

of applying updates at sec<strong>on</strong>dary copies follows the same<br />

order of primary copy). In UDDI terms, the UDDI data is<br />

divided in porti<strong>on</strong>ed based <strong>on</strong> publisher <strong>and</strong> each partiti<strong>on</strong> has<br />

a primary copy. An update request R i (save_xx or delete_xx)<br />

is submitted by client to any site <strong>and</strong> that site multicasts R i ,<br />

timestamp <strong>and</strong> update informati<strong>on</strong> to all other sites. On receipt<br />

of R i all the sites excluding primary site of data corresp<strong>on</strong>ding<br />

to R i sends acknowledgement or request piggybacked with<br />

acknowledgement (if that site has to request for the same<br />

pages corresp<strong>on</strong>ding to R i ). Only primary copy performs the<br />

task executing R i which is later propagated to other sites <strong>and</strong><br />

order of updating at other sites is same as that of primary site.<br />

C. Dynamic Primary copy with Piggy-Backing (DPCP)<br />

method<br />

This method uses a blend of Lazy <strong>and</strong> Eager replicati<strong>on</strong>. The<br />

idea of primary copy is dynamic in nature. The UDDI registry<br />

is divided into pages <strong>and</strong> each page has <strong>on</strong>e or more entities.<br />

When a site wants to update, an update request R i (save_xx or<br />

delete_xx) for a particular page is broadcasted. Up<strong>on</strong> receipt<br />

of permissi<strong>on</strong> from all the sites, it updates the page locally<br />

unlike primary copy method where the updating is d<strong>on</strong>e at the<br />

site holding the respective primary copy. This method has<br />

been classified into DPCP M <strong>and</strong> DPCP P (the subscripts M <strong>and</strong><br />

P refer to multicast <strong>and</strong> point-to-point respectively) based <strong>on</strong><br />

method used for prorogati<strong>on</strong> of updates. In DPCP M , after<br />

completi<strong>on</strong> of local update the site broadcasts the update<br />

where as in DPCP P ; it sends the update <strong>on</strong>ly to node which<br />

would update the same page next <strong>and</strong> broadcasts the update<br />

<strong>on</strong>ly if there are no update requests for same page queued up.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 162


Proceedings of ICCNS 08 , 27-28 September 2008<br />

D. Lazy Dynamic Primary Copy (LDPC) method<br />

This method uses Lazy strategy but the noti<strong>on</strong> of primary<br />

copy is dynamic in nature. In this method, the sites are<br />

grouped <strong>and</strong> the communicati<strong>on</strong> each site is restricted to the<br />

nodes of its group. Whenever a node wants to update some<br />

data item, it sends a request message to all the nodes of its<br />

group. If the node which receives the request is allowed to<br />

vote, it votes for this node. Up<strong>on</strong> receipt of votes from all the<br />

nodes of its group, the requester updates the data item. Then it<br />

multicasts the updated data to all the nodes of its group. The<br />

system model used in LDPC is similar to that we describe in<br />

the following secti<strong>on</strong>.<br />

IV. PROPOSED ALGORITHM<br />

A. System Model<br />

We assume that UDDI registry is divided into pages. Hence<br />

in this paper, terms like data item, page <strong>and</strong> data are used<br />

interchangeably. The system has ‘N’ sites (S 1 , S 2 , S 3, …, S N ).<br />

The underlying communicati<strong>on</strong> channel is assumed to be error<br />

free <strong>and</strong> reliable, <strong>and</strong> message passing between nodes to be<br />

asynchr<strong>on</strong>ous. Without loss of generality, database is assumed<br />

to be fully replicated at all the sites <strong>and</strong> that each site executes<br />

a maximum of <strong>on</strong>e database accessing process. (Hence in this<br />

paper the terms sites, processes, <strong>and</strong> nodes will be used<br />

interchangeably).<br />

In this paper we group the sites of the system into different<br />

groups called as voting districts. Voting districts are<br />

c<strong>on</strong>structed in such a way that each voting district has equal<br />

number of sites in them (say ‘K’) <strong>and</strong> that there is at least <strong>on</strong>e<br />

node in comm<strong>on</strong> between any two voting districts. Node<br />

which bel<strong>on</strong>gs to more than <strong>on</strong>e voting district is called an<br />

intersecti<strong>on</strong> node in this paper. Every node should bel<strong>on</strong>g to at<br />

least <strong>on</strong>e voting district.<br />

Here <strong>on</strong>e can sense some flavor of the Maekawa's<br />

distributed mutual exclusi<strong>on</strong> algorithm [8] i.e. similar to<br />

Maekawa’s we divide the nodes into groups <strong>and</strong> four out of<br />

five types of messages we use this algorithm are similar to<br />

that of Maekawa's. However, the c<strong>on</strong>text at which our<br />

algorithm is being applied for, is different. Maekawa's<br />

algorithm addresses the problem of distributed mutual<br />

exclusi<strong>on</strong> which h<strong>and</strong>les the issue of access to critical secti<strong>on</strong>,<br />

where as our algorithm provides a method for c<strong>on</strong>flict<br />

resoluti<strong>on</strong> of update requests in replicated databases. Issues<br />

like read <strong>and</strong> write <strong>on</strong> data items, which are not important in<br />

the critical secti<strong>on</strong>, need to be h<strong>and</strong>led which makes our<br />

algorithm quite different from that of Maekawa’s.<br />

We use eager strategy for updating the UDDI registry i.e.<br />

each update request initiates updating process at each <strong>and</strong> ever<br />

site, <strong>and</strong> <strong>on</strong>ly after the update being propagated to all the sites<br />

the user be informed of successful committing of the<br />

transacti<strong>on</strong>.<br />

Maekawa established the following relati<strong>on</strong>ship between 'N'<br />

<strong>and</strong> 'K': N = K(K-1) + 1. Hence 'K' can be approximated to<br />

√N.<br />

B. Basic Idea<br />

The node, which wants to update a data item of the UDDI<br />

registry, multicasts a request message to all the nodes of its<br />

native voting district. The nodes which receive the update<br />

request check if they have voted for some node <strong>and</strong> are<br />

waiting for its update. If they have no pending votes, they cast<br />

their vote to the site which has sent the request message. Else<br />

the request is queued up to be processed later. Up<strong>on</strong> receipt of<br />

votes from all the nodes of its voting district, the requester<br />

updates the data item. It then broadcasts the updated data to all<br />

the nodes in the system. On receipt of the update, nodes<br />

update their local copies of data. If the update is received from<br />

the node to which it has currently voted then the node again<br />

allowed to vote now. The node, which thus gets back its<br />

voting right, checks if there is any request waiting in the<br />

queue. The request with the least timestamp is chosen <strong>and</strong> the<br />

vote is sent.<br />

Here, deadlocks are h<strong>and</strong>led because of total ordering<br />

achieved by timestamps. Special messages are used to retrieve<br />

the vote, if voted to a request with higher timestamp, thus<br />

avoiding possible deadlock situati<strong>on</strong>s.<br />

Whenever a node wants to read a data item, the read request<br />

is satisfied by its local copy of the data item, as it c<strong>on</strong>tains<br />

latest copy of the data item which has been requested for.<br />

C. Definiti<strong>on</strong>s<br />

Timestamp (TS): Timestamp at any site S i (where 1


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the corresp<strong>on</strong>ding UPDATE message it checks if the<br />

timestamp of the REQUEST message to which it has currently<br />

voted is lesser than the current REQUEST message. In case it<br />

is true, the current request is queued. Else, it checks if it has<br />

already sent an INQUIRY message to the node to which it has<br />

voted. If it has not yet sent the INQUIRY message it will do<br />

so.<br />

On receipt of the INQUIRY message at node S k , it replies<br />

with the RELINQUISH message if it has not yet started to<br />

update its local copy of the UDDI Registry. RELINQUISH<br />

message gives back the voting right to S j . S j <strong>on</strong> receipt of the<br />

RELINQUISH message queues the request of S k in its request<br />

queue. S j then chooses the node from its request queue which<br />

has the least timestamp <strong>and</strong> sends its vote as a VOTE message,<br />

to that node. VOTE message carries the timestamp of the local<br />

copy of the data item at the sender’s site.<br />

Up<strong>on</strong> receipt of VOTE from all the nodes of its native<br />

voting district, S i checks the timestamp of the all the VOTE<br />

messages. If the timestamp of the VOTE message with highest<br />

timestamp is greater than the timestamp of the data item at S i ,<br />

then there is at least <strong>on</strong>e UPDATE message that has not<br />

reached S i yet. So S i waits until it receives the UPDATE<br />

message whose timestamp value is equal to the timestamp of<br />

the VOTE message with the highest timestamp. S i then<br />

updates its local copy of the data item <strong>and</strong> its timestamp.<br />

It can be noted here that, if the VOTE message carries the<br />

local copy of the data item of the sender, then S i need not wait<br />

for the UPDATE message. It can update its local copy of the<br />

data item using the copy carried by the VOTE message with<br />

the highest timestamp. However this leads to increase in the<br />

size of the VOTE message which increases the network traffic.<br />

Now when S i has received the VOTE from all the nodes of<br />

its native voting district <strong>and</strong> that it is sure that there are no<br />

pending UPDATE messages, it updates its local copy of the<br />

UDDI Registry, increments its timestamp value <strong>and</strong><br />

broadcasts the update to all the nodes in the system including<br />

itself using the UPDATE message, which carries the<br />

incremented timestamp of S i al<strong>on</strong>g with a copy of the updated<br />

page.<br />

UPDATE message carries the updated data page al<strong>on</strong>g with<br />

the timestamp. Then the recipient node checks for the<br />

timestamp of the update. If its timestamp is lesser than or<br />

equal to the timestamp of its own data then the updates are<br />

neglected as it already has the latest update. Else it updates its<br />

local copy of the data. This message restores the voting right<br />

of its recipient node if the recipient node has currently voted<br />

for the node from which it received the message. The node<br />

whose voting ability has been restored, checks its request<br />

queue. If it is not empty, it picks the request with the least<br />

timestamp, <strong>and</strong> sends the VOTE message to that node.<br />

All read (Query) requests <strong>on</strong> the data item are satisfied by<br />

querying the local copy of the data item at the site where the<br />

request generated.<br />

This algorithm preserves the advantages of [1], [2] like<br />

parallelism in operati<strong>on</strong> <strong>and</strong> distributi<strong>on</strong> of load, which is<br />

achieved by lesser number of messages. Since the updates are<br />

broadcasted by the updating node itself, informati<strong>on</strong> about<br />

global situati<strong>on</strong> is available at all the nodes. Since all the<br />

updates are broadcasted before declarati<strong>on</strong> of successful<br />

committing, all the nodes have updated data <strong>and</strong> timestamp<br />

value. Updated data available at all sites avoids the need for<br />

messages for the read query <strong>on</strong> the database. Updated<br />

timestamp values help in total ordering of the requests<br />

avoiding deadlocks.<br />

Though this algorithm is explained in the c<strong>on</strong>text of UDDI<br />

Registry, it can be used as a generic c<strong>on</strong>flicting update<br />

requests h<strong>and</strong>ling algorithm in any distributed database<br />

scenario.<br />

F. Descripti<strong>on</strong> of H<strong>and</strong>ling of an update request<br />

Fig. 2 an illustrati<strong>on</strong> of h<strong>and</strong>ling update request<br />

C<strong>on</strong>sider a scenario with three nodes <strong>and</strong> two voting districts.<br />

In Fig. 2, each circle represents a voting district. Let R 1 <strong>and</strong> R 2<br />

be the REQUEST messages generated by nodes S 1 <strong>and</strong> S 2<br />

respectively such that TS(R 1 ) < TS(R 2 ). But R 2 has reached<br />

intersecti<strong>on</strong> node S 3 earlier (Fig. 1a) <strong>and</strong> node S 3 sends the<br />

VOTE to node S 2 (Fig. 1b). After S 3 receives R 1 , it finds that<br />

TS(R 1 ) < TS(R 2 ) <strong>and</strong> sends INQUIRY message to S 2 (Fig. 1c).<br />

Here, to illustrate the algorithm we assume that S 2 has not<br />

started updating its local UDDI registry. So, S 2 sends<br />

RELINQUISH message up<strong>on</strong> receipt of INQUIRY message<br />

(Fig. 1d). S 3 up<strong>on</strong> receipt of RELINQUISH message form S 2<br />

sends its VOTE to S 1 ( Fig. 1e) <strong>and</strong> queues the REQUEST of<br />

S 2 . S 1 , after updating, broadcasts the UPDATE message (Fig.<br />

1f) <strong>and</strong> henceS 3 gets back its voting right, after which it sends<br />

VOTE to S 2 whose REQUEST was earlier queued(Fig. 1g).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 164


Proceedings of ICCNS 08 , 27-28 September 2008<br />

G. Descripti<strong>on</strong> of the messages used<br />

1. REQUEST message is the message used by the nodes to<br />

request for updating the particular data item in the UDDI<br />

Registry. This request message carries the current<br />

timestamp of the requesting node (site id is also<br />

communicated as site id is a part of the timestamp).<br />

2. VOTE message is the message used by the nodes to c<strong>on</strong>vey<br />

that the no node is updating the data in the UDDI<br />

Registry. VOTE message from an intersecti<strong>on</strong> node also<br />

implies that no node in its adjoining voting district is<br />

updating the data in the UDDI Registry. Hence there is no<br />

objecti<strong>on</strong> from the node (which sent the VOTE) against<br />

the requester to update it. The time stamp of the<br />

REQUEST message which lead to the generati<strong>on</strong> of<br />

VOTE message is sent al<strong>on</strong>g with it. The VOTE message<br />

also carries the timestamp of the local copy of the data<br />

item at the sender’s site. Opti<strong>on</strong>ally the message may also<br />

carry a copy of the local copy of the data item at the<br />

sender’s site as described in secti<strong>on</strong> 4E.<br />

3. INQUIRY message is sent to inquire if the recipient of the<br />

VOTE is ready to forgo his VOTE, or he has already<br />

started updating based <strong>on</strong> the VOTE which he received.<br />

This message carries the timestamp of the request for<br />

which the VOTE was sent, for identificati<strong>on</strong> of the correct<br />

corresp<strong>on</strong>ding REQUEST <strong>and</strong> VOTE messages.<br />

4. RELINQUISH message indicates that the sender node has<br />

given up the VOTE it received from the receiver node <strong>and</strong><br />

hence the receiver is free to vote some other node with a<br />

lesser timestamp. Even this message carries timestamp of<br />

the corresp<strong>on</strong>ding REQUEST message, for correct<br />

matching with the INQUIRY message.<br />

INQUIRY <strong>and</strong> RELINQUISH messages are used to<br />

ensure that there is no deadlock situati<strong>on</strong> in the system.<br />

The system uses total order to ensure order am<strong>on</strong>g<br />

request messages, <strong>and</strong> hence avoids hold <strong>and</strong> wait<br />

requirement for deadlocks.<br />

5. UPDATE message carries the latest update informati<strong>on</strong> <strong>on</strong><br />

the page of the registry, al<strong>on</strong>g with the update timestamp.<br />

This message gives back the voting right to the receiver<br />

of the message if the message is received from the site to<br />

which recipient site has voted.<br />

V. IDENTIFICATION OF CONFLICTING REQUESTS<br />

In our algorithm, in order to h<strong>and</strong>le the c<strong>on</strong>flicts, we assume<br />

that the registry is divided into pages <strong>and</strong> each page has <strong>on</strong>e or<br />

more entities. Lowest granularity of a page is a core<br />

comp<strong>on</strong>ent of an entity [10] which could be core comp<strong>on</strong>ent<br />

of a businessKey, serviceKey, bindingKey or a tModelKey.<br />

Pageset of a request is the set of pages corresp<strong>on</strong>ding to<br />

pages of the entity specified in the request, its c<strong>on</strong>tained<br />

entities <strong>and</strong> other new c<strong>on</strong>tained entities(e), if any specified<br />

in the request with e’s immediate parent [1].<br />

Two requests R i <strong>and</strong> R j are c<strong>on</strong>flicting if, they have at least<br />

<strong>on</strong>e of the pages in their pageset in comm<strong>on</strong> <strong>and</strong> at least <strong>on</strong>e<br />

of the request is publish (update) request.<br />

Pageset is obtained for a given request by maintaining a<br />

multi-level key structure (it is a data structure used to store the<br />

entities <strong>and</strong> their corresp<strong>on</strong>ding page numbers) from which we<br />

get page numbers pertaining to the entities defined in the<br />

request. As the status of UDDI data changes after every<br />

update multilevel key structure also should be refreshed to<br />

reflect the corresp<strong>on</strong>ding changes. As the main aim of this<br />

paper is to present an efficient algorithm to h<strong>and</strong>le c<strong>on</strong>flicting<br />

requests in replicated database scenario such as UDDI<br />

registry, we have excluded detailed descripti<strong>on</strong> of<br />

identificati<strong>on</strong> of c<strong>on</strong>flicting requests in UDDI registry,<br />

interested user may refer to [9] for details.<br />

VI. ANALYSIS<br />

For every update we require √N number of message for<br />

REQUEST <strong>and</strong> VOTE messages each. Propagati<strong>on</strong> of updates<br />

to all the nodes in the system requires N message (UPDATE<br />

message). Assuming that for every update there will be <strong>on</strong>e<br />

INQUIRY <strong>and</strong> RELINQUISH message from each node then<br />

we require √N messages for each of these two types (worst<br />

case). Thus the number of messages required by this algorithm<br />

varies from N+2√N to N+4√N.<br />

Read requests do not require any message exchange<br />

between nodes as they read the local copy of the data item at<br />

the site where the request generated.<br />

VII. COMPARISON<br />

In this secti<strong>on</strong> we compare the number of message required in<br />

case of Eager Middleware Replicati<strong>on</strong>, DPCP M , DPCP P <strong>and</strong><br />

EDPC.<br />

Let r be the read/write ratio, q be number of simultaneous<br />

requests to be h<strong>and</strong>led <strong>and</strong> N is the number of nodes.<br />

Eager Middleware Replicati<strong>on</strong> (EMR): The number of<br />

messages required (M EMR ) here is given by (3Nq – 3q) [1].<br />

Here read does not need any more messages. Thus the number<br />

of messages required for each update request (including<br />

proporti<strong>on</strong>al reads) is<br />

M<br />

EMR<br />

= 3( N − 1)<br />

(1)<br />

DPCP M : The number of messages required (M DPCPM ) in case<br />

of DPCP M is given by (6Nq-q 2 -q)/2 [1]. Here read does not<br />

need any more messages. Thus the number of messages<br />

required for each update request (including proporti<strong>on</strong>al<br />

reads) in the best case (when q=N) is<br />

M<br />

DPCPM<br />

= 2.5N<br />

− 0.5<br />

(2)<br />

DPCP P : The number of messages required (M DPCPP ) in case<br />

of DPCP P is given by (4Nq-q 2 +3q + 2N -4)/2 [1]. Thus the<br />

number of messages required for each update request in the<br />

best case (when q=N) is (1.5N + 2.5). However every read<br />

requires two messages. Thus the number of messages required<br />

for each update request (including proporti<strong>on</strong>al reads) is<br />

MDPCPP<br />

= 1.5N + 2.5 + 2r<br />

(3)<br />

LDPC: The number of messages required for every update is<br />

3√N (best case). If in the worst case every vote has been<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 165


Proceedings of ICCNS 08 , 27-28 September 2008<br />

relinquished then the number of messages required (M LDPC )<br />

would be 5√N (worst case) <strong>and</strong> number of messages required<br />

per read is 2√N [2]. We use the best case of this method to<br />

compare with the worst case of the proposed method.<br />

MLDPC<br />

= 3k + 2rk<br />

(4)<br />

EDPC: In our algorithm the number of messages required for<br />

every update is N+2K (<strong>and</strong> K ~ √N). If in the worst case every<br />

vote has been relinquished then the number of messages<br />

required (M EDPC ) would be (worst case)<br />

MEDPC<br />

= N + 4k<br />

(5)<br />

From (1) (2) (3) <strong>and</strong> (5) it is clear that the proposed<br />

algorithm requires lesser number of messages than those<br />

respective algorithms described in secti<strong>on</strong> 3 for all values of N<br />

above certain threshold which can be derived by comparing<br />

the equati<strong>on</strong>s. Though LDPC performs better than EDPC in<br />

terms of number of messages, the read latency is zero in<br />

majority of cases as the read is locally satisfied <strong>and</strong> the node<br />

need not take read permissi<strong>on</strong> form any other node unlike<br />

LDPC where read request <strong>and</strong> update request are similarly<br />

resolved by the other nodes.<br />

[3] Chenliang Sun, Yi Lin, Bettina Kemme, “Comparis<strong>on</strong> of UDDI Registry<br />

Replicati<strong>on</strong> Strategies”, ICWS 2004, pp 218-225.<br />

[4] Ant<strong>on</strong>i Wolski, “Applying Replicati<strong>on</strong> to Data recharging in Mobile<br />

Systems”, Solid Informati<strong>on</strong> Technology, Vol. 7, Issue 2, 2001.<br />

[5] Y. Breitbart, R.Kom<strong>on</strong>door, R. Rastogi, S.Seshadri, “Update Protocols<br />

for Replicated Database”s, ICDE, 1996, pp 469-476.<br />

[6] T.A.Anders<strong>on</strong>, Y. Breibart, H.F. Korth, A. Wool, “Replicati<strong>on</strong>,<br />

C<strong>on</strong>sistancy <strong>and</strong> Pratcality: Are these Mutually Exclusive” ACM<br />

SIGMOD 1998, pp 485-495.<br />

[7] L.Lamport, “Time, Clocks <strong>and</strong> the ordering of Events in a Distributed<br />

System”, Comunicati<strong>on</strong>s of the ACM,1978, pp 558-565.<br />

[8] Maekawa, M., "A sqrt(n) algorithm for mutual exclusi<strong>on</strong> in<br />

decentralized systems," AC.M Transacti<strong>on</strong>s <strong>on</strong> <strong>Computer</strong> Systems, vol<br />

3, no. 2, may 1985, pp. 145-159.<br />

[9] Ananthanarayana V.S., “Identificati<strong>on</strong> <strong>and</strong> H<strong>and</strong>ling of C<strong>on</strong>flicting<br />

Requests in UDDI Registry: A Formalism”, NITK research bulletin vol.<br />

16, dec-2007, pp 15-24.<br />

[10] H.Kreger: Web Services C<strong>on</strong>ceptual Architecture (WSCA 1.0) IBM.<br />

Aavailable: http://www-4.ibm.com/software/soluti<strong>on</strong>s/webervises/ pdf/<br />

WSCA.pdf.<br />

[11] UDDI.org, UDDI Versi<strong>on</strong> 3.02 Specificati<strong>on</strong>. Available:<br />

http://www.uddi.org/pubs/uddi_v3.htm.<br />

[12] IBM.com, Underst<strong>and</strong>ing UDDI. Available: http://www.ibm.com/<br />

developerworks/library/ws-featuddi/.<br />

[13] Eclipse.org, Web applicati<strong>on</strong> development guide. Available:<br />

http://help.eclipse.org/help32/index.jsp.<br />

VIII. CONCLUSION<br />

An efficient dynamic primary copy algorithm implementing<br />

eager strategy has been presented. This algorithm is scalable<br />

as it performs better than other primary copy methods for any<br />

value of N above certain value. Though this algorithm has<br />

been proposed in the c<strong>on</strong>text of replicated UDDI Registry, this<br />

is a general c<strong>on</strong>currency c<strong>on</strong>trol algorithm that can be used for<br />

other replicated database scenarios as well. The number of<br />

messages exchanged in our algorithm per update (or read)<br />

operati<strong>on</strong> can vary from N+2√N to N+4√N which is an<br />

improvement over the existing Dynamic Primary Copy<br />

method [1] <strong>and</strong> our algorithm reduces the read latency to zero<br />

in most of the cases by using Eager replicati<strong>on</strong> strategy unlike<br />

LDPC [2] where read latency is of c<strong>on</strong>siderable amount which<br />

might not be desirable for some applicati<strong>on</strong> which have high<br />

read rates. By restricting most of the communicati<strong>on</strong> within<br />

the voting districts, which otherwise was being d<strong>on</strong>e with all<br />

the nodes of the system, reducti<strong>on</strong> in number of messages is<br />

achieved.<br />

The following improvement can be made to our algorithm.<br />

Piggy-backing can be used for our advantage wherever<br />

possible (E.g. If a site has to VOTE some node <strong>and</strong> also has to<br />

send the REQUEST, then it can piggy-back the REQUEST<br />

with the VOTE for that node) <strong>and</strong> hence reducing the number<br />

of messages exchanged.<br />

REFERENCES<br />

[1] Ananthanarayana V.S, K. Vidyasankar, “Dynamic Primary Copy with<br />

Piggy-Backing Mechanism for Replicated UDDI Registry”, ICDIT<br />

2006, Lecture Notes in <strong>Computer</strong> Science, Vol. 4317, Yr 2006, Springer,<br />

pp 389 – 402.<br />

[2] Bharath Kumar A.R., Pradhan Bagur Umesh., Ananthanarayana<br />

V.S.,"An Efficient Lazy Dynamic Primary Copy Algorithm for<br />

Replicated UDDI Registry", ICIP-2008, pp 564-571<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 166


Evaluati<strong>on</strong> of Huffman Coding Technique<br />

Mr. Pramod D. Ganjewar<br />

Assistant Professor, Department of <strong>Computer</strong> Engineering,<br />

Maharashtra Academy of Engineering, Al<strong>and</strong>i(D.), Pune – 412 105, MS, India<br />

e-mail: pramoddg@rediff.com<br />

Prof. Umesh S. Bhadade<br />

Assistant Professor, Department of <strong>Computer</strong> Science <strong>and</strong> Engineering,<br />

G. H. Rais<strong>on</strong>i Institute of Engineering <strong>and</strong> Management, Jalga<strong>on</strong> – 425 001, MS, India<br />

e-mail: umeshbhadade@yahoo.com<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract - The purpose of this paper is to compare percentage<br />

of compressi<strong>on</strong>, CPU time, average code length achieved by the<br />

use of Huffman Coding implemented by us <strong>and</strong> Mark Nels<strong>on</strong> [4].<br />

The Huffman Algorithm is implemented for generating codes for<br />

each character scanned from text source file. Each compressi<strong>on</strong><br />

file has unique set of Huffman codes. The results of using<br />

Huffman Coding algorithm has dem<strong>on</strong>strated that the larger the<br />

file the more useful the technique for compressi<strong>on</strong>. Also the<br />

results show that code length generated by our implementati<strong>on</strong> is<br />

slightly better than their way of implementati<strong>on</strong>.<br />

Keywords – Average Code Length, Compressi<strong>on</strong> Ratio,<br />

Compressed File Size, Decompressed File Size.<br />

D<br />

I. INTRODUCTION<br />

ATA compressi<strong>on</strong> [1] has been a topic of interest<br />

recently because of its applicati<strong>on</strong>s both in computer<br />

memory management <strong>and</strong> in communicati<strong>on</strong>s. Besides, data<br />

compressi<strong>on</strong>, as a subject, is no l<strong>on</strong>ger a theoretical subject,<br />

when it comes to statistical coding techniques, for example,<br />

Huffman Coding is a statistical coding method. With the<br />

advances in semic<strong>on</strong>ductors technology <strong>and</strong> computing<br />

algorithms, it is now possible to implement such<br />

complicated coding techniques in hardware also.<br />

Huffman [2] developed a coding procedure for a<br />

statistically independent source in order to minimize the<br />

average code length. In this code, each symbol is<br />

represented by a binary code word that has the following<br />

length:<br />

| c ( i ) | = f ( - log ( p ( i ) ) [1]<br />

where:<br />

c ( i ) = Code Word<br />

p ( i ) = Probability of Occurrences,<br />

f ( i ) = The closest integer to x.<br />

Thus, Huffman coding yields the following average code<br />

length :<br />

Average code length = ∑ p(i) * | c( i ) | [2]<br />

Which is, approximately, the entropy of the input source<br />

file. In additi<strong>on</strong> to this ec<strong>on</strong>omical property, Huffman<br />

coding has another <strong>on</strong>e, known as the prefix property which<br />

means that no code word is duplicated at the beginning of a<br />

l<strong>on</strong>ger code word.<br />

Many authors have developed computer techniques to<br />

simulate Huffman coding. Pechura [3] has dem<strong>on</strong>strated<br />

encouraging results using static or n<strong>on</strong>-adaptive scheme to<br />

compress small computer programs.<br />

The rest of this paper is organized as follows,<br />

Secti<strong>on</strong> II gives brief informati<strong>on</strong> about related work <strong>on</strong><br />

Huffman Coding by [4], Secti<strong>on</strong> III describes our way of<br />

implementati<strong>on</strong>, Secti<strong>on</strong> IV dem<strong>on</strong>strates results <strong>and</strong><br />

discussi<strong>on</strong> <strong>and</strong> finally, Secti<strong>on</strong> V presents the c<strong>on</strong>clusi<strong>on</strong>.<br />

II. RELATED WORK<br />

In [4] Huffman Coding is implemented for text files. It<br />

has used NODE structure which stores related informati<strong>on</strong><br />

in it like count, which is its weight in the tree, <strong>and</strong> the node<br />

numbers of its two children.<br />

A Huffman tree is set up for decoding, not encoding.<br />

When encoding, first walk through the tree <strong>and</strong> build up a<br />

table of codes for each symbol. The codes are stored in the<br />

CODE structure.<br />

The special EOS symbol is 256, the first available<br />

symbol after all of the possible bytes. When decoding,<br />

reading this symbols indicates that all of the data has been<br />

read in.<br />

In compressi<strong>on</strong> routine, it looks for a single additi<strong>on</strong>al<br />

argument to be passed to it from the comm<strong>and</strong> line: "-d".<br />

If a "-d" is present, it means the user wants to see the model<br />

data dumped out for debugging purposes. This routine<br />

works in a fairly straightforward manner. First, it has to<br />

allocate storage for three different arrays of data. Next, it<br />

counts all the bytes in the input file. The counts are all<br />

stored in l<strong>on</strong>g integer, so the next step is scale them down<br />

to single byte counts in the NODE array. After the counts<br />

are scaled, the Huffman decoding tree is built <strong>on</strong> top of the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 167


Proceedings of ICCNS 08 , 27-28 September 2008<br />

NODE array. Another routine walks through the tree to<br />

build a table of codes, <strong>on</strong>e per symbol. Finally, when the<br />

codes are all ready, compressing the file is a simple matter.<br />

After the file is compressed, the storage is freed up, <strong>and</strong> the<br />

routine returns.<br />

In decompressi<strong>on</strong> it will exp<strong>and</strong> a file that has been<br />

compressed with order 0 Huffman coding. This routine has<br />

a simpler job than that of the Compressi<strong>on</strong> routine. All it<br />

has to do is read in the counts that have been stored in the<br />

compressed file <strong>and</strong> build the Huffman tree. The data can<br />

then be exp<strong>and</strong>ed by reading in a bit at a time from the<br />

compressed file. Finally, the node array is freed <strong>and</strong> the<br />

routine returns.<br />

Occurrences of characters in this file are shown in Table<br />

– 1 <strong>and</strong> corresp<strong>on</strong>ding Huffman Tree is shown in Fig. II.<br />

TABLE – I<br />

LIST OF SYMBOLS WITH CODE WORDS AND FREQUENCY<br />

COUNTS<br />

Symbol Frequency Code<br />

f 1 010<br />

e 1 0111<br />

d 1 0110<br />

b 2 00<br />

a 3 10<br />

c 4 11<br />

III. OUR WAY OF IMPLEMENTATION<br />

Algorithm [1] is of three step<br />

1) Analyze the file to be compressed & build the code tree.<br />

2) Compress the file based <strong>on</strong> Huffman codes generated.<br />

3) Decompress the file back into its original form.<br />

In Analysis step,<br />

Scan the source file character by character, determine<br />

occurrences of each character in the source file. Then sort<br />

these characters in ascending order of their frequency as<br />

shown in Table-1. Create linked list of these characters.<br />

Create new node with frequency equal to additi<strong>on</strong> of<br />

frequency of first two nodes i.e. first two nodes having<br />

minimum frequency. Insert that new node at proper positi<strong>on</strong><br />

in that linked list. Repeat this till your linked c<strong>on</strong>tains <strong>on</strong>ly<br />

<strong>on</strong>e node i.e. root node of Huffman Tree. Now we can say<br />

that linked list is c<strong>on</strong>verted to Huffman Tree. Now walk<br />

through that Huffman tree for assigning codes to all nodes<br />

in Huffman Tree as shown in fig. II. Use this Huffman code<br />

in compressi<strong>on</strong> as well decompressi<strong>on</strong> by storing it in some<br />

file.<br />

The Node Structure in Huffman Tree <strong>and</strong> Linked List<br />

will be same <strong>and</strong> it is as shown in Fig. – I<br />

Link<br />

To<br />

Parent<br />

Node in<br />

Tree<br />

Character Frequency Code<br />

Fig - I Node Structure<br />

Link<br />

To<br />

Next<br />

Node in<br />

LL<br />

In this node structure,<br />

Link to Parent Node in Huffman Tree – This will store the<br />

address of parent node which is used for traversing at the<br />

time of code generati<strong>on</strong>. Character – character from source<br />

file, Frequency – No. of occurrences of that character in<br />

source file <strong>and</strong> Link to next node in Linked List – stores<br />

address of next node in the linked list.<br />

Example: C<strong>on</strong>sider source file with c<strong>on</strong>tents<br />

“aabcccdefbac”<br />

1-d<br />

12<br />

5<br />

00 01<br />

2-b<br />

010<br />

0<br />

1 -f<br />

0110<br />

3<br />

Fig. - II Huffman Tree with Code Words<br />

In Compressi<strong>on</strong> step,<br />

Scan stored code words <strong>and</strong> store it in primary memory<br />

using array of structures. Scan source file character by<br />

character. Then find out code word of that character from<br />

current array of structure. Collect that code word in a buffer<br />

of 8 bits. When that buffer become full, write it to a<br />

compressed file. Repeat this till end of source file. At last<br />

you will get compressed file.<br />

C<strong>on</strong>tents of compressed file for the given source file are<br />

“£ötX”.<br />

Details are given below<br />

“{a}10{a}10{b}00{c}11”=‘£’(163)<br />

“{c}11{c}11{d}0110” =‘ö’(246)<br />

“{e}0111{f}010{b}0” =‘t’(116)<br />

“0{a}10{c}11000” =‘X’(88)<br />

Here at the time of compressi<strong>on</strong> last byte which we are<br />

going to write may c<strong>on</strong>tain less than 8 bits, so we have to<br />

append some additi<strong>on</strong>al 0’s to make its length to eight.<br />

Otherwise it will give some extra bytes at the end of<br />

decompressed file after expansi<strong>on</strong>. Also we have to provide<br />

special attenti<strong>on</strong>, towards this extra bits appended in<br />

compressi<strong>on</strong>, at the time of decompressi<strong>on</strong> of compressed<br />

file.<br />

In Decompressi<strong>on</strong>, Scan code words <strong>and</strong> store it in<br />

primary memory by using array of structures. Now scan<br />

compressed file, character by character. Separate that<br />

10<br />

3-a<br />

011<br />

2<br />

1<br />

7<br />

0111<br />

1-e<br />

11<br />

4-c<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 168


Proceedings of ICCNS 08 , 27-28 September 2008<br />

scanned byte bit by bit <strong>and</strong> compare that group of bits with<br />

code words in memory. If that group of bits is matching<br />

with some code word, write its related character in<br />

decompressed file. Repeat this for remaining bits <strong>and</strong><br />

remaining characters in compressed file. At last you will<br />

get decompressed file same as that of source file. In<br />

decompressi<strong>on</strong> we have to take care of additi<strong>on</strong>al bits<br />

appended in compressed file at the time of compressi<strong>on</strong><br />

here.<br />

C<strong>on</strong>tents after expansi<strong>on</strong> of compressed file are<br />

““aabcccdefbac”.<br />

Details are as below<br />

“{10}a{10}a{00}b{11}c{11}c{11}c{0110}d{011<br />

1}e{010}f{00}b{10}a{11}c{000}”.<br />

IV. RESULTS AND DISCUSSIONS<br />

The results are based <strong>on</strong> way of implementati<strong>on</strong> of<br />

Huffman Coding. Here informati<strong>on</strong> c<strong>on</strong>sidered is of text<br />

type in both cases. The text file may be of Notepad, Word<br />

pad <strong>and</strong> c files. The files are taken from corpus named<br />

Canterbury corpus. Huffman codes are generated for every<br />

possible character in that file by using both ways.<br />

The result informati<strong>on</strong> recorded for each file is number<br />

of bytes in original files, the percentage of compressi<strong>on</strong>, the<br />

average code length in bits per character, the CPU time,<br />

number of bytes in compressed file, the number of bytes in<br />

the decompressed file.<br />

The percentage of compressi<strong>on</strong> is calculated by equati<strong>on</strong><br />

- (3), Average code length in bits per character is<br />

calculated by the equati<strong>on</strong> - (4). Finally the CPU time is<br />

based <strong>on</strong> the amount of CPU time required to analyze,<br />

compress <strong>and</strong> decompress source file.<br />

Compressed File Size<br />

Comp. Ratio = ---------------------------- * 100 [3]<br />

Original File Size<br />

Compressed File Size<br />

Average Code length = ---------------------------- * 8 [4]<br />

Original File Size<br />

At the time of taking results their code of Huffman<br />

Coding which we are having is not able to compress large<br />

files. Hence we have c<strong>on</strong>sidered <strong>on</strong>ly small files for<br />

comparis<strong>on</strong> results.<br />

V. CONCLUSION<br />

The results of our implementati<strong>on</strong>s are shown in<br />

Table – II. Similarly the results of their implementati<strong>on</strong>s are<br />

shown in Table – III. Comparative results of these both<br />

methods related to code length are shown in Table – IV.<br />

The results presented in Table – IV, shows that there is<br />

minor improvement in code length by using our way of<br />

implementati<strong>on</strong> for Huffman coding. Our way of<br />

implementati<strong>on</strong> reduces code length, because of that it<br />

gives better results in compressi<strong>on</strong> ratio for larger files that<br />

is shown in Table -V. As code length is small, compressed<br />

file size will be small, because compressi<strong>on</strong> ratio is<br />

dependent <strong>on</strong> average code length of that source file.<br />

Here difference in code length is not that much, but as<br />

file size increases, we will get better results in code length.<br />

So we recommend our implementati<strong>on</strong> for larger files for<br />

getting better code length. Other than code length we have<br />

to c<strong>on</strong>sider other properties of compressi<strong>on</strong> techniques like<br />

percentage of compressi<strong>on</strong> ratio, CPU time, file size after<br />

decompressi<strong>on</strong>, file size after compressi<strong>on</strong> <strong>and</strong> compressi<strong>on</strong><br />

ratio in the comparative results. These properties of both<br />

ways of implementati<strong>on</strong>s are given below in Table II & III.<br />

As our work is going <strong>on</strong>, still we will try to improve this<br />

results.<br />

REFERENCES<br />

[1] Ahmed Desoky, Mark Gregory, ”Compressi<strong>on</strong> of Text <strong>and</strong> Binary<br />

Files Using Adaptive Huffman Coding Techniques”, IEEE, 1988,<br />

660 – 663<br />

[2] A. Huffman , “A Method for the C<strong>on</strong>structi<strong>on</strong> of Minimum<br />

Redundancy Codes”, IRE 40, 9, Sept. 1952, 1089 – 1101.<br />

[3] M. Pechura, “File Archival Techniques using Data Compressi<strong>on</strong>”,<br />

ACM 25, 9 Sept. 1982, 605 – 609.<br />

[4] “The Data Compressi<strong>on</strong> Book“, Sec<strong>on</strong>d Editi<strong>on</strong>, by Mark Nels<strong>on</strong><br />

<strong>and</strong> Jean-Loup Gailly.<br />

TABLE – II<br />

RESULTS OF OUR WAY OF IMPLEMENTATION<br />

Descripti<strong>on</strong> / File alice29.txt asyoulik.txt Plrabn12.txt fields.c lcet10.txt<br />

Original File Size(B) 152,089 125,179 481,861 11,150 426,754<br />

Compressed File Size (B) 87,689 75,807 275,586 7,027 250,556<br />

Decompressed File size (B) 152,089 125,179 481,861 11,150 426,754<br />

Compressi<strong>on</strong> Ratio 57.65% 60.55% 57.19% 63.02% 58.71%<br />

Code length(bits/char) 4.61 4.84 4.57 5.04 4.69<br />

CPU Time (Sec<strong>on</strong>ds) 0.06 0.43 1.75 0.00 1.53<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 169


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE – III<br />

RESULTS OF MARK NELSONS WAY OF IMPLEMENTATION<br />

Descripti<strong>on</strong> / File alice29.txt asyoulik.txt Plrabn12.txt fields.c lcet10.txt<br />

Original File Size(B) 152,089 125,179 481,861 11,150 426,754<br />

Compressed File Size (B) 88,116 76,010 276,890 7,139 251,544<br />

Decompressed File size (B) 152,089 125,179 481,861 11,150 426,754<br />

Compressi<strong>on</strong> Ratio 57.93% 60.72% 57.46% 64.02% 58.94%<br />

Code length(bits/char) 4.63 4.85 4.59 5.12 4.71<br />

CPU Time (Sec<strong>on</strong>ds) 0.00 0.00 0.05 0.00 0.05<br />

TABLE – IV<br />

COMPARISON OF AVERAGE CODE LENGTH<br />

File Name<br />

Original File Size<br />

(Bytes)<br />

By Our Way of<br />

Implementati<strong>on</strong><br />

Comparis<strong>on</strong>s of Code Length<br />

Mark Nels<strong>on</strong>s Way<br />

Implementati<strong>on</strong><br />

alice29.txt 152,089 4.61 4.63<br />

asyoulik.txt 125,179 4.84 4.85<br />

plrabn12.txt 481,861 4.57 4.59<br />

fields.c 11,150 5.04 5.12<br />

lcet10.txt 426,754 4.69 4.71<br />

TABLE – V<br />

COMPARISON OF COMPRESSION RATIO<br />

File Name<br />

Original File Size<br />

(Bytes)<br />

By Our Way of<br />

Implementati<strong>on</strong><br />

Comparis<strong>on</strong>s of Compressi<strong>on</strong> Ratio<br />

Mark Nels<strong>on</strong>s Way<br />

Implementati<strong>on</strong><br />

alice29.txt 152,089 57.65 57.93<br />

asyoulik.txt 125,179 60.55 60.72<br />

plrabn12.txt 481,861 57.19 57.46<br />

fields.c 11,150 63.02 64.02<br />

lcet10.txt 426,754 58.71 58.94<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 170


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Methods For Efficient Work Load Migrati<strong>on</strong><br />

P.Neelakantan<br />

Dr M.M.Naidu<br />

Associate Professor,<br />

Professor,<br />

S.V.C.E.T.<br />

S.V.U<br />

pneelakantan@rediffmail.com<br />

Abstract<br />

In a c<strong>on</strong>venti<strong>on</strong>al operating system, process management<br />

deals with mechanism <strong>and</strong> policies for sharing the<br />

processor of the system am<strong>on</strong>g all processes. Similarly in<br />

a distributed system, the main goal of process<br />

management is to make the best possible use of the<br />

processing resources of the entire system by sharing them<br />

am<strong>on</strong>g all processes. In this c<strong>on</strong>necti<strong>on</strong> an efficient<br />

process migrati<strong>on</strong> is needed to deal with the movement of<br />

process from its current locati<strong>on</strong> to the processor to<br />

which it has been assigned. In this paper we discussed (1)<br />

Local scheduler (2) c<strong>on</strong>tinuous load balancing through<br />

adaptive scheduling (3) Global scheduler methods to<br />

migrate the process in efficient manner to avoid process<br />

thrashing<br />

1. Introducti<strong>on</strong><br />

Many large scale applicati<strong>on</strong>s are adaptive in that their<br />

computati<strong>on</strong>al load varies throughout the executi<strong>on</strong> <strong>and</strong><br />

causes uneven distributi<strong>on</strong> of the workload at runtime.<br />

Efficiently partiti<strong>on</strong>ing of the workload <strong>and</strong> migrati<strong>on</strong> of<br />

excess workload from overloaded processors to under<br />

loaded processors during executi<strong>on</strong> are critical techniques<br />

needed for efficient use of distributed computing<br />

envir<strong>on</strong>ment. These are also called dynamic load<br />

balancing techniques. Traditi<strong>on</strong> research has been focused<br />

<strong>on</strong> partiti<strong>on</strong>ing the problem; however the cost entailed by<br />

workload migrati<strong>on</strong> may c<strong>on</strong>sume orders of magnitude<br />

more than the actual partiti<strong>on</strong>ing when the excess<br />

workload is transferred across geographically distributed<br />

machines. In particular with workload migrati<strong>on</strong>, it is<br />

critical to take into account that the wide area network in<br />

additi<strong>on</strong> c<strong>on</strong>sidering the resource allocati<strong>on</strong>. Transferring<br />

excess workload in a distributed system is complicated<br />

due to the following challenges imposed by the nature of<br />

the distributed systems.<br />

• Transparency: At the object access level it is<br />

the minimum requirement for a system to<br />

support n<strong>on</strong> preemptive process migrati<strong>on</strong><br />

facility. At a system level <strong>and</strong> inter process<br />

communicati<strong>on</strong> level, a migrated process does<br />

not c<strong>on</strong>tinue to depend up<strong>on</strong> its originating<br />

node after being migrated.<br />

• Minimal interference: Migrati<strong>on</strong> of a process<br />

should cause minimal interference to the<br />

progress of the process involved <strong>and</strong> to the<br />

system as a whole.<br />

• Minimal residual dependencies: No residual<br />

dependency should be left <strong>on</strong> the previous<br />

node. A migrated process should not depend<br />

<strong>on</strong> its previous node <strong>on</strong>ce it has started<br />

executing <strong>on</strong> its new node.<br />

Process migrati<strong>on</strong> mechanisms:<br />

Migrati<strong>on</strong> of a process is a complex activity that involves<br />

proper h<strong>and</strong>ling of several sub activities in order to meet<br />

the requirements of a good process migrati<strong>on</strong> mechanism.<br />

The four major sub activities involved in process<br />

migrati<strong>on</strong> are as follows:<br />

• Freezing the process <strong>on</strong> its source node <strong>and</strong><br />

restarting it <strong>on</strong> its destinati<strong>on</strong> node.<br />

• Transferring the process’s address space from its<br />

source node to its destinati<strong>on</strong> node.<br />

• Forwarding messages meant for the migrant<br />

process.<br />

• H<strong>and</strong>ling communicati<strong>on</strong> between cooperating<br />

processes that have been separated as a result of<br />

process migrati<strong>on</strong>.<br />

2. Related work<br />

A Process c<strong>on</strong>sists of the program being executed,<br />

al<strong>on</strong>g with program’s data, stack <strong>and</strong> state. Thus the<br />

migrati<strong>on</strong> of a process involves the transfer of the<br />

process’s state <strong>and</strong> process’s address space to the<br />

destinati<strong>on</strong> node is required. In total freezing, a process<br />

executi<strong>on</strong> is stopped while its address space is being<br />

transferred which is used DEMOS/MP[1] <strong>and</strong> LOCUS[2].<br />

In pretransferring, the address space is transferred while<br />

the process is still running <strong>on</strong> the source node.<br />

Pretransferring is d<strong>on</strong>e as an initial transfer of the<br />

complete address space followed by repeated transfers of<br />

the pages modified during the previous transfer until the<br />

number of modified pages(detected using dirty bits) is<br />

achieved[3].This method is used in V-system. The<br />

disadvantage of this approach is it increases the total time<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 171


Proceedings of ICCNS 08 , 27-28 September 2008<br />

for migrati<strong>on</strong> due to the possibility of redundant page<br />

transfers. Another method is based <strong>on</strong> the assumpti<strong>on</strong><br />

that process tend to use <strong>on</strong>ly a relatively small part of<br />

their address space while executing. In this method , the<br />

process’s address space is left behind <strong>on</strong> its source node<br />

<strong>and</strong> as the relocated process executes <strong>on</strong> its destinati<strong>on</strong><br />

node[4], attempts to reference memory pages results in<br />

the generati<strong>on</strong> of requests to copy in the desired blocks<br />

from their remote locati<strong>on</strong>s. This method is not efficient<br />

in terms of the cost of supporting remote executi<strong>on</strong> <strong>on</strong>ce<br />

the process is migrated <strong>and</strong> imposes a c<strong>on</strong>tinued load <strong>on</strong><br />

the process’s source node <strong>and</strong> results in failure of the<br />

process is the source node fails or is rebooted. In<br />

message forwarding mechanisms , the messages to be<br />

forwarded to the migrant process’s new locati<strong>on</strong> can be<br />

classified into the following:<br />

1. Messages received at the source node after<br />

the process executi<strong>on</strong> has been stopped <strong>on</strong> its<br />

source node <strong>and</strong> the process executi<strong>on</strong> has not<br />

yet been started <strong>on</strong> its destinati<strong>on</strong> node.<br />

2. Messages received at the source node after<br />

the process’s executi<strong>on</strong> has started <strong>on</strong> its<br />

destinati<strong>on</strong> node.<br />

3. Messages that are to be sent to the migrant<br />

process from any other node after it has<br />

started executi<strong>on</strong> <strong>on</strong> the destinati<strong>on</strong> node.<br />

In origin site mechanism , the process identifier of these<br />

systems has the process’s origin site [5] embedded in it,<br />

<strong>and</strong> each site is resp<strong>on</strong>sible for keeping informati<strong>on</strong> about<br />

the current locati<strong>on</strong>s of all the processes created <strong>on</strong> it.<br />

This method is not good from a reliability point of view<br />

because the failure of the origin site will disrupt the<br />

message forwarding mechanism <strong>and</strong> c<strong>on</strong>tinuous load <strong>on</strong><br />

the migrant process’s origin site even after the process<br />

has migrated from that node. In link traversal mechanism<br />

to redirect the message of types 2 <strong>and</strong> 3, a forwarding<br />

address known as link is left at the source node pointing<br />

to the destinati<strong>on</strong> node of the migrant process. The most<br />

important part of the link is the message process address<br />

that has two comp<strong>on</strong>ents. The first comp<strong>on</strong>ent is unique<br />

process identifier <strong>and</strong> sec<strong>on</strong>d comp<strong>on</strong>ent is the last<br />

known locati<strong>on</strong> of the process[6].It suffers from the<br />

drawbacks of poor efficiency <strong>and</strong> reliability. Several links<br />

have to be traversed to locate a process from a node <strong>and</strong> if<br />

any node in the chain of links fails , the process cannot be<br />

located.<br />

interc<strong>on</strong>nected queues. The below fig illustrates this<br />

situati<strong>on</strong> using nodes to represent queues <strong>and</strong> the<br />

interc<strong>on</strong>nected lines to represent traffic flow. Two<br />

elements of such network complicate the methods shown<br />

so far:<br />

The partiti<strong>on</strong>ing <strong>and</strong> merging of traffic , as illustrated by<br />

nodes 1 <strong>and</strong> 5 respectively in the figure.<br />

Fig 1: Network of queues<br />

The existence of queues in t<strong>and</strong>em, or series, as illustrated<br />

by nodes 3 <strong>and</strong> 4. No exact method has been developed<br />

for analyzing general queuing problems that have the<br />

above elements. However if the traffic flow is Poiss<strong>on</strong><br />

<strong>and</strong> the service times are exp<strong>on</strong>ential, an exact <strong>and</strong> simple<br />

soluti<strong>on</strong> exists.<br />

Partiti<strong>on</strong>ing <strong>and</strong> merging of traffic streams<br />

Suppose that traffic arrives at a queue with a<br />

mean arrival rate of λ, <strong>and</strong> that there are two paths, A <strong>and</strong><br />

B, by which an item may depart (Figure 2). When an item<br />

is serviced <strong>and</strong> departs the queue, it does so via path A<br />

with probability P <strong>and</strong> via path B with probability (1 – P).<br />

In general, the traffic distributi<strong>on</strong> of streams A <strong>and</strong> B will<br />

differ from the incoming distributi<strong>on</strong>. However, if the<br />

incoming distributi<strong>on</strong> is Poiss<strong>on</strong>, then the two departing<br />

traffic flows also have Poiss<strong>on</strong> distributi<strong>on</strong>s, with mean<br />

rates of Pλ <strong>and</strong> (1 – P)λ..<br />

3. Proposed methods<br />

Network of queues<br />

In a distributed envir<strong>on</strong>ment isolated queues are<br />

unfortunately not <strong>on</strong>ly problem presented to the analyst.<br />

Often the problem to be analyzed c<strong>on</strong>sists of several<br />

Fig 2: Traffic partiti<strong>on</strong>ing<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 172


Proceedings of ICCNS 08 , 27-28 September 2008<br />

3.1 Local Scheduler<br />

Jobs are <strong>on</strong>ly allocated or migrated to remote<br />

workstati<strong>on</strong>s if the “leverage” is significant i.e., the ratio<br />

of the destinati<strong>on</strong> capacity to the capacity needed at the<br />

local system to support remote executi<strong>on</strong> should be large.<br />

Each workstati<strong>on</strong> has a local scheduler <strong>and</strong> a back ground<br />

queue, which holds the jobs submitted by the user. A<br />

central coordinator is present <strong>on</strong> <strong>on</strong>e workstati<strong>on</strong> .Each<br />

stati<strong>on</strong> keeps informati<strong>on</strong> regarding its job load. The<br />

central coordinator uses polling mechanism to see which<br />

stati<strong>on</strong>s are available <strong>and</strong> allocates capacity. The<br />

workstati<strong>on</strong> decides the scheduling, according to the<br />

relative priority of the jobs. When the user of the<br />

destinati<strong>on</strong> system (where the process is migrated)<br />

reclaims the machine the process is “check-pointed” <strong>and</strong><br />

state transferred to the home machine. The main points to<br />

be noted here are that such a policy would make sense in<br />

a loosely coupled system where all remote resources are<br />

freed up <strong>and</strong> no residual dependencies remain.<br />

Transferring of state<br />

Here a shadow process runs as a “substitute<br />

process” <strong>on</strong> behalf of the remote process <strong>on</strong> the home<br />

machine. System <strong>and</strong> other locati<strong>on</strong> dependent calls are<br />

forwarded to the substitute process. The “check-pointing”<br />

facility is to save the state of the process, so that process<br />

can be restarted elsewhere. Saving the state involves<br />

writing the process’s data <strong>and</strong> stack segments to<br />

permanent storage using the file system. In a uniform file<br />

system envir<strong>on</strong>ment , this is equivalent to migrati<strong>on</strong>(since<br />

the file system is mountable from any host), while in<br />

envir<strong>on</strong>ments where the nodes do not have a uniform<br />

view of the file system , calls are forwarded via remote<br />

procedure calls to the shadow process <strong>on</strong> the home node,<br />

<strong>and</strong> the results are sent back.<br />

File system <strong>and</strong> migrati<strong>on</strong><br />

This method needs to support both uniform <strong>and</strong><br />

n<strong>on</strong> uniform views of the file system. In an network file<br />

system like envir<strong>on</strong>ment, where any file can be remote<br />

mounted, checkpoint/restart is simpler to implement. File<br />

state informati<strong>on</strong> such as open file descriptors, seek<br />

positi<strong>on</strong> are captured at check point time. It also supports<br />

n<strong>on</strong> uniform view of the file system through forwarding<br />

mechanisms via remote procedure calls. The important<br />

assumpti<strong>on</strong> is that the state of the checkpoint file is not<br />

altered between checkpoint <strong>and</strong> restart.<br />

Scaling c<strong>on</strong>siderati<strong>on</strong>s<br />

There is a centralized coordinator who does the<br />

allocati<strong>on</strong>. However each node is aut<strong>on</strong>omous since it<br />

<strong>on</strong>ly needs t keep track of its own load state. If the<br />

coordinator fails, new requests are affected, n ot the<br />

requests that are already allocated. So these aspects give<br />

a certain degree of scalability to method1.<br />

3.2 C<strong>on</strong>tinuous load balancing through adaptive<br />

scheduling<br />

Here load balancing is d<strong>on</strong>e c<strong>on</strong>tinuously , not<br />

just during creati<strong>on</strong> or ejectment of a process. Processes<br />

get migrated anytime the distributed system gets<br />

unbalanced, through adaptive scheduling[7].If a process<br />

requirement exceeds a certain threshold, then a process<br />

becomes a c<strong>and</strong>idate for migrati<strong>on</strong>. Each process must<br />

also run for a bare minimum time <strong>on</strong> the processor to<br />

prevent thrashing. A load vector is maintained at each<br />

node, which c<strong>on</strong>tains informati<strong>on</strong> about the load of a<br />

r<strong>and</strong>om subset of neighboring nodes. This load vector is<br />

c<strong>on</strong>stantly updated through “load informati<strong>on</strong><br />

propagati<strong>on</strong>” which is completely decentralized process.<br />

C<strong>and</strong>idate target nodes are chosen from this load vector.<br />

During allocati<strong>on</strong>, I/O bound processes are allocated <strong>on</strong><br />

nodes with which this process has maximum I/O<br />

communicati<strong>on</strong>. Also, a process that has a history of<br />

partiti<strong>on</strong>ing other processes becomes a good c<strong>and</strong>idate for<br />

migrati<strong>on</strong>.<br />

Transferring state<br />

Once a target has been picked there is an<br />

exchange of messages between source <strong>and</strong> destinati<strong>on</strong>.<br />

The destinati<strong>on</strong> node can choose to reject the request.<br />

Here this method uses a dem<strong>and</strong> paged transfer of virtual<br />

memory. If we use kernel level implementati<strong>on</strong>, it is easy<br />

to store the process <strong>and</strong> processor states. Even the<br />

hardware is heterogeneous, migrati<strong>on</strong> is allowed <strong>on</strong>ly<br />

between homogeneous processors.<br />

File system <strong>and</strong> migrati<strong>on</strong><br />

Here we can use the UNIX file system ,so we<br />

have a uniform transparent view of the file system. This<br />

facilitates transferring or virtual memory files.<br />

Scaling c<strong>on</strong>siderati<strong>on</strong>s<br />

Here nodes are completely aut<strong>on</strong>omous, <strong>and</strong> the<br />

scheduling is totally decentralized. Each node maintains<br />

informati<strong>on</strong> <strong>on</strong>ly about a r<strong>and</strong>om subset of nodes, usually<br />

those at close physically proximity due to I/O affinity<br />

c<strong>on</strong>siderati<strong>on</strong>s. Each processor also sends out informati<strong>on</strong><br />

regarding its load to <strong>on</strong>ly a r<strong>and</strong>om subset of processors.<br />

All communicati<strong>on</strong> is carried out <strong>on</strong>ly between the<br />

c<strong>on</strong>cerned 2 nodes during migrati<strong>on</strong>.<br />

3.3 Global scheduler<br />

Here we use a global scheduler which is<br />

basically centralized resource manager which decides<br />

where to migrate the process. Here the migrati<strong>on</strong> is<br />

usually d<strong>on</strong>e during work creati<strong>on</strong> or ejectment or when<br />

node is under excessively heavy loaded. Idle hosts are<br />

located by global scheduler in a manner some what<br />

similar to method1.Each node has daem<strong>on</strong> manager<br />

installed <strong>on</strong> it. When decisi<strong>on</strong> has been made by the<br />

global scheduler , a signal has been sent to the daem<strong>on</strong><br />

manager <strong>on</strong> the node from which the process has to<br />

migrate. Target allocati<strong>on</strong> is based <strong>on</strong> idle workstati<strong>on</strong><br />

availability.<br />

Transferring state<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 173


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Here a process establishes a TCP c<strong>on</strong>necti<strong>on</strong><br />

with the destinati<strong>on</strong> node. All process state that can be<br />

captured by the applicati<strong>on</strong> using the daem<strong>on</strong> manager<br />

library functi<strong>on</strong>s is transferred to the destinati<strong>on</strong> <strong>and</strong> a<br />

skeletal process is c<strong>on</strong>structed. Here migrati<strong>on</strong> can <strong>on</strong>ly<br />

be performed<br />

File system <strong>and</strong> migrati<strong>on</strong><br />

Here we make that global file system like NFS<br />

exists <strong>on</strong> both source <strong>and</strong> target nodes. This is required<br />

for file I/O migrati<strong>on</strong>. Here we can provide wrapper<br />

functi<strong>on</strong>s to the daem<strong>on</strong> manager which allows to<br />

maintain a list of open file descriptors.<br />

Scaling c<strong>on</strong>siderati<strong>on</strong>s:<br />

Here the scaling is limited by the fact that a<br />

centralized resource manager is used.<br />

4. C<strong>on</strong>clusi<strong>on</strong><br />

In this paper, we have proposed different<br />

workload migrati<strong>on</strong> schemes for processes running in<br />

distributed envir<strong>on</strong>ments. The methods described above<br />

provide the optimized allocati<strong>on</strong> of migrated data al<strong>on</strong>g<br />

different cluster systems so as to reduce the migrati<strong>on</strong><br />

overhead. Our future work includes fully evaluating <strong>and</strong><br />

refining the proposed techniques. For ex., the mobile<br />

agent approach to process migrati<strong>on</strong> is an alternative to<br />

true process migrati<strong>on</strong> <strong>and</strong> the mobile agent approach<br />

may be implemented in interpreted languages such as<br />

Java which are more secure <strong>and</strong> promising for certain<br />

applicati<strong>on</strong>s. In these languages the interpreter acts as a<br />

virtual machine to create an artificial homogeneous<br />

envir<strong>on</strong>ment.<br />

[7]Eager at al. “Adaptive load sharing in Homogeneous<br />

Distributed Systems,” IEEE Transacti<strong>on</strong>s <strong>on</strong> Software<br />

Engineering, vol. SE-12,No.5,pp 662-675<br />

5. References<br />

[1].Powell ,M.L., <strong>and</strong> Miller,B.P.,” Process Migrati<strong>on</strong> in<br />

DEMOS/MP,” In: Proceedings of the 9 th ACM<br />

Symposium <strong>on</strong> Operating System Principles, Associati<strong>on</strong><br />

for Computing machinery, New York, pp 110-119.[83]<br />

[2]Theimer, M.M.,Lantz K.A., <strong>and</strong> Cherit<strong>on</strong>,<br />

D.R.,”Preemtable Remote Executi<strong>on</strong> Facilities in V<br />

System,” In: Proceedings of the 10 th ACM symposium <strong>on</strong><br />

Operating system principles ,New York, pp 2-12.[85]<br />

[3]Smith J.M.” A Survey of Process Migrati<strong>on</strong><br />

Mechanisms” ACM Operating Systems<br />

review,Vol.22,pp.28-40.[88]<br />

[4] Distributed Operating Systems ,PHI, Pradeep K.Sinha<br />

[5] Walker, B.J.,<strong>and</strong> Mathews,R.M.,”Process Migrati<strong>on</strong><br />

in AIX’s Transparent Computing Facility(TCF),”TCOS<br />

Newletter,Vol.3,pp 5-7[89].<br />

[6]Chang, H.W.D., <strong>and</strong> Oldham,W.J.B..,”Dynamic Task<br />

Allocati<strong>on</strong> Models for Large Distributed Computing<br />

Systems,” IEEE Transacti<strong>on</strong>s <strong>on</strong> Parallel <strong>and</strong><br />

Distributed systems,vol.6,No.12,pp1301-1315[95].<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 174


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Requirements Driven Modeling of Aut<strong>on</strong>omic<br />

Systems<br />

K Ch<strong>and</strong>ra Sekaran, Prarthana A.G, Shruthi Viswanath<br />

Abstract—This paper proposes an approach that uses<br />

requirements driven formalism to model aut<strong>on</strong>omic systems.<br />

Aut<strong>on</strong>omic systems are typically complex <strong>and</strong> development of such<br />

systems should follow principles <strong>and</strong> life cycle models of systems<br />

engineering. This work proposes a new approach in using Unified<br />

Modeling Language associated with Ontology as a formal approach<br />

while using the requirements engineering in the development of<br />

aut<strong>on</strong>omic systems. An example case has been presented to describe<br />

the proposed approach.<br />

Keywords—Aut<strong>on</strong>omic communicati<strong>on</strong>, formal methods,<br />

<strong>on</strong>tology, Requirements modeling, UML.<br />

I. INTRODUCTION<br />

Aut<strong>on</strong>omic systems [1] are distributed, complex <strong>and</strong><br />

c<strong>on</strong>current systems, comprised of multiple interacting<br />

aut<strong>on</strong>omic elements. Developments of such systems require to<br />

follow engineering approaches using formal methods. In this<br />

paper we propose Unified Modeling Language (UML)<br />

associated with Ontology as a combined approach to the<br />

development of such systems which is driven based <strong>on</strong> the<br />

requirements. Thus, the scope of this work is explore the<br />

possibilities of using UML in associati<strong>on</strong> with <strong>on</strong>tology as a<br />

formalism to model aut<strong>on</strong>omic systems. Following paragraphs<br />

in this secti<strong>on</strong> describe (a) the need for requirements based<br />

modeling of aut<strong>on</strong>omic systems <strong>and</strong> (b) UML <strong>and</strong> <strong>on</strong>tologies<br />

as formalism in requirements modeling.<br />

A. Requirements modeling in Aut<strong>on</strong>omic Systems<br />

Requirements modeling are c<strong>on</strong>cerned with the<br />

identificati<strong>on</strong> of goals to be achieved by the envisi<strong>on</strong>ed<br />

system, the operati<strong>on</strong>alisati<strong>on</strong> of such goals into services <strong>and</strong><br />

c<strong>on</strong>straints, <strong>and</strong> the assignment of resp<strong>on</strong>sibilities of resulting<br />

requirements to hardware <strong>and</strong> software systems. It also refers<br />

to the development of a methodology for capturing the<br />

functi<strong>on</strong>al <strong>and</strong> n<strong>on</strong>functi<strong>on</strong>al requirements of the system as<br />

K.Ch<strong>and</strong>ra Sekaran is with the Nati<strong>on</strong>al Institute of Technology<br />

Karnataka, Surathkal (corresp<strong>on</strong>ding author), Professor in the department of<br />

<strong>Computer</strong> Engg; (e-mail: kchnitk@gmail.com).<br />

Prarthana.A.G , was with Nati<strong>on</strong>al Institute Of Technology, Surathkal. She<br />

is now working in VMware Software India Private Limited, Bangalore, India<br />

(e-mail: prarthanaag@gmail.com).<br />

Shruthi Viswanath was with Nati<strong>on</strong>al Institute Of Technology, Surathkal.<br />

She is currently pursuing PhD in computer Science department, University of<br />

Texas, Austin (e-mail: shruthi.viswanath@gmail.com).<br />

specified by the stakeholders. This task is necessary for<br />

several reas<strong>on</strong>s: in order to analyze <strong>and</strong> evaluate the multiple<br />

alternatives for meeting the system goals by explicitly<br />

capturing the different alternatives. It also makes the<br />

requirements generati<strong>on</strong> more systematic. Besides, the<br />

requirements model can be used to create the design views by<br />

enriching it with additi<strong>on</strong>al data, hence allowing for the<br />

gradual c<strong>on</strong>versi<strong>on</strong> of requirements specificati<strong>on</strong>s into<br />

soluti<strong>on</strong> designs in a requirements driven framework, thus<br />

leading to tight requirements traceability [6].<br />

An aut<strong>on</strong>omic system is a self-managing, aut<strong>on</strong>omous <strong>and</strong><br />

ubiquitous computing envir<strong>on</strong>ment that completely hides its<br />

complexity, thus providing the users with an interface that<br />

exactly meets <strong>on</strong>e’s needs [1]. As networks <strong>and</strong> their<br />

applicati<strong>on</strong>s grow increasingly complex, it is difficult to<br />

maintain them by manually c<strong>on</strong>trolling the operati<strong>on</strong> of the<br />

network. This increasing complexity has led to the c<strong>on</strong>cept of<br />

systems, which h<strong>and</strong>le self-management without external<br />

interventi<strong>on</strong>. An aut<strong>on</strong>omic communicati<strong>on</strong>s system reduces<br />

the cost of operati<strong>on</strong> by relieving the system administrators of<br />

some of the load associated with maintaining complex<br />

networks. Such a system aims to achieve aut<strong>on</strong>omic behaviour<br />

by means of the four self-* attributes: self-c<strong>on</strong>figuring, selfhealing,<br />

self-optimizing <strong>and</strong> self-protecting [2].<br />

Aut<strong>on</strong>omic systems in particular, necessitate requirements<br />

modeling for several reas<strong>on</strong>s as stated in [6]. Firstly, for<br />

exploring, analyzing <strong>and</strong> implementing alternative process<br />

specificati<strong>on</strong>s at design-time instead of runtime; this enables<br />

the interacti<strong>on</strong>s between aut<strong>on</strong>omic systems less complex <strong>and</strong><br />

less error pr<strong>on</strong>e. This approach leads to a more predictable<br />

system behavior. Sec<strong>on</strong>dly, the modeling provides traceability<br />

from the aut<strong>on</strong>omic system design to the stakeholder<br />

requirements. Thirdly, it provides a framework for relating the<br />

high-level system objectives to the goals for individual<br />

aut<strong>on</strong>omic elements [6].<br />

B. Role of Formal Methods in requirements modeling<br />

Formal methods are now used extensively in many stages of<br />

software development, especially in the requirements<br />

modeling stage, for the following reas<strong>on</strong>s. Firstly, <strong>on</strong>e can<br />

catch incomplete specificati<strong>on</strong>s of input or behavior at the<br />

preliminary stage itself. Formal methods complement<br />

traditi<strong>on</strong>al methods of inspecti<strong>on</strong> by providing a mechanism<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 175


Proceedings of ICCNS 08 , 27-28 September 2008<br />

for checking complete asserti<strong>on</strong>s <strong>and</strong> hence detecting invalid<br />

specificati<strong>on</strong>s. Also, they can eliminate the ambiguity present<br />

in natural language specificati<strong>on</strong>s, by using mathematics.<br />

Complex properties can be expressed c<strong>on</strong>cisely using<br />

mathematics. Supported by visual approaches like UML,<br />

formal methods can speed up the process of c<strong>on</strong>verting natural<br />

language based requirements specificati<strong>on</strong>s to working code.<br />

Lastly, formal methods lead to a deeper underst<strong>and</strong>ing of<br />

systems in terms of precisi<strong>on</strong> <strong>and</strong> detail.<br />

The support of formal methods is particularly needed in the<br />

case of requirements modeling for aut<strong>on</strong>omic systems. Firstly,<br />

aut<strong>on</strong>omic communicati<strong>on</strong> systems are extremely complex<br />

both in terms of architecture <strong>and</strong> policies <strong>and</strong> are hence<br />

difficult to test for errors, omissi<strong>on</strong>s <strong>and</strong> c<strong>on</strong>flicts. Hence a<br />

formal framework is required in order to ensure correctness of<br />

behaviour of the system <strong>and</strong> guarantee that the system satisfies<br />

its requirements. Formal methods can also be used not <strong>on</strong>ly for<br />

verifying system requirements but also for m<strong>on</strong>itoring the<br />

change in requirements <strong>and</strong> maintenance over l<strong>on</strong>g periods of<br />

time.<br />

Large, heterogeneous network systems e.g. intelligence<br />

network systems are crucial applicati<strong>on</strong>s where failure or<br />

malfuncti<strong>on</strong> will incur a heavy cost. Here formal methods can<br />

be used for stepwise design <strong>and</strong> verificati<strong>on</strong> to ensure<br />

completeness <strong>and</strong> c<strong>on</strong>sistency of the system. This reduces<br />

chances of errors in the later stages. Formalizati<strong>on</strong> allows us to<br />

describe the decompositi<strong>on</strong> of n<strong>on</strong>-functi<strong>on</strong>al requirements<br />

rigorously <strong>and</strong> also serves as a reference for practical<br />

evaluati<strong>on</strong> of the system. Formalizati<strong>on</strong> enhances the<br />

relati<strong>on</strong>ship between the architecture <strong>and</strong> Quality Of Service<br />

attributes <strong>and</strong> ensures that the attributes are met <strong>and</strong> sustained<br />

over a l<strong>on</strong>g period of time.<br />

The Unified Modeling Language (UML) has been widely<br />

accepted as a st<strong>and</strong>ard modeling language in the software<br />

engineering community. It defines semantics <strong>and</strong> their<br />

notati<strong>on</strong>s of model elements required for the problem in h<strong>and</strong>.<br />

UML provides nine kinds of diagrams with fine levels of<br />

abstracti<strong>on</strong> to specify entities in a given problem. Complex<br />

systems such as aut<strong>on</strong>omic systems can be modeled through a<br />

set of independent diagrams, which this paper explores.<br />

Ontology necessarily embodies some sort of realistic view<br />

of tasks that we want to formalize with respect to a given<br />

domain. This realistic view often represents the c<strong>on</strong>cepts <strong>and</strong><br />

their relati<strong>on</strong>s. Typically this is known as ‘c<strong>on</strong>ceptualizati<strong>on</strong>’.<br />

Some refer, therefore, <strong>on</strong>tology also as a formal representati<strong>on</strong><br />

of systems which provides shared underst<strong>and</strong>ing of how does<br />

the system functi<strong>on</strong>. In our work we use <strong>on</strong>tology as a first<br />

level formalism in order to capture the requirements /<br />

functi<strong>on</strong>alities of an aut<strong>on</strong>omic system faithfully <strong>and</strong> then<br />

embed UML in the <strong>on</strong>tology in order to realize a meaningful<br />

formalism to develop the aut<strong>on</strong>omic system in a true software<br />

engineering based approach.<br />

The remainder of this paper is structured as follows: Secti<strong>on</strong><br />

2 discusses the proposal for using formal methods in the<br />

development of systems in the domain of aut<strong>on</strong>omic<br />

communicati<strong>on</strong>. Secti<strong>on</strong> 3 briefs the role of UML associated<br />

with Ontology in our proposed work. .Secti<strong>on</strong> 4 presents a<br />

‘Proof of C<strong>on</strong>cept Scenario’, where we discuss the UML<br />

<strong>on</strong>tological modeling of a specific case of network failure in<br />

aut<strong>on</strong>omic communicati<strong>on</strong>. Secti<strong>on</strong> 5 summarizes <strong>and</strong><br />

c<strong>on</strong>cludes the presentati<strong>on</strong> of the work.<br />

II. REQUIREMENTS AND FORMALISMS IN<br />

AUTONOMIC SYSTEMS<br />

An aut<strong>on</strong>omic communicati<strong>on</strong> system is a specialized<br />

domain of aut<strong>on</strong>omic systems. There are several aspects of<br />

aut<strong>on</strong>omic communicati<strong>on</strong> systems that can be formally <strong>and</strong><br />

functi<strong>on</strong>ally specified or represented <strong>and</strong> verified. In our work,<br />

UML associated <strong>on</strong>tology as a formal method being used for<br />

the representati<strong>on</strong>s of the high-level aut<strong>on</strong>omic<br />

communicati<strong>on</strong> network architecture. Also, the network<br />

policies <strong>and</strong> protocols, which ensure aut<strong>on</strong>omous behaviour,<br />

can be formally specified <strong>and</strong> verified. The formal proof can<br />

also be used to generate code for the network <strong>and</strong><br />

communicati<strong>on</strong> software.<br />

A. Features of aut<strong>on</strong>omic systems<br />

Formal methods are being applied to represent all the basic<br />

requirements of an aut<strong>on</strong>omous system. Also to ensure that<br />

both at the micro (individual network element) <strong>and</strong> macro<br />

level (the whole network should functi<strong>on</strong> as an aut<strong>on</strong>omous<br />

system) requirements, formal methods are being applied[5].<br />

Following are the important characteristic features of an<br />

aut<strong>on</strong>omic system [1,6], which need to be captured <strong>and</strong><br />

represented in its development through a formal method:<br />

1) Self-c<strong>on</strong>figurati<strong>on</strong><br />

This requires that a system collect informati<strong>on</strong> from<br />

various internal <strong>and</strong> external sources <strong>and</strong> derive self<br />

knowledge <strong>and</strong> c<strong>on</strong>text awareness so that it can rec<strong>on</strong>figure<br />

itself with respect to its changing envir<strong>on</strong>ment without manual<br />

interventi<strong>on</strong>. A formal method proof of the protocols <strong>and</strong><br />

policies laid down for data collecti<strong>on</strong> <strong>and</strong> evaluati<strong>on</strong> would<br />

verify that a system is able to rec<strong>on</strong>figure itself within its<br />

operati<strong>on</strong>al envelope.<br />

2) Self-healing<br />

The system must be able to dynamically detect <strong>and</strong> take<br />

measures to correct its faults. This property is implemented<br />

using envir<strong>on</strong>ment awareness. Stating this in a formal<br />

requirement specificati<strong>on</strong> will ensure completeness in<br />

specificati<strong>on</strong>, since this is a property, which uses a large<br />

number of operati<strong>on</strong>al details that may run the risk of<br />

omissi<strong>on</strong> if not formally asserted. Also self-healing is crucial<br />

for the working of the system. Hence a formal verificati<strong>on</strong> of<br />

this property is essential.<br />

3) Self-optimizati<strong>on</strong><br />

The system needs to preemptively optimize itself, with<br />

respect to business goals <strong>and</strong> must balance requirements. For<br />

this, the applicati<strong>on</strong>s that the system needs to optimize itself<br />

with respect to, needs to be clearly specified. Also the priority<br />

order am<strong>on</strong>g requirements needs to be known to the system. A<br />

formal specificati<strong>on</strong> can help perform the above with clarity<br />

<strong>and</strong> c<strong>on</strong>ciseness.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 176


Proceedings of ICCNS 08 , 27-28 September 2008<br />

4) Self-protecti<strong>on</strong><br />

This involves detecting <strong>and</strong> resp<strong>on</strong>ding to external attacks.<br />

A formal framework can be used for specifying <strong>and</strong> verifying<br />

policies of node based <strong>and</strong> network based protecti<strong>on</strong>.<br />

The formal methods shall be used for c<strong>on</strong>text definiti<strong>on</strong> <strong>and</strong><br />

c<strong>on</strong>text h<strong>and</strong>ling with respect to the above properties while<br />

developing these systems; obviously, these properties enforce<br />

<strong>and</strong> increase complexity of the systems.<br />

B. Role of formal methods in Aut<strong>on</strong>omic Systems<br />

The development process of any system or product begins<br />

with the specificati<strong>on</strong>s or representati<strong>on</strong>s of the functi<strong>on</strong>alities<br />

of it in a more readable <strong>and</strong> underst<strong>and</strong>able form, which later<br />

can be used to verify the features of the system <strong>on</strong> h<strong>and</strong>. In our<br />

c<strong>on</strong>text, we shall be able to mean the role of formal methods<br />

in the following tasks:<br />

• A formal framework for events c<strong>on</strong>cerning a network<br />

element like: making a choice to resolve a c<strong>on</strong>flict, negotiating<br />

for resources, subscripti<strong>on</strong> <strong>and</strong> notificati<strong>on</strong> of events from peer<br />

elements, classificati<strong>on</strong> <strong>and</strong> prioritizati<strong>on</strong> of system events <strong>and</strong><br />

forcing human interacti<strong>on</strong> to resolve <strong>and</strong> learn from new<br />

situati<strong>on</strong>s can be used in all the stages, from the requirement<br />

stage to the testing stage.<br />

• System dynamics is h<strong>and</strong>led by collecti<strong>on</strong> of data from<br />

various sources <strong>and</strong> knowledge derivati<strong>on</strong>, followed by rule<br />

generati<strong>on</strong> to form system policies dynamically. A formal<br />

proof for rule-generati<strong>on</strong> would assist in automated generati<strong>on</strong><br />

of system level policies.<br />

• A system has to evolve rather than adapt i.e. automatic<br />

selecti<strong>on</strong> of algorithms <strong>and</strong> comp<strong>on</strong>ents in resp<strong>on</strong>se to an<br />

envir<strong>on</strong>ment change must be made possible. Formal<br />

framework can be used to derive evolvability patterns <strong>and</strong><br />

specify them in behavioral definiti<strong>on</strong>s <strong>and</strong> also predict the<br />

emergent behaviour of the system.<br />

• Formal methods can also be used to verify seamless<br />

integrati<strong>on</strong> of self-managing comp<strong>on</strong>ents, in order to ensure<br />

that the system <strong>on</strong> the whole, behaves aut<strong>on</strong>omously.<br />

Using formal methods help the developers to get ‘early feed<br />

back’ in the development process <strong>and</strong> due to which the system<br />

or product can be predicted with quality attributes like<br />

complexity.<br />

III. ONTOLOGY AND UML IN AUTONOMIC SYSTEMS<br />

Formal methods like Estelle <strong>and</strong> Lotos [9,10] are<br />

mathematically driven approaches; these are not widely used<br />

in industries as they impose difficult notati<strong>on</strong>s. On the other<br />

h<strong>and</strong>, UML like formalisms use diagrammatic approaches<br />

which can easily be followed in a team work for software<br />

development. However, capturing the functi<strong>on</strong>al requirements<br />

<strong>on</strong>ly with ‘use cases’ of UML approach has been experienced<br />

as a time c<strong>on</strong>suming task as the ‘c<strong>on</strong>ceptualizati<strong>on</strong>’ of the<br />

system has not been directly reflected in it. On the other h<strong>and</strong>,<br />

<strong>on</strong>tology based approaches have been successfully used to<br />

capture the requirements <strong>and</strong> representing them in an easier<br />

way. But, <strong>on</strong>tology based approaches cannot be used for<br />

verificati<strong>on</strong> or validati<strong>on</strong> purposes at a later stage of a product<br />

life cycle, which can easily be d<strong>on</strong>e while using the tools of<br />

UML. Thus, the proposed approach makes of a hybrid<br />

approach which uses <strong>on</strong>tology as a first level formalism to<br />

capture the functi<strong>on</strong>al requirements of aut<strong>on</strong>omous systems<br />

<strong>and</strong> then to use (embed) UML (its state diagram) in the<br />

<strong>on</strong>tology such that the approach takes benefits of both the<br />

approaches.<br />

A. Functi<strong>on</strong>al Representati<strong>on</strong> of Aut<strong>on</strong>omic Systems<br />

A functi<strong>on</strong>al representati<strong>on</strong> of a system c<strong>on</strong>sists of<br />

descripti<strong>on</strong>s of the functi<strong>on</strong>ality of comp<strong>on</strong>ents <strong>and</strong> the<br />

relati<strong>on</strong>ship between them. The claim here is that it is not<br />

trivial to clearly identify functi<strong>on</strong>al comp<strong>on</strong>ents <strong>and</strong> / or sub<br />

systems al<strong>on</strong>g with their inter-relati<strong>on</strong>ships while designing<br />

any complex system. Ontology based approaches are being<br />

dem<strong>on</strong>strated in developing new systems while describing<br />

their functi<strong>on</strong>alities <strong>and</strong> relati<strong>on</strong>ships [3,4,7] in successful<br />

manner. We take advantage of this approach that the<br />

<strong>on</strong>tologies are at the core of systems development <strong>and</strong><br />

semantic representati<strong>on</strong>. They capture the basic terminology<br />

(c<strong>on</strong>cepts) of the domain of interest <strong>and</strong> the relati<strong>on</strong>ships<br />

between those c<strong>on</strong>cepts. It is used to reas<strong>on</strong> about the objects<br />

within that domain. However, when the developer wants to<br />

use tools to verify the properties of functi<strong>on</strong>al representati<strong>on</strong>s<br />

<strong>on</strong>e has to seek the help of UML like approaches. Thus, in the<br />

next step, we use UML in <strong>on</strong>tology representati<strong>on</strong>.<br />

Visual languages like Unified Modeling Language can be<br />

used in c<strong>on</strong>juncti<strong>on</strong> with <strong>on</strong>tology based system design, which<br />

has been experimented successfully, in this work. There is a<br />

growing interest especially in the use of UML diagrams to<br />

represent dynamics system that is under development. The<br />

principal advantages of using UML are that it can be extended<br />

as a formal design <strong>and</strong> verificati<strong>on</strong> technique. It is simple to<br />

use <strong>and</strong> is a de-facto industry-wide st<strong>and</strong>ard for systems<br />

modeling. It is precisely defined <strong>and</strong> a number of analysis,<br />

testing, simulati<strong>on</strong> <strong>and</strong> transformati<strong>on</strong> tools are available for<br />

UML. It not <strong>on</strong>ly provides a basis for simulating <strong>and</strong> testing<br />

an entire system, but also provides an optimum resource for<br />

reas<strong>on</strong>ing across the entire system [8].<br />

B. Proposed Approach<br />

As a requirements driven approach to modeling aut<strong>on</strong>omic<br />

systems using formal methods, we use <strong>on</strong>tology associated<br />

UML as a formal method. Ontology associated UML as the<br />

formalism has been proposed <strong>and</strong> based <strong>on</strong> this approach, the<br />

graphical representati<strong>on</strong> of a network failure in aut<strong>on</strong>omic<br />

communicati<strong>on</strong> has been presented as a case study or an<br />

example.<br />

Ontologies have been defined as an explicit specificati<strong>on</strong> of<br />

a c<strong>on</strong>ceptualizati<strong>on</strong>. It aims at making applicati<strong>on</strong><br />

functi<strong>on</strong>alities being represented through graphical means. In<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 177


Proceedings of ICCNS 08 , 27-28 September 2008<br />

our work we capture the functi<strong>on</strong>al requirements of an<br />

aut<strong>on</strong>omic system, more specifically a communicati<strong>on</strong> system.<br />

Graphical representati<strong>on</strong> makes the system to underst<strong>and</strong> very<br />

clearly without any ambiguity. Ontological definiti<strong>on</strong>s of<br />

functi<strong>on</strong>al properties of systems are human-readable. We use<br />

the <strong>on</strong>tology for enlisting the functi<strong>on</strong>al features /<br />

requirements of the system <strong>on</strong> h<strong>and</strong>.<br />

UML is being used with its diagrammatic notati<strong>on</strong>s to<br />

represent the functi<strong>on</strong>alities which can be used in c<strong>on</strong>juncti<strong>on</strong><br />

with any tool to verify the properties of the system <strong>on</strong> h<strong>and</strong>.<br />

We use the state diagram of UML to capture the system<br />

requirements with its dynamic characteristic <strong>and</strong> embed it in<br />

the <strong>on</strong>tology representati<strong>on</strong>.<br />

This combined approach enables us to underst<strong>and</strong> the<br />

system that it to be developed more precisely without any<br />

ambiguity also to use tools to verify, validate <strong>and</strong> test the<br />

system for its expected behaviours when implemented or<br />

prototyped.<br />

IV. PROOF OF CONCEPT SCENARIO - AN EXAMPLE<br />

CASE<br />

The proposed approach is based <strong>on</strong> Formal Methods<br />

implemented by means of Ontology associated UML. We use<br />

UML notati<strong>on</strong>s to model the case of communicati<strong>on</strong> failure<br />

between two aut<strong>on</strong>omic elements. The example of network<br />

failure is being c<strong>on</strong>sidered here; it poses serious challenges to<br />

the working of any communicati<strong>on</strong> system. It is understood<br />

that <strong>on</strong>ce a network failure occurs, there will be a sequence of<br />

activities, which follow link failure or node failure in an<br />

aut<strong>on</strong>omic communicati<strong>on</strong> system. Next paragraph narrates<br />

the situati<strong>on</strong> <strong>and</strong> approach.<br />

C<strong>on</strong>sider a simplistic situati<strong>on</strong> in an aut<strong>on</strong>omic<br />

communicati<strong>on</strong> system where there are two aut<strong>on</strong>omic<br />

elements A <strong>and</strong> B. By aut<strong>on</strong>omic element, we refer to the<br />

combinati<strong>on</strong> of a managed element <strong>and</strong> an aut<strong>on</strong>omic<br />

manager, which c<strong>on</strong>trols its behaviour, as discussed<br />

previously. These elements may form a part of a larger group<br />

of interacting aut<strong>on</strong>omic elements. We c<strong>on</strong>sider a situati<strong>on</strong><br />

wherein the element A has assigned a task to element B <strong>and</strong> is<br />

communicating with it, over the network. Element B is<br />

executing the task allotted <strong>and</strong> sends its task status informati<strong>on</strong><br />

to element A at regular time intervals. Now, for A to behave in<br />

an aut<strong>on</strong>omic manner, it needs to m<strong>on</strong>itor its internal <strong>and</strong><br />

external envir<strong>on</strong>ment c<strong>on</strong>tinuously, to satisfy the properties of<br />

self-awareness <strong>and</strong> self-c<strong>on</strong>figurati<strong>on</strong>. It does so, by<br />

m<strong>on</strong>itoring the timestamp of packets arriving from B. If there<br />

is any peculiar delay noticed, or the packets stop arriving from<br />

B, A interprets <strong>and</strong> diagnoses its current state as a<br />

communicati<strong>on</strong> failure.<br />

The next step involves analyzing the causes of<br />

communicati<strong>on</strong> failure. Element A determines whether the<br />

failure is a link failure between B <strong>and</strong> itself, or the node B<br />

undergoes a system failure (node failure). Now A adapts to<br />

changes caused by the failure in the following ways.<br />

If the failure is diagnosed as a node failure of B, A should<br />

first analyze whether it currently has the resources <strong>and</strong> data to<br />

perform the task allotted to B. If yes, it can resume B’s work<br />

from where it left off, or if not possible, execute the task from<br />

beginning, depending <strong>on</strong> the nature of the task. If A does not<br />

have sufficient resources, it searches for the nearest element<br />

capable of performing the same task. After this, it supplies the<br />

data required to start executi<strong>on</strong>, to the new element, <strong>and</strong><br />

initiates task executi<strong>on</strong>.<br />

The situati<strong>on</strong> is different if we c<strong>on</strong>sider the case of link<br />

failure. In this case, the element B may still be reachable from<br />

A through some alternate path. In such a case, A plans to<br />

reach B through the next optimal path, through some other<br />

intermediate node(s). Since the aut<strong>on</strong>omic element needs to be<br />

self-optimizing, load balancing am<strong>on</strong>g the various available<br />

paths, network traffic, b<strong>and</strong>width <strong>and</strong> other metrics like<br />

business rules are taken into c<strong>on</strong>siderati<strong>on</strong> for finding the next<br />

optimal path. The element A then initiates the task in element<br />

B. If, <strong>on</strong> the other h<strong>and</strong>, no suitable path can be found to<br />

element B from A, it follows the steps taken in case of node<br />

failure.<br />

In each of the above cases, the router table informati<strong>on</strong> of<br />

element A is updated as part of the executi<strong>on</strong>, <strong>and</strong> is sent to its<br />

neighboring elements or group elements. In order to adapt to<br />

the dynamic envir<strong>on</strong>ment, <strong>and</strong> facilitate learning<br />

aut<strong>on</strong>omically, the element A ‘learns’ from the situati<strong>on</strong>, i.e.<br />

remembers’ the cause <strong>and</strong> remedial acti<strong>on</strong> for the failure, in<br />

order to implement the same for future situati<strong>on</strong>s.<br />

The situati<strong>on</strong> in Figure 1 (shown at the end of the paper) is<br />

the graphical representati<strong>on</strong> based <strong>on</strong> our approach. The<br />

aut<strong>on</strong>omic communicati<strong>on</strong> system is modeled using <strong>on</strong>tology<br />

associated UML as a formal method. Here, firstly we enlist the<br />

functi<strong>on</strong>al requirements of the system: m<strong>on</strong>itor, analyse, get<br />

alternate path <strong>and</strong> initiate – are in <strong>on</strong>e path of flow in an<br />

aut<strong>on</strong>omic element ‘A’ in figure 1. Like wise all the paths<br />

have been identified <strong>and</strong> represented. Then, we use UML State<br />

diagrams to capture the requirements of the dynamic behavior<br />

of the system - situati<strong>on</strong> of node <strong>and</strong> link failure. Here, we<br />

notice that the entire <strong>on</strong>tology elements are being used for<br />

representing the requirements of the aut<strong>on</strong>omic system.<br />

V. CONCLUSION AND FUTURE WORK<br />

Requirements modeling is highly necessitated in the area of<br />

aut<strong>on</strong>omic system development due to its complexity. Formal<br />

methods play a vital role in the requirements modeling of<br />

these complex systems by making it easier to test for<br />

omissi<strong>on</strong>s <strong>and</strong> incomplete requirements, ensuring a c<strong>on</strong>crete<br />

reference at each stage of aut<strong>on</strong>omic software development<br />

<strong>and</strong> helping meet the Quality Of Service attributes for these<br />

systems in a better way. Here, we have used <strong>on</strong>tology<br />

associated UML as a formal method with an appropriate<br />

graphical representati<strong>on</strong> of the <strong>on</strong>tology to delineate the<br />

importance of taking a requirements-driven approach to<br />

modeling aut<strong>on</strong>omic systems. We have explored <strong>and</strong> resented<br />

al<strong>on</strong>gside is a proof-of-c<strong>on</strong>cept scenario for a specific case of<br />

network failure in aut<strong>on</strong>omic communicati<strong>on</strong>.<br />

As an extensi<strong>on</strong> of our current work, we plan to incorporate<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 178


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the c<strong>on</strong>cept of hierarchical aut<strong>on</strong>omic elements, in the<br />

requirements modeling of aut<strong>on</strong>omic systems. We also plan to<br />

extend our approach to other scenarios that arise in aut<strong>on</strong>omic<br />

communicati<strong>on</strong>. As it is part of our <strong>on</strong>-going work, we intend<br />

to use some of the popular tools of UML to verify <strong>and</strong> validate<br />

the requirements / characteristic features. As a comparis<strong>on</strong> of<br />

our approach with other approaches, we state that our<br />

approach provides more human-readable representati<strong>on</strong> (with<br />

formal approach) of requirements while following a life-cycle<br />

model of system development than merely using use-cases or<br />

any other similar approach.<br />

REFERENCES<br />

[1] R.Steritt, M.Parashar, Manish Parashar, Huaglory Tianfien, Ranier<br />

Unl<strong>and</strong>, A C<strong>on</strong>cise Introducti<strong>on</strong> to Aut<strong>on</strong>omic Computing, Advanced<br />

Engineering Informatics 19 (2005) 181–187.<br />

[2] David Lewis, Declan O’sulliavan, John Keeny, , Towards the<br />

Knowledge-Driven Benchmarking of Aut<strong>on</strong>omic Communicati<strong>on</strong>s,<br />

World of Wireless, Mobile <strong>and</strong> Multimedia, <strong>Networks</strong>, 2006.<br />

WoWMoM 2006, <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Symposium <strong>on</strong> 26-29 June 2006<br />

[3] Gruber, T.R. Toward principles for the design of <strong>on</strong>tologies used for<br />

Knowledge sharing. Int. J. Hum. Comput. Stud. 43, 5/6 (1995), 907–928<br />

[4] Clyde W. Holsapple <strong>and</strong> K.D. Joshi, A Collaborative approach to<br />

Ontology Design, Communicati<strong>on</strong>s of the ACM, Vol. 45, No. 2,<br />

February 2002.<br />

[5] Giancarlo Guizzardi, Gerd Wagner <strong>and</strong> Heinrich Herre, On the<br />

Foundati<strong>on</strong>s of UML as an Ontology Representati<strong>on</strong> Language, EKAW<br />

2004, LNAI 3257, pp. 47–62, Springer -Verlag Berlin Heidelberg 2004.<br />

[6] Alexei Lapouchnian, Sotirios Liaskos, John Mylopoulos <strong>and</strong> Yijun Yu<br />

Towards requirements-driven aut<strong>on</strong>omic systems design, ACM<br />

SIGSOFT Software engineering notes Vol. 30 Issue 4<br />

[7] J. Wang, D. Brady, K. Baclawski, M.M. Kokar <strong>and</strong> L. Lechowic The use<br />

of <strong>on</strong>tologies for self-awareness of communicati<strong>on</strong> nodes, In Proc.<br />

Software Defined Radio Technical C<strong>on</strong>f. SDR'03 (2003)<br />

[8] E.A. Coyle, L.P Maguire <strong>and</strong> T.M McGinnity, Design philosophy for<br />

self-repair of electr<strong>on</strong>ic systems using the UML, IEE Proceedings, Vol.<br />

149, No. 6, December 2002<br />

[9] M.D.Fraser, K. Kumar <strong>and</strong> V.K.Vaishnavi, Informal <strong>and</strong> formal<br />

requirements specificati<strong>on</strong> languages: Bridging the gap, IEEE Trans.<br />

On Software Engineering, 17(5), 454-466, 1991.<br />

[10] S.Budkowski, Estelle Development Toolset (EDT), <strong>Computer</strong> <strong>Networks</strong><br />

<strong>and</strong> ISDN Systems, 25(1), 63-82, 1992.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 179


Proceedings of ICCNS 08 , 27-28 September 2008<br />

AUTONOMIC ELEMENT 'A'<br />

MONITOR<br />

M<strong>on</strong>itor timestamp<br />

informati<strong>on</strong> of packets<br />

arriving from element<br />

'B'<br />

ANALYZE<br />

Type of failure<br />

Link<br />

Failure<br />

Failure<br />

detected<br />

GET ALTERNATE PATH<br />

Obtain next Optimal Path to element B<br />

based <strong>on</strong> the following metrics:<br />

Not<br />

Found<br />

a) Load balancing for self-optimizati<strong>on</strong><br />

b) Current network traffic<br />

c) Network b<strong>and</strong>width<br />

d) Business policies <strong>and</strong> other regulati<strong>on</strong>s<br />

Get Path<br />

Node<br />

Failure<br />

CHECKING<br />

Determine whether the<br />

element A itself has<br />

resources <strong>and</strong> the data to<br />

do the task it allotted to<br />

element B<br />

SEARCHING<br />

Find the nearest<br />

node which can<br />

c<strong>on</strong>tinue the task<br />

SUPPLY DATA<br />

If Not Possible<br />

If Po<br />

s si ble<br />

Communicates state informa t i o n<br />

CHECKING<br />

Check if it can<br />

c<strong>on</strong>tinue the<br />

task from<br />

where B left off<br />

NO<br />

YES<br />

AUTONOMIC<br />

ELEMENT 'B'<br />

EXECUTION<br />

Execute the task allotted<br />

to it by A <strong>and</strong> send the<br />

state informati<strong>on</strong> at<br />

regular time intervals<br />

UPDATING TABLES<br />

Update the routing<br />

tables of element B to<br />

reflect the changes in A<br />

Found<br />

INITIATION<br />

Initiate the<br />

executi<strong>on</strong> in the<br />

element B<br />

Provide the necessary<br />

data to the new<br />

element to carry out<br />

the task<br />

State<br />

EXECUTION<br />

Execute<br />

the task from<br />

beginning<br />

EXECUTION<br />

Resume the<br />

task from<br />

where B left<br />

off<br />

INITIATION<br />

Initiate the<br />

executi<strong>on</strong> in the<br />

new element<br />

Send Updated Routing informati<strong>on</strong><br />

UPDATING TABLES<br />

Update the routing tables of<br />

aut<strong>on</strong>omic element A <strong>and</strong> send<br />

updated router informati<strong>on</strong> to<br />

the neighbouring aut<strong>on</strong>omic<br />

element<br />

NEW<br />

SITUATION<br />

No<br />

Yes<br />

LEARNING<br />

Aut<strong>on</strong>omic element "learns"<br />

from the new situati<strong>on</strong>,its<br />

cause <strong>and</strong> the acti<strong>on</strong>s to be<br />

performed in a similar future<br />

case<br />

Figure – 1 : Ontology associated UML model of an aut<strong>on</strong>omic communicati<strong>on</strong> – node <strong>and</strong> link failure<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 180


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Performance Evaluati<strong>on</strong> of AODV, DSDV <strong>and</strong><br />

DSR for MANET<br />

*G. Lakshmikanth # A. Gaiwak +Dr. P .D. Vyavahare<br />

Abstract-- A mobile ad hoc network (MANET) is a collecti<strong>on</strong> of<br />

wireless mobile nodes dynamically forming a temporary network<br />

without the use of any preexisting network infrastructure or<br />

centralized administrati<strong>on</strong>. The performance of MANET is related to<br />

the efficiency of the routing protocols in adapting to frequently<br />

changing network topology <strong>and</strong> link status. Because of the nature of<br />

ad hoc networks, there are special dem<strong>and</strong>s for ad hoc routing<br />

protocols <strong>and</strong> the performance of these routing protocols is an<br />

important issue. This paper presents the performance evaluati<strong>on</strong> of<br />

AODV, DSDV <strong>and</strong> DSR for MANET through simulati<strong>on</strong>s using<br />

NS2. The protocols are compared based <strong>on</strong> the scenario, by varying<br />

the number of nodes <strong>and</strong> transmissi<strong>on</strong> power of mobile nodes<br />

simultaneously. Three performance metrics are c<strong>on</strong>sidered for<br />

comparis<strong>on</strong> namely: Packet Delivery Ratio, Normalized Routing<br />

Overload <strong>and</strong> Average End-to-End Delay. The objective is to validate<br />

the scalability <strong>and</strong> effectiveness of the three routing protocols.<br />

Index Terms-- MANET, routing protocol, performance, DSDV,<br />

DSR <strong>and</strong> AODV.<br />

I. NOMENCLATURE<br />

MANET-Mobile Ad hoc NETworks<br />

AODV-Ad-hoc On-dem<strong>and</strong> Distance Vector<br />

DSDV-Destinati<strong>on</strong>-sequenced Distance Vector<br />

DSR-Dynamic Source Routing<br />

PDR-Packet Delivery Ratio<br />

AED-Average End-to-end Delay<br />

NRL-Normalized Routing Load<br />

A<br />

II. INTRODUCTION<br />

mobile ad hoc network (MANET) is a category of<br />

wireless networks that utilize multi-hop radio relaying<br />

<strong>and</strong> are capable of operating without the support of any<br />

infrastructure hence they are also called infrastructure less<br />

networks. The absence central coordinator base stati<strong>on</strong> makes<br />

routing complex compared to infrastructured networks.<br />

Because of the nature of ad hoc networks, there are special<br />

dem<strong>and</strong>s for ad hoc routing protocols <strong>and</strong> the performance of<br />

* Mr. G. Lakshmikanth is master's student in the Department of Eletr<strong>on</strong>ics<br />

<strong>and</strong> Teleommunicati<strong>on</strong>s, S.G.S.I.T.S, Indore (MP)-452003, INDIA<br />

(email:lkg497@gmail.com).<br />

# A. Gaiwak is the Head of the department of Electr<strong>on</strong>ics,<br />

M.I.T.M, Indore (MP)-452003, INDIA (email:agaiwak@yahoo.co.in).<br />

these routing protocols is an important issue. Routing<br />

protocols used in ad hoc networks must automatically adjust to<br />

envir<strong>on</strong>ments that can vary between the extremes of high<br />

mobility with low b<strong>and</strong>width, <strong>and</strong> low mobility with high<br />

b<strong>and</strong>width. The performance of MANET is related to the<br />

efficiency of the routing protocols in adapting to frequently<br />

changing network topology <strong>and</strong> link status.<br />

This paper addresses the issue by comparing the relative<br />

performance of three key ad-hoc routing protocols: Ad-hoc<br />

On-dem<strong>and</strong> Distance Vector (AODV)[1], Destinati<strong>on</strong>sequenced<br />

Distance Vector (DSDV)[2] <strong>and</strong> Dynamic Source<br />

Routing (DSR)[3] through simulati<strong>on</strong>s. The protocols are<br />

compared based <strong>on</strong> the scenario, by varying the number of<br />

nodes <strong>and</strong> transmissi<strong>on</strong> power of mobile nodes simultaneously.<br />

The objective is to validate the scalability <strong>and</strong> effectiveness<br />

of the three routing protocols.<br />

III. AN OVERVIEW OF PROTOCOLS<br />

The MANET routing protocols can be classified in two<br />

categories:<br />

Table driven (proactive) algorithms:<br />

Store the needed informati<strong>on</strong> for routing purposes in tables,<br />

which are repeatedly updated through c<strong>on</strong>trol packets that are<br />

sent by each node. The updates can also resp<strong>on</strong>d to topological<br />

changes of the network. Example is DSDV.<br />

On-dem<strong>and</strong> (reactive) protocols:<br />

In c<strong>on</strong>trast to table driven routing protocols, compute the route<br />

to a specific destinati<strong>on</strong> <strong>on</strong>ly when needed, so a routing table<br />

c<strong>on</strong>taining all the nodes as entries does not have to be<br />

maintained in each node. When a source wants to send packet<br />

to a destinati<strong>on</strong>, it invokes a route discovery mechanism to<br />

find the path to the destinati<strong>on</strong>. The route remains valid till the<br />

destinati<strong>on</strong> is reachable or until the route is no l<strong>on</strong>ger needed.<br />

Examples are AODV, DSR.<br />

The following subsecti<strong>on</strong>s briefly describe the three ad hoc<br />

routing protocols which are c<strong>on</strong>sidered in this paper. The first<br />

<strong>on</strong>e (DSDV) is fully table driven whereas the sec<strong>on</strong>d <strong>on</strong>e<br />

(AODV) is fully <strong>on</strong>-dem<strong>and</strong> based. The third <strong>on</strong>e (DSR) has<br />

adopted some of the characteristics of the both the categories.<br />

+ Dr.P.D.Vyavahare is with the Department of Electr<strong>on</strong>ics <strong>and</strong><br />

Telecommunicati<strong>on</strong>s, S.G.S.I.T.S, Indore (MP)-52003, INDIA<br />

(email:prakash.vyavahare@gmail.com).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 181


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. Destinati<strong>on</strong> Sequence Distance Vector (DSDV)<br />

DSDV [2], is a distance vector routing protocol. It is based <strong>on</strong><br />

the Bellman-Ford routing algorithm. DSDV is a proactive<br />

routing protocol. It works <strong>on</strong> hop-by-hop basis i.e in this<br />

protocol every node maintains a routing table that c<strong>on</strong>tains<br />

next-hop entry <strong>and</strong> the number of hops needed for all<br />

reachable destinati<strong>on</strong>s. DSDV assumes bidirecti<strong>on</strong>al links <strong>and</strong><br />

thus does not have unidirecti<strong>on</strong>al link support. DSDV uses a<br />

c<strong>on</strong>cept of sequence numbers to provide loop freedom. The<br />

sequence number is originated by the destinati<strong>on</strong> node. To<br />

maintain routing informati<strong>on</strong> c<strong>on</strong>sistent within a network<br />

DSDV requires nodes to broadcast route advertisements<br />

periodically. In practice updates are sent in every few sec<strong>on</strong>ds.<br />

The advertisement c<strong>on</strong>tains the routing table entries of the<br />

advertising node. These entries c<strong>on</strong>tain the address of<br />

destinati<strong>on</strong>, next hop <strong>and</strong> hop count to that destinati<strong>on</strong> <strong>and</strong> the<br />

last known sequence number originated by that destinati<strong>on</strong>.<br />

When a node receives an advertisement it updates its routing<br />

table <strong>on</strong> this basis. Routes with greater sequence numbers are<br />

always preferred. If the sequence numbers are equal, a route<br />

with lower hop count is chosen. Note that the receiving node<br />

increases the hop counts in the advertisement since the<br />

destinati<strong>on</strong> needs <strong>on</strong>e hop more to be reached. The receiving<br />

node will then subsequently pass this new informati<strong>on</strong> forward<br />

within its own route advertisement. When a node detects a link<br />

failure it marks all routes through that link with hop count<br />

equal to infinity (any number bey<strong>on</strong>d allowed maximum) <strong>and</strong><br />

assigns sequence number greater than the stored sequence<br />

number for that destinati<strong>on</strong>, then broadcasts update<br />

informati<strong>on</strong>. That is why nodes detecting failures always<br />

assign odd sequence numbers to these routes. Original<br />

destinati<strong>on</strong> originated sequence numbers are even. Since<br />

frequent route advertisements can generate a lot of c<strong>on</strong>trol<br />

traffic, DSDV introduces two kinds of route update packets.<br />

The first is known as full dump c<strong>on</strong>taining all available routing<br />

informati<strong>on</strong> <strong>and</strong> may require several network protocol data<br />

units (NPDUs). Smaller incremental packets are used to<br />

distribute <strong>on</strong>ly informati<strong>on</strong> that has changed since last full<br />

dump.<br />

B. Dynamic Source Routing (DSR)<br />

DSR [3] is a fully reactive routing protocol. It is a source<br />

routing protocol meaning that a packet carried in the network<br />

c<strong>on</strong>tains an ordered list of all nodes through which the packet<br />

must be routed. Nodes in a networks using DSR routing are<br />

required to maintain so called Route Cache where all learned<br />

routes to any given node in the network exist. DSR uses two<br />

basic mechanisms Route Discovery <strong>and</strong> Route Maintenance.<br />

Route Discovery is initiated by the source node, say S, to<br />

obtain a source route to the destinati<strong>on</strong> node, say D. Route<br />

Discovery takes place <strong>on</strong>ly when S does not already know a<br />

route to D. The purpose of Route Maintenance is to provide a<br />

mechanism that enables the node S to detect if the network<br />

topology has changed such that the source route to D does not<br />

work anymore. When the node S needs to send packets to the<br />

node D, it obtains a route to D by searching its Route Cache of<br />

previously learned routes. If no route is found, Route<br />

discovery protocol is initiated by broadcasting a ROUTE<br />

REQUEST message. Request messages are identified by<br />

initiator determined request ids. When a node receives a Route<br />

Request message, it returns a ROUTE REPLY message to the<br />

initiator, if it is the target of the request or a node knowing a<br />

valid route to the target. Otherwise if the receiving node has<br />

lately seen a request from the same initiator with the same id<br />

or if its address is already in the route record of the ROUTE<br />

REQUEST packet, it discards the packet. The receiving node<br />

adds it own address to the route record of the request <strong>and</strong><br />

broadcasts the request forward. After a successful Route<br />

Discovery process, route record of a ROUTE REQUEST<br />

c<strong>on</strong>tains a complete source route from the initiator to the<br />

target. This informati<strong>on</strong> is then c<strong>on</strong>tained in a ROUTE REPLY<br />

message. DSR supports unidirecti<strong>on</strong>al links since the reply is<br />

sent back to the source based <strong>on</strong> a route in replier’s cache or it<br />

is piggybacked <strong>on</strong> a Route Request packet for the initiator.<br />

Route Discovery is initiated when a node needs to discover a<br />

route to another node. A Route Request packet is broadcasted.<br />

When a node receives a Route Request it searches its route<br />

cache where all routes are stored. If requested route cannot be<br />

found in the cache, the node adds its address to the sequence<br />

of hops c<strong>on</strong>tained in the header of Route Request packet <strong>and</strong><br />

broadcasts it again. The request floods through the network<br />

until it reaches the destinati<strong>on</strong> node or a node having a valid<br />

route to the destinati<strong>on</strong>. The destinati<strong>on</strong> node, <strong>on</strong> receiving<br />

ROUTE REQUEST packet, resp<strong>on</strong>ds by sending a ROUTE<br />

REPLY packet back to the source node by piggybacking.<br />

Route Maintenance requires that each node ensures that<br />

forwarded packets are received by the next-hop node. In a case<br />

of link breakage a ROUTE ERROR packet is sent back to the<br />

source node which removes broken link from its cache. All<br />

routes are also truncated at that point. The DSR [3] also<br />

specifies a promiscuous mode. In this mode nodes are allowed<br />

to learn routes by overhearing packets not addressed to them.<br />

It means that packets with link level addresses of other nodes<br />

are not filtered. Working in such a mode may cause<br />

unnecessary power c<strong>on</strong>sumpti<strong>on</strong>.<br />

C. Ad Hoc <strong>on</strong> Dem<strong>and</strong> Distance Vector (AODV)<br />

AODV [1], combines some properties of both DSR <strong>and</strong><br />

DSDV. It uses route discovery process to cope with routes <strong>on</strong>dem<strong>and</strong><br />

basis. However, it adopts DSDV like hop-by-hop<br />

routing tables for maintaining routing informati<strong>on</strong>. Hence<br />

AODV is a reactive protocol; it doesn’t need to maintain<br />

routes to nodes that are not communicating. AODV h<strong>and</strong>les<br />

route discovery with Route Request (RREQ) messages. RREQ<br />

message is broadcasted to neighbor nodes. The message floods<br />

through the network until wanted destinati<strong>on</strong> or a node<br />

knowing fresh route is reached. Sequence numbers are used to<br />

guarantee loop freedom. The destinati<strong>on</strong> node unicasts a Route<br />

Reply (RREP) back to the source node. Nodes transmitting a<br />

RREP message create routing table entries for forward route.<br />

Nodes periodically send HELLO messages to neighbor nodes<br />

for route maintenance. If a node fails to receive three<br />

c<strong>on</strong>secutive HELLO messages from a neighbor, it c<strong>on</strong>cludes<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 182


Proceedings of ICCNS 08 , 27-28 September 2008<br />

that link to that specific node is down. A node that detects a<br />

broken link sends a Route Error (RERR) message to any<br />

upstream node. When a node receives a RERR message it will<br />

initiate a new source discovery process.<br />

IV. SIMULATION SETUP AND RESULTS<br />

RFC 2501[4] describes a number of quantitative metrics that<br />

can be used for evaluating the performance of a routing<br />

protocol for mobile wireless ad-hoc networks. In this paper,<br />

we follow the general ideas described in RFC 2501. The<br />

packet delivery ratio <strong>and</strong> average end-to-end delay are the two<br />

most important parameters for best-effort traffic. The<br />

normalized routing load is used to evaluate the efficiency of<br />

the routing protocol. Finally, the normalized MAC load is a<br />

measure of the effective utilizati<strong>on</strong> of the wireless medium for<br />

data traffic.<br />

We present the performance comparis<strong>on</strong> of AODV, DSDV<br />

<strong>and</strong> DSR. The MAC layer of IEEE 802.11 has been used for<br />

the simulati<strong>on</strong>s using NS2 [5] as the simulator.<br />

We had the scenario as:<br />

Fig 4.2<br />

Fig 4.3<br />

Varying the number of nodes <strong>and</strong> the transmissi<strong>on</strong><br />

power of the node simultaneously at c<strong>on</strong>stant<br />

mobility.<br />

Simulati<strong>on</strong>s are d<strong>on</strong>e for above scenario with the routing<br />

protocols AODV, DSDV <strong>and</strong> DSR to get 100 trace files. After<br />

analyzing those 100 trace files with corresp<strong>on</strong>ding awk scripts<br />

plotting of the graphs is d<strong>on</strong>e for the metrics given in (4) with<br />

respect to the variables which are varied for performance<br />

evaluati<strong>on</strong>.<br />

All the simulati<strong>on</strong>s are run for 900 sec<strong>on</strong>ds (15 min).<br />

Results are shown bellow for the scenario. Figures from 4.1 to<br />

4.10 show the variati<strong>on</strong> of average delay with number of nodes<br />

at different transmissi<strong>on</strong> powers. Figures from 4.11 to 4.20<br />

show the variati<strong>on</strong> of normalized routing load with number of<br />

nodes at different transmissi<strong>on</strong> powers. Figures from 4.21 to<br />

4.30 show the variati<strong>on</strong> of packet delivery ratio with number<br />

of nodes at different transmissi<strong>on</strong> powers.<br />

(i) Average delay variati<strong>on</strong> with Transmissi<strong>on</strong> power <strong>and</strong><br />

the number of nodes<br />

Fig 4.4<br />

Fig 4.5<br />

Fig 4.1<br />

Fig 4.6<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 183


Proceedings of ICCNS 08 , 27-28 September 2008<br />

(ii) Normalized routing load variati<strong>on</strong> with transmissi<strong>on</strong><br />

power <strong>and</strong> the number of nodes<br />

Fig 4.7<br />

Fig 4.11<br />

Fig 4.8<br />

Fig 4.12<br />

Fig 4.9<br />

Fig 4.13<br />

Fig 4.14<br />

Fig 4.10<br />

At any transmissi<strong>on</strong> power, Delay is decreased when the<br />

number of nodes is increased because of the increase in the<br />

node density. When the transmissi<strong>on</strong> power is also increased<br />

simultaneously, then delay is further decreased. This is<br />

because When the transmissi<strong>on</strong> power is increased<br />

transmissi<strong>on</strong> range increases <strong>and</strong> with the increase of the<br />

number of nodes node density in each nodes range increases.<br />

But, in DSR the delay is increased at higher transmissi<strong>on</strong><br />

powers <strong>and</strong> higher the number of nodes; because when the<br />

transmissi<strong>on</strong> power is increased the interference increases<br />

hence link failures will increase. Then DSR must choose other<br />

routes, but at higher the number of nodes node density is more,<br />

so Average end to end delay increases.<br />

Fig 4.15<br />

Fig 4.16<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 184


Proceedings of ICCNS 08 , 27-28 September 2008<br />

(iii) Packet delivery ratio variati<strong>on</strong> with transmissi<strong>on</strong><br />

power <strong>and</strong> the number of nodes<br />

Fig 4.17<br />

Fig 4.21<br />

Fig 4.18<br />

Fig 4.22<br />

Fig 4.19<br />

Fig 4.23<br />

Fig 4.20<br />

Normalized routing load is increased at any transmissi<strong>on</strong><br />

power when the number of nodes is increased in all protocols.<br />

Up to 30 nodes all protocols performs similar. But, after 30<br />

nodes DSR routing load increases more than AODV <strong>and</strong><br />

AODV routing load increases more than DSDV at any<br />

transmissi<strong>on</strong> power. At 100 nodes, DSR routing load is 70%<br />

more than AODV at lower transmissi<strong>on</strong> powers (0.1w to<br />

0.2w), 1.5 times more at transmissi<strong>on</strong> powers from 0.3w to<br />

0.9w <strong>and</strong> 4.3times more at 1.0w. At 100 nodes AODV routing<br />

load is 2 times more than DSDV almost at all transmissi<strong>on</strong><br />

powers.<br />

When the number of nodes increases node density increases,<br />

c<strong>on</strong>trol packet size also increases in DSR <strong>and</strong> with<br />

transmissi<strong>on</strong> power link failures will increase then<br />

automatically routing load increases. This increase is more<br />

than AODV <strong>and</strong> DSDV, because no intermediate node<br />

participates in routing in DSR. AODV delay is more than<br />

DSDV when the number of nodes increases at any<br />

transmissi<strong>on</strong> power because AODV needs to use more Hello<br />

packets.<br />

Fig 4.24<br />

Fig 4.25<br />

Fig 4.26<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 185


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE I shows the percentage of decrease in PDR for all<br />

protocols. At lower transmissi<strong>on</strong> powers (0.1w to 0.4w) PDR<br />

decreases up to 70 nodes, <strong>and</strong> then it is stabilized. At middle<br />

transmissi<strong>on</strong> powers (0.6w) PDR decreases up to 50 nodes,<br />

after it is stabilized. At higher transmissi<strong>on</strong> powers (0.6w to<br />

1.0w) PDR decreases up to 30 nodes, after it is stabilized.DSR<br />

performs 6% better than DSDV <strong>and</strong> AODV in terms of PDR.<br />

Fig 4.27<br />

Fig 4.28<br />

V. CONCLUSIONS<br />

Each of the protocols studied performs well in some cases yet<br />

has certain drawbacks in other cases. Average delay of AODV<br />

<strong>and</strong> DSDV decreased with the increase in Number of nodes<br />

<strong>and</strong> transmissi<strong>on</strong> power. But, at higher number of nodes <strong>and</strong><br />

higher transmissi<strong>on</strong> powers, Average delay increased in DSR.<br />

At lower transmissi<strong>on</strong> powers a significant fracti<strong>on</strong> of data<br />

packets were dropped when the number of nodes is 70. At<br />

higher transmissi<strong>on</strong> powers a significant fracti<strong>on</strong> of data<br />

packets were dropped when the number of nodes is 30. DSR<br />

performs 6% better than DSDV <strong>and</strong> AODV in terms of PDR.<br />

The performance of DSR is very good at all transmissi<strong>on</strong><br />

powers <strong>and</strong> nodes, although its use of source routing increases<br />

the number of routing overhead bytes required by the protocol.<br />

AODV performs almost as well as DSDV at all transmissi<strong>on</strong><br />

powers <strong>and</strong> nodes, but it still requires the transmissi<strong>on</strong> of many<br />

routing overhead packets <strong>and</strong> at high transmissi<strong>on</strong> powers.<br />

VI. REFERENCES<br />

Fig 4.29<br />

Fig 4.30<br />

When the number of nodes increases Packet delivery ratio<br />

decreases because probability of packet loss increases due to<br />

increasing the node density. But when the transmissi<strong>on</strong> power<br />

is also increased then the PDR decreases quickly because of<br />

interference.<br />

TABLE I<br />

Transmissi<strong>on</strong><br />

power(watts)<br />

Stabilizati<strong>on</strong><br />

point(nodes)<br />

% decrease<br />

In PDR<br />

0.1 70 58.64<br />

0.2 70 61.21<br />

0.3 70 64.48<br />

0.4 70 64.86<br />

0.5 60 59.63<br />

0.6 30 56.82<br />

0.7 30 56.8<br />

0.8 30 55.6<br />

0.9 30 56.8<br />

1.0 30 57.8<br />

[1] Charles E. Perkins, Elizabeth M. Royer, <strong>and</strong> Samir R. Das, “Ad hoc <strong>on</strong>dem<strong>and</strong><br />

distance vector (AODV) routing.” IETF INTERNET DRAFT,<br />

MANET working group, July 2003 http://www.ietf.org/rfc/rfc3561.txt<br />

[2] Charles E. Perkins, Pravin Bhagwat. Highly Dynamic Destinati<strong>on</strong>-<br />

Sequenced Distance-Vector Routing (DSDV) for Mobile <strong>Computer</strong>s. In<br />

Proceedings of the SIGCOMM ’94 August 1994.<br />

http://people.nokia.net/charliep/txt/sigcomm94/paper.pscited 1.03.2004.<br />

[3] David B. Johns<strong>on</strong>, David A. Maltz, Yih-Chun Hu.The Dynamic Source<br />

Routing Protocol for Mobile Ad Hoc <strong>Networks</strong> (DSR). Internet Draft,<br />

IETF MANET Working Group, April 2003. http://www-2.cs.cmu.edu/<br />

dmaltz/internet-drafts/draft-ietf-manet dsr- 09.txt cited 08.03.2004<br />

[4] S. Cors<strong>on</strong>, J. Macker. MANET: Routing Protocol Performance Issues<br />

<strong>and</strong> Evaluati<strong>on</strong> c<strong>on</strong>siderati<strong>on</strong>s. RFC 2501, IETF Network Working<br />

Group, January1999. http://www.ietf.org/rfc/rfc2501.txt cited<br />

15.02.2004.<br />

[5] Ns2’s web page is at http://www.isi.edu/nsnam/ns.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 186


Mutually Exclusive Determinati<strong>on</strong> of Shortest<br />

Path in Mobile Ad-Hoc <strong>Networks</strong> – A Tree<br />

Based Approach<br />

Sanket Sarang<br />

A.C. Patil College of Enggineering, Univ. of Mumbai, Mumbai, India<br />

sarang.sanket@gmail.com<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract— Communicati<strong>on</strong> in an Ad-hoc network involves the<br />

problem of finding the shortest path. In c<strong>on</strong>tinuous network topology<br />

changing scenarios, it is important that a particular device <strong>on</strong> the<br />

network is capable of finding the shortest path to the desired<br />

destinati<strong>on</strong> for exchange of messages in order to increase the<br />

communicati<strong>on</strong> efficiency <strong>and</strong> reliability. In dynamic networks,<br />

communicati<strong>on</strong> over the shortest path or precisely the path with a<br />

least number of hops is most desired <strong>and</strong> may be c<strong>on</strong>sidered to be the<br />

most reliable. We present an algorithm in this paper to find the<br />

shortest path for sending a message <strong>on</strong> a Mobile Ad-Hoc network<br />

with dynamically changing network topology.<br />

Keywords-Algorithm, Network Tree Generati<strong>on</strong>, Ad-Hoc<br />

Mobile <strong>Networks</strong>, Path Optimizati<strong>on</strong><br />

I. INTRODUCTION<br />

Mobile wireless Ad-Hoc networks are classified into a<br />

category of networks that do not involve routers. The message<br />

passing takes place directly between the peers, also termed as<br />

nodes, without the intermediate routers. The messages hop<br />

from <strong>on</strong>e node to another until they reach their desired<br />

destinati<strong>on</strong>s. The communicati<strong>on</strong> channel between the nodes<br />

is wireless. Because of a limited range of wireless<br />

communicati<strong>on</strong> of each node, it is often required that a<br />

message <strong>on</strong>ce sent, hops several times from <strong>on</strong>e node to<br />

another before reaching its destinati<strong>on</strong>. The message hopping<br />

is d<strong>on</strong>e in dynamic network topologies <strong>and</strong> often is the case<br />

that the message needs to pass through a large number of<br />

nodes, before reaching the destinati<strong>on</strong> node. The number of<br />

hops is correlated to the efficiency of message transfer <strong>and</strong> is<br />

a Quality of Service (QoS) measure. Less number of hops<br />

ensures less propagati<strong>on</strong> delay, reducti<strong>on</strong> in network traffic,<br />

<strong>and</strong> more reliability of successful message transfer.<br />

The problem of finding the shortest path for communicati<strong>on</strong><br />

over the network is worsened by the absence of routers <strong>and</strong><br />

the presence of a dynamically changing network topology.<br />

The soluti<strong>on</strong> to the problem involves dynamically recording<br />

the network topology, <strong>and</strong> taking real time decisi<strong>on</strong>s. It should<br />

however be noted that for a message to follow the shortest<br />

path, the sender must have knowledge of the shortest path,<br />

before the message is sent. The first hop should be to the node<br />

which is <strong>on</strong> the shortest path <strong>and</strong> not to any other node.<br />

Ensuring this c<strong>on</strong>diti<strong>on</strong> becomes difficult when the sender<br />

does not have any direct communicati<strong>on</strong> with the receiver or<br />

is unaware of the number of nodes in between him <strong>and</strong> the<br />

receiver. This paper proposes a soluti<strong>on</strong> for finding the<br />

network topology at real time <strong>and</strong> then proceeds <strong>on</strong> to finding<br />

the shortest path for transfer of messages. At the end we also<br />

discuss how this system meets some of the QoS st<strong>and</strong>ards.<br />

We have developed a network tree generati<strong>on</strong> algorithm,<br />

which generates a network tree 0 of the shortest path. The<br />

algorithm generates the network tree with respect to a given<br />

node. The generated tree c<strong>on</strong>tains <strong>on</strong>ly a singular occurrence<br />

of each node. Our algorithm is different, in the sense that it<br />

generates a tree of the shortest paths. In our algorithm,<br />

multiple paths [1] to reach a particular node are avoided, <strong>and</strong><br />

in a tree, there is <strong>on</strong>e <strong>and</strong> <strong>on</strong>ly <strong>on</strong>e path available for the<br />

transfer of messages <strong>and</strong> this path is the shortest. Our<br />

algorithm also h<strong>and</strong>les situati<strong>on</strong>s of nodes refusing to take part<br />

in the communicati<strong>on</strong> process, which are not c<strong>on</strong>sidered in<br />

other algorithms 0[3].<br />

II. NETWORK TOPOLOGY<br />

We assume the following characteristics for a mobile<br />

wireless network <strong>on</strong> which we propose our algorithm.<br />

A. The network c<strong>on</strong>tains no routers:<br />

This means that there are no routers present in the network,<br />

or rather there is no communicati<strong>on</strong> guide which keeps track<br />

of the path to be followed to the destinati<strong>on</strong>.<br />

B. All communicati<strong>on</strong> over the network takes place over<br />

wireless channel:<br />

Communicati<strong>on</strong> over the network happens through a<br />

wireless channel, which is totally unguided. A particular node<br />

can communicate <strong>on</strong>ly with nodes within its range. If it wishes<br />

to communicate with a node which is not within its direct<br />

range, then it must be able to detect if the desired node is<br />

within range of any of the nodes in the network, <strong>and</strong> if so<br />

what is the shortest path for communicati<strong>on</strong>.<br />

C. The peers (nodes) in the network change places<br />

dynamically:<br />

All the nodes in the network change their positi<strong>on</strong><br />

dynamically within the network. The list of nodes in range<br />

with a particular node changes c<strong>on</strong>tinuously, as the nodes<br />

change their positi<strong>on</strong>s.<br />

D. Any peer may leave the network or enter the network<br />

dynamically:<br />

Any node of the network may decide to leave the network<br />

or a new node may decide to enter the network dynamically<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 187


Proceedings of ICCNS 08 , 27-28 September 2008<br />

without any prior notice. A node may leave the network<br />

without completing its assigned task, or without forwarding a<br />

received message.<br />

3<br />

1<br />

E. Message forwarding is a request <strong>and</strong> not an<br />

enforcement or order:<br />

Any of the nodes of the network may refuse to forward a<br />

message. Once the node receives a request for forward of<br />

message, it may reply back a ‘reject’ or simply accept the<br />

message without any further acknowledgement. Once the<br />

message is accepted, the node must make an attempt to<br />

transfer the message to the other nodes. However a failure of<br />

the node as a whole, or loss of c<strong>on</strong>necti<strong>on</strong> of the node from<br />

the network without any prior notice is permitted.<br />

F. Every node has a unique identity:<br />

Every node of the network must have a unique identity<br />

which never changes. The unique identity can be in the form<br />

of a ph<strong>on</strong>e number in case of a Bluetooth Ad-Hoc network of<br />

mobile ph<strong>on</strong>es. A particular node in the network is detected<br />

<strong>and</strong> located by its unique identity [4].<br />

G. Every message has a unique message ID:<br />

Every message which is sent over the network must have a<br />

unique message ID. The message ID is used for locating the<br />

message, <strong>and</strong> detecting multiple recepti<strong>on</strong>s of the same<br />

message. The message ID must be a combinati<strong>on</strong> of the<br />

node’s unique ID <strong>and</strong> a serial number which is never repeated<br />

by the sending node for any new message.<br />

H. There is an H<strong>and</strong>-off between nodes:<br />

This means that when a node changes its positi<strong>on</strong> <strong>and</strong><br />

breaks a c<strong>on</strong>necti<strong>on</strong> with <strong>on</strong>e of the nodes <strong>and</strong> establishes a<br />

c<strong>on</strong>necti<strong>on</strong> with other nodes, there is a smooth h<strong>and</strong>-off [5]<br />

from <strong>on</strong>e node to another i.e. at all times during the shift, the<br />

node is still within the network <strong>and</strong> there is no instance during<br />

the shift wherein the node is inaccessible. Although this<br />

c<strong>on</strong>diti<strong>on</strong> is not necessary for the proper functi<strong>on</strong>ing of the<br />

algorithm, the efficiency of the algorithm is highly increased<br />

if this c<strong>on</strong>diti<strong>on</strong> is satisfied.<br />

Throughout the paper it is assumed that the network strictly<br />

adheres to the above menti<strong>on</strong>ed rules. The following<br />

algorithm works best in network scenarios c<strong>on</strong>gruent to the<br />

above menti<strong>on</strong>ed characteristics.<br />

III. ALGORITHM<br />

In order to send a message we start by first creating a list of<br />

the nodes present <strong>on</strong> the network. To find the nodes present<br />

<strong>on</strong> the network, each node first makes a list of all the nodes<br />

present within its direct range. This list is made public <strong>and</strong><br />

shared am<strong>on</strong>gst all other nodes <strong>on</strong> the network. C<strong>on</strong>sider the<br />

network topology at any given instance for a 4 node network<br />

as shown in Fig. 1.<br />

4<br />

Fig. 1 An example of a 4 node network<br />

It can be seen from Fig. 1 that node 1 is having nodes 3 <strong>and</strong><br />

2 in its vicinity; node 2 is having nodes 3 <strong>and</strong> 1 in its vicinity;<br />

node 3 is having nodes 1, 2 <strong>and</strong> 4 in its vicinity; while node 4<br />

is having <strong>on</strong>ly node 3 in its vicinity. The bi-directi<strong>on</strong>al arrows<br />

indicate that the two nodes linked by the arrow can directly<br />

communicate with each other, <strong>and</strong> that both the nodes are in<br />

wireless range of each other. In the figure it can be observed<br />

that nodes 1, 2 <strong>and</strong>3 can directly communicate with each<br />

other, but if node 1 <strong>and</strong> 4 want to communicate with each<br />

other, then they must send their messages through node 3,<br />

which is the shortest path.<br />

The primary problem in this situati<strong>on</strong> is node 1 detecting<br />

that node 4 is within the network <strong>and</strong> that communicati<strong>on</strong> with<br />

node 4 is possible via some of the nodes present in the<br />

network. As node 4 is not located within the wireless range of<br />

node 1 <strong>and</strong> node 2, the two nodes will be able to detect that<br />

node 4 is a member of the network <strong>on</strong>ly if node 3 informs<br />

them about the presence of node 4 within its range. The<br />

soluti<strong>on</strong> to the problem can be obtained, if each node<br />

maintains a list of all the nodes present in its network, <strong>and</strong><br />

shares the list am<strong>on</strong>gst all the members in the network. The<br />

list which is maintained by each node is depicted in tabular<br />

form in table 1.<br />

Node Number or Node ID<br />

TABLE I<br />

A map of neighboring nodes<br />

1 2, 3<br />

2 1, 3<br />

3 1, 2, 4<br />

4 3<br />

List maintained by each node<br />

From table 1, it can be seen that nodes 1 <strong>and</strong> 2, which have<br />

node 3 in their lists, will know about node 4’s presence in the<br />

network up<strong>on</strong> viewing the list of node 3. Similarly node 4 will<br />

be informed about the presence of node 1 <strong>and</strong> node 2 up<strong>on</strong><br />

viewing the list of node 3.<br />

Now c<strong>on</strong>sider that node 1 moves farther away from the<br />

network <strong>and</strong> the new topology now becomes as depicted in<br />

Fig. 2.<br />

4<br />

3<br />

2<br />

2<br />

1<br />

Fig. 2 After node 1 has moved<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 188


Proceedings of ICCNS 08 , 27-28 September 2008<br />

For the network shown in Fig. 2 the list which will be<br />

maintained by each node is shown in table 2.<br />

Node Number or Node ID<br />

TABLE II<br />

A new map after topology changes<br />

1 2<br />

2 1, 3<br />

3 2, 4<br />

4 3<br />

List maintained by each node<br />

In this case, it can be observed that node 4 will not know of<br />

node 1, as node 1 is not present in the list of node 3, <strong>and</strong><br />

similarly node 1 will not know of node 4, as node 4 is not<br />

present in the list of node 2. This means that just maintaining<br />

the list of the members in vicinity is not sufficient. The<br />

soluti<strong>on</strong> to this problem can be obtained by maintaining a tree<br />

of the nodes in network; wherein the level of a node in the tree<br />

is decided up<strong>on</strong> the number of hops required to reach that<br />

node. The tree is produced by iterating through all the node<br />

numbers until the time that n<strong>on</strong>e of the nodes in the list is<br />

remaining. The tree maintained by each node, corresp<strong>on</strong>ding<br />

to the network topology depicted in Fig. 2, is shown in Fig. 3.<br />

1<br />

2<br />

3<br />

4<br />

3<br />

2 4<br />

1<br />

Fig. 3 Node topology tree for each node in the network<br />

Each node creates its own tree. This means that to each node<br />

the network topology appears to be the tree c<strong>on</strong>tained by the<br />

node. In this manner a list of the entire network can be<br />

maintained separately by each node.<br />

The tree in each case will actually depict the shortest path<br />

between the parent node <strong>and</strong> the node to which the message is<br />

to be sent. For this purpose, we will have to c<strong>on</strong>struct the tree<br />

in a specific manner. The rules for c<strong>on</strong>structing the tree are<br />

stated below:<br />

1. The node which is creating the tree becomes the parent of<br />

the tree.<br />

2<br />

1 3<br />

4<br />

4<br />

3<br />

2<br />

1<br />

2. All the nodes which are in the range of the parent node<br />

must be drawn as parallel branches as its children.<br />

3. The tree for each child is c<strong>on</strong>structed recursively until the<br />

leaf node is reached.<br />

4. During recursive tree generati<strong>on</strong> if a particular node is<br />

found to be present in the tree of the parent node which is<br />

c<strong>on</strong>structing the tree, then that particular comm<strong>on</strong> node<br />

must be ignored <strong>and</strong> must not be added into the tree again.<br />

5. Performing the above steps repetitively will generate a<br />

tree which holds the shortest path between the parent node<br />

<strong>and</strong> any other node in the tree.<br />

The above menti<strong>on</strong>ed rules are explained in the form of an<br />

algorithm in Listing 1.<br />

Listing 1: Algorithm for creating a tree of the shortest paths for a<br />

particular node<br />

Make ‘self node’ as the parent node of the<br />

tree<br />

child = parent node;<br />

while(child != null){<br />

NodeList = getNodeList(Node);<br />

For i=0 to length of NodeList<br />

{<br />

If(!isPresentInTree(NodeList[i]))<br />

addNode(NodeList[i]);<br />

}<br />

}<br />

In Listing 1, the functi<strong>on</strong> getNodeList(Node) returns a list<br />

of the nodes c<strong>on</strong>tained by the node passed as parameter. The<br />

parameter passed is the unique identity of the node, from<br />

which the list is obtained. Communicati<strong>on</strong> with the nodes in<br />

order to retrieve their network list must be d<strong>on</strong>e by passing the<br />

message <strong>on</strong> a path defined by the unfinished tree. The<br />

isPresentInTree(Node) functi<strong>on</strong> checks if the node having the<br />

node ID, passed as parameter, is present in the tree or not. It<br />

returns true if the node is present in the tree <strong>and</strong> returns false<br />

otherwise. The addNode(Node) functi<strong>on</strong> adds the node, whose<br />

unique identity is passed as parameter, to the tree. The node is<br />

added in the tree under the node defined by the variable<br />

‘child’.<br />

4<br />

Fig. 4 A more complex network<br />

3<br />

2<br />

By following the steps of the above menti<strong>on</strong>ed algorithm, it<br />

is possible to create a tree of the shortest paths. The tree for a<br />

complex network as shown in Fig. 4 for the node 1 of the<br />

network is shown in Fig. 5.<br />

5<br />

1<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 189


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 5 Network tree created by node 1<br />

It may be noted that in Fig. 4, for communicati<strong>on</strong> between<br />

nodes 1<strong>and</strong> 3, a path via the node 5 is of the same length as<br />

the path via node 2. In the tree we do not maintain multiple<br />

paths to a particular node, but maintain <strong>on</strong>ly a single path to a<br />

particular node. Hence either a path via node 2 or a path via<br />

node 5 must be c<strong>on</strong>sidered, <strong>and</strong> not both. In Fig. 5 a path via<br />

node 2 is c<strong>on</strong>sidered.<br />

If the tree shown in Fig. 5 is observed carefully then it can<br />

be seen that there is <strong>on</strong>e <strong>and</strong> <strong>on</strong>ly <strong>on</strong>e path for communicati<strong>on</strong><br />

between node 1 <strong>and</strong> any other node, <strong>and</strong> this path is the<br />

shortest path for communicati<strong>on</strong>. Hence by the use of the<br />

above menti<strong>on</strong>ed algorithm we have been able to search for<br />

the shortest path for communicati<strong>on</strong> between a given node <strong>and</strong><br />

any other node in the network.<br />

IV. COMMUNICATION BETWEEN NODES<br />

Once the shortest path is found, the message passing al<strong>on</strong>g<br />

the found path can be c<strong>on</strong>sidered. For sending the message,<br />

the sender sends the message to the node which is first in the<br />

list of the nodes to the shortest path. The sender al<strong>on</strong>g with the<br />

message sends the unique identity of the receiver of the<br />

message, <strong>and</strong> also its own identity. The informati<strong>on</strong> about the<br />

path to be followed is not passed al<strong>on</strong>g with the message.<br />

Each intermediate node determines the shortest path for the<br />

transfer of message by using its own tree. To underst<strong>and</strong> this<br />

better, let us c<strong>on</strong>sider an example in which node 1 of Fig. 4<br />

sends a message to node 3. We will track the path of the<br />

message right from node 1 to node 3. The shortest path for the<br />

transfer of message will be the path form node 1 to node 2 <strong>and</strong><br />

then node 2 to node 3. To start the message transfer, node 1<br />

communicates with node 2 <strong>and</strong> sends the message to node 2,<br />

al<strong>on</strong>g with the unique identity of the receiver of the message<br />

<strong>and</strong> the creator of the message. Once node 2 has accepted the<br />

request <strong>and</strong> has received the message, the node 2 uses its own<br />

tree to find the shortest path for sending the message <strong>and</strong><br />

forwards the message to node 3. Node 3 accepts the message<br />

<strong>and</strong> sends back a ‘received’ reply to the creator of the message<br />

al<strong>on</strong>g the shortest path in accordance to its own tree.<br />

In this manner the message can be sent from the creator to<br />

the receiver, <strong>and</strong> vice-a-versa, al<strong>on</strong>g the shortest path even if<br />

the network topology changes during the transfer, as each<br />

node forwards the message al<strong>on</strong>g the shortest path with<br />

respect to its own positi<strong>on</strong> at any given instance of time.<br />

Now c<strong>on</strong>sider the situati<strong>on</strong> when <strong>on</strong>e of the intermediate<br />

nodes refuses to forward the message. C<strong>on</strong>sider the same<br />

example as above, in which node 1 intends to send a message<br />

1<br />

2 5<br />

4 3<br />

to node 3 <strong>and</strong> node 2 refuses to forward the message. When<br />

node 1 sends a request to node 2 for the message forward,<br />

node 2 replies back with reject. Now node 1 has no possible<br />

path for sending the message to node 3, so it starts making a<br />

new temporary tree for this message. The tree is made by<br />

using the same algorithm, but with certain modificati<strong>on</strong>s.<br />

Whenever node 2 is found in the process of creati<strong>on</strong> of the<br />

tree, it is ignored without any c<strong>on</strong>siderati<strong>on</strong>, <strong>and</strong> a new tree is<br />

made which does not c<strong>on</strong>tain node 2 <strong>and</strong> possibly all those<br />

nodes which are having a c<strong>on</strong>necti<strong>on</strong> solely with node 2 <strong>and</strong><br />

no other node. After the new tree is created if the destinati<strong>on</strong><br />

node is found in the new tree, then communicati<strong>on</strong> is possible<br />

<strong>and</strong> if the destinati<strong>on</strong> node is not present then communicati<strong>on</strong><br />

will not be possible. The newly created tree would appear as<br />

shown in Fig. 6.<br />

Fig. 6 Modified Path<br />

Hence the new shortest path is from node 1 to node 5 <strong>and</strong><br />

then from node 5 to node 3 <strong>and</strong> eventually to node 4. This tree<br />

is maintained <strong>on</strong>ly temporarily for the current message. For<br />

any new message, the main tree is tried first before creating a<br />

new temporary tree.<br />

If at any point in between the communicati<strong>on</strong> a particular<br />

node refuses to forward the message, <strong>and</strong> the new tree formed<br />

does not c<strong>on</strong>tain the destinati<strong>on</strong> node, then the node under<br />

c<strong>on</strong>siderati<strong>on</strong> destroys the message <strong>and</strong> sends back a ‘fail’<br />

reply to the creator of the message al<strong>on</strong>g the shortest path by<br />

using its main tree <strong>and</strong> not the temporary tree. A temporary<br />

tree may also be created for sending back any message of<br />

failure or success, <strong>and</strong> if in such a temporary tree, the node<br />

which is the creator of the original message is not present,<br />

then, the node under c<strong>on</strong>siderati<strong>on</strong> may just destroy the status<br />

message without any further c<strong>on</strong>siderati<strong>on</strong>s. In order to ensure<br />

successful communicati<strong>on</strong>, if a ‘received’ reply<br />

(acknowledgement) is not received by the creator of the<br />

message in a particular interval of time, then the creator may<br />

resend the message. The resent message must c<strong>on</strong>tain the<br />

same message ID as the previous send in order to avoid<br />

duplicati<strong>on</strong> of messages. If any node receives two messages<br />

with the same message ID, then the node processes any <strong>on</strong>e of<br />

the messages <strong>and</strong> not both. The amount of time to wait for an<br />

acknowledgement to be received, before resending the<br />

message, must be decided by the creator of the message.<br />

Until now we have not c<strong>on</strong>sidered a situati<strong>on</strong> in which a<br />

forwarding node fails or abruptly leaves the network without<br />

forwarding the received message. If such a case does occur<br />

then the message is lost in between, <strong>and</strong> the sender would<br />

1<br />

5<br />

3<br />

4<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 190


Proceedings of ICCNS 08 , 27-28 September 2008<br />

have no choice but to wait for the timeout of message delivery<br />

before making another attempt for the message delivery.<br />

Mitigating against network failures [6] is not within the scope<br />

of this paper <strong>and</strong> methods of fault tolerance when a particular<br />

node fails or malfuncti<strong>on</strong>s are not discussed.<br />

V. QUALITY OF SERVICE<br />

The algorithm discussed above is capable of finding the<br />

shortest path for transfer of messages from <strong>on</strong>e node to<br />

another. Sending messages al<strong>on</strong>g the shortest path ensures less<br />

network traffic, hence avoiding network c<strong>on</strong>gesti<strong>on</strong>. The time<br />

taken for the message transfer is greatly reduced, hence<br />

offering a better service [7] to the users of the network. The<br />

algorithm does not impose any restricti<strong>on</strong>s <strong>on</strong> the functi<strong>on</strong>ing<br />

of the nodes <strong>and</strong> each node may functi<strong>on</strong> as desired. A node<br />

may choose to stay inactive by not forwarding messages,<br />

without causing any effect to the other nodes in the network.<br />

The algorithm proposes a soluti<strong>on</strong> to a more general <strong>and</strong><br />

realistic network situati<strong>on</strong>, offering satisfactory service to<br />

each node, without imposing any restricti<strong>on</strong>s <strong>on</strong> the peer<br />

nodes.<br />

VI. CONCLUSION<br />

The algorithm has been explained by taking certain<br />

examples, which are specific to certain c<strong>on</strong>diti<strong>on</strong>s occurring in<br />

the network. But in real life situati<strong>on</strong>s the actual network<br />

topology may be very complex, <strong>and</strong> node positi<strong>on</strong>s may be<br />

fast changing. Even in a highly volatile situati<strong>on</strong> we claim that<br />

our algorithm should work as desired without any failure. The<br />

<strong>on</strong>ly assumpti<strong>on</strong> is that each node is able to generate the<br />

network tree faster than the network topology changes. As the<br />

algorithm does not require a strict path, <strong>and</strong> the shortest path<br />

is decided by each node individually at real time, the<br />

algorithm will be able to produce satisfactory results even in<br />

networks having a high churn rate. As the algorithm sends the<br />

message al<strong>on</strong>g the shortest path, chances of network failure or<br />

node failures in the course of the message transfer are highly<br />

reduced, thereby ensuring a more reliable way of<br />

communicati<strong>on</strong> between nodes. Our algorithm provides a<br />

better soluti<strong>on</strong> for network routing than the Dynamic Virtual<br />

Backb<strong>on</strong>e [8] type of routing.<br />

REFERENCES<br />

[1] Aleksi Penttinen, ”Efficient multicast tree algorithm for ad hoc<br />

networks”, Proceedings of the 1st IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Mobile Ad-hoc <strong>and</strong> Sensor Systems (MASS 2004),<br />

http://lib.tkk.fi/Diss/2006/isbn951228331X/article2.pdf, 2004<br />

[2] Aleksi Penttinen, “Minimum cost multicast tree in ad hoc networks”,<br />

Proceedings of the 2006 IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Communicati<strong>on</strong>s (ICC 2006), http://lib.tkk.fi/Diss/2006<br />

/isbn951228331X/article1.pdf, 2006<br />

[3] S. Ramanathan, “Multicast Tree Generati<strong>on</strong> in <strong>Networks</strong> with<br />

Asymmetric Links”, IEEE/ACM Transacti<strong>on</strong>s <strong>on</strong> Networking Vol 4, No<br />

4, http://www.ir.bbn.com/~ramanath/pdf/multicast-t<strong>on</strong>.pdf, 1996<br />

[4] Namho<strong>on</strong> Kim, Saeho<strong>on</strong> Kang, Younghee Lee, <strong>and</strong> Ben Lee, “Name<br />

based Autoc<strong>on</strong>figurati<strong>on</strong> for Mobile Ad Hoc <strong>Networks</strong>”, ETRI Journal,<br />

Volume 28, Number 2,<br />

http://folk.uio.no/paalee/referencing_publicati<strong>on</strong>s/ref-nr-kim-etrij06.pdf,<br />

2006<br />

[5] Yair Amir, Claudiu Danilov, Michael Hilsdale, Raluca<br />

Mus_aloiu-Elefteri, Nilo Rivera, “Fast H<strong>and</strong>off for Seamless Wireless<br />

Mesh <strong>Networks</strong>”, MobiSys'06, Uppsala, Sweden<br />

http://www.cs.tor<strong>on</strong>to.edu/~delara/courses/csc2228/papers/fasth<strong>and</strong>off.p<br />

df, 2006<br />

[6] Farinaz Koushanfar, Miodrag Potk<strong>on</strong>jak <strong>and</strong> Alberto Sangiovanni-<br />

Vincentelli, “Fault Tolerance Techniques for Wireless Ad Hoc Sensor<br />

<strong>Networks</strong>”,<br />

http://www.ece.mtu.edu/ee/faculty/mishra/Research/ReliableSensor/FT_<br />

technique.pdf<br />

[7] “Quality of Service in Ad Hoc <strong>Networks</strong> by Priority Queuing”,<br />

http://www.diva-portal.org/diva/getDocumenturn_nbn_se_liu_diva-<br />

1638-1__fulltext.pdf, 2003<br />

[8] Ben Liang, <strong>and</strong> Zygmunt J. Haas,” Hybrid Routing in Ad Hoc <strong>Networks</strong><br />

with a Dynamic Virtual Backb<strong>on</strong>e”, IEEE Transacti<strong>on</strong>s <strong>on</strong> Wireless<br />

Communicati<strong>on</strong>s Vol 5 No 6, 200<br />

VII. FURTHER WORK<br />

The algorithm needs to be implemented <strong>and</strong> tested<br />

practically or under simulati<strong>on</strong>. The efficiency of the stated<br />

algorithm may be drastically decreased in networks wherein<br />

nodes, leave <strong>and</strong> enter the network quiet frequently. Although<br />

the algorithm may be able to functi<strong>on</strong> in networks wherein the<br />

nodes change positi<strong>on</strong>s c<strong>on</strong>tinuously, the algorithm may fail in<br />

networks wherein nodes join <strong>and</strong> leave the network<br />

frequently. The algorithm has not been tested in real life<br />

situati<strong>on</strong>s, <strong>and</strong> hence it must be simulated <strong>and</strong> the results<br />

compared with the other existing network path minimizati<strong>on</strong><br />

algorithms.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 191


Proceedings of ICCNS 08 , 27-28 September 2008<br />

OPTIMIZED FTP SYSTEM<br />

1. Mr. Patil S.H., 2. Mr. Khadtare M., 3 Ms.Ursal S.U., 4 Mr. Mahajan S.A<br />

1 B.V.D.U.College Of Engg. <strong>Computer</strong> Dept.Pune.<br />

2. IIT , Guwahati, 3 College Of Engineering,Hadpsar,Pune.<br />

Email: sa_mahajan@yahoo.com , suhas_patil@yahoo.com, maheshkha@gmail.com,<br />

sarikaursal@gmail.com<br />

ABSTRACT<br />

FTP is file transfer protocol is basically to transfer for large<br />

volumes of data. Implementati<strong>on</strong>s of it can be widely<br />

deployed <strong>and</strong> can be used <strong>on</strong> well-c<strong>on</strong>nected network<br />

because of its ability to scale to network speeds. We propose<br />

the optimizati<strong>on</strong> technique to improve the performance of<br />

FTP[1], measured performance using the various profilers.<br />

This Profile data is valuable for identifying performance<br />

bottlenecks <strong>and</strong> guiding optimizati<strong>on</strong>s .The FTP ported <strong>on</strong><br />

various hardware platforms such as P-III, P-IV with MMX,<br />

SIMD architecture based. We have use deoxygen/ system<br />

clock (gettime()) tool techniques for gathering <strong>and</strong><br />

manipulating profile informati<strong>on</strong> at varying degrees of<br />

precisi<strong>on</strong>, particularly in the presence of various<br />

optimizati<strong>on</strong>s techniques such as inlining, c level<br />

optimizati<strong>on</strong>, loop unrolling, intrinsic, utilizati<strong>on</strong> of pipeline<br />

stage for processors with compiler level coding. We found<br />

that with various levels of optimizati<strong>on</strong> stages we achieve<br />

that data memory <strong>and</strong> program memory saving with effect of<br />

60% of actual size not affect the actual performance. As<br />

FTP c<strong>on</strong>tains the compute intensive modules such as<br />

communicating protocol as ISO-OSI[2] layer to transfer data<br />

it affects the b<strong>and</strong>width <strong>and</strong> processing speed of CPU core.<br />

This method gives us performance nearer to GridFTP high<br />

performance computing model (Note: GridFTP used mostly<br />

HPC processor to measure its work[3]).<br />

Index Terms<br />

Data transfer, small files, FTP, profilers, Secure data<br />

transfer, Parallel streams.<br />

1. INTRODUCTION<br />

Sharing of informati<strong>on</strong> is essential for organizati<strong>on</strong>s<br />

today. Internet serves this purpose because it has the<br />

ability to move files. FTP is a well known protocol used<br />

for uploading <strong>and</strong> downloading files from Internet. But<br />

as defined in RFC-959 [1][4]minimum FTP<br />

implementati<strong>on</strong> does not support various essential<br />

features. Through this paper we show results which can<br />

make the FTP fast <strong>and</strong> efficient through optimizati<strong>on</strong> .<br />

The protocol is optimized to transfer large volumes of<br />

data comm<strong>on</strong>ly found in grid applicati<strong>on</strong>s which can<br />

varies from kilobytes to hundreds of megabytes. Given<br />

the high-speed networks comm<strong>on</strong>ly found in modern<br />

grid envir<strong>on</strong>ments, datasets less than 100 MB are too<br />

small for the underlying protocols like TCP to utilize the<br />

maximum capacity of the network. Therefore, FTP[5]<br />

<strong>and</strong> most bulk data transfer protocols experiences the<br />

highest levels of throughput when transferring large<br />

volumes of data.<br />

The typical quality of service requirements i.e. transfer<br />

delay, throughput rates for high speed protocols impose<br />

str<strong>on</strong>g performance requirements <strong>on</strong> high speed protocol<br />

implementati<strong>on</strong>s. As the throughput of the networks has<br />

increased much faster than the processing power of<br />

processors these requirements can <strong>on</strong>ly be satisfied by<br />

efficient processing of protocol data by the involved<br />

protocol machines. Different approaches to improve the<br />

performance of communicati<strong>on</strong> protocols have been<br />

proposed .It could be d<strong>on</strong>e by the improvements by<br />

changes to the protocol mechanisms <strong>and</strong> hardware<br />

implementati<strong>on</strong> of protocol functi<strong>on</strong>s <strong>and</strong> by<br />

parallelizing the implementati<strong>on</strong> of communicati<strong>on</strong><br />

protocols. These papers suggests to optimize the FTP<br />

protocol functi<strong>on</strong>s over multiple processors like P-III<br />

<strong>and</strong> P-IV with either dedicated or general purpose<br />

functi<strong>on</strong>ality, thus an SIMD parallelizati<strong>on</strong>. We will<br />

focus <strong>on</strong> this parallelizati<strong>on</strong> approach in this paper.<br />

Periodic sampling of a processor's performance<br />

m<strong>on</strong>itoring hardware is an effective, unobtrusive way to<br />

obtain detailed profiles. Unfortunately, existing<br />

hardware simply counts events, such as cache misses<br />

<strong>and</strong> branch mispredicti<strong>on</strong>s, <strong>and</strong> cannot accurately<br />

attribute these events to instructi<strong>on</strong>s, especially <strong>on</strong> outof-order<br />

machines. We propose an alternative approach,<br />

with deoxygen tool, that samples instructi<strong>on</strong>s. As a<br />

sampled instructi<strong>on</strong> moves through the processor<br />

pipeline, a detailed record of all interesting events <strong>and</strong><br />

pipeline stage latencies is collected.<br />

Our optimizati<strong>on</strong> will support paired sampling, which<br />

captures informati<strong>on</strong> about the interacti<strong>on</strong>s between<br />

c<strong>on</strong>current instructi<strong>on</strong>s, revealing informati<strong>on</strong> about<br />

useful c<strong>on</strong>currency <strong>and</strong> the utilizati<strong>on</strong> of various<br />

pipeline stages while an instructi<strong>on</strong> is in flight. We<br />

describe an inexpensive software implementati<strong>on</strong> of our<br />

optimizati<strong>on</strong> technique, outline a variety of software<br />

optimizati<strong>on</strong> techniques to extract useful profile<br />

informati<strong>on</strong> from the hardware. This informati<strong>on</strong> can<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 192


Proceedings of ICCNS 08 , 27-28 September 2008<br />

provide valuable feedback for optimizati<strong>on</strong> of FTP. We<br />

had carried out work <strong>on</strong> P-IV with 3.00Hz<br />

@2.99GHz,248MB RAM, P-IV 2.66 GHz @2.67GHz<br />

<strong>and</strong> P-III x-86 family,533 MHz,127 MB RAM.<br />

E-mail<br />

FTP<br />

Applicati<strong>on</strong><br />

Protocols<br />

TCP<br />

UDP<br />

Transport<br />

2. RELATED WORK<br />

IP<br />

Internet<br />

Users often tar into a single file all of the files they<br />

plan to send <strong>and</strong> then transfer that single file. This<br />

process requires additi<strong>on</strong>al CPU time <strong>and</strong> disk space.<br />

The Grid FTP Pipelining taken by[3] is for the Grid<br />

envir<strong>on</strong>ments. We had worked <strong>on</strong> similar lines but by<br />

using various profiling techniques <strong>and</strong> the machines of<br />

Pentium level which are used in large scale. With this we<br />

had optimize the performance of our FTP.This allows us<br />

for many file transfers to occur at the same time. With<br />

this approach we could perform many transfers<br />

c<strong>on</strong>currently, giving the appearance of a single large file<br />

transfer. The approach we present here has the<br />

significant potential.<br />

3. Network protocol issues<br />

Transfer of data can be d<strong>on</strong>e with either TCP or UDP<br />

depending <strong>on</strong> the need <strong>and</strong> applicati<strong>on</strong>. We choose TCP<br />

over UDP due to various reas<strong>on</strong>s. The reas<strong>on</strong>s are TCP<br />

provides full featured protocol that allows applicati<strong>on</strong>s to<br />

send data reliably without worrying about network layer<br />

issues, is a c<strong>on</strong>necti<strong>on</strong> oriented protocol, reliable<br />

delivery, more scalable <strong>and</strong> adapts to growing as well as<br />

c<strong>on</strong>gested networks, it can send about 8-12 segments at a<br />

time before waiting for an acknowledgement instead of<br />

UDP sending 1 segment then waiting for an ACK has an<br />

effect <strong>on</strong> the performance. So the st<strong>and</strong>ard protocol for<br />

network data transfer remains TCP. FTP is a file transfer<br />

system, is part of TCP/IP suite[6][7][8]. However, TCP’s<br />

c<strong>on</strong>gesti<strong>on</strong> avoidance algorithm can lead to poor<br />

performance, particularly in default c<strong>on</strong>figurati<strong>on</strong>s <strong>and</strong><br />

<strong>on</strong> paths with high round trip times. Soluti<strong>on</strong>s to this<br />

problem include careful tuning of TCP parameters, TCP<br />

protocol improvements, multiple “parallel” TCP<br />

c<strong>on</strong>necti<strong>on</strong>s , <strong>and</strong> the substituti<strong>on</strong> of alternative protocols<br />

FTP is a widely implemented <strong>and</strong> well understood<br />

st<strong>and</strong>ard protocol with a large base of code <strong>and</strong> expertise<br />

from which to build. Sec<strong>on</strong>dly, FTP provides a welldefined<br />

architecture for protocol extensi<strong>on</strong>s <strong>and</strong> supports<br />

dynamic discovery of the extensi<strong>on</strong>s supported by a<br />

particular implementati<strong>on</strong>. Apart from the comm<strong>on</strong><br />

design objectives of the FTP importantly, RFC959 also<br />

notes that FTP, whilst being directly usable by the user,<br />

is designed mainly for use within programs, i.e. a<br />

program provides an easy interface through which the<br />

FTP protocol may be used .<br />

<strong>Networks</strong><br />

Fig 1.<br />

FTP[9] maintains the same comm<strong>and</strong>/resp<strong>on</strong>se<br />

semantics introduced by RFC959. It also maintains<br />

the two-channel protocol semantics. One channel is<br />

for c<strong>on</strong>trol messaging (the c<strong>on</strong>trol channel) such as<br />

requesting what files to transfer, <strong>and</strong> the other is for<br />

streaming the data pay load (the data channel). These<br />

protocol details have interesting effects <strong>on</strong> the<br />

optimizati<strong>on</strong> problem. In FTP Access c<strong>on</strong>trol is normally<br />

accomplished by associating a number of access flags<br />

with each file <strong>and</strong> directory(e.g. a read-<strong>on</strong>ly flag).How<br />

this is d<strong>on</strong>e is OS specific.<br />

Three groups of access flags are provided: for user,<br />

their workgroup <strong>and</strong> then general access. Three flags are<br />

included within each group: <strong>on</strong>e for read access, another<br />

for write access, <strong>and</strong> a third for execute privileges.<br />

File<br />

Syste<br />

m<br />

Server<br />

Protocol<br />

Interpreter<br />

Server<br />

Data<br />

Transfer<br />

FTP<br />

ARPANE<br />

Fig 2.<br />

Comm<strong>and</strong>s<br />

&Replies<br />

Data<br />

C<strong>on</strong>necti<strong>on</strong><br />

SATNET<br />

User<br />

Interface<br />

User<br />

Protocol<br />

Interpreter<br />

User<br />

Data<br />

Transfer<br />

FTP Client<br />

LANs<br />

User<br />

File<br />

system<br />

The FTP comprises three logically distinct comp<strong>on</strong>ents:<br />

client <strong>and</strong> server protocol interpreters (PIs), which<br />

h<strong>and</strong>le the c<strong>on</strong>trol channel protocol (these two functi<strong>on</strong>s<br />

are distinct because the protocol exchange is<br />

asymmetric), <strong>and</strong> the data transfer process (DTP), which<br />

h<strong>and</strong>les the accessing of the actual data <strong>and</strong> its<br />

movement via the data channel protocol. These<br />

comp<strong>on</strong>ents can be combined in various ways to create<br />

servers with different capabilities. For example,<br />

combining the server PI <strong>and</strong> DTP comp<strong>on</strong>ents in <strong>on</strong>e<br />

process creates a c<strong>on</strong>venti<strong>on</strong>al FTP server, while a<br />

striped server might use <strong>on</strong>e server PI <strong>on</strong> the head node<br />

of a cluster <strong>and</strong> a DTP <strong>on</strong> all other nodes.<br />

4. Channel Establishment<br />

4.1 File Transfers<br />

FTP servers listen <strong>on</strong> a well-known <strong>and</strong> published port<br />

for client c<strong>on</strong>trol channel c<strong>on</strong>necti<strong>on</strong>s. Once a client<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 193


Proceedings of ICCNS 08 , 27-28 September 2008<br />

successfully forms a c<strong>on</strong>trol channel with a server (this<br />

often involves authenticati<strong>on</strong> <strong>and</strong> authorizati<strong>on</strong>), it can<br />

begin sending comm<strong>and</strong>s to the server. In order to<br />

transfer a file, the client must first establish a data<br />

channel. This involves sending the server a series of<br />

comm<strong>and</strong>s <strong>on</strong> the c<strong>on</strong>trol channel describing attributes of<br />

the desired data channel such as: what protocol to use,<br />

binary or ASCII data, passive or active c<strong>on</strong>necti<strong>on</strong>, <strong>and</strong><br />

various protocol specific attributes. Once these<br />

comm<strong>and</strong>s are successfully sent, a client can request a<br />

file transfer.<br />

At this point a separate data channel c<strong>on</strong>necti<strong>on</strong> is<br />

formed using all of the agreed up<strong>on</strong> attributes <strong>and</strong> the<br />

requested file is sent across it. In st<strong>and</strong>ard FTP the data<br />

channel can be used <strong>on</strong>ly to transfer <strong>on</strong>e file. Future<br />

transfers must again go through the process of setting up<br />

a new data channel. Through our program FTP modified<br />

this part of the protocol to allow many files to be<br />

transferred across a single data channel.<br />

With FTP we had tried for all of the messaging to<br />

establish a data channel is d<strong>on</strong>e <strong>on</strong>ce; the data channel<br />

c<strong>on</strong>necti<strong>on</strong> is formed just <strong>on</strong>ce, <strong>and</strong> the client can request<br />

several file transfers using that same data channel. This<br />

enhancement is called as data channel caching.<br />

File Request 1<br />

Data1<br />

File Request 2<br />

Data 2<br />

File Request 3<br />

Data3<br />

Fig 3.<br />

Ack1<br />

Ack2<br />

Ack3<br />

File transfer requests are d<strong>on</strong>e with the RETR (send) or<br />

STOR (receive) comm<strong>and</strong>. A client sends <strong>on</strong>e of these<br />

comm<strong>and</strong>s to the server across the c<strong>on</strong>trol channel. Data<br />

then begins to flow between the client <strong>and</strong> server over<br />

the data channel. Once all of the data has been<br />

transferred, a “Transfer Complete” acknowledgment<br />

message is sent from the server to the client <strong>on</strong> the<br />

c<strong>on</strong>trol channel. Only when this acknowledgment is<br />

received can the client request another transfer. This<br />

interacti<strong>on</strong> is shown in Figure 4. As the figure shows,<br />

there is an entire round-trip time <strong>on</strong> the c<strong>on</strong>trol channel<br />

between transfers where the data channel must be idle.<br />

Before issuing the next transfer comm<strong>and</strong> the client must<br />

first receive the transfer completi<strong>on</strong> acknowledgment,<br />

which is <strong>on</strong>e trip across the network. After receiving the<br />

acknowledgment, the client sends the transfer comm<strong>and</strong><br />

immediately. However, the server does not immediately<br />

receive it. The message must cross the network before<br />

the server will begin sending data. This process involves<br />

another trip across the network. Assuming we have the<br />

FTP data channel caching enabled, we do not have to<br />

worry about the latencies involved with establishing the<br />

data channel. If we do not have it enabled, the delay is<br />

significantly l<strong>on</strong>ger.<br />

File Request 1<br />

File Request 2<br />

File Request 3<br />

Fig 4.<br />

Data1<br />

Data 2<br />

Data3<br />

Ack1<br />

Ack2<br />

Ack3<br />

During this time the data channel is idle. The latency<br />

between transfers adds to the overall transfer time <strong>and</strong><br />

thus detracts from the overall throughput. The problem<br />

can have high implicati<strong>on</strong>s when communicating over<br />

high latency networks where the RTT is very high.<br />

While the idle data channel time is a problem, there is a<br />

far greater problem that it causes.<br />

TCP is a window-based protocol. For it to achieve<br />

maximum efficiency, the window size of allowed<br />

unacknowledged bytes must grow to the b<strong>and</strong>width<br />

delay product. Various algorithms in the TCP protocol<br />

decide to increase or decrease the window size based <strong>on</strong><br />

observed events . If a c<strong>on</strong>necti<strong>on</strong> is idle for l<strong>on</strong>ger than<br />

<strong>on</strong>e RTT, the window size gets reduced to zero; <strong>and</strong> <strong>on</strong>ce<br />

it is used again, it must go through TCP slow start<br />

When transferring a series of files, the data channel<br />

is idle for a c<strong>on</strong>trol channel RTT in between transfers. If<br />

the c<strong>on</strong>trol channel RTT <strong>and</strong> the data channel RTT are<br />

similar, it is likely that data channel TCP c<strong>on</strong>necti<strong>on</strong>s<br />

will have entire closed windows by the time the next<br />

transfer begins. When the amount of data sent in each<br />

file is small, the ratio of idle data channel time to transfer<br />

time becomes higher <strong>and</strong> affects the throughput.<br />

Additi<strong>on</strong>ally, small files may not be transferred l<strong>on</strong>g<br />

enough to traverse the slow-start algorithm <strong>and</strong> bring<br />

TCP to full throttle. Thus, even when data is being<br />

transferred, it is not moving at full speed.<br />

5. PROFILING<br />

Given the relatively large number of highperformance<br />

transfer tools, the questi<strong>on</strong> about the<br />

effectiveness of each of them arises naturally. However,<br />

although prototypes of many of the systems have been<br />

around for a while, an experimental comparis<strong>on</strong> is still<br />

lacking in the literature. This paper aims at filling this<br />

gap by presenting the results we collected by performing<br />

data transfer experiments, am<strong>on</strong>g machines which are<br />

pentium compatible, using some of the tools menti<strong>on</strong>ed<br />

here. We tried to answer the following questi<strong>on</strong>s,<br />

1. Need of profiling<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 194


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The first stage of any optimizati<strong>on</strong> process is to identify<br />

the critical routines <strong>and</strong> measure their current<br />

performance. A profiler is a tool that measures the<br />

proporti<strong>on</strong> of time or processing cycles spent in each<br />

subroutine. We use a profiler to identify the most critical<br />

routines. A cycle counter measures the number of cycles<br />

taken by a specific routine. We had measure our success<br />

by using a cycle counter to benchmark a given<br />

subroutine before <strong>and</strong> after an optimizati<strong>on</strong>.<br />

Profilers [10]use a wide variety of techniques to collect<br />

data, including hardware interrupts, code<br />

instrumentati<strong>on</strong>, operating system hooks, <strong>and</strong><br />

performance counters. The usage of profilers is called<br />

out in the performance engineering process.<br />

2. Improvement in the optimizati<strong>on</strong> [10]<br />

1) Space optimizati<strong>on</strong>s - Reduces the size of the<br />

executable/object.<br />

1) C<strong>on</strong>stant pooling<br />

2) Dead-code eliminati<strong>on</strong>.<br />

2) Speed optimizati<strong>on</strong>s .Most optimizati<strong>on</strong>s bel<strong>on</strong>g to<br />

this category. There are important optimizati<strong>on</strong>s not<br />

covered above, e.g. the various<br />

loop transformati<strong>on</strong>s:<br />

1) Loop unrolling - Full or partial transformati<strong>on</strong> of a<br />

loop into straight code. Eliminating the loop <strong>and</strong> writing<br />

code separately for each loop index<br />

Significantly increases speed .<br />

for (int x = 0; x < 100; x++)<br />

{<br />

delete(x);<br />

}<br />

If this part of the program is to be optimized, <strong>and</strong> the<br />

overhead of the loop requires significant resources, loop<br />

unwinding can be used to speed it up. This will result in<br />

an optimized code fragment like:<br />

for (int x = 0; x < 100; x += 5)<br />

{<br />

delete(x);<br />

delete(x+1);<br />

delete(x+2);<br />

delete(x+3);<br />

delete(x+4);<br />

}<br />

2) Loop blocking (tiling) - Minimizes cache misses by<br />

replacing each array processing loop into two loops,<br />

dividing the "iterati<strong>on</strong> space" into smaller "blocks".<br />

3) Loop interchange - Change the nesting order of loops,<br />

may make it possible to perform other transformati<strong>on</strong>s.<br />

4) Loop distributi<strong>on</strong> - Replace a loop by two (or<br />

more)equivalent loops.<br />

5) Loop fusi<strong>on</strong> - Make <strong>on</strong>e loop out of two (or more)<br />

equivalent loops.<br />

6) inlining- This is an efficient language-independent<br />

optimizati<strong>on</strong> technique. D<strong>on</strong>e manually, it makes our<br />

program look horrible, but many compilers can perform<br />

it automatically. Note that this technique enlarges the<br />

size of the executable. It is effective <strong>on</strong> highly pipelined<br />

CPUs.<br />

3. Optimizing the code <strong>and</strong> program memory with c<br />

level techniques<br />

In general design changes tend to affect performance<br />

more than "code tweaking".<br />

Here we had attempted simple mathematical analysis.<br />

We calculate the approximate running time of our<br />

algorithm (i.e., calculate its "O") [12]taking all<br />

bottlenecks into account like is it optimal can we prove<br />

it can we justify up our algorithmic design with<br />

theoretically known results<br />

The following is a piece of code that shows the<br />

optimizati<strong>on</strong> of code process,<br />

Ex-1Before:<br />

for(i=0;i


Proceedings of ICCNS 08 , 27-28 September 2008<br />

1<br />

2<br />

3<br />

Fetch decode execute<br />

Fetch decode execute<br />

Fetch decode execute<br />

Fig 5.<br />

time<br />

As we are porting our FTP <strong>on</strong> P-III <strong>and</strong> P-IV machines<br />

,we had used this pipeline info to achieve desired<br />

performance. We also used the info of SIMD<br />

implementati<strong>on</strong> to reduce the iterati<strong>on</strong>s through loop<br />

unrolling <strong>and</strong> deoxygen tool[11].The SIMD c<strong>on</strong>cept is a<br />

method of improving performance in applicati<strong>on</strong>s where<br />

highly repetitive operati<strong>on</strong>s need to be performed.<br />

Simply put, SIMD[11] is a technique of performing<br />

the same operati<strong>on</strong>, be it arithmetic or otherwise, <strong>on</strong><br />

multiple pieces of data simultaneously.<br />

Ideally, to increase performance, the number of<br />

iterati<strong>on</strong>s of a loop needs to be reduced. Once method of<br />

reducing iterati<strong>on</strong>s is known as loop unrolling. This takes<br />

the single operati<strong>on</strong> that was being performed in the<br />

loop, <strong>and</strong> carries it out multiple times in each iterati<strong>on</strong>.<br />

For example, if a loop was previously performing a<br />

single operati<strong>on</strong> <strong>and</strong> taking 10,000 iterati<strong>on</strong>s, its<br />

efficiency could be improved by performing this<br />

operati<strong>on</strong> 4 times in each loop <strong>and</strong> <strong>on</strong>ly having 2500<br />

iterati<strong>on</strong>s.<br />

The SIMD c<strong>on</strong>cept takes loop unrolling <strong>on</strong>e step<br />

further by incorporating the multiple acti<strong>on</strong>s in each loop<br />

iterati<strong>on</strong>, <strong>and</strong> performing them simultaneously. With<br />

SIMD, not <strong>on</strong>ly can the number of loop iterati<strong>on</strong>s be<br />

reduced, but also the multiple operati<strong>on</strong>s that are<br />

required can be reduced to a single, optimized acti<strong>on</strong>.<br />

6. IMPLEMENTATION<br />

Two important questi<strong>on</strong>s to ask when tuning software<br />

are: (1) how to identify what code to focus <strong>on</strong>, <strong>and</strong> (2)<br />

how to estimate the benefit of recoding, <strong>and</strong>/or recompiling<br />

with an optimized compiler A beneficial<br />

approach for getting answers to these questi<strong>on</strong>s is to sort<br />

the executi<strong>on</strong> times of a given workload into secti<strong>on</strong>s<br />

according to the amount of time spent in each secti<strong>on</strong> of<br />

the executed code. By focusing <strong>on</strong> small secti<strong>on</strong>s of code<br />

that c<strong>on</strong>sume greater proporti<strong>on</strong> of executi<strong>on</strong> time <strong>and</strong><br />

using an accurate tool for measuring performance<br />

improvement, the challenge of estimating the reward of<br />

optimizing an applicati<strong>on</strong> becomes easier. Combined<br />

with an accurate tool for estimating likely applicati<strong>on</strong><br />

performance gain for each coding situati<strong>on</strong>s, this can<br />

ensure software tuning effort is focused <strong>on</strong> the primary<br />

coding issues.<br />

characteristics of the applicati<strong>on</strong>, implementati<strong>on</strong> details<br />

of the re-coding effort, hardware <strong>and</strong> software<br />

c<strong>on</strong>figurati<strong>on</strong>s, etc. The approximate ranges of likely<br />

performance gains are based <strong>on</strong> a comparis<strong>on</strong> of<br />

performance results between a typical Pentium 4<br />

processor platform relative to a typical Pentium III<br />

processor platform, with similar hardware c<strong>on</strong>figurati<strong>on</strong>s<br />

<strong>and</strong> with the frequency of the Pentium 4 processor<br />

running at approximately 1.5X higher than that of the<br />

Pentium III processor.<br />

The profiler tool[13][14] used here is useful for<br />

identifying critical code paths <strong>and</strong> performance<br />

bottlenecks. For example, it can be used to sample <strong>and</strong><br />

compare performance data when the applicati<strong>on</strong> to be<br />

optimized is run <strong>on</strong> two different target processors; for<br />

example, a Pentium 4 processor running at 1.5 GHz <strong>and</strong><br />

a Pentium III processor running at 1 GHz. This<br />

performance data from the two targets can be sorted <strong>and</strong><br />

displayed at different scopes ranging from modules to<br />

functi<strong>on</strong>s, to assembly code. This capability allows us to<br />

identify individual modules, <strong>and</strong> individual functi<strong>on</strong>s as<br />

“hot spots”. We had carried out work <strong>on</strong> two P-IV<br />

machine <strong>and</strong> <strong>on</strong>e P-III machine. The following table<br />

shows the results with general category <strong>and</strong> warning<br />

levels rangining from o1 to o4 optimizati<strong>on</strong>. The<br />

complier speed varies from default to the maximum<br />

speed. The original exe file size is 404 KB <strong>and</strong> the final<br />

size after implementati<strong>on</strong> is 340 KB. The results shows<br />

the variati<strong>on</strong>s when we change the optimizati<strong>on</strong> levels as<br />

given in the table,<br />

Optimizati<strong>on</strong><br />

Level<br />

Optimizati<strong>on</strong><br />

Speed<br />

Results in kb<br />

P- IV,<br />

3.00GHz,<br />

2.99GHz<br />

248MB<br />

RAM<br />

P-IV,<br />

2.66GHz,<br />

2.67GHz<br />

448MB<br />

RAM<br />

P-III,x-86<br />

family,533<br />

MHz,127<br />

MB RAM<br />

N<strong>on</strong>e 1 2 3 4<br />

default<br />

392<br />

Kb<br />

392<br />

Kb<br />

393<br />

Kb<br />

max.<br />

speed<br />

384<br />

kb<br />

372<br />

kb<br />

382<br />

kb<br />

max.<br />

speed<br />

372<br />

kb<br />

362<br />

kb<br />

373<br />

kb<br />

max.<br />

speed<br />

372<br />

kb<br />

350<br />

kb<br />

373<br />

kb<br />

max.<br />

speed<br />

348<br />

kb<br />

340<br />

kb<br />

352<br />

kb<br />

We also carried out the results with Inline functi<strong>on</strong><br />

where levels varies as maximum speed,minium<br />

.size,global optimizati<strong>on</strong> <strong>and</strong> full optimizati<strong>on</strong>.The<br />

results are shown in the table below as,<br />

7. RESULTS<br />

Actual performance results <strong>on</strong> target applicati<strong>on</strong>s will be<br />

influenced by many factors, ranging from the workload<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 196


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Category<br />

Optimizati<strong>on</strong><br />

Speed<br />

default<br />

max.<br />

speed<br />

Results in kb with inline functi<strong>on</strong><br />

P- IV,<br />

3.00GHz,<br />

2.99GHz<br />

248MB RAM<br />

P-<br />

IV,2.66GHz,<br />

2.67GHz<br />

448MB RAM<br />

P-III,x-86<br />

family,533<br />

MHz,127 MB<br />

RAM<br />

420<br />

kb<br />

420<br />

kb<br />

497<br />

kb<br />

392<br />

kb<br />

390<br />

kb<br />

493<br />

kb<br />

min<br />

size<br />

390<br />

kb<br />

375<br />

kb<br />

473<br />

kb<br />

global<br />

384<br />

kb<br />

362<br />

kb<br />

393<br />

kb<br />

Optimize<br />

Optimize<br />

Optimize<br />

Optimize<br />

Optimize<br />

full<br />

384<br />

kb<br />

362<br />

kb<br />

369<br />

kb<br />

To determine whether a prominent hot-spot module or<br />

functi<strong>on</strong> is a cause of poor performance, the sampled<br />

data from profiler can be further processed for<br />

comparis<strong>on</strong> based <strong>on</strong> a relative performance scaling<br />

factor between the two target processors. Typically,<br />

those modules (or functi<strong>on</strong>s) that represent performance<br />

bottlenecks are identified by a relative scaling factor, that<br />

falls significantly below 1.0 or another known<br />

characteristic of the workload. The table shows that we<br />

got better results with the optimizati<strong>on</strong> levels ranging<br />

from 01 to 04 comparing to inline functi<strong>on</strong>.<br />

[5] The Case for Secure File Transfer: Overview of GlobalSCAPE’s<br />

Enhanced File Transfer (EFT) Soluti<strong>on</strong>.Published: July 2005 .<br />

[6] Mastering IIS FTP - Part 2 - Virtual Directories-Physical<br />

Directories - Scott Forsyth's WebLog.<br />

[7] www.cute.FTP.com<br />

[8] www.gnu.org/software/tar<br />

[9] The bbFTP-Large Files Transfer Protocols<br />

Websitewww.doc.in2p3.fr/bbftp<br />

[10] Desktop Performance <strong>and</strong> Optimizati<strong>on</strong> for Pentium 4 Processor,<br />

www.intel.com/procs/perf/pentium4 .<br />

[11] Jeffrey Dean,Jmes E. Hicks,Carl<br />

A.Waldspurger,William E. Weihl,George Clurysos,Hardware support<br />

for instructi<strong>on</strong> level profiling <strong>on</strong> out-of-order processors. Proceedings<br />

of the 30 th annual ACM/IEEE internati<strong>on</strong>al symposium<br />

<strong>on</strong>Microarchitecture,1997,292-302<br />

[12] David Grove,Jeffrey Dean,Charles Garrett,Craig<br />

Chambers.Profile-guided receiver class predicti<strong>on</strong>,ACM SIGPLAN<br />

Notices,Volume 30,1995,108-123.<br />

[13] Karl Pettis,Robert C. Hansen ,Profile guided code<br />

positi<strong>on</strong>ing,ACM SIGPLAN Notices,Volume 25,1990,16-27.<br />

[14]Merten,M.C.Trick,A.R.George,C.N.Gyllenhaal,J.C.Hwu,W.W.,A<br />

Hardware-driven profiling scheme for identifying program hotspots to<br />

support runtime optimizati<strong>on</strong>s,<strong>Computer</strong> architecture,Proceedings of<br />

26 th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Symposium,1999,136-148.<br />

8. CONCLUSION AND FUTURE WORK<br />

This experiment is to study the optimizati<strong>on</strong> <strong>and</strong> to<br />

optimize the performance of a program specifically the<br />

network program which incorporates the network<br />

b<strong>and</strong>width,processors speed,protocols used etc. Through<br />

these experiments we had presented a soluti<strong>on</strong> to<br />

optimize the performance of FTP system using Profiling<br />

c<strong>on</strong>cept. Our results show that the profiling <strong>and</strong><br />

optimizati<strong>on</strong> approach is effective for slower as well as<br />

faster processors at P-III <strong>and</strong> P-IV level. The results<br />

may vary a bit depending <strong>on</strong> the processors speed. The<br />

results has the revalence to those working <strong>on</strong> Pentium<br />

level machines.Although we have achieved good results<br />

with this kind of processor speed, we plan to carryout<br />

the further work in directi<strong>on</strong> of High performance<br />

computing (HPC) network soluti<strong>on</strong>s.<br />

9. REFERENCES<br />

[1] J. Postel, J. Reynolds, File Transfer Protocol(FTP).<br />

RFC 959, Internet Engineering Task Force, October 1985.<br />

[2] J. Postel, Transmissi<strong>on</strong> C<strong>on</strong>trol Protocol. RFC 793, Internet<br />

Engineering Task Force, September 81.<br />

[3] John Bresnahan,Michael Link,Rajkumar Kettimuthu,Dan<br />

Fraser,Ian Foster. Grid FTP Pipling , Teragrid<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>,Madis<strong>on</strong>,W,2007<br />

[4] M. Allman, V. Paxs<strong>on</strong>, W. Stevens, TCP C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol.<br />

RFC 2581, Internet Engineering Task Force,April,99.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 197


Time-slotted Routing Technique Enhances<br />

Wireless Communicati<strong>on</strong><br />

In Mobile Adhoc Network<br />

Pallavi Khatri, Ankush Jain<br />

Department of Informati<strong>on</strong> Technology<br />

ITM Universe, Gwalior (M.P.)<br />

pallavi_magic@yahoo.com, ankush182002@gmail.com<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract - An ad hoc mobile network is a collecti<strong>on</strong> of<br />

mobile nodes that are dynamically <strong>and</strong> arbitrarily located in<br />

such a manner that the interc<strong>on</strong>necti<strong>on</strong>s between nodes are<br />

capable of changing <strong>on</strong> a c<strong>on</strong>tinual basis. In order to<br />

facilitate communicati<strong>on</strong> within the network, a routing<br />

protocol is used to discover routes between nodes. The<br />

primary goal of such an ad hoc network routing protocol is<br />

correct <strong>and</strong> efficient route establishment between a pair of<br />

nodes so that messages may be delivered in a timely manner.<br />

Route c<strong>on</strong>structi<strong>on</strong> [1] should be d<strong>on</strong>e with a minimum of<br />

overhead <strong>and</strong> b<strong>and</strong>width c<strong>on</strong>sumpti<strong>on</strong>. C<strong>on</strong>gesti<strong>on</strong> can be<br />

reduced <strong>and</strong> performance improved for a mobile ad-hoc<br />

network with fast-moving or peer-aware nodes by using timeslotted<br />

routing protocol.<br />

Keywords: Routing, ad-hoc network<br />

I. INTRODUCTION<br />

An Adhoc mobile network is a collecti<strong>on</strong> of nodes, each<br />

of which is capable of <strong>and</strong> is likely to be moving, resulting in<br />

c<strong>on</strong>tinual changes in the topology of the network. These<br />

nodes communicate through wireless transmissi<strong>on</strong>, <strong>and</strong> each<br />

of them serves as a router for the other network nodes.<br />

Adhoc network have many unique characteristics that make<br />

network communicati<strong>on</strong> challenging. The mobility of nodes<br />

introduces the problem of discovering <strong>and</strong> maintaining paths<br />

over a dynamic network topology. The network has limited<br />

b<strong>and</strong>width [3], <strong>and</strong> there are often high error rates. Because<br />

of these limitati<strong>on</strong>s, protocols designed for providing<br />

communicati<strong>on</strong> in wired networks are often not suitable for<br />

wireless network. Adhoc routing protocols must be designed<br />

with these limitati<strong>on</strong>s, <strong>and</strong> must aim to minimize processing<br />

<strong>and</strong> transmissi<strong>on</strong> overhead <strong>and</strong> to being able to find <strong>and</strong><br />

maintain routes over a dynamic topology.<br />

An Ad hoc routing protocol is a c<strong>on</strong>venti<strong>on</strong> or st<strong>and</strong>ard<br />

that c<strong>on</strong>trols how nodes come to agree which way to route<br />

packets between computing devices in a mobile ad-hoc<br />

network (MANET)[2]. In ad hoc networks, nodes do not have<br />

a priori knowledge of topology of network around them, they<br />

have to discover it. The basic idea is that a new node<br />

announces its presence <strong>and</strong> listens to broadcast<br />

announcements from its neighbours. The node learns about<br />

new near nodes <strong>and</strong> ways to reach them, <strong>and</strong> may announce<br />

that it can also reach those nodes. As time goes <strong>on</strong>, each node<br />

knows about all other nodes <strong>and</strong> <strong>on</strong>e or more ways how to<br />

reach them.<br />

Wireless communicati<strong>on</strong> within a mobile ad-hoc network<br />

(MANET) system is pr<strong>on</strong>e to network c<strong>on</strong>gesti<strong>on</strong> <strong>and</strong><br />

susceptible to interference. C<strong>on</strong>gesti<strong>on</strong> can be reduced <strong>and</strong><br />

performance improved for a mobile<br />

ad-hoc network with fast-moving or peer-aware nodes.<br />

Many protocols have been developed <strong>and</strong> studied in an effort to<br />

alleviate network c<strong>on</strong>gesti<strong>on</strong> in a MANET. Some examples<br />

include dem<strong>and</strong> source routing (DSR)], optimized link state<br />

routing (OLSR), <strong>and</strong> the ad-hoc <strong>on</strong>-dem<strong>and</strong> distance vector<br />

(AODV) [4] protocol. All of these provide a reas<strong>on</strong>able soluti<strong>on</strong><br />

for a MANET when the nodes exhibit low mobility. However,<br />

when the nodes in the network move at a high rate of speed or<br />

are peer aware, as in UAV formati<strong>on</strong> flight, the inner node<br />

communicati<strong>on</strong> increases network c<strong>on</strong>gesti<strong>on</strong>. We have<br />

developed a hybrid protocol to decrease the inner node<br />

communicati<strong>on</strong> <strong>and</strong> so limit the number of collisi<strong>on</strong>s that occur<br />

during the route seeking process.<br />

II. EXISTING AD HOC ROUTING PROTOCOLS<br />

Since the mobile wireless network is the infrastructure<br />

less mobile network, Infrastructure less networks have no<br />

fixed routers, all nodes are capable of movement <strong>and</strong> can be<br />

c<strong>on</strong>nected dynamically in an arbitrary manner. Numerous<br />

routing protocols have been developed for mobile adhoc<br />

network to manage the working of nodes that<br />

communicate with other nodes.<br />

These routing protocols are generally categorized as<br />

• Table driven<br />

• On- dem<strong>and</strong> driven (source -initiated)<br />

A. Table -Driven Routing Protocol<br />

Table-driven routing protocols attempt to maintain<br />

c<strong>on</strong>sistent, up-to-date routing informati<strong>on</strong> from each node<br />

to every other node in the network This type of protocols<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 198


Proceedings of ICCNS 08 , 27-28 September 2008<br />

maintains fresh lists of destinati<strong>on</strong>s <strong>and</strong> their routes by<br />

periodically distributing routing tables throughout the<br />

network. These protocols require each node to maintain<br />

<strong>on</strong>e or more tables to store routing informati<strong>on</strong>, <strong>and</strong> they<br />

resp<strong>on</strong>d to changes in network topology by propagating<br />

updates throughout the network in order to maintain a<br />

c<strong>on</strong>sistent network. The areas in which they differ are<br />

the number of necessary routing-related tables <strong>and</strong> the<br />

methods by which changes in network structure are<br />

broadcast.<br />

Some table- driven adhoc routing protocols are<br />

(a) Destinati<strong>on</strong>-Sequenced Distance-Vector Routing<br />

The Destinati<strong>on</strong> Sequenced Distance Vector<br />

Routing (DSDV) protocol described is a table-driven<br />

algorithm based <strong>on</strong> the classical Bellman Ford routing<br />

mechanism . The improvements made to the Bellman<br />

Ford algorithm include freedom from loops in routing<br />

tables.<br />

Every mobile node in the network maintains a routing<br />

table in which all of the possible destinati<strong>on</strong>s within the<br />

network <strong>and</strong> the number of hops to each destinati<strong>on</strong> are<br />

recorded. Each entry is marked with a sequence number<br />

assigned by the destinati<strong>on</strong> node. The sequence<br />

numbers enable the mobile nodes to distinguish stale<br />

routes from new <strong>on</strong>es, there by avoiding the formati<strong>on</strong> of<br />

routing loops. Routing table up dates is periodically<br />

transmitted throughout the network in order to maintain<br />

table c<strong>on</strong>sistency. To help alleviate the potentially large<br />

amount of network traffic that such updates can generate,<br />

route updates can employ two possible types of packets.<br />

The first is known as a full dump. This type of packet carries<br />

all available routing informati<strong>on</strong> <strong>and</strong> can require multiple<br />

network protocol data units.<br />

(b) Clusterhead Gateway Switch Routing<br />

The Cluster head Gateway Switch Routing (CGSR)<br />

protocol differs from the previous protocol in the type<br />

of addressing <strong>and</strong> network organizati<strong>on</strong> scheme<br />

employed. Instead of a “flat” network, CGSR is a<br />

clustered multihop mobile wireless network with several<br />

heuristic routing schemes. The authors state that by<br />

having a cluster head c<strong>on</strong>trolling a group of ad hoc<br />

nodes, a framework for code separati<strong>on</strong> (am<strong>on</strong>g<br />

clusters), channel access, routing, <strong>and</strong> b<strong>and</strong>width<br />

allocati<strong>on</strong> can be achieved. A cluster head selecti<strong>on</strong><br />

algorithm is utilized to elect a node as the cluster head<br />

using a distributed algorithm within the cluster.<br />

The disadvantage of having a cluster head scheme is<br />

that frequent cluster head changes can adversely affect<br />

routing protocol performance since nodes are busy in<br />

cluster head selecti<strong>on</strong> rather than packet relaying.<br />

(c) The Wireless Routing Protocol (WRP)<br />

The Wireless Routing Protocol (WRP) described in is a<br />

table-based protocol with the goal of maintaining routing<br />

informati<strong>on</strong> am<strong>on</strong>g all nodes in the network. Each node in<br />

the network is resp<strong>on</strong>sible for maintaining four tables<br />

• Distance table<br />

• Routing table<br />

• Link-cost table<br />

• Message retransmissi<strong>on</strong> list (MRL) table<br />

B. Source Initiated On-Dem<strong>and</strong> Routing Protocol<br />

A different approach from table-driven routing is sourceinitiated<br />

<strong>on</strong>-dem<strong>and</strong> routing. This type of routing creates<br />

routes <strong>on</strong>ly when desired by the source node. When a node<br />

requires a route to a destinati<strong>on</strong>, it initiates a route<br />

discovery process within the network. This process is<br />

completed <strong>on</strong>ce a route is found or all possible route<br />

permutati<strong>on</strong>s have been examined. Once a route has been<br />

established, it is maintained by a route maintenance<br />

procedure until either the destinati<strong>on</strong> becomes<br />

inaccessible al<strong>on</strong>g every path from the source or until<br />

the route is no l<strong>on</strong>ger desired.<br />

(a)Ad Hoc <strong>on</strong>-Dem<strong>and</strong> Distance Vector (AODV) Routing<br />

AODV is an improvement <strong>on</strong> DSDV because it<br />

typically minimizes the number of required broadcasts by<br />

creating routes <strong>on</strong> a dem<strong>and</strong> basis, as opposed to<br />

maintaining<br />

a<br />

complete list of routes as in the DSDV algorithm. The<br />

authors of AODV classify it as a pure <strong>on</strong>-dem<strong>and</strong> route<br />

acquisiti<strong>on</strong> system, since nodes that are not <strong>on</strong> a selected<br />

path do not maintain routing informati<strong>on</strong> or<br />

participate in routing table exchanges.<br />

When a source node desires to send a message to<br />

some destinati<strong>on</strong> node <strong>and</strong> does not already have a valid<br />

route to that destinati<strong>on</strong>, it initiates a path discovery<br />

process to locate the other node. It broadcasts a route<br />

request (RREQ) packet to its neighbors, which then<br />

forward the request to their neighbors, <strong>and</strong> so <strong>on</strong>, until<br />

either the destinati<strong>on</strong> or an inter mediate node with a<br />

“fresh enough” route to the destinati<strong>on</strong> is located. the<br />

propagati<strong>on</strong> of the broadcast RREQs across the network.<br />

AODV utilizes destinati<strong>on</strong> sequence numbers to ensure all<br />

routes are loop-free <strong>and</strong> c<strong>on</strong>tain the most recent route<br />

informati<strong>on</strong>. Each node maintains its own sequence<br />

number, as well as a broadcast ID.<br />

(b) Dynamic Source Routing (DSR)<br />

The Dynamic Source Routing (DSR) protocol<br />

presented in is an <strong>on</strong>-dem<strong>and</strong> routing protocol that is<br />

based <strong>on</strong> the c<strong>on</strong>cept of source routing. Mobile nodes<br />

are required to maintain route caches that c<strong>on</strong>tain the<br />

source routes of which the mobile is aware. Entries in<br />

the route cache are c<strong>on</strong>tinually updated as new routes<br />

are learned.<br />

The protocol c<strong>on</strong>sists of two major phases: route discovery<br />

<strong>and</strong> route maintenance. When a mobile node has a packet<br />

to send to some destinati<strong>on</strong>, it first c<strong>on</strong>sults its route<br />

cache to determine whether it already has a route to the<br />

destinati<strong>on</strong>. If it has an unexpired route to the<br />

destinati<strong>on</strong>, it will use this route to send the packet. On<br />

the other h<strong>and</strong>, if the node does not have such a route, it<br />

initiates route discovery by broadcasting a route request<br />

packet.<br />

This route request c<strong>on</strong>tains the address of the<br />

destinati<strong>on</strong>, al<strong>on</strong>g with the source node’s<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 199


Proceedings of ICCNS 08 , 27-28 September 2008<br />

address <strong>and</strong> a unique identificati<strong>on</strong> number. Each<br />

node receiving the packet checks whether it knows of a<br />

route to the destinati<strong>on</strong>. If it does not, it adds its own<br />

address to the route record of the packet <strong>and</strong> then<br />

forwards the packet al<strong>on</strong>g its outgoing links. To limit the<br />

number of route requests propagated <strong>on</strong> the outgoing links<br />

of a node, a mobile <strong>on</strong>ly forwards the route request if the<br />

mobile has not yet seen the request <strong>and</strong> if the mobile’s<br />

address does not already appear in the route record.<br />

A route reply is generated when the route request reaches<br />

either the destinati<strong>on</strong> itself, or an intermediate node,<br />

which c<strong>on</strong>tains in its route cache an unexpired route to the<br />

destinati<strong>on</strong>. By the time the packet reaches either the<br />

destinati<strong>on</strong> or such an intermediate node, it c<strong>on</strong>tains a<br />

route record yielding the sequence of hops taken. The<br />

formati<strong>on</strong> of the route record as the route request<br />

propagates through the network. If the node generating<br />

the route reply is the destinati<strong>on</strong>, it places the route<br />

record c<strong>on</strong>tained in the route request into the route reply.<br />

If the resp<strong>on</strong>ding node is an intermediate node, it will<br />

append its cached route to the route record <strong>and</strong> then<br />

generate the route reply. To return the route reply, the<br />

resp<strong>on</strong>ding node must have a route to the initiator. If it<br />

has a route to the initiator in its route cache, it may use<br />

that route. Otherwise, if symmetric links are supported,<br />

the node may reverse the route in the route record. If<br />

symmetric links are not supported, the node may initiate<br />

its own route discovery <strong>and</strong> piggyback the route reply<br />

<strong>on</strong> the new route request. The transmissi<strong>on</strong> of the route<br />

reply with its associated route record back to the<br />

source node.<br />

packets. In other words, C = S size (route replies, route requests,<br />

route error, data) for all messages required in both the route<br />

discovery process <strong>and</strong> the payload or data transmissi<strong>on</strong><br />

process. Using a back-off period allows the messages to either<br />

be sent in the first instance of the time slot or to use a r<strong>and</strong>om<br />

send time in each slot. The time slot is defined to be:<br />

τ = (1/C*D) + ρ + B<br />

Where B is the back-off period, C is the largest c<strong>on</strong>trol<br />

packet length, D is the data rate, ρ is the maximum clock<br />

skew, <strong>and</strong> τ is the time slot size.<br />

To maximize network b<strong>and</strong>width usage, τ must be as small<br />

as possible while still allowing time for route discovery <strong>and</strong><br />

payload traffic transmissi<strong>on</strong> to occur. The choice of a<br />

minimum value of τ must provide for a reas<strong>on</strong>able maximum<br />

clock skew.<br />

C. Disadvantages of Existing Routing Protocols.<br />

The main disadvantages of Table driven routing Protocol<br />

1. Respective amount of data for maintenance.<br />

2. Slow reacti<strong>on</strong> <strong>on</strong> restructuring <strong>and</strong> failures<br />

The main disadvantage of On-Dem<strong>and</strong> Routing Protocol<br />

1. High latency time in route finding.<br />

2. Excessive flooding can lead to network clogging.<br />

To overcome these defects present in existing routing protocol<br />

technique, there is new way to route the packet using a<br />

mechanism called “Time- slotted Routing Technique”.<br />

III. TIME-SLOTTED ROUTING TECHNIQUE<br />

Methodology<br />

Fig.1 illustrates the simple star network topology of a small<br />

cluster. All traffic is routed through the head node, <strong>and</strong> the<br />

source is no more than <strong>on</strong>e hop from the destinati<strong>on</strong>. This is<br />

based <strong>on</strong> the AODV protocol, but introduces a time comp<strong>on</strong>ent<br />

into it, similar to that of the slotted ALOHA protocol. A<br />

particular time slot is set aside for each node to communicate<br />

data to the designated head node.<br />

To implement a time-slotted protocol, the time increments<br />

must be large enough to support the aggregate of all routing<br />

Fig. 1 In the star cluster network topology, all traffic goes through the<br />

head node, <strong>and</strong> the source is no more than <strong>on</strong>e hop from the destinati<strong>on</strong>.<br />

IV. RESULT<br />

The average ratios of dropped packets to sent packets<br />

(drops-to-sends ratios) for both the AODV <strong>and</strong> time-slotted<br />

protocols are shown in Table 1. [5] Notice that the ratios for<br />

the time-slot-managed network are better than the AODV in<br />

all but the two-node case. While the total network traffic<br />

decreases with the time-slotted method, a c<strong>on</strong>sistent level of<br />

reliability <strong>and</strong> scalability are provided over a broader range of<br />

network sizes. It should also be noted that the transmissi<strong>on</strong><br />

capacity for individual nodes is inversely proporti<strong>on</strong>al to the<br />

number of nodes in the network.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 200


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE 1<br />

AODV AND TIME-SLOTTED DROPS TO SENDS RATIOS<br />

AODV<br />

Time Slotted Protocol<br />

Send Drop % Send Drop %<br />

1 297620 79 0.026 96823 41 0.0423<br />

2 595320 1360 0.228 96561 14 0.0144<br />

3 895124 3180 0.355 96608 17 0.0175<br />

4 1287130 6845 0.531 96764 14 0.0144<br />

5 1572299 13197 0.839 95600 352 0.3682<br />

6 1792147 20828 1.162 96579 12 0.0124<br />

7 1928818 133854 6.939 96634 13 0.0134<br />

8 2110803 161612 7.656 96760 36 0.0372<br />

The use of time slot allocati<strong>on</strong> to coordinate communicati<strong>on</strong><br />

between nodes in a MANET is shown to improve the quality<br />

of service (QoS) of node communicati<strong>on</strong> by minimizing data<br />

packet drops. Adjusting the time-slot durati<strong>on</strong> to facilitate the<br />

transfer of the largest packet <strong>and</strong> routing message requirements,<br />

while at the same time avoiding data packet collisi<strong>on</strong>s,<br />

maximizes the reliability of communicati<strong>on</strong> over the network.<br />

The data transfer rate is lowered by this method, but the<br />

communicati<strong>on</strong> throughput sustained by the time-slotted routing<br />

protocol is sufficient to maintain formati<strong>on</strong> flight in a UAV.<br />

The important results to note are the reliability of the<br />

communicati<strong>on</strong>, the scalability of the nodes in the formati<strong>on</strong>,<br />

<strong>and</strong> the hazards of a dropped navigati<strong>on</strong> packet that may<br />

potentially disrupt or alter the missi<strong>on</strong> bey<strong>on</strong>d recovery.<br />

V. CONCLUSION AND FUTURE EFFORTS<br />

The results suggest several additi<strong>on</strong>al enhancements to the<br />

use of the time-slot method, including a two-stage time-slot<br />

window to increase the size of t when the route discovery<br />

process is required or requested, <strong>and</strong> a dynamic time-slot<br />

window for clock skew. Other approaches include allocating<br />

time slots based <strong>on</strong> message type, <strong>and</strong> relaxing the time-slot<br />

node allocati<strong>on</strong> c<strong>on</strong>straint <strong>and</strong> allowing more than <strong>on</strong>e node in<br />

the network to transmit. Other future efforts include intrusi<strong>on</strong><br />

detecti<strong>on</strong><br />

schemes<br />

based <strong>on</strong> time-slotted communicati<strong>on</strong> with predetermined<br />

Frequency hopping strategies. This additi<strong>on</strong>al security,<br />

coupled with enhanced reliability, is applicable not <strong>on</strong>ly to<br />

UAV formati<strong>on</strong> flight, but to first-resp<strong>on</strong>der/urban search <strong>and</strong><br />

rescue missi<strong>on</strong>s, rapid military deployment, <strong>and</strong> c<strong>on</strong>taminated<br />

sensor network scenarios.<br />

REFERENCES<br />

[1] R. Bad<strong>on</strong>nel, R. State, <strong>and</strong> O. Festor, “Management of Mobile<br />

Ad- Hoc <strong>Networks</strong>” IEEE 15th Annual Int’l. Phoenix<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> Comp. <strong>and</strong> Commun., Mar. 1996, pn 480-486.<br />

[2] “The H<strong>and</strong>book of Ad Hoc Wireless <strong>Networks</strong>” By Mohammad<br />

Iiyas, Florida Atlantic University ©2003 by CRC Press, pp.<br />

120-132.<br />

[3] Mobility Management in Wireless <strong>Networks</strong> By Karen Q.Tian<br />

<strong>and</strong> D<strong>on</strong>ald C.Cox,Stanford University,©2004 by Kluwer<br />

Academic Publishers, pp.4, 36-45.<br />

[4] Mobile Protocols for Data <strong>Networks</strong> By Anna Hac, University<br />

of Hawaii at Manoa, H<strong>on</strong>olulu, ©2003 John Wiley & S<strong>on</strong>s, pp.<br />

197-211.<br />

[5] C. E. Perkins <strong>and</strong> P. Bhagwat, “Highly Dynamic Destinati<strong>on</strong>-<br />

Sequenced Distance-Vector Routing (DSDV) for Mobile<br />

<strong>Computer</strong>s,” <strong>Computer</strong> Community Rev., Oct. 1994, pp. 234-<br />

244<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 201


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Adaptive Call Admissi<strong>on</strong> C<strong>on</strong>trol for Wireless<br />

Mobile Network<br />

Varsha N. Wahane, Vijayalaxmi Kadroli<br />

Abstract---CAC is a Call admissi<strong>on</strong> c<strong>on</strong>trol which plays a<br />

significant role in providing the desired quality of service in wireless<br />

networks. Many CAC schemes have been proposed. - A dynamic call<br />

admissi<strong>on</strong> c<strong>on</strong>trol (CAC) <strong>and</strong> its associated resource reservati<strong>on</strong> (RR)<br />

schemes are proposed in this paper based <strong>on</strong> the guard channel (GC)<br />

c<strong>on</strong>cept for a wireless cellular system supporting multiple quality of<br />

service (QoS) classes. The proposed CAC policy selects the resource<br />

access threshold according to the estimated number of incoming call<br />

requests of different QoS classes. The amount of resources to be<br />

reserved is dynamically adjusted by c<strong>on</strong>sidering neighboring-cell<br />

higher-priority calls, which are likely to h<strong>and</strong>off. The rati<strong>on</strong>ale<br />

behind our proposed dynamic CAC <strong>and</strong> RR scheme is to make an<br />

efficient resource reservati<strong>on</strong> for priority calls by c<strong>on</strong>sidering<br />

potential h<strong>and</strong>off calls in the neighboring cells, based <strong>on</strong> their signal<br />

to noise ratio (SNR) informati<strong>on</strong> <strong>and</strong> the traffic profile for each<br />

mobile. Analytical results for some performance metrics such as call<br />

blocking probabilities are obtained under some specific assumpti<strong>on</strong>s.<br />

However due to the mobility, some assumpti<strong>on</strong>s may not be valid<br />

when the average channel holding times for new calls <strong>and</strong> h<strong>and</strong>off<br />

calls are not equal. Thus the key c<strong>on</strong>tributi<strong>on</strong> is the introducti<strong>on</strong> of a<br />

novel call admissi<strong>on</strong> c<strong>on</strong>trol <strong>and</strong> b<strong>and</strong>width degradati<strong>on</strong> scheme for<br />

real-time traffic as well as the development of a model for the<br />

admissi<strong>on</strong> c<strong>on</strong>troller.. In this paper we reexamine some of the<br />

analytical results for call blocking probabilities for some CAC<br />

schemes under more general assumpti<strong>on</strong>s <strong>and</strong> provide easier-tocompute<br />

approximate formulas.<br />

Keywords— CAC, H<strong>and</strong>off Call Dropping Probability, New<br />

Call Blocking Probability.<br />

T<br />

I. INTRODUCTION<br />

he third generati<strong>on</strong> (3G) wireless communicati<strong>on</strong> systems<br />

will support multimedia traffic at a target transmissi<strong>on</strong><br />

rate of up to 2Mbps for static mobile users <strong>and</strong> 384kbps<br />

for high mobility users. Unlike wired networks,<br />

communicati<strong>on</strong> entities in wireless networks change their<br />

c<strong>on</strong>nectivity via h<strong>and</strong>off when they move from <strong>on</strong>e cell to<br />

another. The use of micro or pico-sized cells makes the role of<br />

h<strong>and</strong>off procedures very important in maintaining the service<br />

c<strong>on</strong>tinuity <strong>and</strong> QoS guarantees to the multimedia applicati<strong>on</strong>s.<br />

Due to the limited b<strong>and</strong>width resources in wireless multimedia<br />

system, efficient call admissi<strong>on</strong> c<strong>on</strong>trol (CAC) <strong>and</strong> resource<br />

reservati<strong>on</strong> (RR) schemes are needed to maintain desired QoS.<br />

Varsha N. Wahane is working as Lecturer in Terna Engineering College,<br />

Nerul, Navi Mumbai. ( Ph<strong>on</strong>e +919869125055, e-mail: varshasim<br />

@indiatimes.com ).<br />

Vijayalaxmi Kadroli is working as Lecturer in Terna Engineering College,<br />

Nerul, Navi Mumbai. ( e-mail: v_udachan@yahoo.co.in ).<br />

CAC schemes enable the system to provide QoS to new<br />

incoming as well as existing calls. The RR scheme, such as<br />

the use of guard channels (GC), is adopted to reserve<br />

resources for certain higher priority calls. Obtaining a right<br />

balance between the two opposing criteria is a big challenge.<br />

This paper proposes a novel dynamic RR <strong>and</strong> CAC scheme to<br />

increase the access probability for the higher priority calls,<br />

while ensuring high overall system efficiency, in the presence<br />

of multiple QoS classes such as priority, rate adaptively as<br />

well as different mobility. We adopt the idea of the GC<br />

scheme, which gives preferential treatment to the h<strong>and</strong>off calls<br />

by reserving a fixed number of channels exclusively for them.<br />

However, such a scheme may lead to poor channel utilizati<strong>on</strong><br />

because it decreases the h<strong>and</strong>off dropping rate at the cost of<br />

increasing the blocking rate for other users. To deal with this<br />

problem, we introduce a dynamic resource reservati<strong>on</strong><br />

algorithm to efficiently estimate resources needed to be<br />

reserved for high priority calls, by using the SNR <strong>and</strong> the<br />

distance informati<strong>on</strong> of mobile users in neighboring cells.<br />

The remaining part of the paper is organized as follows.<br />

I. Special emphasis <strong>on</strong> Cutoff priority scheme.<br />

II. Analytical <strong>and</strong> simulati<strong>on</strong> model for the same<br />

Simulati<strong>on</strong> is c<strong>on</strong>ducted by MATLAB.<br />

III. Numerical results.<br />

IV. Finally, c<strong>on</strong>cluding remarks <strong>and</strong> future work<br />

A Preferential treatment to priority <strong>and</strong> h<strong>and</strong>off calls<br />

A wireless multimedia system cannot always meet<br />

different QoS requirements of mobile users, due to resource<br />

c<strong>on</strong>straints. Therefore, the system requires rules to decide who<br />

will receive the services according to predefined cost<br />

functi<strong>on</strong>s, to avoid unwanted call blocking <strong>and</strong> h<strong>and</strong>off<br />

dropping while maximizing channel utilizati<strong>on</strong>. Usually,<br />

h<strong>and</strong>off calls are assigned higher priority over new calls. How<br />

to seamlessly transfer resources between cells during h<strong>and</strong>off<br />

is an important issue. For this, resource reservati<strong>on</strong> <strong>and</strong> call<br />

admissi<strong>on</strong> schemes should be integrated with the h<strong>and</strong>off<br />

mechanism to provide more flexibility to all mobile users <strong>and</strong><br />

better QoS guarantees for premium users. Many different<br />

admissi<strong>on</strong> c<strong>on</strong>trol strategies have been discussed in the<br />

literature to provide priorities to higher priority-call <strong>and</strong><br />

h<strong>and</strong>off requests, without significantly jeopardizing new<br />

c<strong>on</strong>necti<strong>on</strong> requests. These strategies fall into two categories:<br />

H<strong>and</strong>off Queue (HQ) <strong>and</strong> Guard Channel (GC) schemes.<br />

HQ based methods follow the principle: when resources<br />

become available, <strong>on</strong>e of the calls in the h<strong>and</strong>off queue is<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 202


Proceedings of ICCNS 08 , 27-28 September 2008<br />

served. If there are no available resources, call requests are<br />

being queued until resources are available again. HQ scheme<br />

needs lot of buffers to deal with real-time multimedia traffic<br />

<strong>and</strong> sophisticated scheduling mechanism is needed to meet the<br />

QoS requirement for delay sensitive calls to guarantee that the<br />

queued data will not expire before they are transmitted.<br />

The basic idea of GC (Guard channel) -based admissi<strong>on</strong><br />

c<strong>on</strong>trol strategies is to reserve resources in each cell a priori to<br />

deal with h<strong>and</strong>off requests. In order to provide mobile users<br />

with c<strong>on</strong>tinuous c<strong>on</strong>nectivity, a system reserves backup<br />

channels referred to as “guard channels” to provide<br />

preferential treatment to priority calls <strong>and</strong> h<strong>and</strong>off calls. In<br />

such a system, resource is less than a certain threshold. GC<br />

strategies differ in the number of guard channels to be chosen<br />

by a base stati<strong>on</strong>.<br />

B. Fixed <strong>and</strong> dynamic GC schemes<br />

The c<strong>on</strong>cept of Guard Channel was first introduced by<br />

H<strong>on</strong>g <strong>and</strong> Rappaport [2]. They used a fixed GC scheme to<br />

treat new calls <strong>and</strong> h<strong>and</strong>off calls differently, by reserving the<br />

same amount of resources for the h<strong>and</strong>off calls in the entire<br />

period of simulati<strong>on</strong> cycle. In this paper, <strong>on</strong>ly <strong>on</strong>e traffic class<br />

was c<strong>on</strong>sidered. Rapport <strong>and</strong> Purzynski [4] extended this work<br />

to multiple services <strong>and</strong> platform types. They analyzed the<br />

performance based <strong>on</strong> their proposed mathematical model,<br />

with the assumpti<strong>on</strong> of stati<strong>on</strong>ary traffic. Epstein <strong>and</strong><br />

Schwartz [5] c<strong>on</strong>sidered a mixed traffic with calls of narrow<br />

<strong>and</strong> wide-b<strong>and</strong>.. All the schemes proposed above are static<br />

because such GC schemes cannot adapt to quick variati<strong>on</strong> of<br />

the traffic pattern. Dynamic GC schemes have appeared in the<br />

literature, which improve the system efficiency while<br />

providing the QoS guarantees to priority calls. These schemes<br />

adaptively reserve the actual resources needed for priority<br />

calls <strong>and</strong>, therefore, accept more lower-priority calls as<br />

compared to a fixed scheme. Naghshineh <strong>and</strong> Schwartz [7]<br />

proposed an analytical model to estimate the resource<br />

requirements for h<strong>and</strong>off calls. In their model, all c<strong>on</strong>necti<strong>on</strong><br />

requests have identical traffic profile <strong>and</strong> the traffic is under<br />

stati<strong>on</strong>ary c<strong>on</strong>diti<strong>on</strong>s. Ramanathan et al. [8] proposed a<br />

dynamic resource allocati<strong>on</strong> scheme based <strong>on</strong> the estimati<strong>on</strong><br />

of maximum expected resource requirement needed for<br />

h<strong>and</strong>off calls. Acampora et al. [9] applied a linear weighting<br />

scheme (LWS) as part of their admissi<strong>on</strong> c<strong>on</strong>trol algorithm.<br />

Linear weighting scheme uses the average number of <strong>on</strong>going<br />

calls in all cells within the regi<strong>on</strong> of awareness to determine<br />

the admissi<strong>on</strong>. Sutiv<strong>on</strong>g <strong>and</strong> Peha [10] adopted a hybrid<br />

scheme by using the weighted sum of <strong>on</strong>going calls in the<br />

originating cell as well as other neighboring cells for<br />

admissi<strong>on</strong> c<strong>on</strong>trol.<br />

C. Service Model<br />

We c<strong>on</strong>sider multimedia traffic with the following service<br />

attributes:<br />

1) MinBW, MaxBW: Minimum <strong>and</strong> Maximum B<strong>and</strong>width<br />

Requirements characterize the b<strong>and</strong>width c<strong>on</strong>sumpti<strong>on</strong> of the<br />

traffic.<br />

2) RA: Rate Adaptively describes whether a c<strong>on</strong>necti<strong>on</strong> is<br />

flexible in its b<strong>and</strong>width requirements. If a c<strong>on</strong>necti<strong>on</strong> is rate<br />

adaptive, it can be serviced in a degraded mode when<br />

c<strong>on</strong>gested. This c<strong>on</strong>necti<strong>on</strong> thus has high probability to<br />

receive service in either the full or degraded rate.<br />

3) Priority Class: Higher priority is assigned to c<strong>on</strong>necti<strong>on</strong>s<br />

that are willing to pay more. They are likely to receive better<br />

QoS guarantees in terms of better chance to receive the<br />

service <strong>and</strong> in better quality mode. Similarly, system will gain<br />

higher rewards if it provides services to such priority calls.<br />

4) Mobility: High, moderate <strong>and</strong> low mobility traffic types are<br />

included in our service model. Different mobility traffic will<br />

have different weighting factor.<br />

In this paper, we c<strong>on</strong>centrate <strong>on</strong> the guard channel schemes.<br />

We have assumed that the channel holding times for new calls<br />

<strong>and</strong> h<strong>and</strong>off calls are independent <strong>and</strong> exp<strong>on</strong>entially<br />

distributed but with different average values. However, in<br />

reality, these assumpti<strong>on</strong>s may not be true. It is usually agreed<br />

that the new call <strong>and</strong> the h<strong>and</strong>off call have different channel<br />

holding-time distributi<strong>on</strong>s ([12] <strong>and</strong> [3] <strong>and</strong> references<br />

therein). Also, the h<strong>and</strong>off traffic may not be Poiss<strong>on</strong> [12].<br />

Performance analysis of CAC schemes under more realistic<br />

assumpti<strong>on</strong>s (using higher moments of cell traffic <strong>and</strong> channel<br />

holding times) has to be carefully carried out. We will present<br />

such a study in a subsequent paper. Future generati<strong>on</strong> wireless<br />

systems have shifted the focus <strong>on</strong> multimedia services <strong>and</strong><br />

guaranteeing their QoS. Call c<strong>on</strong>necti<strong>on</strong>s may dem<strong>and</strong><br />

different amounts of network resource (channels). Thus, call<br />

admissi<strong>on</strong> c<strong>on</strong>trol scheme can be designed to deal with<br />

multiclass services. The schemes (e.g., thinning schemes) can<br />

be generalized to h<strong>and</strong>le such situati<strong>on</strong>s: permissi<strong>on</strong><br />

probabilities can be chosen according to the resource<br />

utilizati<strong>on</strong> <strong>and</strong> amount of resource needed to support a call<br />

request. We can also use priority levels <strong>and</strong> multiple<br />

thresholds to h<strong>and</strong>le different traffic classes.<br />

CALL ADMISSION CONTROL SCHEMES<br />

There are three call admissi<strong>on</strong> c<strong>on</strong>trol schemes in<br />

wireless networks, when the channel holding times for new<br />

calls <strong>and</strong> h<strong>and</strong>off calls are differentiated: the new call<br />

bounding priority, new call thinning scheme <strong>and</strong> the cutoff<br />

priority scheme. The analytical techniques <strong>and</strong> results can be<br />

easily extended to blocking performance for wireless<br />

multimedia networks with multiple prioritized traffic, in which<br />

corresp<strong>on</strong>ding call admissi<strong>on</strong> c<strong>on</strong>trol schemes can be<br />

obtained. We can immediately observe that the analytical<br />

results are valid for wireless networks with two prioritized<br />

traffic.<br />

Let λ denote the arrival rate for new calls,<br />

λ h the arrival rate for h<strong>and</strong>off calls,<br />

1/μ the average channel holding time for new calls,<br />

1/μ h the average channel holding time for h<strong>and</strong>off calls,<br />

respectively.<br />

C denotes the total number of channels in a cell.<br />

Here it is assume that the arrival process for new<br />

calls <strong>and</strong> the arrival process for h<strong>and</strong>off calls are all Poiss<strong>on</strong>,<br />

<strong>and</strong> the channel holding times for new calls <strong>and</strong> h<strong>and</strong>off calls<br />

are exp<strong>on</strong>entially distributed, respectively.<br />

Although it has been observed [9], [14] that the h<strong>and</strong>off call<br />

arrival rate is closely related to the new call arrival rate, <strong>and</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 203


Proceedings of ICCNS 08 , 27-28 September 2008<br />

that the channel holding times for new calls <strong>and</strong> h<strong>and</strong>off calls<br />

also depend <strong>on</strong> the cell residence time distributi<strong>on</strong>, <strong>and</strong> here it<br />

is proposed is to show how call-blocking probabilities can be<br />

approximated when the channel holding times for new calls<br />

<strong>and</strong> h<strong>and</strong>off calls have different averages. It has been<br />

observed that the channel holding times for new calls <strong>and</strong><br />

h<strong>and</strong>off calls are distinct; even their average values are<br />

different. The current literature does not make such a<br />

distincti<strong>on</strong>; the comm<strong>on</strong> assumpti<strong>on</strong> is that the channel<br />

holding time for the call arrivals (c<strong>on</strong>sisting of new calls <strong>and</strong><br />

h<strong>and</strong>off calls) is exp<strong>on</strong>entially distributed with parameters<br />

equal to the average channel holding time of new calls <strong>and</strong><br />

h<strong>and</strong>off calls together, i.e., both new calls <strong>and</strong> h<strong>and</strong>off calls<br />

are distributed with the same distributi<strong>on</strong>. Here the <strong>on</strong>edimensi<strong>on</strong>al<br />

Markov chain model can be used to derive<br />

analytical results for blocking performance.<br />

A. New Call Bounding Scheme:<br />

This scheme limits the admissi<strong>on</strong> of new calls into<br />

the wireless networks.<br />

B. Cutoff Priority Scheme:<br />

In this scheme instead of putting limitati<strong>on</strong> <strong>on</strong> the number<br />

of new calls, it is base <strong>on</strong> the number of total <strong>on</strong>-going calls in<br />

the cell to make a decisi<strong>on</strong> whether a new arriving call is<br />

accepted or not.<br />

C. New Call Thinning Schemes:<br />

The new call thinning schemes are schemes in which a new<br />

call is admitted with certain probability.<br />

. Special Emphasis <strong>on</strong> Cutoff Priority Scheme:<br />

In this scheme instead of putting limitati<strong>on</strong> <strong>on</strong> the number<br />

of new calls, it is base <strong>on</strong> the number of total <strong>on</strong>-going calls in<br />

the cell to make a decisi<strong>on</strong> whether a new arriving call is<br />

accepted or not. The scheme works as follows.<br />

Let m denote the threshold up<strong>on</strong> the new call.<br />

If the total number of busy channels is less than m, the new<br />

call is accepted; otherwise, the new call is blocked. The<br />

h<strong>and</strong>off calls are always accepted unless no channel is<br />

available up<strong>on</strong> their arrivals. This scheme shows that the<br />

analytical results for call blocking probabilities are obtained<br />

under the assumpti<strong>on</strong> that the average new call channel<br />

holding time <strong>and</strong> average h<strong>and</strong>off call channel holding time<br />

are equal so that <strong>on</strong>e-dimensi<strong>on</strong>al Markov chain theory can be<br />

used. When the average channel holding times for new calls<br />

<strong>and</strong> h<strong>and</strong>off calls are different, the approach will not work.<br />

II ANALYTICAL AND SIMULATION MODEL:<br />

Let λ, λh, 1/μ, 1/μh <strong>and</strong> C be defined as before;<br />

And let m denote the cutoff threshold.<br />

As in the previous secti<strong>on</strong>, here the two-dimensi<strong>on</strong>al Markov<br />

chain is used to model the system.<br />

Let (n 1 , n 2 ) denote the state, where n 1 <strong>and</strong> n 2 denote the<br />

numbers of new calls <strong>and</strong> h<strong>and</strong>off calls in the cell,<br />

respectively.<br />

Fig: 1 Transiti<strong>on</strong> diagram for cutoff priority<br />

scheme.<br />

The state diagram is shown in Fig. 1 with the following<br />

transiti<strong>on</strong> rates:<br />

q(n 1 , n 2 ; n 1 -1, n 2 =n 1 μ(0 ≤ n 1 ≤ m, 0 ≤n 1 + n 2 ≤ C)<br />

q(n 1 , n 2 ; n 1 +1, n 2 )= λ (0 ≤ n 1 ≤m,0 ≤ n 1 + n 2 ≤ m)<br />

q(n 1 , n 2 ; n 1 , n 2 -1)= n 2 μ h (0 ≤ n 1 ≤m,0≤n 1 + n 2 ≤ C)<br />

q(n 1 n 2 ; n 1 , n 2 +1 )= λ h (0 ≤ n 1 ≤m,0 ≤ n 1 + n 2 ≤ C)<br />

It is observe that in some states, such as those when,<br />

the flows no l<strong>on</strong>ger have the symmetric nature. It is doubtful<br />

whether the detailed balance equati<strong>on</strong>s are valid. Indeed, we<br />

do not have the product form for this scheme when μ ≠ μh<br />

Let u(x) denotes the step functi<strong>on</strong>, which is defined as<br />

follows:<br />

u (x) = 1 x ≥ 0<br />

u (x) = 0 x < 0 .<br />

Then, from Fig.1, we obtain the following global balance<br />

equati<strong>on</strong>s:<br />

⎡⎣u( n1 + n2 − m) λ + u( n1 + n2 − C) λh<br />

+ n1μ + n2μh⎤⎦<br />

p( n1, n2) = u(<br />

n2<br />

−<br />

u ( n − m) μ p( n + 1, n ) + u ( n + n − C)( n + 1) μ p( n , n + 1) + u ( n + n −<br />

2 1 2 1 2 2 h 1 2 1 2<br />

0 ≤ n ≤ m, n + n ≤ C.<br />

1<br />

1 2<br />

Thus, here the global balance equati<strong>on</strong>s are solved to<br />

find the steady-state probability distributi<strong>on</strong>, from which<br />

blocking probabilities can be obtained, as d<strong>on</strong>e when<br />

multidimensi<strong>on</strong>al Markov chain theory is used. However,<br />

solving the global balance equati<strong>on</strong>s may be computati<strong>on</strong>ally<br />

intensive when the state dimensi<strong>on</strong> is large. It will be useful to<br />

find some approximati<strong>on</strong> for the call blocking probabilities.<br />

We now present an approximati<strong>on</strong> based <strong>on</strong> the following<br />

idea: here an attempt is made to reduce the two-dimensi<strong>on</strong>al<br />

Markov chain model to a <strong>on</strong>e-dimensi<strong>on</strong>al Markov chain<br />

model by normalizing the average service time for each<br />

stream so that the average service time becomes identical for<br />

both streams. In this way, it can use the <strong>on</strong>e-dimensi<strong>on</strong>al<br />

Markov chain theory to find the call blocking probabilities.<br />

Here we use the following approximate model: the new call<br />

arrival stream is Poiss<strong>on</strong> with arrival rate <strong>and</strong> with service rate<br />

(corresp<strong>on</strong>ding channel holding time for new calls) 1 (the<br />

unity). The h<strong>and</strong>off call arrival stream is also Poiss<strong>on</strong> with<br />

arrival rate <strong>and</strong> service rate 1.<br />

Let ρ = λ/μ denotes the probability that there are j<br />

busy channels in steady state for the approximate model.<br />

Then, we can obtain the following stati<strong>on</strong>ary distributi<strong>on</strong> for<br />

the approximate model:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 204


Proceedings of ICCNS 08 , 27-28 September 2008<br />

⎧ m j − m<br />

a ⎪ ( ρ + ρ h ) ρ<br />

p h<br />

j<br />

= ⎨<br />

p<br />

0<br />

, m + 1 ≤ j ≤ C<br />

⎪<br />

j !<br />

⎩<br />

p<br />

a<br />

0<br />

m 1<br />

( )<br />

C ( )<br />

j m<br />

−<br />

⎡<br />

j<br />

m − ⎤<br />

⎢ ρ + ρ<br />

ρ + ρ<br />

h<br />

h<br />

ρ h ⎥<br />

=<br />

⎢∑<br />

+<br />

j! ∑<br />

j!<br />

⎥<br />

⎢<br />

⎣ j= 0 j= m + 1<br />

⎥<br />

⎦<br />

From this stati<strong>on</strong>ary distributi<strong>on</strong> we obtain the blocking<br />

probability for new calls <strong>and</strong> h<strong>and</strong>off calls as follows<br />

p<br />

a<br />

nb<br />

a<br />

p<br />

hb<br />

=<br />

=<br />

C m j − m<br />

( ρ + ρ<br />

h<br />

) ρ h<br />

∑<br />

j !<br />

j = m<br />

m j C m j − m<br />

( ρ + ρ )<br />

( ρ + ρ h ) ρ<br />

h<br />

+<br />

h<br />

j ! ∑<br />

j !<br />

j = 0 j = m + 1<br />

∑<br />

m C − m<br />

( ρ + ρ h)<br />

ρ h<br />

C !<br />

m j C m j − m<br />

( ρ + ρ )<br />

( ρ + ρ h ) ρ<br />

h<br />

+<br />

h<br />

j! ∑<br />

j!<br />

j= 0 j= m + 1<br />

∑<br />

Here the above equati<strong>on</strong>s approximate the call blocking<br />

probabilities for the cutoff priority scheme. It is observe that<br />

when, m = C the result becomes exact for a n<strong>on</strong> prioritized<br />

scheme.<br />

Blocking Probability<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

10 15 20 25 30 35 40 45 50 55 60<br />

Arrival Rate<br />

Fig. 2 Simulati<strong>on</strong> result for New call <strong>and</strong> H<strong>and</strong>off<br />

call in cutoff priority scheme.<br />

Blocking probability of new call<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

New call blocking probability in the cutoff prioriy scheme<br />

Analytical result<br />

Simulated result<br />

0<br />

10 15 20 25 30 35 40 45 50 55 60<br />

New call traffic load<br />

Fig.3 New call blocking probability in cutoff<br />

priority scheme<br />

Blocking probability of h<strong>and</strong>off call<br />

4 x 10-3 H<strong>and</strong>off blocking probability in the cutoff priority scheme<br />

Analytical result<br />

3.5 Simulated result<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

10 15 20 25 30 35 40 45 50 55 60<br />

New call traffic load<br />

Fig. 4 H<strong>and</strong>off call blocking probability in<br />

cutoff priority scheme<br />

III NUMERICAL RESULTS<br />

In this secti<strong>on</strong>, we present the simulati<strong>on</strong> results for<br />

comparis<strong>on</strong> purposes. They will show how much discrepancy<br />

may be caused by using approximate model <strong>and</strong> the traditi<strong>on</strong>al<br />

approach (which does not distinguish between new calls <strong>and</strong><br />

h<strong>and</strong>off calls)..<br />

Here, we investigate the. Cutoff priority scheme<br />

choose the following set of parameters: C = 30, m = 25, λ =<br />

1/60 to 1/12, μ h = 1/450 <strong>and</strong> μ = 1/300.In this we change the<br />

new call arrival rate instead of the channel holding time. The<br />

results shows that in the cutoff priority scheme for low traffic<br />

the new call blocking probability in Fig.2 is increases initially<br />

<strong>and</strong> for high traffic it is almost c<strong>on</strong>stant whereas the h<strong>and</strong>off<br />

call, the dropping probability is zero throughout. Fig.3 is the<br />

analytical result for new call blocking probability in cutoff<br />

priority scheme. Fig.4 compares the analytical <strong>and</strong> simulati<strong>on</strong><br />

results for h<strong>and</strong>off call blocking probability. In Fig.3 for low<br />

traffic the new call blocking probability is increases sharply<br />

<strong>and</strong> for high traffic it is moderate <strong>and</strong> also the analytical <strong>and</strong><br />

simulati<strong>on</strong> results both agree with each other. In Fig.4 the<br />

analytical <strong>and</strong> simulati<strong>on</strong> results both agree with each other<br />

<strong>and</strong> for traffic up to 35 the call dropping probability is almost<br />

zero <strong>and</strong> then increases sharply for high traffic. They show<br />

that we can obtain very accurate results for the new call<br />

blocking probability if our approximati<strong>on</strong> approach is<br />

deployed. This paper calls again for the necessity of<br />

reexamining the classical analytical results in traffic theory,<br />

which are used for the analysis <strong>and</strong> design of wireless mobile<br />

networks.<br />

IV CONCLUSION<br />

In this paper, we investigate the call admissi<strong>on</strong><br />

c<strong>on</strong>trol strategy for the wireless networks. We point out that<br />

when the average channel holding times for new calls <strong>and</strong><br />

h<strong>and</strong>off calls are significantly different, the traditi<strong>on</strong>al <strong>on</strong>edimensi<strong>on</strong>al<br />

Markov chain model may not be suitable; twodimensi<strong>on</strong>al<br />

Markov chain theory must be applied. Here the<br />

cutoff priority scheme reduces the h<strong>and</strong>off call blocking<br />

probability which is the requirement because the customers<br />

are more sensitive to call blocking than to call dropping. We<br />

also propose a new approximati<strong>on</strong> approach to reduce the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 205


Proceedings of ICCNS 08 , 27-28 September 2008<br />

computati<strong>on</strong>al complexity. It seems that the new<br />

approximati<strong>on</strong> performs much better than the traditi<strong>on</strong>al<br />

approach. Future work includes research <strong>on</strong> finding out how<br />

good this new approximati<strong>on</strong> is analytically.<br />

FUTURE SCOPE AND MODIFICATION<br />

Next generati<strong>on</strong> networks are designed to support adaptive<br />

multimedia services by c<strong>on</strong>trolling individual outgoing flow to<br />

increase or decrease their b<strong>and</strong>width in resp<strong>on</strong>se to changes in<br />

traffic load. So in this adaptive CAC algorithm is suggested or<br />

proposed to complement resources reservati<strong>on</strong> mechanism <strong>and</strong><br />

the ability of robust applicati<strong>on</strong>s to sustain performance<br />

fluctuati<strong>on</strong>.<br />

In order to overcome the limitati<strong>on</strong>s of scarce,<br />

highly fluctuating link b<strong>and</strong>width in wireless multimedia<br />

networks, adaptive multimedia networks has been proposed.<br />

An adaptive multimedia paradigm can play an important role<br />

in mitigating the highly varying resource availability in<br />

wireless multimedia networks.<br />

Adaptati<strong>on</strong> BW algorithm is utilized to adaptive determine the<br />

BW for call admissi<strong>on</strong> c<strong>on</strong>trol. The algorithm will be<br />

triggered whenever there is a call arrival acceptance event or a<br />

service departure event. The objective of this is to minimize<br />

NCBP , HCDP <strong>and</strong> to efficiently utilize the system resource.<br />

REFERENCES<br />

[1] P. -O. Gaasvik, M. Cornefjord, V. Svenss<strong>on</strong>, “Different<br />

methods of giving priority to h<strong>and</strong>off traffic in a mobile<br />

teleph<strong>on</strong>e system with directed retry,” 41st IEEE<br />

Vehicular Technology <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> 'Gateway to the Future<br />

Technology in Moti<strong>on</strong>’ , pp.549 -553, 1991.<br />

[2] D. H<strong>on</strong>g <strong>and</strong> S. S. Rapport, “Traffic model <strong>and</strong><br />

performance analysis for cellular mobile radioteleph<strong>on</strong>e<br />

systems with prioritized <strong>and</strong> n<strong>on</strong>prioritized h<strong>and</strong>off<br />

procedures,” IEEE Trans. Vehicular Technology, vol VT-<br />

35, pp. 77-92, Aug. 1986<br />

[3] T. Kw<strong>on</strong>; Y. Choi; C. Bisdikian, M. Naghshineh, "Call<br />

admissi<strong>on</strong> c<strong>on</strong>trol for adaptive multimedia in Simulati<strong>on</strong> time<br />

(min) wireless/mobile networks", IEEE Wireless<br />

Communicati<strong>on</strong>s <strong>and</strong> Networking <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> vol. 2, pp.<br />

540-544, 1999.<br />

[4] S. S. Rapport <strong>and</strong> C. Purzynski, “Prioritized Resource<br />

Assignment for Mobile Cellular Communicati<strong>on</strong> Systems<br />

with Mixed Services <strong>and</strong> Platform Types,” IEEE Trans.<br />

Vehicular Technology, vol. 45, no. 3, Aug. 1996.<br />

[5] B. Epstein <strong>and</strong> M. Schwartz, “Reservati<strong>on</strong> Strategies for<br />

Multimedia Traffic in a Wireless Envir<strong>on</strong>ment,” IEEE<br />

45th Vehicular Technology <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, Chicago, IL, July<br />

1995.<br />

[6] Huan Chen, Sunil Kumar, <strong>and</strong> C.-C. Jay Kuo,<br />

"Differentiated QoS Aware Priority H<strong>and</strong>off in Cell-based<br />

Multimedia Wireless Network", Electr<strong>on</strong>ic Imaging 2000,<br />

IS&T/SPIE’s 12th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Symposium, San Jose,<br />

CA, Jan. 2000.<br />

[7] M. Naghshineh <strong>and</strong> M. Schwartz, “Distributed call<br />

admissi<strong>on</strong> c<strong>on</strong>trol in mobile/wireless networks,” IEEE J.<br />

Select. Areas Commun., vol.14, pp.711-717, May 1996<br />

[8] P. Ramanathan; K. M. Sivalingam, P. Agrawal; S.<br />

Kishore, "Dynamic resource allocati<strong>on</strong> schemes during<br />

h<strong>and</strong>off for mobile multimedia wireless networks," IEEE<br />

J. Select. Areas in Commun., vol. 17, pp. 1270-1283, July<br />

1999.<br />

[9] A. S. Acampora <strong>and</strong> M. Naghshineh, “C<strong>on</strong>trol <strong>and</strong><br />

Quality of Service Provisi<strong>on</strong>ing in High-Speed Microcellular<br />

<strong>Networks</strong>,” IEEE Pers<strong>on</strong>al Communicati<strong>on</strong>s,<br />

Sec<strong>on</strong>d Quarter 1994, pp.36-43<br />

[10] Arak Sutiv<strong>on</strong>g <strong>and</strong> J<strong>on</strong> M. Peha, “Novel Heuristics for<br />

Call Admissi<strong>on</strong> C<strong>on</strong>trol in Cellular Systems,” IEEE 6th<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Universal Pers<strong>on</strong>al<br />

Communicati<strong>on</strong>s, vol.1, pp 129 -133, 1997<br />

[11] R. Ramjee, D. Towsley, <strong>and</strong> R. Nagarajan, “On optimal<br />

call admissi<strong>on</strong> c<strong>on</strong>trol in cellular networks,” Wireless<br />

<strong>Networks</strong>, vol. 3, pp. 29–41, 1997.<br />

[12] Y. Fang, I. Chlamtac, <strong>and</strong> Y. B. Lin, “Channel occupancy<br />

times <strong>and</strong> h<strong>and</strong>off rate for mobile computing <strong>and</strong> PCS<br />

networks,” IEEE Trans. Comput., vol. 47, pp. 679–692, June<br />

1998.<br />

[13] V. K. N. Lau <strong>and</strong> S. V. Maric, “Mobility of queued call<br />

requests of a new call-queueing technique for cellular<br />

systems,” IEEE Trans. Veh. Technol., vol. 47, no. 2, pp. 480–<br />

488, 1998.<br />

[14] P.V. Orlik <strong>and</strong> S. S. Rappaport, “A model for teletraffic<br />

performance <strong>and</strong> channel holding time characterizati<strong>on</strong> in<br />

wireless cellular communicati<strong>on</strong> with general sessi<strong>on</strong> <strong>and</strong><br />

dwell time distributi<strong>on</strong>s,” IEEE J. Select. Areas Commun.,<br />

vol. 16, no. 5, pp. 788–803, 1998.<br />

[15] W. Stallings,” High-Speed <strong>Networks</strong>: TCP/IP <strong>and</strong> ATM<br />

Design Principles”.<br />

Englewood Cliffs, NJ: Prentice-Hall, 1998<br />

[16] D. Grillo, R. A. Skoog, S. Chia, <strong>and</strong> K. K. Leung,<br />

“Teletraffic engineering for mobile pers<strong>on</strong>al<br />

communicati<strong>on</strong>s in ITU-T work: The need to match practice<br />

<strong>and</strong> theory,” IEEE Pers<strong>on</strong>al Commun., vol. 5, pp. 38–58, Dec.<br />

1998.<br />

[17] Y. Fang <strong>and</strong> I. Chlamtac, “Teletraffic analysis <strong>and</strong><br />

mobility modeling for PCS networks,” IEEE Trans. Commun.,<br />

vol. 47, pp. 1062–1072, July 1999.<br />

[18] E. D. Re, R. Fantacci, <strong>and</strong> G. Giambene, “H<strong>and</strong>over<br />

queueing strategies with dynamic <strong>and</strong> fixed channel allocati<strong>on</strong><br />

techniques in low earth orbit mobile satellite systems,” IEEE<br />

Trans. Commun., vol. 47, no. 1, pp. 89–102, 1999<br />

[19] C. Chang, C. J. Chang, <strong>and</strong> K. R. Lo, “Analysis of a<br />

hierarchical cellular system with reneging <strong>and</strong> dropping for<br />

waiting new calls <strong>and</strong> h<strong>and</strong>off calls,” IEEE Trans. Veh.<br />

Technol., vol. 48, no. 4, pp. 1080–1091, 1999<br />

[20] M. D. Kulavaratharasah <strong>and</strong> A. H. Aghvami, “Teletraffic<br />

performance evaluati<strong>on</strong> of microcellular pers<strong>on</strong>al<br />

communicati<strong>on</strong> networks (PCN’s) with prioritized h<strong>and</strong>off<br />

procedures,” IEEE Trans. Veh. Technol., vol. 48, no. 1, pp.<br />

137–152, 1999.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 206


A Vigorous Spanning Tree Topology for<br />

Distributed Applicati<strong>on</strong>s<br />

Ms. Smita A. Attarde 1 ,Ms. Shital K. Dhamal 2 Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract- Parallel <strong>and</strong> distributed systems may operate in an<br />

envir<strong>on</strong>ment that undergoes unpredictable changes causing<br />

certain system performance features to degrade. Therefore, for<br />

the distributed operating envir<strong>on</strong>ment, robustness is a<br />

desirable property. In this paper, a robust topology is<br />

described which is for the applicati<strong>on</strong>s that operate <strong>on</strong> a<br />

spanning tree overlay network. A proactive approach to<br />

robustness is c<strong>on</strong>sidered. This topology is capable to<br />

withst<strong>and</strong> disturbances as well as exhibit good performance.<br />

Both centralized <strong>and</strong> distributed algorithms to c<strong>on</strong>struct the<br />

topology are c<strong>on</strong>sidered. These robust spanning trees achieve<br />

a desirable trade-off for two opposing metrics where<br />

traditi<strong>on</strong>al forms of spanning trees do not.<br />

Keywords- Robustness, distributed computing, graph theory,.<br />

1. INTRODUCTION<br />

The design <strong>and</strong> implementati<strong>on</strong> of distributed computing<br />

systems has historically been carried out with performance<br />

being the dominant goal. In order to realize the benefits from<br />

performance-oriented designs, the distributed envir<strong>on</strong>ment in<br />

which the applicati<strong>on</strong> is deployed must be somewhat<br />

predictable. That is, calculati<strong>on</strong> of the optimal schedule often<br />

requires accurate <strong>and</strong> a priori knowledge of system load,<br />

communicati<strong>on</strong> latencies, <strong>and</strong> executi<strong>on</strong> times of individual<br />

tasks. With the current trend towards large-scale,<br />

geographically separated systems with shared computati<strong>on</strong>al<br />

resources, the assumpti<strong>on</strong> of exact knowledge of system<br />

parameters is unrealistic. Hence, there is a need to incorporate<br />

robustness into the design of distributed systems.<br />

Robustness is the degree to which a system can functi<strong>on</strong><br />

correctly in the presence of inputs different from those<br />

assumed [1]. A robust system c<strong>on</strong>tinues to operate across a<br />

wide range of operati<strong>on</strong>al c<strong>on</strong>diti<strong>on</strong>s [2]. Robustness,<br />

guarantees the maintenance of certain desired system<br />

characteristics despite fluctuati<strong>on</strong>s in the behavior of its<br />

comp<strong>on</strong>ent parts or its envir<strong>on</strong>ment [3]. Robust systems<br />

perform well across a wide range of operating c<strong>on</strong>diti<strong>on</strong>s <strong>and</strong><br />

exhibit graceful degradati<strong>on</strong> under anomalous c<strong>on</strong>diti<strong>on</strong>s [4].<br />

The importance of robustness in the design of complex <strong>and</strong><br />

distributed systems is well-established [5], [6].<br />

1 Lecturer, Comp. Engg. Dept. LTCE, Navi Mumbai<br />

+919987097715smitaattarde@gmail.com<br />

2 Lecturer, Comp. Engg. Dept. LTCE, Navi Mumbai<br />

+919892872002shital_kdhamal@rediffmail.com<br />

Here, the idea is to improve the robustness of a distributed<br />

system for applicati<strong>on</strong>s that operate <strong>on</strong> a spanning tree overlay<br />

network. Spanning trees are widely used in communicati<strong>on</strong><br />

networks as a means to disseminate informati<strong>on</strong> from <strong>on</strong>e<br />

node to all other nodes <strong>and</strong>/or to collect informati<strong>on</strong> at a<br />

single designated node. The defining characteristic of such<br />

spanning tree topology when compared to other types of<br />

comm<strong>on</strong>ly seen spanning trees, is that the resulting trees<br />

perform well for multiple, c<strong>on</strong>flicting metrics. Techniques<br />

such as admissi<strong>on</strong> c<strong>on</strong>trol, system introspecti<strong>on</strong>, <strong>and</strong> adaptive<br />

c<strong>on</strong>trol are suggested to achieve robustness in distributed<br />

applicati<strong>on</strong>s [1]. These techniques are all adaptive in nature.<br />

Here, a proactive approach toward robustness is taken, <strong>and</strong>,<br />

therefore, adaptati<strong>on</strong> is not required. Thus, this is most<br />

appropriate in situati<strong>on</strong>s where an immediate change in the<br />

network topology is undesirable.<br />

About Spanning Tree Topology:<br />

For many distributed applicati<strong>on</strong>s, the routing of data <strong>and</strong><br />

messages takes place <strong>on</strong> a virtual overlay network that is<br />

c<strong>on</strong>structed <strong>on</strong> top of the underlying physical network. For<br />

example, nodes in peer-to-peer systems are c<strong>on</strong>nected via the<br />

physical links in the Internet; however, a node forwards<br />

queries <strong>on</strong>ly to nodes in its own list of neighbors, thus<br />

forming an overlay network. Not surprisingly, the topology of<br />

such an overlay network plays a significant role in the<br />

performance <strong>and</strong> efficiency of the distributed system. Herein,<br />

those distributed systems are addressed, for which the overlay<br />

network is a spanning tree, i.e., a c<strong>on</strong>nected network that<br />

c<strong>on</strong>tains no cycles. Furthermore, <strong>on</strong>e particular node in the<br />

network is designated as the root node. The root node acts as a<br />

collecti<strong>on</strong> point for data (as in a sensor network) <strong>and</strong>/or as a<br />

load originati<strong>on</strong> point for the distributi<strong>on</strong> of work (as in<br />

divisible load scheduling). Nodes are identified by indices <strong>and</strong><br />

the root node is always labeled with the numeral 1.<br />

For a moderately sized network with just a few neighbors per<br />

node, there exist many possible spanning trees. For a dense<br />

network, the number is enormous. Given the numerous<br />

possibilities, the most comm<strong>on</strong>ly seen forms of spanning trees<br />

are the following:<br />

Shortest paths:<br />

The distance in edge weights of the path from each node to the<br />

root node is minimum. Such a tree is efficiently c<strong>on</strong>structed<br />

by Dijkstra’s algorithm. This method is designated as SP.<br />

Fewest hops:<br />

The distance in number of hops al<strong>on</strong>g the path from each node<br />

to the root node is minimum. This method is equivalent to SP<br />

when all edge weights are equal <strong>and</strong>, therefore, Dijkstra’s<br />

algorithm may be employed. This method is designated as FH.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 207


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Minimum weight:<br />

The total sum of edge weights is minimum. Such a tree can be<br />

c<strong>on</strong>structed by either Kruskal’s algorithm or by Prim’s<br />

algorithm [7] <strong>and</strong> does not take into c<strong>on</strong>siderati<strong>on</strong> the locati<strong>on</strong><br />

of the root node. This method is designated as MST.<br />

Spanning trees created by FH tend to be shallow <strong>and</strong> “fat,”<br />

with the average node degree being fairly large. This is<br />

because the <strong>on</strong>ly criteri<strong>on</strong> for cost is the distance in hops from<br />

the root with no c<strong>on</strong>siderati<strong>on</strong> of edge weights. FH minimizes<br />

the expected value of the amount of data loss when a node or<br />

link fails. However, it is not the best choice for other<br />

performance metrics such as power c<strong>on</strong>sumpti<strong>on</strong>. MST<br />

produces trees that are very deep <strong>and</strong> “skinny.” This is natural<br />

since the <strong>on</strong>ly criteri<strong>on</strong> is edge weight <strong>and</strong> the locati<strong>on</strong> of the<br />

root node is not taken into c<strong>on</strong>siderati<strong>on</strong>. The shape of trees<br />

produced by SP are influenced by the distributi<strong>on</strong> of edge<br />

weights, but they tend to be deeper <strong>and</strong> have smaller node<br />

degrees than FH trees. In each of the three c<strong>on</strong>structi<strong>on</strong><br />

methods above, the spanning tree that results may not be<br />

unique. Hence, a probabilistic approach is taken to compute<br />

the amount of data that is lost when nodes fail. Any two MST<br />

trees of the same underlying original graph are equivalent in<br />

the sense that they both have the same expected value for the<br />

amount of data loss.<br />

2. ROBUST SPANNING TREE TOPOLOGY<br />

In this tree topology, a method is used in which, the trees that<br />

are relatively immune to data loss when nodes or links fail,<br />

can still be able to maintain good performance. Indeed, this is<br />

the very noti<strong>on</strong> of robustness. Through analysis <strong>and</strong><br />

simulati<strong>on</strong>, it is shown that the spanning trees that perform<br />

best for different, <strong>and</strong> even opposing, metrics are c<strong>on</strong>structed<br />

by c<strong>on</strong>sidering a weighted combinati<strong>on</strong> of hop count <strong>and</strong> path<br />

weight as follows:<br />

λ x hop count + (1 - λ) x path weight (1)<br />

where 0 ≤ λ < 1.<br />

If more importance is placed <strong>on</strong> hop count, then the tree will<br />

tend to be fat <strong>and</strong> shallow. Alternatively, more importance <strong>on</strong><br />

path weight means that the tree will be skinny <strong>and</strong> deep. The<br />

type of tree that performs best depends <strong>on</strong> the metric of<br />

interest.<br />

In order to c<strong>on</strong>struct trees that perform well under a wide<br />

variety of metrics, an attempt is made to make the tree fat near<br />

the root <strong>and</strong> skinny further away from the root. The intuiti<strong>on</strong><br />

(with respect to data collecti<strong>on</strong>) is that, the further a message<br />

has to travel to reach the root node, the more likely it is to<br />

encounter a failed parent somewhere al<strong>on</strong>g the way. After a<br />

message has traveled a certain distance, the network has<br />

already “invested” resources (i.e., power <strong>and</strong> b<strong>and</strong>width) to<br />

get the message that far. When a message gets close to the<br />

root node, we want to give it the best possible chance to make<br />

it the rest of the way so that its payload will be recorded. The<br />

weight λ is really a functi<strong>on</strong> of a node’s depth in the tree.<br />

When an edge (i,j) is being c<strong>on</strong>sidered for inclusi<strong>on</strong> in the tree<br />

<strong>and</strong> i is the new vertex not already in the tree, then<br />

λ i = 1 – (h i / ε 1 ) (2)<br />

where h i is the hop count of node i from the root <strong>and</strong> ε 1 is the<br />

eccentricity of the root node.<br />

The eccentricity of a node is the largest of the shortest paths<br />

from that node to all other nodes. Eccentricity is measured in<br />

number of hops, not path weight. Alternatively, eccentricity is<br />

the depth of the deepest leaf in the SP tree. However, note that<br />

the eccentricity of a node is a characteristic of the underlying<br />

graph; it is not a property of the overlay network. Using this<br />

measure of eccentricity in (2) ensures that 0 ≤ λ i < 1 for all i.<br />

It also effects values for λ i that are close to <strong>on</strong>e when selecting<br />

nodes that are near the root <strong>and</strong> values close to zero when<br />

selecting nodes that are further from the root. This gives the<br />

desired relative importance of hop count versus path weight in<br />

(1). Two algorithms are presented for c<strong>on</strong>structing a robust<br />

spanning tree: a centralized versi<strong>on</strong> <strong>and</strong> a fully distributed<br />

versi<strong>on</strong>.<br />

2.1 A Centralized Algorithm<br />

The centralized algorithm is appropriate in situati<strong>on</strong>s where<br />

the node <strong>on</strong> which the algorithm runs has full knowledge of<br />

the nodes <strong>and</strong> link speeds in the underlying network. This<br />

algorithm is based <strong>on</strong> Prim’s algorithm for c<strong>on</strong>structing MST.<br />

Prim’s algorithm begins with a single node (the root node in<br />

this case) <strong>and</strong>, at each iterati<strong>on</strong>, the cheapest edge that<br />

incorporates a new vertex is selected for inclusi<strong>on</strong> in the tree.<br />

For MST, the cheapest edge is simply the <strong>on</strong>e with the<br />

smallest edge weight (ties may be broken r<strong>and</strong>omly). In this<br />

algorithm, the cheapest edge is computed as in (1).<br />

Algorithm 1: A centralized algorithm<br />

Data : graph G = {V,E} with edge weights z i,j<br />

compute the eccentricity of the root node ε 1 ;<br />

initialize the tree with the root node <strong>on</strong>ly;<br />

while there are still vertices not yet added to the tree do<br />

for every vertex i not in the tree do<br />

compute λ i = 1 – (h i / ε 1 );<br />

compute ξi = λ i x h i + (1 - λ i ) x (ξ j + z i,j );<br />

store the minimum cost found so far;<br />

end<br />

add the vertex i al<strong>on</strong>g edge (i,j) that achieves the<br />

minimum cost;<br />

end<br />

2.2 A Distributed Algorithm<br />

For some applicati<strong>on</strong>s, it is unrealistic to assume that any<br />

single node will have complete knowledge of the network. For<br />

such applicati<strong>on</strong>s, a distributed algorithm is required wherein<br />

each node runs the same algorithm <strong>and</strong> the tree is c<strong>on</strong>structed<br />

after each node exchanges a series of messages with its<br />

neighbors. The well-known Bellman Ford algorithm can be<br />

used in this manner to c<strong>on</strong>struct SP <strong>and</strong> FH trees. To illustrate<br />

the effect of this algorithm, Fig. 1 shows the results of the four<br />

different c<strong>on</strong>structi<strong>on</strong> methods that has been discussed. The<br />

underlying graph for this figure is a 100-node r<strong>and</strong>om graph<br />

wherein each node has between 20 <strong>and</strong> 30 neighbors,<br />

uniformly distributed. The edge weights are uniformly<br />

distributed between .1 <strong>and</strong> 10.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 208


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 2 shows a small sensor network that c<strong>on</strong>sists of seven<br />

nodes. An edge between two nodes indicates that they<br />

Fig. 2. A small sensor network.<br />

can communicate directly. The edge weight is the amount of<br />

power required to transmit a single message between the two<br />

nodes. A larger weight indicates a greater distance or an<br />

obstructi<strong>on</strong>. Node 1 is the root node. It is the collecti<strong>on</strong> point<br />

to which all other nodes must route their data.<br />

Fig. 1. Spanning trees c<strong>on</strong>structed from a 100-node r<strong>and</strong>om<br />

graph. The node degrees of the original underlying graph are<br />

distributed uniformly between 20 <strong>and</strong> 30 neighbors. Fig. 1d is<br />

the spanning tree c<strong>on</strong>structed by Algorithm 1. All nodes are<br />

just a few hops from the root, which allows shorter paths for<br />

data transmissi<strong>on</strong> than the SP <strong>and</strong> MST trees of Figs. 1a <strong>and</strong><br />

1c, respectively. In additi<strong>on</strong>, the relatively low number of<br />

highly c<strong>on</strong>nected nodes means that there is less chance of<br />

massive data loss as compared to the fewest hops spanning<br />

tree of Fig. 1b. (a) SP. (b) FH. (c) MST. (d) RB.<br />

Fig. 1d shows the robust spanning tree from our distributed<br />

algorithm. It is closest in form to the FH spanning tree shown<br />

in Fig. 1b; however, the distributi<strong>on</strong> of node degrees is not as<br />

heavy tailed as in FH. Hence, the failure of any particular<br />

node will not result in as much disrupti<strong>on</strong> to the network as<br />

the loss of a highly c<strong>on</strong>nected node in the FH tree. The RB<br />

tree in Fig. 1d was c<strong>on</strong>structed using the centralized<br />

algorithm. Both versi<strong>on</strong>s of the algorithm are heuristic in<br />

nature. They do not necessarily produce the exact same tree;<br />

however, they do produce trees with the same properties since<br />

they both use exactly the same cost functi<strong>on</strong>.<br />

3. Applicati<strong>on</strong> to Sensor <strong>Networks</strong><br />

Several different applicati<strong>on</strong> areas are now employing<br />

wireless sensor networks [8], [9], [10]. The model of data<br />

flow in such systems is many-to-<strong>on</strong>e, which naturally<br />

corresp<strong>on</strong>ds to a spanning tree topology. Messages are<br />

forwarded up the tree from child to parent to the root node<br />

which is typically c<strong>on</strong>nected to a storage device <strong>and</strong>/or a<br />

wired network. The overlay network up<strong>on</strong> which data is<br />

routed affects both the fault tolerance <strong>and</strong> the l<strong>on</strong>gevity (via<br />

battery life) of the system [11]. In this regard, the primary<br />

characteristics are the distributi<strong>on</strong> of node degrees <strong>and</strong> the<br />

depth of the tree. In general, nodes that transmit over l<strong>on</strong>ger<br />

distances or through obstructi<strong>on</strong>s c<strong>on</strong>sume more power.<br />

Fig. 3. Spanning trees of the sensor network of Fig. 2. (a) SP.<br />

(b) FH. (c) RB.<br />

The SP, FH, <strong>and</strong> RB spanning trees for this network are<br />

shown in Fig. 3. In this case, the MST tree happens to be the<br />

same as the SP tree. In the next two secti<strong>on</strong>s, metrics for data<br />

loss <strong>and</strong> power c<strong>on</strong>sumpti<strong>on</strong> are defined. Using these metrics,<br />

the robust spanning tree topology RB is compared with the<br />

SP, FH, <strong>and</strong> MST topologies.<br />

3.1 Expected Data Loss<br />

C<strong>on</strong>sider a tree T with vertex set V(T) <strong>and</strong> edge set E(T). Let<br />

m i be the number of nodes in the subtree rooted at node i<br />

(including node i itself) <strong>and</strong> let q i be the probability that node i<br />

will fail. Then, the expected value of data loss L given that<br />

exactly <strong>on</strong>e node fails is<br />

where<br />

(4)<br />

It is assumed that all nodes have an equal probability of<br />

failure. The expected value of data loss then becomes<br />

E {L | exactly <strong>on</strong>e node fails with equal probabilities}<br />

(5)<br />

(3)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 209


Proceedings of ICCNS 08 , 27-28 September 2008<br />

where n = |V{G}| is the number of nodes in the graph. Using<br />

(5), the expected data loss of the spanning tree in Fig. 3a is<br />

E{L} = 1/6 (6 + 1 + 2 + 1 + 1 + 1) = 2.0. (6)<br />

Similarly, for Fig. 3b, E{L} = 1.5, <strong>and</strong> for Fig. 3c, E{L} =<br />

1.667. In this case, the FH spanning tree admits the smallest<br />

value for expected data loss. This is intuitive since the depth<br />

of the tree is as small as possible.<br />

3.2 Power C<strong>on</strong>sumpti<strong>on</strong><br />

Nodes c<strong>on</strong>sume power when they transmit <strong>and</strong> receive data.<br />

More power is required to transmit <strong>and</strong> receive over l<strong>on</strong>ger<br />

distances <strong>and</strong> through obstructi<strong>on</strong>s. Let m i be the number of<br />

nodes in the subtree rooted at node i <strong>and</strong> z i,j be the weight <strong>on</strong><br />

the link from node i to its parent node j. Then, the total<br />

network power P required to collect a single data observati<strong>on</strong><br />

is<br />

(7)<br />

Using the spanning trees of Fig. 3 to illustrate the calculati<strong>on</strong>,<br />

the total network power for the SP tree of Fig. 3a is (going<br />

breadth-first through the tree)<br />

P = (6 x 1) + (1 x 1) + (2 x 2) + (1 x 1) + (1 x 1) + (1 x 1) =<br />

14 (8)<br />

Similarly, P for the FH tree of Fig. 3b is 17, <strong>and</strong> P for the<br />

robust tree of Fig. 3c is 16. It can be shown that SP trees will<br />

admit the minimal values for P. This is natural since the<br />

weights <strong>on</strong> the paths to the root node are smallest. Now, the<br />

trade-off between expected data loss <strong>and</strong> power c<strong>on</strong>sumpti<strong>on</strong><br />

can be seen. At <strong>on</strong>e end of the spectrum, SP trees use low<br />

power, but expose the network to greater possibilities of data<br />

loss when nodes fail. At the other end, FH trees minimize<br />

expected data loss, but c<strong>on</strong>sume more power <strong>on</strong> the whole.<br />

5.3 Simulati<strong>on</strong> <strong>and</strong> Results for R<strong>and</strong>omly Generated<br />

<strong>Networks</strong><br />

Using the metrics that are defined for expected data loss <strong>and</strong><br />

power c<strong>on</strong>sumpti<strong>on</strong>, now the performance <strong>and</strong> robustness of<br />

different spanning trees is evaluated via simulati<strong>on</strong> <strong>on</strong> three<br />

categories of r<strong>and</strong>omly generated networks. The three<br />

categories are: Sparse: Each node has between 1 <strong>and</strong> 10<br />

neighbors; Medium: Each node has between 20 <strong>and</strong> 30<br />

neighbors; Dense: Each node has between 40 <strong>and</strong> 50<br />

neighbors. The number of neighbors is uniformly distributed<br />

in the respective ranges. For each category, 100 r<strong>and</strong>om<br />

graphs are generated using the method <strong>and</strong> software described<br />

in [12]. The edge weights for all three categories were<br />

uniformly distributed between 0.1 <strong>and</strong> 10. For each of the<br />

three categories, the data loss <strong>and</strong> power c<strong>on</strong>sumpti<strong>on</strong> metrics<br />

presented in the previous secti<strong>on</strong>s were computed for each of<br />

the 100 r<strong>and</strong>omly generated graphs.<br />

Fig. 4. Expected data loss results <strong>on</strong> r<strong>and</strong>omly generated<br />

networks.<br />

As shown in Fig. 4, with respect to data loss, the RB trees<br />

perform quite well. However, the real benefit of the RB<br />

method comes from the combinati<strong>on</strong> of low data loss <strong>and</strong><br />

relatively low power c<strong>on</strong>sumpti<strong>on</strong>. This can be seen in the<br />

results for network power c<strong>on</strong>sumed <strong>and</strong> the maximum power<br />

used by any <strong>on</strong>e node, as shown in Figs. 5a <strong>and</strong> 5b,<br />

respectively.<br />

4. APPLICATION TO DIVISIBLE LOAD SCHEDULING<br />

Divisible Load Scheduling (DLS) is the process of<br />

simultaneously scheduling the data <strong>and</strong> computati<strong>on</strong>s of a data<br />

parallel applicati<strong>on</strong> <strong>on</strong>to multiple processors. In the basic<br />

versi<strong>on</strong> of the problem, the data originates at a single<br />

processor (the root node) <strong>and</strong> the objective is to assign each<br />

processor an amount of data such that the total time to<br />

transmit <strong>and</strong> process all of the data (the makespan) is<br />

minimized. Thus, the flow of data is reversed when compared<br />

to the data collecti<strong>on</strong> operati<strong>on</strong> of sensor networks. To solve<br />

the DLS problem, a technique is used which distributes the<br />

data <strong>on</strong>to a spanning tree of the underlying network [13].<br />

4.1 Tree-Based Soluti<strong>on</strong>s<br />

A technique called RAOLD-OS (Resource Aware Optimal<br />

Load Distributi<strong>on</strong> with Optimal Sequencing), is used for<br />

allocating divisible loads to processors in arbitrary networks.<br />

This method generates a minimum-weight spanning tree<br />

(MST) <strong>on</strong> the arbitrary network <strong>and</strong> then solves the DLS<br />

problem <strong>on</strong> that tree. The principle of optimality in the DLS<br />

literature states that, in the optimal allocati<strong>on</strong> of load, all<br />

processors must stop executing at the same time instant [14].<br />

Otherwise, some processor will be idle <strong>and</strong> could have<br />

accepted more load, thus reducing load <strong>on</strong> other processors<br />

<strong>and</strong> shortening the makespan.<br />

C<strong>on</strong>structing a spanning tree overlay network <strong>on</strong> an arbitrarily<br />

complex architecture is a natural approach to<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 210


Proceedings of ICCNS 08 , 27-28 September 2008<br />

show the best performance in terms of makespan. However,<br />

the RB spanning trees exhibit the sec<strong>on</strong>d-best makespan<br />

values <strong>and</strong> it is seen in the next secti<strong>on</strong> that this performance,<br />

combined with their robustness to network disrupti<strong>on</strong>s, makes<br />

them very attractive c<strong>and</strong>idates <strong>on</strong> which to solve the DLS<br />

problem.<br />

Fig. 6. An example network for the DLS problem.<br />

Fig. 5. Power c<strong>on</strong>sumpti<strong>on</strong> results <strong>on</strong> r<strong>and</strong>omly generated<br />

networks. (a) Network power. (b) Max power.<br />

simplifying the problem. So, given an arbitrary network, the<br />

optimal soluti<strong>on</strong> to the DLS problem occurs <strong>on</strong> a spanning<br />

tree [15]. Furthermore, the RAOLD-OS procedure finds the<br />

optimal soluti<strong>on</strong> for the particular spanning tree <strong>on</strong> which it is<br />

executed [13]. Here, the optimality criteri<strong>on</strong> is not addressed<br />

directly, but rather, our goal is to identify spanning trees that<br />

are easy to c<strong>on</strong>struct <strong>and</strong> that exhibit qualities of fast<br />

processing time <strong>and</strong> robustness to network disrupti<strong>on</strong>s. The<br />

spanning trees generated by the centralized Algorithm satisfy<br />

this goal.<br />

C<strong>on</strong>sider examining the optimal soluti<strong>on</strong>s for the example<br />

network in Fig. 6 <strong>and</strong> its associated spanning trees in Fig. 8<br />

when there is no disrupti<strong>on</strong> to the network. That is, all<br />

transmissi<strong>on</strong> links <strong>and</strong> processors operate at their prescribed<br />

speeds. For this example, all processors operate at the same<br />

speed of ω = 1.<br />

Node 1 is the load originati<strong>on</strong> point <strong>and</strong> the total amount of<br />

workload to be transmitted <strong>and</strong> processed is L = 1,000. The<br />

percentage of the total load assigned to processor i is α i .<br />

Naturally, all of the load allocati<strong>on</strong> percentages must sum to<br />

<strong>on</strong>e. For most DLS problems <strong>on</strong> arbitrary networks, SP admits<br />

the smallest makespan. However, the network of Fig. 6 serves<br />

as an example that this is not always the case.<br />

The optimal load allocati<strong>on</strong>s <strong>and</strong> makespans listed in Table 1<br />

show that FH <strong>and</strong> RB give smaller makespan values. Fig. 8<br />

shows more comprehensive results for solving the DLS<br />

problem <strong>on</strong> two sets of r<strong>and</strong>omly generated networks:<br />

medium-density <strong>and</strong> dense. The results for sparse networks<br />

are not shown because the performance of all spanning trees<br />

was approximately the same. As indicated earlier, SP trees<br />

Fig. 7. Spanning trees of the network in Fig. 6. (a) SP. (b) FH.<br />

(c) RB.<br />

4.2 Transmissi<strong>on</strong> Delay<br />

Similar to the way we measured data loss for sensor networks,<br />

a probabilistic approach is taken to measure transmissi<strong>on</strong><br />

delay for the DLS problem. Let z i,j be the inverse speed of the<br />

link from node i to node j. The units of z i,j are sec<strong>on</strong>ds per unit<br />

of work <strong>and</strong> hence smaller values indicate faster transmissi<strong>on</strong><br />

speeds. T cm is the time to transmit a st<strong>and</strong>ard unit of workload.<br />

Now, the expected transmissi<strong>on</strong> delay is computed that would<br />

occur if a link (i,j) exhibits c<strong>on</strong>gesti<strong>on</strong> <strong>and</strong> its b<strong>and</strong>width is<br />

reduced to a certain percentage of its full capacity, specified<br />

by k, where 0 < k ≤ 1.<br />

TABLE 1<br />

Optimal Load Allocati<strong>on</strong> Percentages for the Network of Fig.<br />

6<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 211


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 8. Average finish time (or makespan) for the DLS<br />

problem <strong>on</strong><br />

r<strong>and</strong>omly generated networks.<br />

Let x i,j be the total amount of workload transmitted <strong>on</strong> link<br />

(i,j). Let q i,j be the probability that link (i,j) exhibits the<br />

performance degradati<strong>on</strong> specified by k. Then, the expected<br />

value of the total amount of transmissi<strong>on</strong> delay D is<br />

(8)<br />

where the summati<strong>on</strong> is over all links in the tree T. Equati<strong>on</strong><br />

(17) is used to compare the robustness of the spanning trees in<br />

Fig. 7 <strong>and</strong> a single link c<strong>on</strong>gesti<strong>on</strong> in the amount k = .50.<br />

Recall that we do not know in advance exactly which link will<br />

be c<strong>on</strong>gested, so, for this example, it is assumed that all links<br />

have an equal probability of being c<strong>on</strong>gested, i.e., q i,j = 1/6 for<br />

all links (i,j) in the spanning tree. For the spanning tree of Fig.<br />

7a, setting all processor speeds ω i = 1, L = 1,000, T cm = 1, <strong>and</strong><br />

factoring the c<strong>on</strong>stant terms gives<br />

E{D| single link c<strong>on</strong>gesti<strong>on</strong>, k = .50} =<br />

(9)<br />

The same parameters for the FH spanning tree of Fig. 7b give<br />

E{D}= 74.1 <strong>and</strong>, for the RB spanning tree of Fig. 7c, give<br />

E{D} = 71.0. SP (which happens to be the same as MST in<br />

this small example), which shows the greatest robustness to<br />

link c<strong>on</strong>gesti<strong>on</strong>. Fig. 10a shows the results of expected<br />

transmissi<strong>on</strong> delay for the two sets of r<strong>and</strong>omly generated<br />

networks. RB <strong>and</strong> MST are the most robust, with MST being<br />

slightly better for medium-density networks <strong>and</strong> RB being<br />

slightly better for dense networks. For both categories of<br />

network density, RB shows more robustness than SP to link<br />

delay. Thus, it is seen that the RB spanning trees of the<br />

centralized Algorithm again achieve a desirable trade-off:<br />

acceptable performance <strong>and</strong> very good robustness to link<br />

c<strong>on</strong>gesti<strong>on</strong>.<br />

5. CONCLUSION<br />

Robustness is an important property for distributed computing<br />

systems. These systems are subject to resource c<strong>on</strong>tenti<strong>on</strong> <strong>and</strong>,<br />

hence, node failures <strong>and</strong> transmissi<strong>on</strong> delays are comm<strong>on</strong><br />

enough to warrant their c<strong>on</strong>siderati<strong>on</strong> in system design. This is<br />

especially true when the applicati<strong>on</strong> designer has some c<strong>on</strong>trol<br />

over the manner in which data is routed <strong>and</strong> computati<strong>on</strong>s are<br />

performed, such as the choice of topology for an overlay<br />

network. In this work, we presented a methodology for<br />

c<strong>on</strong>structing a spanning tree overlay network that exhibits<br />

robustness to network disturbances. The c<strong>on</strong>structi<strong>on</strong><br />

technique employs a weighted formula for hop count <strong>and</strong> path<br />

weight that changes the relative importance as the distance<br />

from the root node changes. This results in trees that perform<br />

well for a wide variety of metrics. When compared to the most<br />

comm<strong>on</strong> forms of spanning trees, our robust trees are closest<br />

in appearance to fewest-hops spanning trees. To c<strong>on</strong>struct<br />

such a topology, we presented both centralized <strong>and</strong> fully<br />

distributed versi<strong>on</strong>s of the algorithm.<br />

6. REFERENCES<br />

[1] S.D. Gribble, “Robustness in Complex Systems,” Proc. IEEE<br />

Eighth Workshop Hot Topics in Operating Systems, pp. 21-26, May<br />

2001.<br />

[2] D. Engl<strong>and</strong>, J. Weissman, <strong>and</strong> J. Sadagopan, “A New Metric for<br />

Robustness with Applicati<strong>on</strong> to Job Scheduling,” IEEE Int’l Symp.<br />

High Performance Distributed Computing (HPDC-14 ’05), July<br />

2005.<br />

[3] D. Oppenheimer, V. Vatkovskiy, <strong>and</strong> D.A. Patters<strong>on</strong>, “Towards a<br />

Framework for Automated Robustness Evaluati<strong>on</strong> of Distributed<br />

Services,” S.O.S. Survivability: Obstacles <strong>and</strong> Soluti<strong>on</strong>s, Proc.<br />

Sec<strong>on</strong>d Bertinoro Workshop Future Directi<strong>on</strong>s in Distributed<br />

Computing (FuDiCo II), June 2004.<br />

[4] M. Aldana <strong>and</strong> P. Cluzel, “A Natural Class of Robust <strong>Networks</strong>,”<br />

Proc. Nat’l Academy of Sciences of the United States of Am., vol.<br />

100, pp. 8710-8714, July 2003.<br />

[5] R. Albert, H. Je<strong>on</strong>g, <strong>and</strong> A.L. Baraba´si, “Error <strong>and</strong> Attack<br />

Tolerance of Complex <strong>Networks</strong>,” Nature, vol. 406, pp. 378-382,<br />

July 2000.<br />

[6] J.M. Carls<strong>on</strong> <strong>and</strong> J. Doyle, “Highly Optimized Tolerance:<br />

Robustness <strong>and</strong> Design in Complex Systems,” Physical Rev.<br />

Letters, vol. 84, pp. 2529-2532, 2000.<br />

[7] D.B. West, Introducti<strong>on</strong> to Graph Theory, sec<strong>on</strong>d ed. Prentice<br />

Hall, 2001.<br />

[8] D. Ganesan et al., “Large-Scale Network Discovery: Design<br />

Tradeoffs in Wireless Sensor Systems,” Proc. Symp. Operating<br />

Systems Principles (SOSP ’01), Oct. 2001.<br />

[9] I.F. Akyildiz et al., “A Survey <strong>on</strong> Sensor <strong>Networks</strong>,” IEEE<br />

Comm. Magazine, vol. 40, no. 8, pp. 102-116, Aug. 2002.<br />

[10] K. Sohrabi et al., “Protocols for Self-Organizati<strong>on</strong> of a Wireless<br />

Sensor Network,” IEEE Pers<strong>on</strong>al Comm., pp. 16-27, Oct. 2000.<br />

[11] P. Santi, “Topology C<strong>on</strong>trol in Wireless Ad Hoc <strong>and</strong> Sensor<br />

<strong>Networks</strong>,” ACM Computing Surveys, vol. 37, no. 2, pp. 164-194,<br />

June 2005.<br />

[12] F. Viger <strong>and</strong> M. Latapy, “Efficient <strong>and</strong> Simple Generati<strong>on</strong> of<br />

R<strong>and</strong>om Simple C<strong>on</strong>nected Graphs with Prescribed Degree<br />

Sequence,” Proc. 11th Int’l Computing <strong>and</strong> Combinatorics C<strong>on</strong>f.,<br />

Aug. 2005.<br />

[13] J. Yao <strong>and</strong> B. Veeravalli, “Design <strong>and</strong> Performance Analysis of<br />

Divisible Load Scheduling Strategies <strong>on</strong> Arbitrary Graphs,”<br />

Computing, vol. 7, no. 2, pp. 191-207, 2004.<br />

[14] V. Bharadwaj et al., Scheduling Divisible Loads in Parallel <strong>and</strong><br />

Distributed Systems. IEEE CS Press, 1996.<br />

[15] D. Engl<strong>and</strong>, “Robust Design for Distributed Computing<br />

Systems,” PhD dissertati<strong>on</strong>, Dept. of <strong>Computer</strong> Science <strong>and</strong> Eng.,<br />

Univ. of Minnesota, Twin Cities, June 2006.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 212


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Hybrid Chaining Scheme for Video-<strong>on</strong>-Dem<strong>and</strong><br />

Applicati<strong>on</strong>s Based <strong>on</strong> Popularity<br />

R. Roopalakshmi, R. Ashok Kumar<br />

Abstract—A true Video-<strong>on</strong>-Dem<strong>and</strong> (VoD) service, specifies the<br />

transmissi<strong>on</strong> of a dedicated video stream from a video server to the<br />

subscribed user. In proxy assisted transmissi<strong>on</strong> schemes, although it<br />

reduces load <strong>on</strong> server <strong>and</strong> increases network efficiency, but when<br />

scalability of network increases, server faces significant efficiency<br />

degradati<strong>on</strong>s. In this paper, we propose a new popularity based<br />

chaining approach, which allows the clients to serve video streams to<br />

other clients, by means of unicasting. In this way more clients can be<br />

chained together. This hybrid scheme results in: (1) Increase in<br />

servicing capability of a proxy server, (2) Makes good use of clients<br />

uplink b<strong>and</strong>width. (3) Optimum utilizati<strong>on</strong> of proxy server resources<br />

<strong>and</strong> also (4) To provide fast <strong>and</strong> better video streaming service. Our<br />

simulati<strong>on</strong> results show that, the utilizati<strong>on</strong> of proxy server resources<br />

using proposed hybrid scheme are much lower than those of existing<br />

chaining scheme. This hybrid scheme is easily deployable <strong>and</strong> cost –<br />

effective, in terms of minimizing the rejecti<strong>on</strong> rate of movie requests.<br />

Keywords— Chaining, proxy caching, streaming, video-<strong>on</strong>-dem<strong>and</strong>.<br />

I.INTRODUCTION<br />

The primary challenges of VoD Applicati<strong>on</strong> are,<br />

To enable efficient transmissi<strong>on</strong>, by making<br />

minimum use of network resources & video servers.<br />

To provide scalability, by accommodating huge<br />

number of clients <strong>and</strong><br />

On – dem<strong>and</strong> delivery of movie files with low<br />

latencies.<br />

In all VoD applicati<strong>on</strong>s, transmissi<strong>on</strong> b<strong>and</strong>width of server<br />

<strong>and</strong> network b<strong>and</strong>width are significant factors, <strong>and</strong> restrict<br />

service scale of given network. Different multicast based<br />

approaches such as Batching [1], Patching [2] techniques have<br />

been proposed. An alternative to multicast based approaches is<br />

proxy based approaches, in which proxy servers are placed<br />

between video servers <strong>and</strong> client systems. Proxy caching was<br />

originally proposed for WWW (World Wide Web), <strong>and</strong> now it<br />

is widely deployed. The proxy server is a small size video<br />

server caches <strong>and</strong> c<strong>on</strong>trols the video stream. The proxy based<br />

schemes save network & server b<strong>and</strong>width, balance network<br />

load, reduce network latency <strong>and</strong> provide better c<strong>on</strong>tent<br />

availability. These features make proxy based schemes to be<br />

widely useful in c<strong>on</strong>text of video streaming. Even in proxy<br />

based schemes [3], [4], [10], <strong>and</strong> [11] the proxies suffer due to<br />

the given problems,<br />

R. Roopalakshmi is with B.M.S. College of Engineering, Bangalore,<br />

560019, under Visvesvaraya Technological University, INDIA (ph<strong>on</strong>e: 99722<br />

46013; fax: 91-80-8362393; e-mail: roopalakshmi@ bmsce.ac.in, r_roopalakshmi@hotmail.com).<br />

R. Ashok Kumar is with VIT University, Vellore, INDIA. (e-mail: rak_bms@hotmail.com).<br />

<br />

<br />

<br />

Proxies can cache <strong>on</strong>ly limited movie files at any<br />

instant of time, because of significant larger size of<br />

movie files, compared with typical text files.<br />

Since caching at proxies is limited, it leads to<br />

redirecti<strong>on</strong> of more requests to central server.<br />

Servicing of requests by a proxy is mainly influenced<br />

by the servicing capability of given proxy server.<br />

To address above problems, different chaining schemes have<br />

been proposed. The main idea of all these chaining approaches<br />

is, different clients requesting same movie can be chained<br />

together <strong>and</strong> can be served using single server stream. In<br />

Extended chaining [5] scheme, given client buffer is used as a<br />

backward buffer or backward bridge for succeeding client in<br />

the given video chain. In this scheme, the video chain breaks,<br />

when the backward buffer is smaller than the playback gap<br />

between two c<strong>on</strong>secutive clients, requesting same movie. To<br />

solve this problem Chen et al. [6] introduced an Adaptive<br />

chaining scheme uses two–way bridging technique, by<br />

utilizing both forward & backward client buffers. In this<br />

scheme, unused fragments or segments of client buffers cannot<br />

be used. To address this problem, Te-Chou Su et al. [7]<br />

presented a new technique Optimal Chaining, which utilizes<br />

two way bridging <strong>and</strong> also allows usage of buffers of other<br />

clients. P-Chaining [8] scheme, mainly focuses <strong>on</strong> reducing<br />

the server overhead of VCR operati<strong>on</strong>s. When the server<br />

receives a new service request, it sends the client the partial<br />

list of c<strong>and</strong>idate nodes playing the dem<strong>and</strong>ed video object.<br />

The client selects <strong>on</strong>e of them as a server node instead of the<br />

server. Then, when the client is forced to change its server<br />

node because of VCR operati<strong>on</strong>s by itself or its server node, it<br />

does not c<strong>on</strong>tact the server but selects another server node<br />

from its local c<strong>and</strong>idate node list. The client requests a new<br />

c<strong>and</strong>idate node list from the server when no nodes in the<br />

current list are available. If there is no c<strong>and</strong>idate node in the<br />

new server list, the server provides the service directly. In this<br />

way, P-chaining reduces significant overhead in server<br />

workload, but still popularity of movies <strong>and</strong> distance<br />

informati<strong>on</strong> about clients are not discussed. In practical<br />

situati<strong>on</strong>s, in most of the VoD based applicati<strong>on</strong>s, the<br />

popularity of given movie can be a significant factor for its<br />

transmissi<strong>on</strong>. This paper presents an approach, which<br />

implements chaining operati<strong>on</strong> by c<strong>on</strong>sidering the popularity<br />

of movies <strong>and</strong> distance informati<strong>on</strong>.<br />

The rest of this paper is organized as follows –<br />

Secti<strong>on</strong> II explains proposed approach <strong>and</strong> algorithm, Secti<strong>on</strong><br />

III presents simulati<strong>on</strong> scenario of given approach, Secti<strong>on</strong> IV<br />

presents results <strong>and</strong> discussi<strong>on</strong> <strong>and</strong> Secti<strong>on</strong> V presents<br />

c<strong>on</strong>clusi<strong>on</strong> <strong>and</strong> future enhancements of given approach.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 213


Proceedings of ICCNS 08 , 27-28 September 2008<br />

II. PROPOSED APPROACH & ALGORITHM<br />

The proposed VoD system is given in Fig. (1). This<br />

VoD system includes three different hierarchy levels, top level<br />

hierarchy is the central multimedia server, stores <strong>and</strong><br />

maintains the entire collecti<strong>on</strong> of movies. This central<br />

multimedia server is c<strong>on</strong>nected to group of proxy servers.<br />

Each proxy server is c<strong>on</strong>nected to limited number of regi<strong>on</strong>s,<br />

where each regi<strong>on</strong> in turn includes group of end users or client<br />

systems. Within every regi<strong>on</strong> the clients are c<strong>on</strong>nected to each<br />

other by means of point–to-point links. The architecture of<br />

server <strong>and</strong> client modules are shown in Fig. (2).The central<br />

multimedia server c<strong>on</strong>tains multimedia database, multimedia<br />

distributi<strong>on</strong> c<strong>on</strong>troller, <strong>and</strong> video profile. The proxy server<br />

c<strong>on</strong>tains request h<strong>and</strong>ler, video buffer, video streaming<br />

c<strong>on</strong>troller, cache module, proxy navigati<strong>on</strong> module, chaining<br />

c<strong>on</strong>troller, <strong>and</strong> popularity agent. The client system c<strong>on</strong>tains<br />

display module, client video buffer <strong>and</strong> chaining agent. The<br />

functi<strong>on</strong>alities of these comp<strong>on</strong>ents can be explained as<br />

follows:<br />

Video Profile: This profile c<strong>on</strong>tains all movie details, present<br />

in central multimedia server. The movie details like movie id,<br />

movie size, movie durati<strong>on</strong> etc., are stored in video profile.<br />

Multimedia Database: The whole collecti<strong>on</strong> of movies of<br />

central multimedia server is stored <strong>and</strong> maintained in this<br />

multimedia database.<br />

Fig. (1) Video-<strong>on</strong>-Dem<strong>and</strong> System<br />

Fig. (2) Architecture of Server <strong>and</strong> Client modules<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 214


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Multimedia Distributi<strong>on</strong> C<strong>on</strong>troller: This distributi<strong>on</strong><br />

c<strong>on</strong>troller c<strong>on</strong>tains details about all clients, <strong>and</strong> all proxy<br />

servers c<strong>on</strong>nected to it. The movie requests from proxy servers<br />

are h<strong>and</strong>led by this distributi<strong>on</strong> c<strong>on</strong>troller.<br />

Request H<strong>and</strong>ler: This h<strong>and</strong>les clients movie requests. When<br />

a client makes movie request, request h<strong>and</strong>ler checks<br />

authorizati<strong>on</strong> of given client, by means of verifying login <strong>and</strong><br />

subscripti<strong>on</strong> details of given client.<br />

Video Streaming C<strong>on</strong>troller: When a movie request comes,<br />

video streaming c<strong>on</strong>troller checks the existence of requested<br />

movie in video buffer. In case of existence of requested movie<br />

in video buffer, video streaming c<strong>on</strong>troller intimates chaining<br />

c<strong>on</strong>troller to proceed with chaining operati<strong>on</strong>. In case of<br />

absence of movie in video buffer, video streaming c<strong>on</strong>troller<br />

c<strong>on</strong>tacts proxy navigati<strong>on</strong> module, in order to search for<br />

requested movie am<strong>on</strong>g its nearest proxies. When popularity<br />

of a movie falls below the threshold value, video streaming<br />

c<strong>on</strong>troller deletes given movie from video buffer.<br />

Cache Module: In the absence of requested movie in video<br />

buffer, video streaming c<strong>on</strong>troller initiates cache module.<br />

Cache module caches or gets requested movie from central<br />

multimedia server <strong>and</strong> stores the movie in video buffer.<br />

Chaining C<strong>on</strong>troller: chaining c<strong>on</strong>troller maintains given<br />

two different lists of clients, <strong>and</strong> periodically updates them,<br />

<br />

Active Clients List - This list c<strong>on</strong>tains movie requests<br />

details, currently serviced by a proxy server. Each<br />

entry in this list includes, requested movie_ id,<br />

requested client_ id, regi<strong>on</strong>_id, popularity of given<br />

movie file <strong>and</strong> status of given streaming operati<strong>on</strong>.<br />

Passive Clients List - This list c<strong>on</strong>tains movie<br />

requests details, already serviced by the given proxy<br />

server. Each entry in this list includes, requested<br />

movie_ id, requested client _ id, regi<strong>on</strong> _ id,<br />

popularity of given movie file <strong>and</strong> time stamp details.<br />

Popularity Agent: This agent uses number of hits vs. time<br />

durati<strong>on</strong> metric, <strong>and</strong> calculates popularity of movie files.<br />

Based up<strong>on</strong> hit ratio, popularity agent periodically updates<br />

popularity of movies <strong>and</strong> intimates modified popularity of<br />

movies to all clients. When popularity of a movie file falls<br />

below the threshold value, popularity agent c<strong>on</strong>tacts video<br />

streaming c<strong>on</strong>troller.<br />

Video Buffer: In our implementati<strong>on</strong>, video buffer is the<br />

database of proxy server <strong>and</strong> c<strong>on</strong>tains all movies received<br />

from central multimedia server. When popularity of a movie<br />

falls below the threshold value, the given movie file is<br />

removed from video buffer.<br />

Proxy Navigati<strong>on</strong> Module: In the absence of requested<br />

movie in video buffer, video streaming c<strong>on</strong>troller c<strong>on</strong>tacts<br />

proxy navigati<strong>on</strong> module. This module initiates searching<br />

operati<strong>on</strong>, to search requested movie in its nearest proxies.<br />

Display Module: This module c<strong>on</strong>trols <strong>and</strong> plays back movie,<br />

received from proxy server or from other clients.<br />

Client Video Buffer: All movies of a client are stored in this<br />

video buffer .Client system periodically checks {Popularity,<br />

Time stamp} details for every movie file stored in its video<br />

buffer <strong>and</strong> updates popularity of movies .Whenever popularity<br />

of any movie falls below the threshold value, then the movie<br />

removed from client video buffer.<br />

Chaining Agent: This agent is the main c<strong>on</strong>troller of chaining<br />

operati<strong>on</strong> at the client machine <strong>and</strong> also it h<strong>and</strong>les chaining<br />

requests for movies from proxy server .The chaining agent<br />

always maintains active chaining list of clients, currently<br />

served by this agent. When there is a request for chaining<br />

operati<strong>on</strong> from proxy server, chaining agent checks existence<br />

of requested movie in its video buffer <strong>and</strong> also checks<br />

regi<strong>on</strong>_id of requested client. In case of existence of requested<br />

movie <strong>and</strong> also regi<strong>on</strong> _id of both the clients matches,<br />

chaining agents initiates <strong>and</strong> c<strong>on</strong>trols chaining operati<strong>on</strong>. In<br />

absence of requested movie, chaining agent rejects movie<br />

request.<br />

Hybrid chaining algorithm:<br />

When a movie file is requested by a client, request<br />

h<strong>and</strong>ler checks the user details, <strong>and</strong> passes that request to<br />

video streaming c<strong>on</strong>troller. Video streaming c<strong>on</strong>troller checks<br />

existence of requested movie in video buffer. If movie exists,<br />

then streaming c<strong>on</strong>troller communicates with chaining<br />

c<strong>on</strong>troller to proceed the servicing operati<strong>on</strong>. In the absence of<br />

movie in video buffer, chaining c<strong>on</strong>troller initiates proxy<br />

navigati<strong>on</strong> module or cache module in order to get requested<br />

movie. The chaining c<strong>on</strong>troller checks active <strong>and</strong> passive list<br />

of clients <strong>and</strong> intimates client details that stores same movie<br />

(within its regi<strong>on</strong>) to requested client system, <strong>and</strong> thereby<br />

initiates chaining operati<strong>on</strong>. In case of absence of requested<br />

movie in both active <strong>and</strong> passive list of clients, proxy server<br />

starts streaming operati<strong>on</strong> of requested movie to requesting<br />

client.<br />

Proxy server executes given algorithm, up<strong>on</strong><br />

receiving a movie request from a client. First proxy checks<br />

requested movie in its active list of clients (lines 4-7). Then<br />

proxy server checks for requested movie in its passive list of<br />

clients (lines 9-14). In case of absence of requested movie file,<br />

proxy server initiates searching operati<strong>on</strong> in its nearest proxies<br />

(lines 16-17).The proxy server executes pop_check<br />

procedure(lines 1-7) to check popularity of given movie falls<br />

below the threshold values. Proxy server compares<br />

{popularity, time stamp} values to find out the existence of<br />

given movie in client video buffer. If popularity of a movie<br />

increases, automatically the life time of that movie in client<br />

video buffer also increases. In the absence of movie in client<br />

video buffer, proxy server starts streaming operati<strong>on</strong> of movie.<br />

A client system, after receiving a chaining request<br />

from proxy server, executes given client chaining algorithm,<br />

as specified below. Client first checks the regi<strong>on</strong> _ id of<br />

requested client .If both the clients bel<strong>on</strong>g to same regi<strong>on</strong>, <strong>and</strong><br />

requested movie exists in client video buffer (lines 1-4) then<br />

chaining operati<strong>on</strong> starts. If both the clients bel<strong>on</strong>g to different<br />

regi<strong>on</strong>, chaining -not possible message is given to proxy<br />

server (lines 8-9). In the absence of requested movie file in<br />

client video buffer, chaining request is rejected (lines 5-6).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 215


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Nomenclature:<br />

C = {c 1, c 2 ...c n} -> List of Client systems<br />

P = {p 1, p 2,… p m} -> List of Proxy servers<br />

R = {r 1 ,r 2,r 3,.. r x } -> Group of regi<strong>on</strong>s under proxy server p i , where each r i -> {c 1, c 2, ...c k } <strong>and</strong> k List of movie files<br />

Pop = Popularity of given movie file, where Pop min ≤Pop (μ i) ≤Pop max.<br />

S = Status of current streaming operati<strong>on</strong><br />

T = Time stamp value.<br />

α -> {μ i, c i, r i, Pop, S} -> Active list of clients.<br />

β -> {μ i, c i, r i, Pop, T} -> Passive list of clients.<br />

VB = Proxy server video buffer<br />

VC = Client system video buffer<br />

HYBRID CHAINING –PROXY SERVER AND CLIENT ALGORITHMS:<br />

Proxy Server up<strong>on</strong> receiving request for μ k from c k of r k:<br />

1 Pop min (μ k) = Pop min (μ k) +1;<br />

2 If μ k is in VB then<br />

3 {<br />

4 If (r k of c k == r i of μ k in α) then /* checks currently streaming same movie to same regi<strong>on</strong>*/<br />

5 {<br />

6 chaining starts from ci to ck, where c i, c k є r i<br />

7 }<br />

8 else<br />

9 {<br />

10 If (r k of c k == r j of μ k in β) then /* checks already streamed same movie to same regi<strong>on</strong>*/<br />

11 Pop_check ( ); /* calls Pop_ check procedure*/<br />

12 else<br />

13 streaming μ k from p i to c k of r k.<br />

14 }<br />

15 }<br />

16 else<br />

17<br />

m<br />

search for μ k in p i where ∑ i=1 p i. /* search requested movie in other proxy servers*/<br />

1 Procedure Pop_check ( ) /* to check existence of movie in client video buffer*/<br />

2 {<br />

3 check if ((Pop (μ k) > Pop min) & (Pop (μ k) ≤ Pop max)),<br />

4 check {popularity, time stamp} values<br />

5 If μ k exists in VC of c j ,then<br />

6 chaining starts from c j to c k ,where c j, c k є r j<br />

7 }<br />

Client c i , up<strong>on</strong> receiving chaining request from Proxy server p i, where μ k is requested movie, c k is requested client :<br />

1 If ( r i of c i == r k of c k ) then /* if both the clients bel<strong>on</strong>g to same regi<strong>on</strong>*/<br />

2 {<br />

3 If μ k exists in VC<br />

4 c i starts chaining μ k to c k, where c i, c k є r k<br />

5 else<br />

6 reject movie request<br />

7 }<br />

8 else /* If clients bel<strong>on</strong>g to different regi<strong>on</strong>s*/<br />

9 send Chaining – Not Possible message to p i.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 216


Proceedings of ICCNS 08 , 27-28 September 2008<br />

III .SIMULATION MODEL<br />

The proposed chaining scheme is implemented using<br />

Network Simulator, versi<strong>on</strong>-3 (ns-3) [9]. This ns-3 is a<br />

discrete-event network simulator targeted primarily for<br />

research <strong>and</strong> educati<strong>on</strong>al use. In ns-3 coding can be d<strong>on</strong>e using<br />

C++ Programming language. It is aimed at comprehensively<br />

redesigning <strong>and</strong> enhancing the popular network simulator ns-<br />

2.<br />

The simulati<strong>on</strong> model c<strong>on</strong>sists of central multimedia<br />

server, proxy servers <strong>and</strong> group of clients which are<br />

distributed in different regi<strong>on</strong>s. The clients request arrival<br />

pattern for the movies is r<strong>and</strong>omly generated using triangular<br />

variable distributi<strong>on</strong> method. The time required for real time<br />

transmissi<strong>on</strong> of a movie is directly proporti<strong>on</strong>al to the actual<br />

size of the movie. The simulati<strong>on</strong> was carried out for 1000<br />

sec<strong>on</strong>ds, with <strong>on</strong>e central multimedia server, 2 proxy servers<br />

<strong>and</strong> 150 client systems. Each proxy server is c<strong>on</strong>nected to 5<br />

different regi<strong>on</strong>s, where each regi<strong>on</strong> c<strong>on</strong>sists of 15 client<br />

systems. The server had 100 movie files, where size of these<br />

movies varies between 3 MB to 4MB. The proxy server<br />

buffer was large enough to hold 50% of the data <strong>on</strong> the server,<br />

effectively 50 movie files. The server to proxy b<strong>and</strong>width was<br />

assumed to be 1Gbps <strong>and</strong> the proxy to client b<strong>and</strong>width was<br />

assumed to be 10Mbps.<br />

The given chaining algorithm is simulated up to four<br />

levels of chaining operati<strong>on</strong>.(i.e.) single client system can<br />

chain movie file up to four different clients of same regi<strong>on</strong>.<br />

The packet size for each movie file transmissi<strong>on</strong> is calculated<br />

by using the given formula:<br />

If, movie file size = Ω MB.<br />

Packet size (bytes) = ( 0.1 % of Ω MB ) .For example , if<br />

movie file size is 3.5 MB, then for the transmissi<strong>on</strong> of entire<br />

movie,1000 packets, each of size 3500 bytes will be<br />

transmitted. The following parameters were used in the<br />

simulati<strong>on</strong>:<br />

Request arrival pattern<br />

Fig. (3) Snapshot showing Transmissi<strong>on</strong> of Movie<br />

<br />

<br />

<br />

<br />

Request servicing rate<br />

Request rejecti<strong>on</strong> rate<br />

B<strong>and</strong>width utilizati<strong>on</strong> of proxy server<br />

Buffer space of proxy server.<br />

IV. RESULTS AND DISCUSSION<br />

Fig. (3) shows snapshot of trace file, which indicates<br />

transmissi<strong>on</strong> of requested movie (i.e.) movie5 to client id 12,<br />

<strong>and</strong> this client chains the same movie to 4 different client<br />

systems namely client id 0, client id 3, client id 6 <strong>and</strong> client id<br />

9 respectively.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 217


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The graph, shown in Fig. (4) gives details about<br />

servicing capability of given proxy server, using Hybrid<br />

chaining <strong>and</strong> P-chaining approaches. The first line in graph<br />

indicates request arrival pattern within specified durati<strong>on</strong>.<br />

Initially, the request servicing rate of proxy server is almost<br />

same in both hybrid chaining <strong>and</strong> p-chaining approaches (i.e.)<br />

10, 9 out of 10 requests respectively. But graph shows that<br />

latter the servicing rate of proxy using hybrid scheme<br />

increases at the rate of 32, 38, 39 etc., when compared with<br />

that of p-chaining scheme. The simulati<strong>on</strong> results show that,<br />

the hybrid chaining approach increases request servicing rate<br />

of given proxy server.<br />

The graph in Fig. (6) gives details about buffer size<br />

utilizati<strong>on</strong> of given proxy server. The maximum buffer size of<br />

proxy server is assumed as 30MB. Initially, both hybrid<br />

chaining <strong>and</strong> p-chaining approaches are utilizing almost same<br />

amount of buffer space (i.e.) approximately between 550KB to<br />

1120KB of buffer space. But latter, the buffer utilizati<strong>on</strong> of<br />

proxy server using hybrid chaining scheme is reduced to<br />

greater extent. The simulati<strong>on</strong> graph shows that proposed<br />

hybrid chaining algorithm, utilizes maximum of 3500KB of<br />

buffer space for its chaining operati<strong>on</strong>, whereas in case of p-<br />

chaining approach, maximum of 17541 KB buffer space is<br />

utilized for its operati<strong>on</strong>, which is comparatively larger than<br />

former approach.<br />

Fig. (4) Request servicing rate<br />

In Fig. (5), the graph shows details about requests<br />

rejected by given proxy server within the specified time<br />

durati<strong>on</strong> of 1000 sec<strong>on</strong>ds. Initially number of requests rejected<br />

by given proxy server is same in both the chaining schemes<br />

(i.e.) request rejecti<strong>on</strong> rate is 2. But, the graph shows that after<br />

400 sec<strong>on</strong>ds, the request rejecti<strong>on</strong> rate using hybrid scheme<br />

varies between the range of 5 to 8, whereas in p-chaining<br />

scheme, request rejecti<strong>on</strong> rate varies between the range of 12<br />

to 15. The simulati<strong>on</strong> results show that, the proposed hybrid<br />

chaining the proposed hybrid chaining approach minimizes<br />

request rejecti<strong>on</strong> rate of given proxy server.<br />

Fig. (6) Buffer space utilizati<strong>on</strong> of proxy server<br />

The graph in Fig. (7) explains about b<strong>and</strong>width<br />

utilizati<strong>on</strong> of given proxy server. Initially b<strong>and</strong>width<br />

utilizati<strong>on</strong> of proxy server is almost same in both the chaining<br />

approaches. (i.e.) approximately between 2300 Kb/s to<br />

2520Kb/s. But latter using proposed hybrid chaining scheme,<br />

the graph shows that b<strong>and</strong>width utilized by proxy server is<br />

reduced to 506.5 Kb/s, when compared to that of p-chaining<br />

scheme.<br />

Fig. (5) Request rejecti<strong>on</strong> rate<br />

Fig. (7) B<strong>and</strong>width utilizati<strong>on</strong> of proxy server<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 218


Proceedings of ICCNS 08 , 27-28 September 2008<br />

V.CONCLUSION AND FUTURE ENHANCEMENTS:<br />

Chaining scheme is an effective technique to reduce<br />

the number of required server streams in video streaming<br />

applicati<strong>on</strong>s. To improve efficiency of chaining approach, in<br />

this paper, we have proposed a hybrid chaining approach,<br />

which makes use of popularity of movies <strong>and</strong> distance<br />

informati<strong>on</strong> about clients for its operati<strong>on</strong>. The simulati<strong>on</strong><br />

results show that, this algorithm increases servicing capability<br />

of proxy server. The simulati<strong>on</strong> results also show that the<br />

utilizati<strong>on</strong> of server resources is comparatively lower than that<br />

of existing chaining scheme. This hybrid scheme is easily<br />

deployable <strong>and</strong> cost–effective, in terms of minimizing the<br />

rejecti<strong>on</strong> rate of movie requests.<br />

Further work is being carried out to include fault–<br />

tolerance features to the proposed algorithm, if video chain<br />

between two clients breaks, then revised algorithm can h<strong>and</strong>le<br />

that situati<strong>on</strong> in a successful manner.<br />

REFERENCES:<br />

[1] W.-F. Po<strong>on</strong>, K.-T. Lo, <strong>and</strong> J. Feng, “Adaptive<br />

batching scheme for multicast video-<strong>on</strong>- dem<strong>and</strong><br />

systems,” IEEE Trans. Broadcast., vol. 47, no. 1, pp.<br />

66–70, Mar. 2001.<br />

[2] S.Sen, L. Gao, J. Rexford, <strong>and</strong> D. Towsley, “Optimal<br />

patching scheme for efficient multimedia streaming,”<br />

in Proc. NOSSDAV, Basking Ridge, NJ, Jun. 1999.<br />

[3] Bing Wang, S. Sen, Micah Adler, <strong>and</strong> D<strong>on</strong> Towsley,<br />

“Optimal Proxy Cache Allocati<strong>on</strong> for Efficient<br />

Streaming Media Distributi<strong>on</strong>”, IEEE Trans.<br />

Multimedia, vol. 6, no. 2, April 2004<br />

[4] G. Barlas, B. Veeravalli, “Optimized Distributed<br />

Delivery of C<strong>on</strong>tinuous-Media Documents over<br />

Unreliable Communicati<strong>on</strong> Links “, IEEE Trans.<br />

parallel <strong>and</strong> distributed systems, vol. 16, no. 10,<br />

October 2005.<br />

[5] S. Sheu, K. A. Hua, <strong>and</strong> W. Tavanap<strong>on</strong>g, “Chaining:<br />

a generalized batching technique for video-<strong>on</strong>dem<strong>and</strong><br />

systems,” in Proc. IEEE Int. C<strong>on</strong>f.<br />

Multimedia Computing <strong>and</strong> Systems, Ottawa,<br />

Canada, 1997.<br />

[6] J. K. Chen <strong>and</strong> J. L. C. Wu, “Adaptive chaining<br />

scheme for distributed VOD applicati<strong>on</strong>s,” IEEE<br />

Trans. Broadcast., vol. 45, no. 2, pp. 215–224, Jun.<br />

1999.<br />

[7] Te-Chou Su, Shih-Yu Huang, Chen-Lung Chan, <strong>and</strong><br />

Jia-Shung Wang, “Optimal Chaining Scheme for<br />

Video-<strong>on</strong>-Dem<strong>and</strong> Applicati<strong>on</strong>s <strong>on</strong> Collaborative<br />

<strong>Networks</strong>,” IEEE Trans. multimedia, vol. 7, no. 5,<br />

October 2005 .<br />

[8] Hyunjoo Kim <strong>and</strong> He<strong>on</strong> Y. Yeom, “P-chaining: a<br />

practical VoD service scheme aut<strong>on</strong>omically<br />

h<strong>and</strong>ling interactive operati<strong>on</strong>s,” Multimedia Tools<br />

Appl, Springer Science, Business Media, LLC 2007.<br />

[9] http://www.nsnam.org/<br />

[10] Frederic Thouin <strong>and</strong> Mark Coates, McGill<br />

University, “Video- <strong>on</strong>- Dem<strong>and</strong> <strong>Networks</strong>: design<br />

Approaches <strong>and</strong> Future Challenges,” IEEE Network,<br />

March/April 2007.<br />

[11] Yi J. Liang, <strong>and</strong> Bernd Girod, “ Network-Adaptive<br />

Low-Latency Video Communicati<strong>on</strong> Over Best-<br />

Effort <strong>Networks</strong> ,”IEEE Trans. circuits <strong>and</strong> systems<br />

for video technology, vol. 16, no. 1, January 2006.<br />

[12] Rocha M ,Maia M , Cunha I, Almeida J, Campos S,<br />

“Scalable media streaming to interactive users,”.<br />

Proc. ACM Multimedia, pp 966–975, November<br />

2005.<br />

[13] SchultzJJ, Znati T,”An efficient scheme for chaining<br />

with client-centric buffer reservati<strong>on</strong> for multi-media<br />

streaming,” Proc. of the 36th Annual Simulati<strong>on</strong><br />

Symposium (ANSS’03), pp 31–38, 2003.<br />

[14] Hua KA, Tantaoui MA, Tavanap<strong>on</strong>g W “Video<br />

delivery technologies for large-scale deployment of<br />

multimedia applicati<strong>on</strong>s,” Proc IEEE 92(9):1439–<br />

1451, 2004.<br />

[15] Costa C, Cunha I, Borges A, Ramos C, Rocha M,<br />

Almeida J, Ribeiro-Neto B, “ Analyzing client<br />

interactivity in streaming media,” Proc. of the<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> World Wide Web <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, pp 534–<br />

543, May 2004.<br />

[16] Do T, Hua KA, Tantaoui M,” P2VoD: providing fault<br />

tolerant video-<strong>on</strong>-dem<strong>and</strong> streaming in peer-to-peer<br />

envir<strong>on</strong>ment.” In: Proc. of the IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Communicati<strong>on</strong>s, pp 1467–1472, June<br />

2004.<br />

[17] Yang XY, Hern<strong>and</strong>ez P, Ripoll A, Suppi R, Luque E,<br />

Cores F ,” Distributed P2P merging policy to<br />

decentralize the multicasting delivery,” Proc. of the<br />

31st EUROMICRO 30-03, pp 322– 329,<br />

c<strong>on</strong>ference,(EUROMICRO-SEAA’05), August 2005.<br />

[18] O. Verscheure, C. Venkatramani, P. Frossard, <strong>and</strong> L.<br />

Amini, “Joint server scheduling <strong>and</strong> proxy caching<br />

for video delivery,” in Proc. 6th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

Workshop <strong>on</strong> Web Caching <strong>and</strong> C<strong>on</strong>tent Distributi<strong>on</strong>,<br />

June 2001.<br />

[19] S. Sen, L. Gao, <strong>and</strong> D. Towsley, “Frame-based<br />

periodic broadcast <strong>and</strong> fundamental resource<br />

tradeoffs,” in Proc. IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Performance<br />

Computing <strong>and</strong> Communicati<strong>on</strong>s <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, April<br />

2001.<br />

[20] C. Diot, B. Levine, B. Lyles, H. Kassan, <strong>and</strong> D.<br />

Balsie fien, “Deployment issues for the ip multicast<br />

service <strong>and</strong> architecture,” IEEE Network, January<br />

2000.<br />

[21] B.Wang, S. Sen, M. Adler, <strong>and</strong> D. Towsley, “Proxybased<br />

distributi<strong>on</strong> of streaming video over<br />

unicast/multicast c<strong>on</strong>necti<strong>on</strong>s,” University of<br />

Massachusetts, Amherst, 2001.<br />

[22] H.Schulzrinne,A.Rao,<strong>and</strong> R.Lanphier, “Real time<br />

streaming protocol(RTSP),request for comments<br />

2326,” April 1998.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 219


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Broadb<strong>and</strong> Network for Live EduSat<br />

C<strong>on</strong>nectivity of <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> Proceedings<br />

M.Murugan 1 , N.P.Pathak 2 , A.S.Tavildar 3 <strong>and</strong> M.J.Khurjekar 4<br />

Abstract: The objective of this article is to present a true broadb<strong>and</strong><br />

network architecture specially designed <strong>and</strong> implemented for live<br />

broadcast of the proceedings of the Nati<strong>on</strong>al <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Broadb<strong>and</strong> Communicati<strong>on</strong> Systems (NCBCS 2006) held during 2 nd -<br />

3 rd September 2006 at Vishwakarma Institute of Informati<strong>on</strong><br />

Technology (VIIT), Pune. The paper describes various entities<br />

involved in this adventure as well as the technical <strong>and</strong> design aspects<br />

c<strong>on</strong>sidered for the undisrupted c<strong>on</strong>nectivity through the EduSat with<br />

the help of 512K leased line.<br />

Key words: Broadb<strong>and</strong>, edusat, network, proceedings.<br />

I. INTRODUCTION<br />

During the preparati<strong>on</strong> of the Nati<strong>on</strong>al <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Broadb<strong>and</strong> Communicati<strong>on</strong> Systems, H<strong>on</strong>’ble mentor of the<br />

c<strong>on</strong>ference Padmashri. Pramod Kale suggested this novel<br />

method of reaching the technical mass through the EduSat link.<br />

With the help of this EduSat link, the viewers at far end will<br />

be able to participate in the c<strong>on</strong>ference without going through<br />

the c<strong>on</strong>venti<strong>on</strong>al registrati<strong>on</strong> process. Also, the academia,<br />

industry <strong>and</strong> researchers would be able to get the <strong>on</strong>going<br />

activities in the field of broadb<strong>and</strong> communicati<strong>on</strong> systems<br />

with the help of the live c<strong>on</strong>ference proceedings, without the<br />

hectic schedule of traveling from their work place.<br />

So<strong>on</strong> after that, the team of members from Educati<strong>on</strong><br />

Media Research Center (EMRC), Reliance Communicati<strong>on</strong>s,<br />

VIIT <strong>and</strong> various departments of University of Pune (UoP)<br />

such as Department of Electr<strong>on</strong>ics Sciences, Department of<br />

Bioinformatics, <strong>and</strong> Nati<strong>on</strong>al Center for Cell Sciences (NCCS)<br />

came together for implementati<strong>on</strong> of this broadb<strong>and</strong><br />

c<strong>on</strong>nectivity involving a variety of existing technologies [1].<br />

The implemented network is a hybrid of wired <strong>and</strong> wireless<br />

communicati<strong>on</strong> systems involving analog <strong>and</strong> digital signals<br />

of audio <strong>and</strong> video at various points. The c<strong>on</strong>nectivity uses<br />

data communicati<strong>on</strong>, radio frequency / microwave<br />

communicati<strong>on</strong>, copper cables/ optical communicati<strong>on</strong> etc.<br />

M.Murugan, A.S.Tavildar <strong>and</strong> M.J.Khurjekar are with Department of<br />

Electr<strong>on</strong>ics & Telecommunicati<strong>on</strong> Engineering of Vishwakarma Institute of<br />

Informati<strong>on</strong> Technology, K<strong>on</strong>dhwa (Bk), PUNE-411 048, India.<br />

Email: murugan_viit@rediffmail.com Fax: +91-20-2693 2500/ 600<br />

N.P.Pathak is with Department of Informati<strong>on</strong> Technology of<br />

Vishwakarma Institute of Informati<strong>on</strong> Technology, K<strong>on</strong>dhwa (Bk), PUNE-<br />

411 048, India.<br />

II.EDUSAT<br />

EduSat, launched <strong>on</strong> 20 th September 2004, is India’s<br />

first exclusive satellite for serving the educati<strong>on</strong>al sector. It is<br />

specially c<strong>on</strong>figured for audio-visual medium, employing<br />

digital interactive classroom <strong>and</strong> multimedia multicentric<br />

systems [2]. It is primarily meant for providing c<strong>on</strong>nectivity to<br />

school, college <strong>and</strong> higher levels of educati<strong>on</strong> <strong>and</strong> also to<br />

support n<strong>on</strong>-formal educati<strong>on</strong> including developmental<br />

communicati<strong>on</strong>. The satellite has multiple regi<strong>on</strong>al beams<br />

covering different parts of India — five Ku-b<strong>and</strong> transp<strong>on</strong>ders<br />

with spot beams covering northern, north-eastern, eastern,<br />

southern <strong>and</strong> western regi<strong>on</strong>s of the country, a Ku-b<strong>and</strong><br />

transp<strong>on</strong>der with its footprint covering the Indian mainl<strong>and</strong><br />

regi<strong>on</strong> <strong>and</strong> six C-b<strong>and</strong> transp<strong>on</strong>ders with their footprints<br />

covering the entire country.<br />

EduSat can establish the c<strong>on</strong>nectivity between urban<br />

educati<strong>on</strong>al instituti<strong>on</strong>s with adequate infrastructure imparting<br />

quality educati<strong>on</strong> <strong>and</strong> a large number of rural <strong>and</strong> semi-urban<br />

educati<strong>on</strong>al instituti<strong>on</strong>s that lack the necessary infrastructure.<br />

Besides supporting formal educati<strong>on</strong>, the purpose of EduSat is<br />

to facilitate the disseminati<strong>on</strong> of knowledge to the rural <strong>and</strong><br />

remote populati<strong>on</strong> with the help of Satellite Receive Only<br />

Terminal (ROT)/ Satellite Interactive Terminal (SIT). The<br />

applicati<strong>on</strong> areas of educati<strong>on</strong> are technology, health, hygiene<br />

<strong>and</strong> pers<strong>on</strong>ality development. It also allow professi<strong>on</strong>als to<br />

update their knowledge base as well. Thus, inspite of limited<br />

trained <strong>and</strong> skilled teachers, the aspirati<strong>on</strong>s of the growing<br />

student populati<strong>on</strong> at all levels can be met through the c<strong>on</strong>cept<br />

of tele-educati<strong>on</strong>.<br />

The SITs are provided EduSat c<strong>on</strong>nectivity through<br />

its nati<strong>on</strong>al beam by various terminals [2]-[3] such as, Indira<br />

G<strong>and</strong>hi Nati<strong>on</strong>al Open University (IGNOU), Nati<strong>on</strong>al Center<br />

of Educati<strong>on</strong> Research <strong>and</strong> Training (NCERT), University<br />

Grants Commissi<strong>on</strong> (UGC), All India Council for Technical<br />

Educati<strong>on</strong> (AICTE) <strong>and</strong> Indian Council for Agriculture<br />

Research (ICAR) which has about 134, 99, 58, 103 <strong>and</strong> 50<br />

terminals respectively.<br />

III. CONNECTIVITY<br />

Any satellite communicati<strong>on</strong> link c<strong>on</strong>nectivity [4]<br />

requires Uplink (Transmitter) <strong>and</strong> Downlink (Receiver) for an<br />

effective communicati<strong>on</strong> to take place between two earth<br />

stati<strong>on</strong>s. In our EduSat link, presented here, the transmitting<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 220


Proceedings of ICCNS 08 , 27-28 September 2008<br />

earth stati<strong>on</strong> is the EMRC, Pune. The focussed receiving earth<br />

stati<strong>on</strong>s unlimited multi-points, who are the SITs of AICTE -<br />

EDUSAT Linkage. In order to provide live coverage of the<br />

c<strong>on</strong>ference proceedings, the video <strong>and</strong> audio signals in<br />

digital/analog form were to be brought upto the EMRC, Pune.<br />

Hence, with the already existing infrastructure for internet<br />

c<strong>on</strong>nectivity through Reliance Communicati<strong>on</strong>s, an Internet<br />

Service Provider (ISP), at both VIIT <strong>and</strong> UoP had provided<br />

technical support <strong>and</strong> also routed the signal from VIIT to UoP<br />

through the 512K wireless leased line. The detailed block<br />

diagram of the actually implemented broadb<strong>and</strong> network for<br />

EduSat c<strong>on</strong>nectivity with various interfaces c<strong>on</strong>nected is<br />

shown in Fig.1.<br />

IV. CONVENTIONAL PERIPHERALS<br />

Peripherals required for c<strong>on</strong>nectivity [2]-[3] may vary<br />

for different ends. Equipment other than basic hardwares <strong>on</strong>ly<br />

is listed below for simplicity.<br />

A. At Teaching End.<br />

A Desk Top Pers<strong>on</strong>al computer (PC), an<br />

Uninterrupted Power Supply (UPS), a Touch screen/ PC<br />

m<strong>on</strong>itor which can be used for <strong>on</strong> line editing with Glass-pen<br />

as Teaching aid, a SVGA to PAL C<strong>on</strong>verter, as all IP based<br />

data demodulator outputs are viewed normally <strong>on</strong> PC or a card<br />

which c<strong>on</strong>verts SVGA (PC) output to PAL output for viewing<br />

<strong>on</strong> TV, Video Compressi<strong>on</strong> Hardware for compressi<strong>on</strong> of<br />

Video <strong>and</strong> Audio inputs are essential. For video input, a Video<br />

Camera (with USB Port or with Video Output) with good<br />

capture range, zooming capability, positi<strong>on</strong> programming,<br />

memory, resoluti<strong>on</strong>, etc. are required. It is recommended to<br />

use a camera switch (Multiple input to <strong>on</strong>e output), if more<br />

than two cameras are used simultaneously, for feeding the<br />

video out put to video compressi<strong>on</strong> hardware unit, a Studio<br />

Feed for feeding video from studio / from other source such as<br />

DVD Player / VCR / CD Player etc. For audio input a<br />

Microph<strong>on</strong>e (Lapel/collar/push to talk type) is used. There<br />

could be a Loud Speaker (Earph<strong>on</strong>e / wall mounted / PC<br />

attached) in additi<strong>on</strong> with other equipments like LMS web<br />

server for asynchr<strong>on</strong>ous teaching.<br />

B. At Satellite Interactive Terminal.<br />

The SIT can be either ‘two-way audio & <strong>on</strong>e-way<br />

video’ (2A-1V) or ‘two-way audio & two-way video’ (2A-2V).<br />

However, the essential peripherals are an UPS, a Video<br />

Compressi<strong>on</strong> Hardware (If video interactivity is also required),<br />

Camera (If video interactivity is also required) <strong>and</strong> a Liquid<br />

Crystal Display (LCD) Projector.<br />

C. Receive Only Terminal.<br />

As the name implies, it is the terminal for receiving<br />

<strong>on</strong>ly (Simplex). There is no interactivity permissible. The bare<br />

minimum peripherals are a PC, an UPS <strong>and</strong> a LCD Projector.<br />

There are various Universities, academic colleges, educati<strong>on</strong>al<br />

Instituti<strong>on</strong>s have their own SIT or ROT.<br />

V. BROAD BAND NETWORK<br />

As the satellite uplink equipments are fixed in EMRC,<br />

which is in the UoP campus, it is essential to throughput, the<br />

audio <strong>and</strong> video signals to the RF unit of the Hub at EMRC,<br />

which is located at about aerial distance of 15 kms from VIIT.<br />

Hence the c<strong>on</strong>necti<strong>on</strong> for linking two campuses viz. VIIT <strong>and</strong><br />

UoP was inevitable <strong>and</strong> is as shown in Fig.1. Initially, the<br />

analog video taken from the video camera <strong>and</strong> the analog<br />

audio taken from the microph<strong>on</strong>e are fed to the Osprey card,<br />

which gives the desired digital signal of 128 kbps. This<br />

encoded signal is fed to a VLC player for the streaming<br />

operati<strong>on</strong>. The VLC player used was a high resoluti<strong>on</strong> codec<br />

at the EMRC end. This stream of 128 kbps is eventually fed to<br />

the satellite link.<br />

A video compressi<strong>on</strong> [5] of 384 Kbps quality is<br />

universally accepted for video c<strong>on</strong>ferencing, though it is not a<br />

st<strong>and</strong>ard. It can go to any higher data rate as well as some<br />

times it is carried out at as low as 64 Kbps. Similarly, 64 kbps<br />

is very comm<strong>on</strong>ly used, whereas 128 kbps is universally<br />

accepted rate for stereo quality. In our experiment we have<br />

used a data rate of 128 kbps in order to have the reducti<strong>on</strong> of<br />

b<strong>and</strong>width at the encoder.<br />

The output of the encoder is the digital ethernet,<br />

which is c<strong>on</strong>nected to the CISCO router by a UTP<br />

(Unshielded Twisted Pair) cable used generally for LAN<br />

(Local Area Network). This is basically used to rout the signal<br />

at the desired destinati<strong>on</strong>. The CISCO router which has been<br />

c<strong>on</strong>figured to h<strong>and</strong>shake to a similar peer router was able to<br />

provide <strong>on</strong>ly V.35 output, which was not a st<strong>and</strong>ard for<br />

c<strong>on</strong>necting it to the service provider’s link, which was G.703.<br />

So we procured <strong>and</strong> c<strong>on</strong>figured the V.35 to G.703 c<strong>on</strong>verter<br />

<strong>and</strong> then this is finally c<strong>on</strong>nected to the Customer Premises<br />

Equipment (CPE) such as LMDS (Last Mile Digital System)<br />

at VIIT. This video internet packets (IP) from VIIT through its<br />

LMDS was h<strong>and</strong>ed off to another LMDS at UoP through the<br />

512K wireless leased line. This point to point (P2P)<br />

c<strong>on</strong>necti<strong>on</strong> [6] was provided by Reliance Communicati<strong>on</strong>s as<br />

a gold c<strong>on</strong>nectivity through their MPLS network.<br />

In the other end, almost the reverse process takes<br />

place <strong>and</strong> the UoP campus. The G.703 to V.35 c<strong>on</strong>verter is<br />

c<strong>on</strong>nected to a CISCO router at NCCS. The intranet of the<br />

UoP c<strong>on</strong>nects up to the Department of Bioinformatics (DoB),<br />

whereas the Reliance Data Network c<strong>on</strong>necti<strong>on</strong> was <strong>on</strong>ly up to<br />

the NCCS. The distance between the NCCS <strong>and</strong> DoB is about<br />

100 meters. Therefore, an UTP cable was exclusively used to<br />

c<strong>on</strong>nect NCCS <strong>and</strong> DoB. Once the signal was received at DoB,<br />

the same was routed to the EMRC through the intranet of UoP.<br />

Finally the signal was given to the Satellite MODEM <strong>and</strong> RF<br />

Unit at the hub for up linking the signal to the EduSat.<br />

Prior approval for utilizing the satellite b<strong>and</strong>width<br />

was obtained well before the c<strong>on</strong>ference dates, from the<br />

c<strong>on</strong>cerned authorities. The telecast was also tested with the<br />

help of ISRO (Indian Space Research Organizati<strong>on</strong>s) <strong>on</strong>e day<br />

earlier to the actual usage in order to avoid any last minute<br />

difficulties.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 221


Proceedings of ICCNS 08 , 27-28 September 2008<br />

VI. CONCLUSION<br />

The c<strong>on</strong>ference was broadcasted through EduSat,<br />

which was successfully received at almost all ROTs / SITs in<br />

the country. We have also received several<br />

acknowledgements in this c<strong>on</strong>necti<strong>on</strong> as well as appreciati<strong>on</strong><br />

for high quality <strong>and</strong> uninterrupted c<strong>on</strong>nectivity. The<br />

broadb<strong>and</strong> network we implemented is indeed a broadb<strong>and</strong> in<br />

true sense. Although, we faced so many difficulties in<br />

networking different entities, it was a good experience of<br />

networking people for a noble cause. This sort of live<br />

broadcast of technical c<strong>on</strong>ferences will really provide a forum<br />

for the young technocrats from rural/urban areas of the<br />

country to get the cutting edge technology [7]. This type of<br />

live coverage of the c<strong>on</strong>ferences will also provide a platform<br />

to the researchers for open discussi<strong>on</strong>s <strong>on</strong> current research<br />

activities <strong>and</strong> to foresee future developments. The authors are<br />

of the opini<strong>on</strong> that each <strong>and</strong> every c<strong>on</strong>ferences, whether<br />

Nati<strong>on</strong>al or <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g>, held in the country should be linked<br />

to EduSat, so that, the science <strong>and</strong> technology will reach every<br />

single corner of the country, in a larger extent <strong>and</strong> will add a<br />

little to make the country a fully developed nati<strong>on</strong>.<br />

REFERENCES<br />

[1] T. S. Rappaport, Wireless Communicati<strong>on</strong>s Principles & Practice, New<br />

Jersey: Prentice Hall, 1996.<br />

[2] http://www.edusat.in<br />

[3] http://www.isro.gov.in/Edusat/Page2.htm<br />

[4] A. S. Manjunath, D. S. Jain, S Rajendra Kumar, <strong>and</strong> R. V. G. Anjaneyulu,<br />

“Role of Satellite Communicati<strong>on</strong> <strong>and</strong> Remote Sensing in Rural<br />

Development”, IETE Technical Review, Vol 24, No 4, July-August 2007,<br />

pp 215-224.<br />

[5] Amit Chatterjee, “Overview of Digital Video in Broad b<strong>and</strong> <strong>Networks</strong>”,<br />

IEEE C<strong>on</strong>f. Proc., pp.378-379, 1998.<br />

[6] Anth<strong>on</strong>y Acampora, David J.Goodman, et al, “Wireless Access Broadb<strong>and</strong><br />

<strong>Networks</strong>”, IEEE Journal <strong>on</strong> Selected Areas in Communicati<strong>on</strong>s, Vol.16,<br />

No.6, Aug.1998, pp.817-819.<br />

[7] Ashok Jhunjhunwala, David Koilpillai <strong>and</strong> Bhaskar Ramamurthi,<br />

“Broadb<strong>and</strong> to Empower Rural India” IETE Technical Review<br />

Vol 24, No 4, July-August 2007, pp 195-201.<br />

ACKNOWLEDGMENTS<br />

Authors would like to acknowledg Padmashri. Pramod<br />

P.Kale, Ex.Director, SAC, ISRO for his overall support <strong>and</strong> guidance,<br />

Prof.G.D.Sharma, Director, CEC, UGC for granting permissi<strong>on</strong> to<br />

use EduSat b<strong>and</strong>width, Shri.Milind Kshirsagar <strong>and</strong> Shri.Dor<strong>on</strong><br />

Bhastekar of Reliance Infocom Pune, <strong>and</strong> their team, Mr. Sameeran<br />

D. Walvekar, Director, Mr. Thakar <strong>and</strong> Mr.Vivek Hebbel of EMRC,<br />

Pune <strong>and</strong> their team, Dr.S.V.Ghaisas <strong>and</strong> Dr.Mrs.T.M.Bhave of<br />

University Department of Electr<strong>on</strong>ics Sciences, UoP, Department of<br />

Bioinformatics, Nati<strong>on</strong>al Center for Cell Sciences (NCCS) <strong>and</strong><br />

Dr.D.G.Kanhere, Director <strong>and</strong> Mr.Mangesh of CNC, UoP for their<br />

all-round technical supports in all possible means. Finally, authors<br />

are keen to thank the Patr<strong>on</strong> of the c<strong>on</strong>ference Shri.Rajkumarji<br />

Agarwal, Chief Trustee, B.R.A.C.T. Pune as well as the c<strong>on</strong>ference<br />

Organizing Chairs, Shri.Bharat Agarwal <strong>and</strong> Prof.S.M.Umrani for<br />

their c<strong>on</strong>sistent support by all possible means.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 222


© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 223<br />

Proceedings of ICCNS 08 , 27-28 September 2008


Evoluti<strong>on</strong>ary Algorithm for Hybrid Channel<br />

Allocati<strong>on</strong> in Wireless Mobile Network<br />

S. R. Shinde 1 , Dr. G.V. Chowdhary 2 A. M. Jadhav 3 Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract. Radio spectrum is limited resource in wireless mobile<br />

communicati<strong>on</strong> system. It is necessary to use this resource<br />

efficiently. Hybrid channel assignment for wireless mobile network<br />

combines the features of both static <strong>and</strong> dynamic approaches to<br />

channel allocati<strong>on</strong>. This scheme tries to achieve an efficient soluti<strong>on</strong><br />

to channel assignment problem by reducing the call blocking<br />

probability. We devised an algorithm for channel allocati<strong>on</strong> using<br />

evoluti<strong>on</strong>ary strategy. We also dem<strong>on</strong>strated how the allocati<strong>on</strong><br />

distance is efficient for channel allocati<strong>on</strong> in wireless network.<br />

Keywords- Channel interference, Channel Assignment,<br />

Evoluti<strong>on</strong>ary Strategy, Radio spectrum, Wireless network.<br />

I. INTRODUCTION<br />

The advent of cellular c<strong>on</strong>cept was a major breakthrough in<br />

the development of wireless mobile communicati<strong>on</strong>. The<br />

cellular principle divides the covered geographical area into a<br />

set of smaller service areas called cells. During the early part<br />

of the evoluti<strong>on</strong> of the cellular c<strong>on</strong>cept, the system designers<br />

recognized the c<strong>on</strong>cept of all cells with the same shape to be<br />

helpful in systematizing the design <strong>and</strong> layout of the cellular<br />

system. The 1947 Bell Laboratories discussed four possible<br />

geometric shapes: the circle, the square, the equilateral<br />

triangle, <strong>and</strong> the regular hexag<strong>on</strong>. The regular hexag<strong>on</strong> was<br />

found to be the best over the other shapes. In practice, the cell<br />

sizes are irregular <strong>and</strong> depend <strong>on</strong> the terrain <strong>and</strong> propagati<strong>on</strong><br />

c<strong>on</strong>diti<strong>on</strong>s. Fig. 1 shows a typical mobile communicati<strong>on</strong><br />

network.<br />

Fig. 1: Mobile Network Architecture.<br />

1 S. R. Shinde is Lecturer Assistant Professor in at Department of <strong>Computer</strong><br />

Engineering, Vishwakarma Institute of Technology, Pune-37.<br />

2 Dr. G.V> Chowdhary is Assistant Professoe at Department of <strong>Computer</strong><br />

Engineering, BATU, L<strong>on</strong>ere.<br />

3 A.M. Jadhav is Lecurer at Department of Informati<strong>on</strong> Technology, Sinhgad<br />

Academy of Engineering, Pune.<br />

Each cell has a base stati<strong>on</strong> <strong>and</strong> a number of mobile<br />

terminals (e.g. mobile ph<strong>on</strong>e, palms, laptops, or other mobile<br />

devices). The base stati<strong>on</strong> is equipped with radio transmissi<strong>on</strong><br />

<strong>and</strong> recepti<strong>on</strong> equipments. The mobile terminals within a cell<br />

communicate through wireless links with the base stati<strong>on</strong><br />

associated with the cell. A number of base stati<strong>on</strong>s are<br />

c<strong>on</strong>nected to the Base Stati<strong>on</strong> C<strong>on</strong>troller (BSC) via<br />

microwave links or dedicated leased lines. The BSC c<strong>on</strong>tains<br />

logic for radio resource management of the base stati<strong>on</strong>s<br />

under its c<strong>on</strong>trol. It is also resp<strong>on</strong>sible for transferring an<br />

<strong>on</strong>going call from <strong>on</strong>e base stati<strong>on</strong> to another as a mobile user<br />

moves from cell to cell. A number of BSC are c<strong>on</strong>nected to<br />

the Mobile Switching Centers (MSC) also known as Mobile<br />

Teleph<strong>on</strong>e Switching Office (MTSO). MSC/MTSO is<br />

resp<strong>on</strong>sible for setting up <strong>and</strong> tearing down of calls to <strong>and</strong><br />

from mobile subscribers.<br />

The MSC is c<strong>on</strong>nected to the backb<strong>on</strong>e wire-line network<br />

such as the public switched teleph<strong>on</strong>e network (PSTN),<br />

Integrated Service Digital Network (ISDN) or any LAN-<br />

WAN based network. MSC is also c<strong>on</strong>nected to a locati<strong>on</strong><br />

database, which keeps informati<strong>on</strong> about the locati<strong>on</strong> of each<br />

mobile terminal. The base stati<strong>on</strong> is resp<strong>on</strong>sible for the<br />

communicati<strong>on</strong> between the mobile terminal <strong>and</strong> the rest of<br />

the informati<strong>on</strong> network. A base stati<strong>on</strong> can communicate<br />

with mobiles as l<strong>on</strong>g as they are within its operating range.<br />

The operating range depends up<strong>on</strong> the transmissi<strong>on</strong> power of<br />

the base stati<strong>on</strong>.<br />

In order to establish a communicati<strong>on</strong> with a base stati<strong>on</strong>,<br />

a mobile terminal must first obtain a channel from the base<br />

stati<strong>on</strong>. A channel c<strong>on</strong>sists of a pair of frequencies: <strong>on</strong>e<br />

frequency (forward link/ downlink) for transmissi<strong>on</strong> from the<br />

base stati<strong>on</strong> to the mobile terminal, <strong>and</strong> another frequency<br />

(reverse link/uplink) for the transmissi<strong>on</strong> in the reverse<br />

directi<strong>on</strong>. An allocated channel is released under two<br />

scenarios: the user completes the call or the mobile user<br />

moves to another cell before the call is completed. The<br />

capacity of a cellular system can be described in terms of the<br />

number of available channels, or the number of users the<br />

system can support.<br />

The total number of channels made available to a system<br />

depends <strong>on</strong> the allocated spectrum <strong>and</strong> the b<strong>and</strong>width of each<br />

channel. The available frequency spectrum is limited <strong>and</strong> the<br />

number of mobile users are increasing day by day, hence the<br />

channels must be reused as much as possible to increase the<br />

system capacity. The Allocati<strong>on</strong> of channels to cells or mobile<br />

is <strong>on</strong>e of the fundamental resource management issues in a<br />

mobile communicati<strong>on</strong> system. The role of a channel<br />

allocati<strong>on</strong> scheme is to allocate channels to cells or mobiles in<br />

such a way as to minimize the probability that the incoming<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 224


Proceedings of ICCNS 08 , 27-28 September 2008<br />

calls are blocked, the probability that <strong>on</strong>going calls are<br />

dropped, <strong>and</strong> also to minimize the probability that the carrierto-interference<br />

ratio of any call falls below a pre specified<br />

value.<br />

In literature, many channel allocati<strong>on</strong> schemes have been<br />

widely investigated with a goal to maximize the frequency<br />

reuse. The channel allocati<strong>on</strong> schemes in general can be<br />

classified into three strategies:<br />

• Static Channel Allocati<strong>on</strong><br />

• Dynamic Channel Allocati<strong>on</strong><br />

• Hybrid Channel Allocati<strong>on</strong><br />

FCA allocated channels to each cell permanently. FCA<br />

systems typically allocate channels in a manner that<br />

maximizes frequency reuse. Thus, in a FCA system, the<br />

distance between cells using the same channel is the minimum<br />

reuse distance for that system. In DCA, channels are allocated<br />

dynamically as call arrives. DCA system has higher degree of<br />

r<strong>and</strong>omness but involves complex algorithms. FCA is simpler<br />

<strong>and</strong> outperforms DCA under heavy load c<strong>on</strong>diti<strong>on</strong>s, but FCA<br />

does not adapt to changing traffic c<strong>on</strong>diti<strong>on</strong>s [3]. HCA scheme<br />

was proposed by Kahwa et. al. [4], which combines benefits<br />

of both FCA <strong>and</strong> DCA. In HCA <strong>on</strong>e set of channel is allocated<br />

as in FCA <strong>and</strong> other set is allocated as in DCA.<br />

II. RELATED STUDY<br />

Many soluti<strong>on</strong>s are proposed in the literature to solve<br />

FCA, DCA <strong>and</strong> HCA problems. This includes Neural<br />

<strong>Networks</strong> [5], Simulated Annealing [6], <strong>and</strong> Evoluti<strong>on</strong>ary<br />

methods [7], [8]. In following sessi<strong>on</strong> we discuss our<br />

proposed scheme.<br />

III. PROBLEM STATEMENT<br />

Channel assignment scheme helps to increase the<br />

networks capacity by efficiently distributing channels across<br />

the network. In this paper, we study the problem of hybrid<br />

channel allocati<strong>on</strong>. Channel assignment is made by the<br />

c<strong>on</strong>troller of the c<strong>on</strong>cern base stati<strong>on</strong> according to knowledge<br />

about the neighbors of given cell <strong>and</strong> overlap between the<br />

channels. The fitness functi<strong>on</strong> takes care of soft c<strong>on</strong>straints.<br />

The hard c<strong>on</strong>straints are taken care of by the problem<br />

representati<strong>on</strong> <strong>and</strong> our proposed new scheme.<br />

IV. PROPOSED ES-HCA ALGORITHM<br />

We c<strong>on</strong>sider a cellular radio system with a finite set of<br />

channels <strong>and</strong> cells. In wireless cellular network, a channel<br />

corresp<strong>on</strong>ds to up-link <strong>and</strong> down-link transmissi<strong>on</strong> between<br />

mobiles <strong>and</strong> base stati<strong>on</strong>s. The up-link (mobile to base<br />

frequency) <strong>and</strong> the down-link (base to mobile frequency) are<br />

assumed not to interfere with each other <strong>and</strong> are allocated in<br />

the same manner with the same channel assignment scheme.<br />

In this paper we will <strong>on</strong>ly c<strong>on</strong>sider the down-link frequency<br />

allocati<strong>on</strong>.<br />

Channels are allocated to host cell from a set of channels<br />

which excludes all those channels which are in use in the<br />

interference regi<strong>on</strong>. As such the selected channels always<br />

satisfy the co-channel <strong>and</strong> adjacent channel interference<br />

c<strong>on</strong>straint too.<br />

Let i be the total number of cells in the network <strong>and</strong> j the<br />

total number of channels in the network. The allocati<strong>on</strong> matrix<br />

is the binary matrix a i*j such that<br />

if channel j is assigned to cell i<br />

a i*j = {<br />

1<br />

0 otherwise<br />

The allocati<strong>on</strong> matrix is updated every time a channel is<br />

allocated <strong>and</strong> released in the network.<br />

1. Initial Parent <strong>and</strong> Populati<strong>on</strong><br />

When a call arrives in cell k at time t, we determine the<br />

set of eligible channels I at time t. Here I(k, t) = F\(P(k, t) U<br />

Q(k, t)), where F is total set of available channels, P(k, t) is<br />

the set of channels of the <strong>on</strong>going calls in k at time t, <strong>and</strong> Q(k,<br />

t) is the set of channels in use in the neighboring area of k at<br />

time t. This informati<strong>on</strong> is obtained from the allocati<strong>on</strong> matrix.<br />

The initial parent soluti<strong>on</strong> is selected from the set G of λ<br />

soluti<strong>on</strong> vectors where λ=| I(k, t) |. Each soluti<strong>on</strong> vector in G<br />

is evaluated according to the fitness functi<strong>on</strong>, <strong>and</strong> the<br />

individual with best fitness is selected as initial parent. In<br />

order to find optimal combinati<strong>on</strong> of channels for the cell<br />

involved in new call arrival, we preserve the (d-1) channels<br />

allocated to this cell before the arrival of new call in the initial<br />

populati<strong>on</strong>. So each soluti<strong>on</strong> in G c<strong>on</strong>tains a unique integer<br />

selected from I(k, t).<br />

2. Algorithm<br />

The proposed algorithm starts with an initial parent<br />

generated. At every generati<strong>on</strong> the size of populati<strong>on</strong> is λ.<br />

These λ individuals of the new populati<strong>on</strong> are r<strong>and</strong>omly<br />

generated from the actual parent by the process of mutati<strong>on</strong>.<br />

The fittest individual from the newly generated populati<strong>on</strong><br />

form the parent for the next generati<strong>on</strong>. The fitness of the best<br />

individual child is better than the former parents now it<br />

becomes the parent. The best soluti<strong>on</strong> is updated whenever its<br />

fitness is worse than that of the local best soluti<strong>on</strong>. The<br />

algorithm terminates when it will get desired soluti<strong>on</strong> or a<br />

terminati<strong>on</strong> c<strong>on</strong>diti<strong>on</strong> occurs. During this process <strong>on</strong>e of the<br />

three possibilities is selected with probability 1/3 <strong>and</strong> exactly<br />

N mutati<strong>on</strong>. When a call arrives, system looks for channels<br />

which are not in use in the cell <strong>and</strong> its neighboring area. If no<br />

such a channel found the call is blocked, otherwise ES<br />

algorithm finds a soluti<strong>on</strong>. The algorithm for ES Approach is<br />

Algorithm<br />

Begin<br />

Create initial populati<strong>on</strong> of λ individuals<br />

Find out the fitness of each individual<br />

Select the best individual as parent<br />

Repeat<br />

Generate λ neighbors of parent by mutati<strong>on</strong><br />

Find out the fitness of each individual<br />

Select the best individual as best-child<br />

count = 0<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 225


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Do<br />

parent = best-child<br />

mutate new parents<br />

best-child = new fittest individual in<br />

count = count+1<br />

while ((best-child>parent) <strong>and</strong> count


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Blocking probability<br />

0.25<br />

0.2<br />

0.15<br />

0.1<br />

0.05<br />

D-ring HCA<br />

Proposed HCA<br />

We can use partially overlapped channels for the same<br />

algorithm. In future we can find out the time complexity of the<br />

proposed algorithm. We have not applied crossover operator<br />

in genetic algorithm, so we have more scope to work <strong>on</strong> this<br />

operator <strong>and</strong> improve the results.<br />

REFERENCES<br />

0<br />

Fig. 5. Performance of the proposed ES algorithm in terms of<br />

blocking probability, for FCA = 21<strong>and</strong> DCA = 49<br />

Blocking probability<br />

0 20 40 60 80 100 120 140<br />

Percentage increase of traffic load<br />

Fig. 6. Performance of the proposed ES algorithm in terms of<br />

blocking probability, for FCA = 35 <strong>and</strong> DCA = 35<br />

Blocking probability<br />

0.25<br />

0.2<br />

0.15<br />

0.1<br />

0.05<br />

0<br />

0.3<br />

0.25<br />

0.2<br />

0.15<br />

0.1<br />

0.05<br />

0 20 40 60 80 100 120 140<br />

Percentage increase of traffic load<br />

D-ring HCA<br />

Proposed HCA<br />

D-ring HCA<br />

Proposed HCA<br />

[1] I. F. Akyildiz <strong>and</strong> S. M. Ho, “On Locati<strong>on</strong> Management<br />

for Pers<strong>on</strong>al Communicati<strong>on</strong>s Netwoks”, IEEE communicati<strong>on</strong>s<br />

Magazine vol. 34, no. 9, pp. 138-145, 1996.<br />

[2] W.K. Hale, “Frequency Assignment: Theory <strong>and</strong><br />

Applicati<strong>on</strong>s,”Proc. IEEE, vol.68, no.12, pp.1497–1514 ,<br />

1980.<br />

[3] W.K. Lai <strong>and</strong> G.C. Coghill,“Channel Assignment through<br />

Evoluti<strong>on</strong>ary Optimizati<strong>on</strong>,” IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Vehicular Technology, vol.45, no.1, pp.91–96, 1996.<br />

[4] T.J. Kahwa <strong>and</strong> N.D. Georgans, “A Hybrid Channel<br />

Assignment Schemes in Large-Scale, Cellular Structured<br />

Mobile Communicati<strong>on</strong> Systems”, IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Communicati<strong>on</strong>s, vol.26,pp432–438,1978.<br />

[5] Behrouz A. Fourozan,”Data Communicati<strong>on</strong> <strong>and</strong><br />

Networking,” Tata McGraw-Hill publicati<strong>on</strong> 2006.<br />

[6] Nobuo Funabiki <strong>and</strong> Yoshiyasu Takefuji,”A Neural<br />

Network Parallel Algorithm for Channel Assignment<br />

Problems in Cellular Radio <strong>Networks</strong>”,IEEE Transacti<strong>on</strong><br />

<strong>on</strong> Vehicular Technology, Vol 41, No. 4, Nov.1992<br />

[7] M.Duque-Ant<strong>on</strong>,D. Kunz, <strong>and</strong> B.Ruber,”Channel<br />

assignment for cellular radio using simulated annealing”,<br />

IEEE Trans. Veh. Technol.,vol. 42, no.1, pp. 14-21, Feb.<br />

1993.<br />

[8] H.G. S<strong>and</strong>alidis, P. Stavroulakis, <strong>and</strong> J. Rodriguez-Tellez,<br />

“An Efficient Evoluti<strong>on</strong>ary Algorithm for Channel<br />

Resource Management in Cellular Mobile Systems”,<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> Evoluti<strong>on</strong>ary Computati<strong>on</strong>, vol.2,<br />

no.4, pp.125-137, 1998.<br />

[9] G.D. Vidyarthi, A.Ngom, <strong>and</strong> Ivan Stojmenovic, “A<br />

Hybrid Channel Assignment Approach using an Efficient<br />

Evoluti<strong>on</strong>ary Strategy in Wireless Mobile <strong>Networks</strong>”,<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> Vehicular Technology, vol.54,<br />

no.5, pp.1887–1895, 2005.<br />

[10] Enrico Del Re, Romano Fantacci, Luca R<strong>on</strong>ga,” A<br />

Dynamic Channel Allocati<strong>on</strong> Technique Based <strong>on</strong><br />

Hopfield Neural <strong>Networks</strong>”, IEEE Transacti<strong>on</strong> <strong>on</strong><br />

Vehicular Technology, Vol. 45, No. 1, Feb. 1996.<br />

0<br />

0 20 40 60 80 100 120 140<br />

percentage increase of traffic load<br />

Fig .7. Performance of the proposed ES algorithm in terms of<br />

blocking probability, for FCA = 49 <strong>and</strong> DCA = 21<br />

VI. CONCLUSIONS AND FUTURE DIRECTION<br />

We proposed an evoluti<strong>on</strong>ary strategy that efficiently<br />

combines the objectives of hybrid channel assignment in order<br />

to increase the capacity of wireless mobile network <strong>and</strong> reduce<br />

the wastage of available spectrum.<br />

The results obtained by this method are better results<br />

compared with a similar method in literature. More research is<br />

required to further reduce the wastage of available spectrum<br />

<strong>and</strong> to reduce the call blocking <strong>and</strong> call dropping probabilities.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 227


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Optimum Detecti<strong>on</strong> in Block Data Transmissi<strong>on</strong><br />

Systems Using Genetic Algorithm<br />

Sameena Naaz, Afshar Alam<br />

Abstract—In this paper the effect of using genetic algorithm for<br />

block data detecti<strong>on</strong> has been studied. The data transmissi<strong>on</strong> system<br />

c<strong>on</strong>sidered is such that the transmitted data signal is divided into<br />

blocks <strong>and</strong> between two c<strong>on</strong>secutive blocks sufficient time guard<br />

b<strong>and</strong>s are provided that eliminate the intersymbol interference<br />

between two c<strong>on</strong>secutive blocks. By using genetic algorithm the<br />

number of calculati<strong>on</strong>s required to reach the global optima decreases<br />

drastically specially for large number of bits in <strong>on</strong>e block. This<br />

difference is so vast that under no circumstances the advantage of<br />

Genetic Algorithm can be overlooked<br />

Keywords— Genetic Algorithm, Intersymbol Interference,<br />

Signal elements.<br />

O<br />

I.INTRODUCTION<br />

ne of the most striking developments in technology has<br />

been the rapid growth of digital communicati<strong>on</strong> systems.<br />

In such systems the transmitted signal is a waveform which<br />

may, for instance, be carried by electric current or voltage in a<br />

pair of wires, by electromagnetic radiati<strong>on</strong>s in the atmosphere,<br />

by light in a glass fiber, or by high frequency sound waves in<br />

water or the atmosphere. The essential feature of a digital<br />

communicati<strong>on</strong> system is that the transmitted waveform is<br />

itself composed of separate signal-elements (often referred to<br />

as symbol, digits, bits or pulses) <strong>and</strong> these signal-elements<br />

carry the data, which has to be transmitted. A signal-element<br />

is thus a unit of transmitted waveform [4].<br />

Am<strong>on</strong>g the most important of the transmissi<strong>on</strong> paths that<br />

are used for the transmissi<strong>on</strong> of the data are voice frequency<br />

channels over the teleph<strong>on</strong>e networks <strong>and</strong> HF radio links.<br />

Such a channel often introduces a small frequency shift into<br />

the spectrum of the transmitted signal. This causes serious <strong>and</strong><br />

additi<strong>on</strong>al complicati<strong>on</strong>s in the detecti<strong>on</strong> of the received<br />

signal. Teleph<strong>on</strong>e circuits <strong>and</strong> HF radio links introduce both<br />

noise <strong>and</strong> distorti<strong>on</strong>, which can have a serious effect <strong>on</strong> a<br />

transmitted data signal. The noise may include both additive<br />

<strong>and</strong> multiplicative comp<strong>on</strong>ents, the latter involving both<br />

amplitude <strong>and</strong> frequency modulati<strong>on</strong> effects. This work takes<br />

into c<strong>on</strong>siderati<strong>on</strong> the effects of additive noise <strong>on</strong>ly [4].<br />

The effect of distorti<strong>on</strong> in the attenuati<strong>on</strong>-frequency <strong>and</strong><br />

group delay frequency characteristics of the transmissi<strong>on</strong> path<br />

is to spread out the individual transmitted signal-elements in<br />

time, so that the individual signal-elements at the receiver<br />

input overlap each other. Thus in detecti<strong>on</strong> of the received<br />

signal element by matched filter detector, the output signal<br />

from the matched filter c<strong>on</strong>tains, in additi<strong>on</strong> to the wanted<br />

signal <strong>and</strong> the noise, the comp<strong>on</strong>ents that originate from the<br />

neighboring signal-elements. These interfere with the<br />

detecti<strong>on</strong> of wanted signal-elements <strong>and</strong> reduce the tolerance<br />

of the system to noise. They may even prevent the correct<br />

detecti<strong>on</strong> of the received signal in the complete absence of the<br />

noise. This type of interference is known as Intersymbol<br />

Interference [4].<br />

Various techniques have been used before for the<br />

detecti<strong>on</strong> of these blocks. They take a lot of computati<strong>on</strong>al<br />

time <strong>and</strong> so, cause a significant delay in the <strong>on</strong>line processing.<br />

The various computati<strong>on</strong>al techniques previously used have<br />

some limitati<strong>on</strong>s. Firstly, some of these techniques may<br />

c<strong>on</strong>verge at local optima rather than global optima. Sec<strong>on</strong>dly,<br />

these may be inefficient when used for complex problem. To<br />

overcome these shortcomings, Genetic Algorithm was<br />

developed by John Holl<strong>and</strong> <strong>and</strong> his colleagues at the<br />

University of Michigan [2].<br />

II. SERIAL DATA TRANSMISSION SYSTEM.<br />

The data transmissi<strong>on</strong> system c<strong>on</strong>sidered here is shown in<br />

Fig. 1. It is a serial system where the transmissi<strong>on</strong> path is<br />

either a linear baseb<strong>and</strong> channel or else it is a linear b<strong>and</strong>pass<br />

channel <strong>and</strong> the modulati<strong>on</strong> <strong>and</strong> demodulati<strong>on</strong> processes used<br />

are both linear. In the later case the modulator (at the<br />

transmitter) <strong>and</strong> the demodulator (at the receiver) are both<br />

c<strong>on</strong>sidered to be part of the transmissi<strong>on</strong> path , which is<br />

therefore always a baseb<strong>and</strong> channel. Furthermore, the filter at<br />

the output of the transmitter, that limits the transmitted signal<br />

spectrum to the available frequency b<strong>and</strong> of the transmissi<strong>on</strong><br />

path, <strong>and</strong> the filter at the input to the receiver that removes the<br />

noise frequency comp<strong>on</strong>ents outside the signal frequency b<strong>and</strong><br />

are always low-pass filters that operate <strong>on</strong> a baseb<strong>and</strong> signal.<br />

The transmitter filter, transmissi<strong>on</strong> path <strong>and</strong> the receiver filter<br />

together form a linear baseb<strong>and</strong> channel. It is assumed that this<br />

channel is time invariant so that it’s impulse resp<strong>on</strong>se does not<br />

vary with time [4].<br />

Sameena Naaz is with the Department of <strong>Computer</strong> Science Jamia<br />

Hamdard University, New Delhi, India. Ph<strong>on</strong>e: 09891206665. E-mail:<br />

snaaz@)jamiahamdard.ac.in<br />

Afshar Alam is with the Department of <strong>Computer</strong> Science Jamia Hamdard<br />

University, New Delhi, India. E-mail: aalam@jamiahamdard.ac.in<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 228


Proceedings of ICCNS 08 , 27-28 September 2008<br />

g 2<br />

Σ y ( hT ) δ ( t-hT ) (4)<br />

h=g 1<br />

To make this physically realizable, let the first n<strong>on</strong> zero<br />

sample value occur at t=0, so that the sampled impulse<br />

resp<strong>on</strong>se of the baseb<strong>and</strong> channel becomes,<br />

Fig1. Model of the serial data transmissi<strong>on</strong> system<br />

The signal at the input of the transmitter filter is a<br />

sequence of regularly spaced impulses the ith of which occurs<br />

at time t=iT sec<strong>on</strong>ds <strong>and</strong> has a value<br />

s i = ± k (1)<br />

where k is a positive c<strong>on</strong>stant. Each impulse Σ s i δ(t-iT) is<br />

a binary polar signal element, <strong>and</strong> a typical sequence of such<br />

signal elements is shown in Fig 2<br />

Fig. 2 A typical sequence of signal elements at the input to<br />

the baseb<strong>and</strong> channel<br />

The {s i } are statistically independent <strong>and</strong> are equally<br />

likely to have either binary value. The transmissi<strong>on</strong> path itself<br />

could be either a low pass channel with an upper frequency<br />

limit no greater than about 10kHz or else a typical voice<br />

frequency channel with a frequency b<strong>and</strong> no wider than 300 to<br />

3400Hz, such as could be obtained over the teleph<strong>on</strong>e network<br />

[4].<br />

Let us assume that the impulse resp<strong>on</strong>se of the baseb<strong>and</strong><br />

channel is y(t). Additive White Gaussian noise is introduced at<br />

the output of the transmissi<strong>on</strong> path. The noise has zero mean<br />

<strong>and</strong> a variance of σ 2 , giving the zero mean Gaussian<br />

waveform w(t) at the output of the receiver filter. Thus the<br />

resultant signal at the output of the receiver filter is<br />

r(t) = Σ s i y(t-iT) + w(t) (2)<br />

i<br />

The received signal r(t) at the output of the receiver filter,<br />

is sampled at the time instants t=iT, for all integers i.<br />

The signal distorti<strong>on</strong> introduced by the channel is<br />

assumed to be such that a received signal-element may<br />

introduce intersymbol interference in the sample values of<br />

some or all of the ‘g 1 ’ immediately preceding elements <strong>and</strong> in<br />

some or all of the ‘g 2 ’ immediately following elements. Most<br />

forms of signal distorti<strong>on</strong> normally experienced are of this<br />

general type [3]. Let,<br />

g=g 1 + g 2. (3)<br />

The sampled impulse resp<strong>on</strong>se of the baseb<strong>and</strong><br />

channel(i.e. the transmitter filter, transmissi<strong>on</strong> path <strong>and</strong> the<br />

receiver filter in cascade) is<br />

g<br />

Σ y h δ ( t-hT ) (5)<br />

h=0<br />

where y h = y(hT) is now n<strong>on</strong> zero for some or all values<br />

of the integer h in the range 0 to g, <strong>and</strong> is zero for all other<br />

values of h. The sampled impulse resp<strong>on</strong>se of the channel may<br />

simply be written as (g+1) comp<strong>on</strong>ent row vector.<br />

y 0 y 1 y 2 ……………y g (6)<br />

When a c<strong>on</strong>tinuous stream of signal elements is received<br />

in the presence of noise then neglecting the delay introduced<br />

by the filters for c<strong>on</strong>venience, the sample value of the received<br />

signal at time t=hT is<br />

g<br />

r i = Σ s i-j +w i (7)<br />

j=0<br />

where it can be shown that w are sample values of<br />

statistically independent Gaussian r<strong>and</strong>om variables of zero<br />

mean <strong>and</strong> variance σ 2 [3].<br />

III. MODEL OF THE BLOCK DATA TRANSMISSION SYSTEM.<br />

The serial data transmissi<strong>on</strong> system is modified to give<br />

the block data transmissi<strong>on</strong> system as shown in Fig. 3.<br />

Fig. 3: Block diagram of data transmissi<strong>on</strong> system<br />

The essential feature of this system is that the transmitted<br />

data signal at the input to the baseb<strong>and</strong> channel is no l<strong>on</strong>ger a<br />

c<strong>on</strong>tinuous stream of regularly spaced signal elements<br />

(impulses), instead the signal elements are arranged in<br />

separate groups of m elements with sufficient gaps (time guard<br />

b<strong>and</strong>s) between adjacent groups to ensure that the groups do<br />

not overlap each other at the receiver. Thus there is no<br />

intersymbol interference between different groups at the<br />

receiver. Each received group of signal elements is detected in<br />

a separate process [4].<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 229


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The signal elements at the input <strong>and</strong> the output of the<br />

buffer store in the transmitter normally have rectangular<br />

waveforms. The buffer store c<strong>on</strong>tains two stores, each with m<br />

storage elements. At any instant, <strong>on</strong>e of the two stores is filled<br />

with the corresp<strong>on</strong>ding m successive element values of the<br />

incoming data stream, <strong>and</strong> the other store is receiving the<br />

incoming data stream at the rate of <strong>on</strong>e element value every τ<br />

sec<strong>on</strong>ds. When <strong>on</strong>e of the two stores has been filled it’s<br />

storage elements are sampled, in turn, <strong>on</strong>ce every T sec<strong>on</strong>ds<br />

Where<br />

m . τ<br />

T= -------------------- (8)<br />

m + g<br />

g is the smallest positive integer such that the durati<strong>on</strong> of<br />

the impulse resp<strong>on</strong>se y(t) of the baseb<strong>and</strong> channel is always<br />

less than (g+1)T. Each output signal s i from the buffer store is<br />

sampled at the appropriate time instant t=iT <strong>and</strong> is fed to the<br />

baseb<strong>and</strong> channel in the form of the corresp<strong>on</strong>ding impulse s i<br />

δ (t-iT). When all m storage elements have been sampled the<br />

next g impulses, fed to the baseb<strong>and</strong> channel at intervals of T<br />

sec<strong>on</strong>ds, are all set to zero, so that no signal is transmitted<br />

during this period of gT sec<strong>on</strong>ds. By the end of this time the<br />

sec<strong>on</strong>d of the two stores has been filled with the data element<br />

values, so that this store is now sampled while the other<br />

receives the incoming data <strong>and</strong> so <strong>on</strong>. Hence after each group<br />

of m signal elements, at the input to the baseb<strong>and</strong> channel,<br />

there is a time gap of gT sec<strong>on</strong>ds. Thus if m=4 <strong>and</strong> g=2, the<br />

signal could appear as shown in Fig. 4.<br />

Fig.4: Typical transmitted signal<br />

Let us assume that the sampled impulse resp<strong>on</strong>se of the<br />

baseb<strong>and</strong> channel is<br />

{ y 0 y 1 y 2 ----- y g } (9)<br />

where y i = y(iT). Clearly the effect of the baseb<strong>and</strong><br />

channel is to spread out each group of signal element so that it<br />

extends over possibly the whole of the following time gap of<br />

gT sec<strong>on</strong>ds (but no further) in additi<strong>on</strong> to it’s original mT<br />

sec<strong>on</strong>ds. The correct operati<strong>on</strong> of the system relies <strong>on</strong> the fact<br />

that the impulse resp<strong>on</strong>se y(t) of a practical channel has<br />

effectively a finite durati<strong>on</strong> <strong>and</strong> does not for practical purposes<br />

extends to infinity.<br />

The transmitted group of m signal elements Σ s i δ(t-iT)<br />

arrives as the waveform Σ s i y(t-iT) at the receiver input to<br />

give the received waveform<br />

m<br />

r(t) = Σ s i y(t – iT) + w(t) (10)<br />

i=1<br />

where w(t) is the received Gaussian Noise waveform. The<br />

m signal elements are spread out over the m+g received<br />

samples {r i }, for I=1, 2,-----------, m+g, where r i = r(iT). These<br />

samples are independent of the other received groups of<br />

elements <strong>and</strong> are used for the detecti<strong>on</strong> of the m element<br />

values of {s i }. Similarly each of the other received group of m<br />

elements is detected from the corresp<strong>on</strong>ding m+g received<br />

samples that depend <strong>on</strong>ly <strong>on</strong> the group. Let,<br />

n=m+g (11)<br />

since there is no intersymbol interference between<br />

different groups of elements at the detector input, for each<br />

received group of m elements there are n sample values which<br />

are dependent <strong>on</strong>ly <strong>on</strong> the m elements <strong>and</strong> independent of all<br />

other elements. The detector uses these n values in the<br />

detecti<strong>on</strong> of the m elements. While <strong>on</strong>e store holds the n<br />

sample values for a detecti<strong>on</strong> process, another store is<br />

receiving the next n sample values, so that nT sec<strong>on</strong>ds are<br />

available for a detecti<strong>on</strong> process [3]. In the detecti<strong>on</strong> process,<br />

the m elements of a group are detected simultaneously by<br />

operating <strong>on</strong> the corresp<strong>on</strong>ding n sample values. Each group<br />

of m k-level elements is, in effect, treated as a signal-element<br />

having k m possible values, that is, as a k m level element.<br />

The sum of the received signal-elements in a group, in the<br />

absence of noise is,<br />

m<br />

Σ (s i Y i ) = SY (12)<br />

i=1<br />

where, Y is an m x n matrix of rank m whose ith row is Y i<br />

<strong>and</strong>,<br />

Y i is an n comp<strong>on</strong>ent row vector given by<br />

i – 1 g + 1 m - i<br />

----------- ------------ -------------- (13)<br />

0, ------, 0 y 0 y 1 ----y g 0, -----, 0<br />

The m comp<strong>on</strong>ents {s i } of the vector S are the values of<br />

the m signal elements of a group. The row vector { y 0 y 1 ----y g }<br />

is the sampled impulse resp<strong>on</strong>se of the baseb<strong>and</strong> channel. In<br />

the presence of noise, the sample values at the input to the<br />

detecot, corresp<strong>on</strong>ding to a group of m received signal –<br />

elements can be represented by the comp<strong>on</strong>ents of the m<br />

comp<strong>on</strong>ent row vector R, where<br />

R = SY + W (14)<br />

W is an n comp<strong>on</strong>ent roe vector whose comp<strong>on</strong>ents { w i }<br />

are sampled values of statistically independent Gaussian<br />

r<strong>and</strong>om variable with zero mean <strong>and</strong> variance σ 2 [3].<br />

Since the m vectors {y i } are linearly independent, they<br />

span an n-dimensi<strong>on</strong>al Euclidean vector space c<strong>on</strong>taining the<br />

vectors R, SY <strong>and</strong> W. SY is a linear combinati<strong>on</strong> of the m{y i },<br />

so that SY lies in the m-dimensi<strong>on</strong>al subspace for all values of<br />

S. The vectors R <strong>and</strong> W, however do not lie in the subspace.<br />

SY is the orthog<strong>on</strong>al projecti<strong>on</strong> of R <strong>on</strong> the subspace <strong>and</strong><br />

hence is at minimum distance from R. This corresp<strong>on</strong>ds to the<br />

noise vector W of minimum length, given the vector R <strong>and</strong> the<br />

matrix Y, <strong>and</strong> so corresp<strong>on</strong>ds to the most likely value of the<br />

noise vector [4]. The relati<strong>on</strong>ship between the vectors R SY<br />

<strong>and</strong> XY is illustrated in Fig. 5, where of course R – SY = W.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 230


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 5: Relati<strong>on</strong>ship between R, SY <strong>and</strong> XY<br />

In all detecti<strong>on</strong> processes, the detector operates <strong>on</strong> the<br />

received vector R to obtain the detected value of S. In every<br />

case it has an exact prior knowledge of the sampled impulse<br />

resp<strong>on</strong>se of the channel <strong>and</strong> hence that of m rows {Y i } of the<br />

matrix Y [3].<br />

IV. THE OPTIMUM DETECTION PROCESS FOR BLOCK DATA<br />

TRANSMISSION SYSTEM<br />

The detector here has prior knowledge both of Y <strong>and</strong> of<br />

the {|s i |}, so that it knows 2 m possible values of SY. The<br />

detector now selects the possible value of S for which |R – SY|<br />

has the minimum value, where |R – SY| is, of course, the<br />

distance between the vectors R <strong>and</strong> SY in the n – dimensi<strong>on</strong>al<br />

Euclidean vector space c<strong>on</strong>taining these vectors. The m<br />

element values {s i } are here detected in a single detecti<strong>on</strong><br />

process, <strong>and</strong> all m detected values{s i ’} are accepted. It can be<br />

shown that this detecti<strong>on</strong> process minimizes the probability of<br />

error in the detecti<strong>on</strong> of S from R [4]. At high signal/noise<br />

ratios it also minimizes the probability of error in the detecti<strong>on</strong><br />

of any given s i .<br />

The important property of this detecti<strong>on</strong> process is that,<br />

for the given received signal, it achieves the best available<br />

tolerance to Additive White Gaussian noise, so that no other<br />

detecti<strong>on</strong> process can give a lower probability of error in the<br />

detecti<strong>on</strong> of S from R. The weakness of the detecti<strong>on</strong> process<br />

is that it involves 2 m sequential operati<strong>on</strong>s, which becomes<br />

excessive when m>10 <strong>and</strong> the transmissi<strong>on</strong> rate approaches<br />

10,000 bits per sec<strong>on</strong>d [4]. Since in practical systems m is<br />

around 20 – 25, there is a need of an optimizati<strong>on</strong> technique,<br />

which can reduce the number of computati<strong>on</strong>s <strong>and</strong> can<br />

c<strong>on</strong>verge to global optimum soluti<strong>on</strong> in minimum time.<br />

Genetic Algorithm, which is used here, helps in providing the<br />

desired result<br />

V. GENETIC ALGORITHMS.<br />

Evoluti<strong>on</strong>ary algorithms are basically search methods that<br />

use the c<strong>on</strong>cept of natural biological evoluti<strong>on</strong>. Evoluti<strong>on</strong>ary<br />

algorithms operate <strong>on</strong> a populati<strong>on</strong> of potential soluti<strong>on</strong>s<br />

applying the principle of “survival of the fittest” to produce<br />

better <strong>and</strong> better approximati<strong>on</strong>s to a soluti<strong>on</strong>. At each<br />

generati<strong>on</strong>, a new set of individuals is created by, using<br />

different operators burrowed from natural genetics. This<br />

process leads to the evoluti<strong>on</strong> of populati<strong>on</strong>s of individuals<br />

that are better suited to their envir<strong>on</strong>ment than the individuals<br />

that they were created from, just as in natural adaptati<strong>on</strong> [1].<br />

The Genetic Algorithm can be divided into two broad<br />

categories:<br />

1. Single populati<strong>on</strong> genetic algorithm.<br />

2. Multipopulati<strong>on</strong> genetic algorithm.<br />

At the beginning of the computati<strong>on</strong> a number of<br />

individuals (initial populati<strong>on</strong>) are r<strong>and</strong>omly initialized. The<br />

objective functi<strong>on</strong> is then evaluated for these individuals. The<br />

first/ initial generati<strong>on</strong> is produced. If the optimizati<strong>on</strong> criteria<br />

are not met the creati<strong>on</strong> of a new generati<strong>on</strong> starts. Individuals<br />

are selected according to their fitness for the producti<strong>on</strong> of<br />

offspring. Parents are recombined to produce offspring. All<br />

offspring will be muted with certain probability. The fitness of<br />

the offspring is then computed. These offspring’s c<strong>on</strong>stitute<br />

the new generati<strong>on</strong>. This cycle is performed until the<br />

optimizati<strong>on</strong> criteria are reached.<br />

Such a single populati<strong>on</strong> evoluti<strong>on</strong>ary algorithm is<br />

powerful <strong>and</strong> performs well <strong>on</strong> a broad class of problems.<br />

However, better results can be obtained by introducing many<br />

populati<strong>on</strong>s called subpopulati<strong>on</strong>s. Every subpopulati<strong>on</strong><br />

evolves for a few generati<strong>on</strong>s isolated (like the single<br />

populati<strong>on</strong> evoluti<strong>on</strong>ary algorithm) before <strong>on</strong>e or more<br />

individuals are exchanged between sub populati<strong>on</strong>s. The<br />

multipopulati<strong>on</strong> evoluti<strong>on</strong>ary algorithm models the evoluti<strong>on</strong><br />

of a species in a way more similar to nature than the single<br />

populati<strong>on</strong> evoluti<strong>on</strong>ary algorithm [2].<br />

The most significant differences between the traditi<strong>on</strong>al<br />

search methods <strong>and</strong> genetic algorithms are:<br />

•Evoluti<strong>on</strong>ary algorithms search a populati<strong>on</strong> of points<br />

in parallel, not a single point<br />

•Evoluti<strong>on</strong>ary algorithms do not require derivative<br />

informati<strong>on</strong> or other auxiliary knowledge, <strong>on</strong>ly the<br />

objective functi<strong>on</strong> <strong>and</strong> corresp<strong>on</strong>ding fitness levels<br />

influence the directi<strong>on</strong> of search.<br />

•Evoluti<strong>on</strong>ary algorithms use probabilistic transiti<strong>on</strong><br />

rules, not deterministic <strong>on</strong>es.<br />

Basic comp<strong>on</strong>ents of genetic algorithm are:<br />

•A populati<strong>on</strong> of binary strings or coded possible<br />

soluti<strong>on</strong>s (biologically referred to as chromosomes).<br />

•A mechanism to encode a possible soluti<strong>on</strong> (mostly<br />

as binary string).<br />

•Objective functi<strong>on</strong> <strong>and</strong> associated fitness evaluati<strong>on</strong><br />

techniques.<br />

•Selecti<strong>on</strong>/ reproducti<strong>on</strong> procedure.<br />

•Cross Over.<br />

•Mutati<strong>on</strong>.<br />

•Reinserti<strong>on</strong>.<br />

VI. ALGORITHM FOR IMPLEMENTATION.<br />

In the block detecti<strong>on</strong> process, for a block of m signalelements,<br />

there are 2 m possible combinati<strong>on</strong>s of the noise free<br />

recepti<strong>on</strong> matrix SY. So, for evaluating the best estimate of<br />

the transmitted vector S, 2 m computati<strong>on</strong>s are required. This<br />

number is manageable till m is around 10 – 12. But bey<strong>on</strong>d<br />

that it requires a lot of computati<strong>on</strong>al time, as there are larger<br />

numbers of iterati<strong>on</strong>s to be carried out. Since in practical<br />

systems m is around 20 – 25, hence there is a need of an<br />

optimizati<strong>on</strong> technique, which can reduce the number of<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 231


Proceedings of ICCNS 08 , 27-28 September 2008<br />

computati<strong>on</strong>s <strong>and</strong> can c<strong>on</strong>verge to the global optimum<br />

soluti<strong>on</strong> in the minimum time. Genetic Algorithm provides<br />

such a mechanism. The optimum detecti<strong>on</strong> process is here<br />

implemented using Genetic <strong>and</strong> Evoluti<strong>on</strong>ary Algorithm<br />

Toolbox (GEATbx) under MATLAB envir<strong>on</strong>ment. Following<br />

steps are involved in the implementati<strong>on</strong> of the algorithm:<br />

1. Out of the 2 m possible combinati<strong>on</strong>s of SY row vector, a<br />

certain number of combinati<strong>on</strong>s are selected to c<strong>on</strong>stitute<br />

the initial populati<strong>on</strong>.<br />

2. Objective functi<strong>on</strong>, in this case the distance between R<br />

<strong>and</strong> each selected combinati<strong>on</strong> of SY, is calculated.<br />

3. Fitness of each individual of the current populati<strong>on</strong> is<br />

evaluated.<br />

4. Selecti<strong>on</strong> of individuals, from the current populati<strong>on</strong>, is<br />

carried out to form the mating pool populati<strong>on</strong> using<br />

Roulette Wheel Selecti<strong>on</strong>, Stochastic Universal Sampling<br />

or Tournament Selecti<strong>on</strong> scheme.<br />

5. Single point crossover is applied to mating pool<br />

populati<strong>on</strong> to generate new offspring’s.<br />

6. Simple mutati<strong>on</strong> operator is applied to current populati<strong>on</strong><br />

to increase the diversity in the populati<strong>on</strong>.<br />

7. If the c<strong>on</strong>vergence is achieved, the process is terminated.<br />

Otherwise, the process is repeated from step 2 <strong>on</strong>wards.<br />

Fig. 7: Mutati<strong>on</strong> Rate Vs. Number of Calculati<strong>on</strong>s for m=10<br />

VII. RESULTS AND DISCUSSION<br />

MATLAB is used to implement the genetic <strong>and</strong><br />

Evoluti<strong>on</strong>ary Algorithm Toolbox (GEATbx). The results are<br />

taken for the data block size of 8, 10, 12, 15 <strong>and</strong> 20 for<br />

Roulette Wheel Selecti<strong>on</strong> (RWS), Stochastic Universal<br />

Sampling (SUS) <strong>and</strong> Tournament Selecti<strong>on</strong> (TOUR) at<br />

different mutati<strong>on</strong> rates <strong>and</strong> populati<strong>on</strong> sizes. Each result is<br />

taken for 50 different blocks of data transmitted <strong>and</strong> an<br />

average of these is taken to give the number of generati<strong>on</strong>s.<br />

These results are plotted in Fig. 6 to 12.<br />

Fig. 8: Mutati<strong>on</strong> Rate Vs. Number of Calculati<strong>on</strong>s for m=12<br />

Fig. 9: Mutati<strong>on</strong> Rate Vs. Number of Calculati<strong>on</strong>s for m=15<br />

Fig. 6: Mutati<strong>on</strong> Rate Vs. Number of Calculati<strong>on</strong>s for m=8<br />

Fig. 10: Mutati<strong>on</strong> Rate Vs. Number of Calculati<strong>on</strong>s for m=20<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 232


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Varying the populati<strong>on</strong> size for fixed mutati<strong>on</strong> rate has a very<br />

little <strong>and</strong> insignificant effect <strong>on</strong> the number of calculati<strong>on</strong>s,<br />

but in order to make the search more robust the populati<strong>on</strong><br />

size should be taken to be small.<br />

A comparisi<strong>on</strong> of Genetic Algorithm with c<strong>on</strong>venti<strong>on</strong>al<br />

method is plotted in Fig. 13, which depicts the strenght of<br />

Genetic Algorithm.<br />

Fig. 11: Populati<strong>on</strong> Size Vs. Number of Calculati<strong>on</strong>s for m =8<br />

Fig. 13: Data Block Size Vs. Number of Calculati<strong>on</strong>s<br />

It can be observed from this Fig. that in case of<br />

c<strong>on</strong>venti<strong>on</strong>al method the number of calculati<strong>on</strong>s grows<br />

exp<strong>on</strong>entially whereas in case of genetic algorithm it increases<br />

by a very small amount with increase in m. The proposed<br />

method is therefore suitable particularly for <strong>on</strong> line detecti<strong>on</strong>.<br />

Fig.12: Populati<strong>on</strong> Size Vs. Number of Calculati<strong>on</strong>s for m=10<br />

These figures give a very clear idea of the performance of<br />

various selecti<strong>on</strong> schemes at different mutati<strong>on</strong> rates <strong>and</strong><br />

populati<strong>on</strong> sizes for different data block size. Fig. 6 gives the<br />

relati<strong>on</strong> between the mutati<strong>on</strong> rate <strong>and</strong> the number of<br />

calculati<strong>on</strong>s for Roulette Wheel Selecti<strong>on</strong>, Stochastic<br />

Universal Sampling <strong>and</strong> Tournament Selecti<strong>on</strong> <strong>and</strong> for a<br />

populati<strong>on</strong> size of 4 16 <strong>and</strong> 32. It can be seen from this fig.<br />

that the number of calculati<strong>on</strong>s goes <strong>on</strong> decreasing as the<br />

mutati<strong>on</strong> rate is increased from 0.02 to 0.07, but it starts<br />

increasing when the mutati<strong>on</strong> rate is increased further. This<br />

means that the mutati<strong>on</strong> rate of 0.07 is best if the data block<br />

size is 8. Different selecti<strong>on</strong> schemes show no particular trend.<br />

It can be seen from fig. 7 <strong>and</strong> fig. 8 that the mutati<strong>on</strong> rate of<br />

0.07 is best for data block size of 10 <strong>and</strong> 12 also. Fig. 9 shows<br />

the relati<strong>on</strong>ship between mutati<strong>on</strong> rate <strong>and</strong> number of<br />

calculati<strong>on</strong> for m=15. From here we see that as we increase<br />

the mutati<strong>on</strong> rate from 0.007 to 0.03, the number of<br />

calculati<strong>on</strong>s decreases <strong>and</strong> <strong>on</strong> further increasing the mutati<strong>on</strong><br />

rate the number of calculati<strong>on</strong>s increases. Hence we see that<br />

the best mutati<strong>on</strong> rate has g<strong>on</strong>e down from 0.07 to 0.03.<br />

Varying the selecti<strong>on</strong> schemes gives no variati<strong>on</strong> in<br />

performance. From Fig. 10 we can see that the mutati<strong>on</strong> rate<br />

of 0.01 is best with selecti<strong>on</strong> schemes showing the same<br />

performance.<br />

Populati<strong>on</strong> size Vs. Number of calculati<strong>on</strong>s has also<br />

studied for data block size of m= 8, 10, 12, 15 <strong>and</strong> 20.<br />

Different selecti<strong>on</strong> schemes at different mutati<strong>on</strong> rates are<br />

c<strong>on</strong>sidered. Two such plots are shown in Fig. 11 <strong>and</strong> 12.<br />

VIII REFERENCES<br />

[1] David E Goldberg, “ Genetic Algorithms in Search,<br />

Optimizati<strong>on</strong>, <strong>and</strong> Machine Learning”, Addis<strong>on</strong> Wesley<br />

L<strong>on</strong>gman Inc.<br />

[2] Hartmut Pohlheim, “Evoluti<strong>on</strong>ary Algorithms: Overview,<br />

Methods <strong>and</strong> Operators”, Documentati<strong>on</strong> for GEA toolbox<br />

for use with matlab.<br />

[3] Farid Ghani, “ Orthog<strong>on</strong>al signaling in Data Transmissi<strong>on</strong><br />

over Voice Frequency Channels”.<br />

[4] A P Clark, “Advanced Data Tansmissi<strong>on</strong> Systems”,<br />

Pentech Press L<strong>on</strong>d<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 233


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Optimized B<strong>and</strong>width Sharing for Delay Guarantee<br />

Using Feedback Loop C<strong>on</strong>trol<br />

Prem Kumar N<strong>on</strong>ia <strong>and</strong> R. Manivasakan<br />

Department Of Electrical Engineering, IIT Madras, Chennai<br />

preminbox@gmail.com, rmani@ee.iitm.ac.in<br />

Abstract—In the current effort to make IP network to support<br />

different services with different quality of service (QoS) requirement,<br />

adaptive b<strong>and</strong>width provisi<strong>on</strong>ing with feedback seems to<br />

be an attractive soluti<strong>on</strong>. However previous work <strong>on</strong> feedback<br />

model does not give the system model for GPS scheduler. In this<br />

paper a feed back model for adaptive b<strong>and</strong>width provisi<strong>on</strong>ing is<br />

presented in which PGPS Scheduler incorporates time varying<br />

service weights for each queue, which is updated at each c<strong>on</strong>trol<br />

update interval depending up<strong>on</strong> the feedback from the receiver.<br />

In this model it is assumed that each streaming sessi<strong>on</strong> has a<br />

different queue. The update of weight is such that the b<strong>and</strong>width<br />

allocati<strong>on</strong> is optimized am<strong>on</strong>g the current flows based <strong>on</strong> the<br />

QoS objective obtained from the feedback. In this paper we<br />

present an optimizati<strong>on</strong> algorithm for weight updati<strong>on</strong> <strong>and</strong> some<br />

experimental results.<br />

I. INTRODUCTION<br />

Al<strong>on</strong>g with Data, real time services such as voice <strong>and</strong> video<br />

are also c<strong>on</strong>verging towards IP network. The real time services<br />

needs certain level of QoS guarantee from the network for the<br />

meaning full delivery of the service. Integrated services (Int-<br />

Serv), Differentiated services (Diff-Serv) <strong>and</strong> Multi protocol<br />

Label Switching (MPLS) have been proposed to meet various<br />

Quality of Service requirement. Int-Serv is a c<strong>on</strong>necti<strong>on</strong><br />

based architecture <strong>and</strong> works with RSVP, it involves per<br />

flow management, but when the number of flows are large<br />

it becomes very complex to manage. Diff-Serve <strong>on</strong> the other<br />

h<strong>and</strong> provides class based service, it classifies the incoming<br />

traffic into several classes such as expedited forwarding (EF),<br />

assured forwarding (AF) <strong>and</strong> best effort (BE) classes. But diffserv<br />

<strong>on</strong>ly able to provide coarse QoS guarantee to the flows.<br />

This paper is motivated towards finding a soluti<strong>on</strong> in between<br />

int-serv <strong>and</strong> diff-serv to use the advantages of a <strong>and</strong> class based<br />

services <strong>and</strong> per flow based services. The model presented in<br />

this paper gives per flow management <strong>on</strong>ly to delay sensitive<br />

flows <strong>and</strong> class based services to other flows. here we c<strong>on</strong>sider<br />

delay as a Qos parameter. The delay bound is set by the<br />

receiver but due to r<strong>and</strong>om nature of other simultaneous<br />

Internet traffic sometime delay requirement is full filled some<br />

time not, to take care of those instants a feedback is sent to<br />

the intermediate routers to adjust the b<strong>and</strong>width allocati<strong>on</strong>.<br />

Feedback parameter is computed based <strong>on</strong> the statistics of<br />

the delayed packets. An optimizati<strong>on</strong> algorithm is used to<br />

allocate the fair share of b<strong>and</strong>width depending up<strong>on</strong> the QoS<br />

requirement of the flow which is obtained as the feedback from<br />

the receiver, thus making the system a bit flexible instead of<br />

fixed service rate scheduling.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 234<br />

In [1] <strong>and</strong> [2] linearized feedback c<strong>on</strong>trol system model<br />

for end-to-end multiple-link adaptive b<strong>and</strong>width provisi<strong>on</strong>ing<br />

was proposed <strong>and</strong> stability analysis based <strong>on</strong> adaptive P <strong>and</strong><br />

PI c<strong>on</strong>troller was given however, they did not give any feedback<br />

model for GPS scheduler. In [3] a similar optimizati<strong>on</strong><br />

algorithm was proposed, but in this paper we propose system<br />

model with feedback based <strong>on</strong> PGPS scheduling instead of<br />

fluid based GPS system.<br />

The rest of the paper is organized as follows, secti<strong>on</strong> II discuss<br />

about the fluid based GPS system originally proposed by<br />

Parekh <strong>and</strong> Galleger [4], <strong>and</strong> QoS parameter which c<strong>on</strong>stitutes<br />

the basics for this paper. Secti<strong>on</strong> III gives the detailed system<br />

model secti<strong>on</strong> IV presents the optimizati<strong>on</strong> algorithm followed<br />

by simulati<strong>on</strong> results in secti<strong>on</strong> V <strong>and</strong> finally c<strong>on</strong>clusi<strong>on</strong> <strong>and</strong><br />

future work in secti<strong>on</strong> VI.<br />

II. GPS AND QUALITY OF SERVICE PARAMETERS<br />

The generalized processor sharing scheduling policy based<br />

<strong>on</strong> fluid flow model, in which a traffic stream is c<strong>on</strong>sidered<br />

to be a fluid such that a fracti<strong>on</strong> of a bit can also be served.<br />

If we have N number of Queues each with service coefficient<br />

φ 1 , φ 2 , ... φ N then in GPS scheduling discipline<br />

S i (τ, t)<br />

S j (τ, t) ≥ φ i<br />

φ j<br />

(1)<br />

<strong>and</strong> the minimum service rate applied to a sessi<strong>on</strong> is<br />

=<br />

φ i<br />

∑ N<br />

i=1 φ i<br />

C (2)<br />

where S i (τ, t) is the served traffic amount of the i-th sessi<strong>on</strong><br />

which is c<strong>on</strong>tinuously backlogged in the interval [τ, t) <strong>and</strong> C<br />

is the service rate.<br />

Delay violati<strong>on</strong> ratio(DVR): This is a statistical parameter<br />

defined as the probability that end-to-end delay is greater than<br />

the required delay bound<br />

p(D i ≥ d i ) ≤ ε (3)<br />

where, D i is the end-to-end delay of the packet of flow i, d i<br />

is the required end-to-end delay bound of the flow i <strong>and</strong> ε is<br />

the DVR.<br />

III. SYSTEM MODEL<br />

In the proposed system model, network traffic is broadly<br />

classified as delay sensitive <strong>and</strong> delay insensitive. Delay<br />

sensitive traffic are real time traffic such as voice, video


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 2.<br />

Time Scale<br />

Fig. 1.<br />

System model<br />

be stated for our case i.e with discrete time as<br />

S i (m, n)<br />

S j (m, n) = ∆φ i(m) + ∆φ i (m + ∆) + ∆φ i (m + 2∆)...∆φ i (n)<br />

∆φ j (m) + ∆φ j (m + ∆) + ∆φ j (m + 2∆)...∆φ j (n)<br />

∑ (6)<br />

n<br />

l=m<br />

≥ ∑ φ i(l)<br />

n<br />

l=m φ (7)<br />

j(l)<br />

<strong>and</strong> the minimum service rate applied to a sessi<strong>on</strong> is<br />

<strong>and</strong> other streaming flows, <strong>and</strong> flows such as e-mail, file<br />

download, etc are c<strong>on</strong>sidered as delay insensitive traffics. Each<br />

delay sensitive flows are allocated its own queue which is a<br />

c<strong>on</strong>necti<strong>on</strong> oriented service (i.e all the packet follow a single<br />

path <strong>and</strong> delivered in order) <strong>and</strong> a separate queue for all the<br />

delay insensitive class of traffic. The weights of the queues<br />

are updated in each update c<strong>on</strong>trol interval according to the<br />

error signal e(n) received (feedback) from the receiver of the<br />

real time sessi<strong>on</strong> while the sessi<strong>on</strong> is in service. A similar<br />

error signal may locally be obtained for delay insensitive class<br />

queue which corresp<strong>on</strong>ds to buffer over flow from a desired<br />

buffer level (less than maximum capacity of buffer), because<br />

packet loss is more important for delay insensitive traffic. In<br />

this paper discussi<strong>on</strong> is limited for real time sessi<strong>on</strong> <strong>on</strong>ly (i.e.<br />

c<strong>on</strong>sidering feedback <strong>on</strong>ly from the receiver) assuming all the<br />

sessi<strong>on</strong>s are real time. Fig.1 shows the system model based <strong>on</strong><br />

which simulati<strong>on</strong> results are obtained. Here error signal from<br />

the receiver for real time services is the parameter which gives<br />

informati<strong>on</strong> about the over provisi<strong>on</strong>ing or under provisi<strong>on</strong>ing<br />

of b<strong>and</strong>width of the associated sessi<strong>on</strong>. If the received error<br />

signal by the scheduler is positive the associated sessi<strong>on</strong> is over<br />

provisi<strong>on</strong>ed if the error is negative then the associated sessi<strong>on</strong><br />

is under provisi<strong>on</strong>ed. The weights or the service coefficients<br />

are updated in such a way that a fracti<strong>on</strong> of b<strong>and</strong>width is<br />

taken from the over provisi<strong>on</strong>ed (or over satisfied) sessi<strong>on</strong><br />

<strong>and</strong> allocated to the under provisi<strong>on</strong>ed (unsatisfied) <strong>on</strong>e. In<br />

other words updating the service coefficients is an optimizati<strong>on</strong><br />

process such that<br />

with the c<strong>on</strong>straint that<br />

N∑<br />

φ i (n) = 1 (4)<br />

i=1<br />

φ min ≤ φ i (n) ≤ φ max (5)<br />

where φ max <strong>and</strong> φ min is the predetermined maximum <strong>and</strong><br />

minimum allowable service ratio (or equivalently b<strong>and</strong>width)<br />

respectively.The limits are imposed because at times there may<br />

be some sessi<strong>on</strong> which can over c<strong>on</strong>sume the b<strong>and</strong>width due<br />

to c<strong>on</strong>tinuous dem<strong>and</strong> (negative error) leaving behind starving<br />

sessi<strong>on</strong>s. The GPS scheduling described by equati<strong>on</strong> (1) may<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 235<br />

=<br />

φ min<br />

∑ N<br />

i=1 φ i(n) C (8)<br />

where, n is the c<strong>on</strong>trol update interval, which is integer multiple<br />

of the time interval between two successive weight update<br />

timings i.e. ∆ as shown in Fig.2. S i (m, n) is the amount<br />

of traffic served of the i-th sessi<strong>on</strong> which is c<strong>on</strong>tinuously<br />

backlogged in the interval [m, n), where m is also the integer<br />

multiple of ∆.<br />

In this model each new sessi<strong>on</strong> is allocated a separate<br />

queue with a service ratio φ min taking the available b<strong>and</strong>width<br />

from the over provisi<strong>on</strong>ed sessi<strong>on</strong>, if there is not enough<br />

b<strong>and</strong>width corresp<strong>on</strong>ding to φ min then c<strong>on</strong>necti<strong>on</strong> request will<br />

not be accepted, thus the maximum number of queue possible<br />

is 1/φ min . The receiver <strong>on</strong> the other h<strong>and</strong> computes the DVR<br />

of the incoming traffic <strong>and</strong> generates an error signal e(n)<br />

which is the difference between the desired DVR ˆr <strong>and</strong> the<br />

computed DVR r(n). This error is fed back to the scheduler<br />

<strong>and</strong> the scheduler update the service ratio’s according the<br />

algorithm presented in the next secti<strong>on</strong>.<br />

IV. OPTIMIZATION ALGORITHM<br />

At each c<strong>on</strong>trol update interval the algorithm takes the<br />

latest error signal from each receivers [e 1 (n), e 2 (n), ...e N (n)]<br />

as input <strong>and</strong> gives service ratio vector[φ 1 (n + 1), φ 2 (n +<br />

1), ...φ N (n+1)] as output.At first mean is calculated from the<br />

received error vector <strong>and</strong> then mean deviati<strong>on</strong> to divide the the<br />

set of error vectors in two parts satisfied(S) <strong>and</strong> unsatisfied(U).<br />

The mean deviati<strong>on</strong> is calculated to take care of the case<br />

when all the errors are negative or all are positive such that<br />

level of satisfacti<strong>on</strong> <strong>and</strong> unsatisfacti<strong>on</strong> is shared equally am<strong>on</strong>g<br />

the c<strong>on</strong>tending flow. The weights are updated at each c<strong>on</strong>trol<br />

update interval by the following relati<strong>on</strong><br />

φ i (n + 1) = φ i (n) − α (e i (n) − e(n)) ¯<br />

2 p ∑jεS e(n) (9)<br />

φ i (n + 1) = φ i (n) + α (e i (n) − e(n)) ¯<br />

2 p ∑jεU e(n) (10)<br />

where α is the initial step-size <strong>and</strong> p is the number of iterati<strong>on</strong><br />

to reach the optimal set of weights within the desired limit<br />

i.e φ min ≤ φ(n) ≤ φ max , for set U if any of the updated<br />

weight exceed the upper limit φ max then the correcti<strong>on</strong> term


Proceedings of ICCNS 08 , 27-28 September 2008<br />

is reduced by half <strong>and</strong> for the set S if the corrected weight<br />

goes below the lower limit φ min the correcti<strong>on</strong> term is again<br />

reduced by half <strong>and</strong> new corrected set of weight is obtained.<br />

The optimizati<strong>on</strong> algorithm is given as follows.<br />

Input: e 1 (n), e 2 (n)...e N (n)<br />

Output: [φ 1 (n + 1), φ 2 (n + 1), ...φ N (n + 1)]<br />

Algorithm:<br />

Total number of sessi<strong>on</strong> is N<br />

Let S <strong>and</strong> U be the set of satisfied <strong>and</strong> unsatisfied<br />

sessi<strong>on</strong> respectively<br />

mean = (e 1 (n), e 2 (n)...e N (n))/N<br />

mean deviati<strong>on</strong> = [(e 1 (n) − m), (e 2 (n) −<br />

m)...(e N (n) − m)]<br />

for i = 1 to N<br />

set p = 0;<br />

while i ≠ N<br />

do<br />

if mean deviati<strong>on</strong> ≥ 0<br />

φ i (n + 1) = φ i (n) − α (e(n) − e(n)) ¯<br />

2 p Σ jεS e(n)<br />

Fig. 3.<br />

Service ratio<br />

if φ i (n + 1) ≤ φ min<br />

p = p+1;<br />

return;<br />

else<br />

break;<br />

else<br />

φ i (n + 1) = φ i (n) + α (e(n) − e(n)) ¯<br />

2 p Σ jεU e(n)<br />

if φ i (n + 1) ≥ φ min<br />

p = p+1;<br />

return;<br />

else<br />

break;<br />

end<br />

end<br />

V. SIMULATION RESULTS<br />

We have used packet based simulati<strong>on</strong>s <strong>on</strong> Matlab<br />

platform using Simevents which is a event based simulator,<br />

we assumed four sessi<strong>on</strong> with Poiss<strong>on</strong> distributed traffic,<br />

with mean inter arrival (exp<strong>on</strong>ential distributi<strong>on</strong>) time 2.5<br />

sec <strong>and</strong> packet size of 1000 bits <strong>and</strong> server service rate is 2<br />

kbps. Each of the sessi<strong>on</strong>s has different delay requirement,<br />

sessi<strong>on</strong>-1 has delay bound of 1.2sec similarly sessi<strong>on</strong>-2, 3 <strong>and</strong><br />

4 has delay bound of 1.4 sec, 1.6 sec, 1.8 sec respectively,<br />

including a link delay of 100 ms. we have taken the delay<br />

violati<strong>on</strong> ratio (DVR) as 0.01 for each sessi<strong>on</strong>. Initial weights<br />

of all queue is set to 25 <strong>and</strong> φ max is set to be 50 <strong>and</strong> φ min<br />

to 10, the initial step size α is kept to be 0.0004. Fig.3 shows<br />

how the weights of the queues changes (keeps optimizing)<br />

to meet the end to end delay requirement with time based<br />

<strong>on</strong> the feedback. Let us c<strong>on</strong>sider sessi<strong>on</strong>-1, science the delay<br />

requirement is as less as 1.2 sec, it increases from 25 to 50,<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 236<br />

Fig. 4.<br />

Delay<br />

similarly weights of other sessi<strong>on</strong> adjust it self within the<br />

c<strong>on</strong>straint to meet the delay requirement close to the desired<br />

level.<br />

Fig.4 the time average delay of each sessi<strong>on</strong>, we can<br />

observe that as the sessi<strong>on</strong> weight increases or decreases the<br />

corresp<strong>on</strong>ding sessi<strong>on</strong>’s delay decreases or increases respectively.<br />

It is also observed that delay does not c<strong>on</strong>verge to the<br />

desired delay requirement, it remains at 0.1 sec to 0.2 sec<br />

(a steady state error, generally encountered with feed back<br />

system) more than the required level.


Proceedings of ICCNS 08 , 27-28 September 2008<br />

VI. CONCLUSIONS<br />

In this paper a feedback system model which is a QoS aware<br />

system, to meet the various delay requirement is presented.<br />

A optimizati<strong>on</strong> algorithm is used to keep <strong>on</strong> optimizing the<br />

service weights of the running sessi<strong>on</strong> based <strong>on</strong> the feed<br />

back received from the receiver. Simulati<strong>on</strong> results obtained<br />

is based <strong>on</strong> the packet level simulati<strong>on</strong> instead of fluid simulati<strong>on</strong>,<br />

figure shows how service weights (allocated b<strong>and</strong>width)<br />

changes to meet the desired delay bound, but some steady state<br />

error remains close to the required delay bound. The above<br />

proposed model tries to provide fine QoS guarantee to the<br />

delay sensitive traffic. It can be used with diff-serv to improve<br />

the service guarantee to delay sensitive traffic in the core<br />

transport network. Future work is to improve the optimizati<strong>on</strong><br />

algorithm for better tracking of the receiver feedback.<br />

REFERENCES<br />

[1] H. Wang, C. Huang, <strong>and</strong> J. Yan, ”A Feedback C<strong>on</strong>trol Model for Multiple-<br />

Link Adaptive B<strong>and</strong>width Provisi<strong>on</strong>ing System”, IEEE ICC 2006.<br />

[2] H. Wang, C. Huang, <strong>and</strong> J. Yan, ”Efficient multiple link Adaptive<br />

B<strong>and</strong>width Provisi<strong>on</strong>ing for End to End Quality of Service”, IEEE<br />

CCECE/CCGEI, Ottawa, May 2006.<br />

[3] W Park, J.Y. Lee <strong>and</strong> D. K. Sung, ”B<strong>and</strong>width optimizati<strong>on</strong> algorithm<br />

based <strong>on</strong> b<strong>and</strong>width ratio adjustment in Generalized processor sharing<br />

servers, IEEE ICC 2006.<br />

[4] A. Parekh <strong>and</strong> R. Gallager, ”A Generalized processor sharing approach<br />

to flow c<strong>on</strong>trol in integrated services network: The single node case”,<br />

IEEE/ACM Transacti<strong>on</strong> <strong>on</strong> Networking, vol 1, pp.344-357, June 1993.<br />

[5] A. Parekh <strong>and</strong> R. Gallager, ”A Generalized processor sharing approach<br />

to flow c<strong>on</strong>trol in integrated services network: The multiple node case”,<br />

IEEE/ACM Transacti<strong>on</strong> <strong>on</strong> Networking, vol 2, pp.137-150, April 1994.<br />

[6] J.Y.Lee, S. Kim, D Kim <strong>and</strong> D K Sung, ”B<strong>and</strong>width optimizati<strong>on</strong> for<br />

internet traffic in generalized processor sharing”,IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Parallel <strong>and</strong> Distributed Systems, Vol. 16, No. 4, April 2005.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 237


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Network Analyzers <strong>and</strong> Device Management<br />

Thaksen J. Parvat 1 , Dr. Yogesh Singh 2 , Dr. Pravin Ch<strong>and</strong>ra 3<br />

Abstract The purpose of this paper to present traffic analyzers <strong>and</strong><br />

device management. We have studied the results of traffic analyzers<br />

<strong>and</strong> SNMP based device c<strong>on</strong>trol utilities provided by manufacturers.<br />

The results of our analyzer are presented as highlights. We want to<br />

integrate device management feature to traffic analyzer. This will<br />

exploit the limitati<strong>on</strong>s of traffic analysis <strong>and</strong> research will be initiated<br />

to development of software for network administrators <strong>and</strong> users of<br />

middle size networks.<br />

Keywords—Analysis, B<strong>and</strong>width, Management, Packet,<br />

Planning, Protocols, SNMP, Traffic Measurement,<br />

I. INTRODUCTION<br />

Network management is challenging due to heterogeneity of<br />

hosts. Network administrators need to collect informati<strong>on</strong> all<br />

about his network. Traffic measurement <strong>and</strong> m<strong>on</strong>itoring is<br />

most fundamental aspect of automated network management.<br />

There is always a need of knowing performance of <strong>on</strong>e’s<br />

network to planning, estimati<strong>on</strong>, traffic engineering <strong>and</strong> QoS.<br />

Measurement <strong>and</strong> m<strong>on</strong>itoring tools support activities like<br />

network optimizati<strong>on</strong> <strong>and</strong> planning, device management, <strong>and</strong><br />

tackle performance related issues.<br />

The traffic characteristics measurements <strong>on</strong> network is<br />

categorized in two types[9]:<br />

1. Active Methods: sending c<strong>on</strong>trolled probe traffic<br />

al<strong>on</strong>g the path <strong>on</strong> target network <strong>and</strong> observe it at<br />

receiving host for traffic.<br />

2. Passive Methods: capturing real traffic <strong>on</strong> target<br />

network at <strong>on</strong>e or more points <strong>and</strong> analyze data.<br />

II. BACKGROUND<br />

Today most of traffic flow measurement [2] devices based of<br />

data acquisiti<strong>on</strong> techniques <strong>and</strong> has to adopt <strong>on</strong>e of these.<br />

SNMP query, Test Access Ports (TAPs) or SPAN Ports,<br />

Packet sniffing <strong>and</strong> analyzing flow experts like NetFlow /<br />

SFlow / cflowd / J-Flow / Netstream / IPFIx management.<br />

Network also include routers, L2 switches, firewalls, Accesspoints.<br />

These devices has been c<strong>on</strong>trolled by administrator<br />

independently either by GUI support or text based terminal .<br />

These c<strong>on</strong>trolled devices running independent OS <strong>and</strong> web<br />

support. The critical problem is that all devices can’t<br />

communicate each because of policies of network <strong>and</strong> they are<br />

vendor specific.<br />

1 Sinhgad Institute of Technology, Gat No. 309/310, Kusga<strong>on</strong> (Bk.) Off<br />

Mumbai-Pune Expressway, L<strong>on</strong>avala, Dt. Pune-410 401 (M.S.) India,<br />

pthaksen@yahoo.com<br />

2& 3 University School of Informati<strong>on</strong> Technology, Guru Gobind Singh<br />

Indraprastha University, Kashmere Gate, Delhi-110 403. ys66@ipu.edu ,<br />

pch<strong>and</strong>ra@ipu.edu<br />

The capability to discover a network using SNMP[5] query<br />

<strong>and</strong> SNMP Agent is working there. Devices use scan methods<br />

to identify network hosts.<br />

Packet sniffer copy <strong>and</strong> collect the local traffic by capturing<br />

the packets from the interface. It is useful for troubleshooting,<br />

network intrusi<strong>on</strong> detecti<strong>on</strong>, <strong>and</strong> m<strong>on</strong>itoring network usage.<br />

The advantage is the ability it lends to account the actual<br />

traffic by IP address <strong>and</strong> the protocol. It also cause load to<br />

system.<br />

Simple Network Management Protocol uses SNMP Queries<br />

<strong>on</strong> SNMP agents running in the network device, to get<br />

informati<strong>on</strong> about b<strong>and</strong>width <strong>and</strong> hosts. SNMP query gives a<br />

c<strong>on</strong>solidated figure, so further it needs to be analyzed like<br />

who, when <strong>and</strong> what aspects of b<strong>and</strong>width usage. As it is<br />

using pull-technology, it may cause c<strong>on</strong>siderable load to<br />

network.<br />

Span pots[9]( Switched Port Analyzer) is a port designed <strong>on</strong><br />

switches to mirror traffic received <strong>on</strong> other ports. Test access<br />

ports are traffic replicators <strong>and</strong> placed between two routers,<br />

firewalls or switches that sends, a copy of all the network<br />

traffic flow through them. These ports can be used to forward<br />

network traffic to analyzer where network traffic can be<br />

tapped. The main challenge is cost for deployment <strong>and</strong><br />

management of all these.<br />

Flow base technology devices working <strong>on</strong> layer 3 <strong>and</strong> layer 4<br />

gives packet informati<strong>on</strong>. It c<strong>on</strong>tains informati<strong>on</strong> like<br />

NetFlow, sFlow, cflowd, J-Flow, Netstream, <strong>and</strong> IPFIX[2]<br />

provides depth view of traffic flow. They offer a scalable <strong>and</strong><br />

low cost approach. The extracted data can gives following<br />

details about network. Which provides necessary informati<strong>on</strong><br />

to make planning decisi<strong>on</strong>s. Also detect network abuse if any<br />

in m<strong>on</strong>itoring QoS <strong>and</strong> security attacks up to certain extent.<br />

Devices based <strong>on</strong> packet capturing library Libcap/WinPacap<br />

Ethereal/ Ntop[6] are also powerful developed by open source<br />

network community. It is used by professi<strong>on</strong>als around the<br />

world for software <strong>and</strong> protocol deployment , troubleshooting<br />

<strong>and</strong> network analysis. It runs <strong>on</strong> all popular computing<br />

platforms. Its features are ability to capture from line<br />

c<strong>on</strong>necti<strong>on</strong>. As its base is <strong>on</strong> libcap library, it is able to read<br />

any other analyzers data. The data can be read from Ethernet,<br />

FDDI, Token- Ring, <strong>and</strong> Claasical IP over ATM <strong>and</strong><br />

Loopback interfaces. The captured data can browse with GUI<br />

support or tty-mode tethereal program. The captured file can<br />

be edited or c<strong>on</strong>verted.<br />

III. PRESENT TRAFFIC MEASUREMENT ANALYSIS TOOLS<br />

NeTraMet[1] is an implementati<strong>on</strong> of the guidelines in Realtime<br />

flow measurement. It can be classified as a traffic meter<br />

that utilizes passive methods to collect flow-based traffic<br />

informati<strong>on</strong> from networks.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 238


Proceedings of ICCNS 08 , 27-28 September 2008<br />

It has ability to h<strong>and</strong>le flows with different levels of<br />

granularity <strong>and</strong> to cope with high speed networks. But it is not<br />

affordable to all due to cost.<br />

NetFlow Analyzers are suitable for big enterprises distributed<br />

over a glob <strong>and</strong> has ability to h<strong>and</strong>le milli<strong>on</strong>s of hosts <strong>and</strong><br />

users. For this it is offering distributed enterprise versi<strong>on</strong>.<br />

Ntop[7 ] : it is network traffic probe gives network usage<br />

based <strong>on</strong> libcap library. It has web base support with GUI .a<br />

default web browser used to display informati<strong>on</strong>. It has very<br />

less c<strong>on</strong>figurati<strong>on</strong> <strong>and</strong> installati<strong>on</strong>. The main advantage is that<br />

required less memory <strong>and</strong> CPU utilizati<strong>on</strong> <strong>and</strong> varies<br />

according to size of network. It produces RMON like network<br />

statistics. It displays IP traffic subnet matrix. It identifies host<br />

OS. Display traffic statistics etc.<br />

Wireshark / Ethereal [10, 11]: It is open source license allows<br />

talented experts in the networking community to add<br />

enhancements. It runs <strong>on</strong> all popular computing platforms,<br />

including UNIX, Linux <strong>and</strong> Windows. It is preferred by<br />

professi<strong>on</strong>als around the word because of its features for<br />

troubleshooting, analysis, software <strong>and</strong> protocol development,<br />

<strong>and</strong> educati<strong>on</strong>. It supports 759 protocols as <strong>on</strong> today.<br />

sFlow[4]: It is a leading multi-vendor st<strong>and</strong>ard for m<strong>on</strong>itoring<br />

high-speed switched <strong>and</strong> routed networks. sFlow is<br />

exclusively developed as m<strong>on</strong>itoring technology which is not<br />

like<br />

NetFlow of Cisco: It gives complete visibility of network<br />

activity <strong>and</strong> enables effective management <strong>and</strong> c<strong>on</strong>trol of<br />

network resources. It gives comprehensive network analysis.<br />

It defends against threats of network security <strong>and</strong> ensure<br />

guaranty of delivery. Most leading network vendors like HP,<br />

Hitachi, NEC products supports sFlow.<br />

WhatsUpGold[11]: It is a easy tool for m<strong>on</strong>itoring TCP/IP,<br />

NetBIOS <strong>and</strong> IPX networks. Because of its web interface <strong>on</strong>e<br />

can vies network status from a web browser <strong>on</strong> any computer<br />

<strong>on</strong> the internet. It notify problems by digital beeper, sounds,<br />

winpops, e-mail or messages. Using discover <strong>and</strong> map<br />

technique, it can scan entire network. We can also create a<br />

network map by scanning for SNMP informati<strong>on</strong>. It uses<br />

following scan methods.<br />

1. Poll devices <strong>on</strong> network where you are c<strong>on</strong>nected.<br />

2. Identify TCP/IP, NetBIOS or IPX devices.<br />

3. Create network map of all devices associated with a specific<br />

address.<br />

Different types of tools <strong>and</strong> techniques are used for network<br />

management from few hosts to thous<strong>and</strong>s of hosts in<br />

enterprise.<br />

Sufficient care is taken for security purpose. Administrators,<br />

troubleshooters load is reduced up to certain extent. All these<br />

devices are designed to provide following basic<br />

functi<strong>on</strong>alities.<br />

1. Host detecti<strong>on</strong>.<br />

2. Protocol usage/ distributi<strong>on</strong>.<br />

3. B<strong>and</strong>width utilizati<strong>on</strong>.<br />

4. Intranet <strong>and</strong> internet traffic characterizati<strong>on</strong>.<br />

5. Device management.<br />

These tools are sophisticated protocol analyzers to simple<br />

light applicati<strong>on</strong>s. They are either software or hardware.<br />

Important issue is that, solving problem of performance may<br />

not h<strong>and</strong>le other issue like device management.<br />

Large enterprises can deploy individual tools for each task<br />

separately. This is not possible for small business. They need<br />

to have a <strong>on</strong>e offer abele tool able to manage network traffic<br />

as well as all network c<strong>on</strong>trolled devices like switches,<br />

routers, firewalls etc. Cisco has provided this feature to its<br />

devices but the problem is when we have other than Cisco.<br />

The campus network can be c<strong>on</strong>trolled by developing a light<br />

system without increasing much more load to system.<br />

IV. HIGHLIGHTS OF ANALYSIS<br />

This secti<strong>on</strong> summarizes c<strong>on</strong>clusi<strong>on</strong>s of selected observati<strong>on</strong>s<br />

from the network traffic measurement analysis process of<br />

network.<br />

1) Most of the results show that network c<strong>on</strong>nected to Public<br />

network TCP is a dominant protocol but most of the traffic is<br />

UDP packets.<br />

2) Traffic flows are bi-directi<strong>on</strong>al <strong>and</strong> asymmetric. In the<br />

observati<strong>on</strong>s, the host-to-host traffic there is always send <strong>and</strong><br />

received data but in differ size.<br />

3) Most TCP c<strong>on</strong>versati<strong>on</strong>s are short-lived. Over 90% of TCP<br />

c<strong>on</strong>versati<strong>on</strong>s transfer less than 10 kb in size.<br />

4) The packet arrival process is unpredictable. The packet<br />

arrival time is r<strong>and</strong>om <strong>and</strong> independent <strong>and</strong> no two packets<br />

arrive exactly same time. The packet arrival process is bursty;<br />

packets arrive in clumps. This is because of protocols used in<br />

data transmissi<strong>on</strong>.<br />

5) Sessi<strong>on</strong> arrival processes is predictable. Every user operates<br />

independently in network at r<strong>and</strong>om, but sessi<strong>on</strong> arrival<br />

process is defined well.<br />

6) Packet size is in two models. Many of the packets less than<br />

50% are as large as possible that carry maximum size of data<br />

permitted based <strong>on</strong> MTU (For Ethernet it is 1500 bytes)<br />

parameter defined for a network interface. About 40% packets<br />

are smaller in size <strong>on</strong>ly including headers. The rest of<br />

10% are r<strong>and</strong>omly between the lower <strong>and</strong> upper limits.<br />

7) Packet traffic is not uniform. By analyzing source <strong>and</strong><br />

destinati<strong>on</strong> addresses carried in TCP/IP packets shows that<br />

packet traffic is highly n<strong>on</strong>-uniformly distributed am<strong>on</strong>g the<br />

hosts. Comm<strong>on</strong> observati<strong>on</strong> is that 90% traffic is generated by<br />

10% hosts <strong>and</strong> remaining all.<br />

8) Network traffic c<strong>on</strong>tinues to change. By observing for time<br />

slot or by no. Of packets, it is always differ i.e. the b<strong>and</strong>width<br />

of network is always changing <strong>on</strong> every sec<strong>on</strong>d or <strong>on</strong> every<br />

packet.<br />

V. PROPOSED WORK<br />

The literature study <strong>on</strong> network traffic measurement analysis<br />

<strong>and</strong> device management has evolved following issues:<br />

1. These devices give b<strong>and</strong>width utilizati<strong>on</strong> of entire network,<br />

it is necessary to have b<strong>and</strong> width utilizati<strong>on</strong> of individual host<br />

in network.<br />

2. These devices are applicati<strong>on</strong> specific.<br />

3. There is necessity to develop analyzer with device<br />

management idea.<br />

4. There is no choice for user to select particular field from<br />

packet header to be recorded.<br />

5. All these analyzers put load to system.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 239


Proceedings of ICCNS 08 , 27-28 September 2008<br />

It is therefore to c<strong>on</strong>duct experimentati<strong>on</strong>, which will exploit<br />

all above limitati<strong>on</strong>s of Network Analyzers. A new smart<br />

software device is to be developed for Network Traffic<br />

Measurement Analysis <strong>and</strong> Managing Network C<strong>on</strong>trol<br />

Devices in the intranet.<br />

Taking advantage of CSMA/CD <strong>and</strong> using any <strong>on</strong>e data<br />

acquisiti<strong>on</strong> method this research review paper titled “smart<br />

network analysis <strong>and</strong> device management” aims to develop a<br />

software tool which enable <strong>on</strong>e to measure, analyze <strong>and</strong><br />

m<strong>on</strong>itor a network. This incorporates the study of various<br />

features like support different protocols viz. TCP/IP optimize,<br />

Ethernet <strong>and</strong> backb<strong>on</strong>e networks utilizati<strong>on</strong> etc.<br />

The sec<strong>on</strong>d phase is to add feature of device management to<br />

traffic analyzer. Cisco has already this feature to their network<br />

c<strong>on</strong>trol devices. The ability to explore type of host, operating<br />

system, network interface etc.<br />

WhatsupGold has ability to h<strong>and</strong>le different kind of devices<br />

but it is not affordable to cost wise. We want to add<br />

intelligence to traffic analyzer. For this purpose SNMP based<br />

applicati<strong>on</strong> added to traffic analyzer.<br />

[10] Ethereal home page : http://www.ethereal.org<br />

[11] http://ipswitch.com<br />

VI. CONCLUSION<br />

The purpose of this paper is to study network measurement<br />

analysis techniques <strong>and</strong> tools. Network management devices<br />

have m<strong>on</strong>itoring capabilities <strong>and</strong> they are managed as<br />

individual in network. Different technologies are used for<br />

traffic data collecti<strong>on</strong> <strong>and</strong> analysis.<br />

Advantage of adding device management feature with<br />

network analyzers will be added value to analyzers. The first<br />

step is to review leading traffic analyzers <strong>and</strong> device<br />

management tool.<br />

Sec<strong>on</strong>d step is to develop a smart traffic analyzer. Third step<br />

is to add SNMP based device management feature to analyzer.<br />

Finally we are trying to develop a software that will help to<br />

network administrator, troubleshooters to optimize the<br />

performance of medium size networks. The deployment of<br />

this tool will reduce load to administrator <strong>and</strong> system <strong>and</strong><br />

improve the performance.<br />

REFERENCES<br />

[1] NeTraMet home page:<br />

http://auckl<strong>and</strong>.ac.nz/net/NeTraMet<br />

[2] Thomas Linda, Nevil Brownlee- “Integrating Active<br />

Methods <strong>and</strong> Flow Metwrs” An implementati<strong>on</strong> Using<br />

NetraMet.<br />

[3] IPFIX IETF working group home page:<br />

http://www.ietf.org/html.charters/ipfixcharter.html.<br />

[4] SFlow home page: http://www.sflow.org.<br />

[5] RFC 2720-2724<br />

[6] L. Deri, R. Carb<strong>on</strong>, S. Suin, M<strong>on</strong>itoring networks using<br />

Ntops, Proc. IEEE IM, 2001, pp. 199-212, May 2001.<br />

[7] Luca Deri, Finsiel S.P.A., Stefano Suin, University of Pisa,<br />

Effective Traffic Measurement Using ntop, IEEE<br />

Communicati<strong>on</strong> Magazine, May 2000.<br />

[8] M. Roesh, “ Snort – Lightweight Intrusi<strong>on</strong> Detecti<strong>on</strong> for<br />

<strong>Networks</strong> ”, Proceeding of LISA ‘99’,1999.<br />

[9] Ilka Milouchava, Ali Nisari, Ulrich Hofmann “next<br />

Genarati<strong>on</strong> Network Initiative” IST-2000-26418 (NGNI)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 240


A Novel Method of Broadcasting using Z<strong>on</strong>e Based<br />

Multicasting AMRoute in Mobile Adhoc <strong>Networks</strong><br />

Wg Cdr(Retd) Devasish Pal<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract—Due to high mobility & adhoc nature of mobile nodes<br />

combined with absence of a centralized framework in MANETs<br />

broadcasting is required for reas<strong>on</strong>s of discovering routes, sending<br />

error messages, to erase invalid routes, raising alerts <strong>and</strong> alarms etc.<br />

Whenever the manet is distributed over a large area it is proposed to<br />

be divided into n<strong>on</strong> overlapping z<strong>on</strong>es using GPS <strong>and</strong> ―hello‖ packets<br />

as described in the ZBIDS c<strong>on</strong>cept. Multicast is a type of<br />

communicati<strong>on</strong> used for communicating between groups of<br />

computers. In this paper all nodes in a z<strong>on</strong>e are c<strong>on</strong>sidered as<br />

members of a user multicast tree as per AMRoute. The interz<strong>on</strong>e<br />

nodes pass the broadcast message to their peers in other z<strong>on</strong>es who in<br />

turn carry out the broadcast following the same procedure as per<br />

AMRoute. Z<strong>on</strong>e wise user multicast trees have their own core node<br />

which is dynamic. Firstly, Z<strong>on</strong>e wise broadcast using AMRoute<br />

eliminates single point of failure of core node. Sec<strong>on</strong>dly if a core<br />

node is compromised or fails in its operati<strong>on</strong> due to link failure etc<br />

another node takes over as core node as per core resoluti<strong>on</strong> algorithm.<br />

Thirdly, simultaneous z<strong>on</strong>e wise broadcast is much faster <strong>and</strong> the<br />

overheads are evenly distributed z<strong>on</strong>e wise. Fourthly, mobility of<br />

nodes does not alter the tree structure which reduces the signaling<br />

traffic <strong>and</strong> packet loss. Finally Multicasting sends single copy of a<br />

packet to all clients <strong>and</strong> avoids sending multiple copies of a packet<br />

over the same porti<strong>on</strong> of the network. This reduces c<strong>on</strong>gesti<strong>on</strong> <strong>and</strong><br />

overheads in the system.<br />

Keywords—AMRoute, Core node, gateway node, user multicast<br />

tree.<br />

A<br />

I. INTRODUCTION<br />

mobile ad hoc network [4] enables wireless<br />

communicati<strong>on</strong>s between anticipating mobile nodes that<br />

are out of <strong>on</strong>e another’s transmissi<strong>on</strong> range need the support<br />

of intermediate nodes, which relay messages to set up a<br />

communicati<strong>on</strong> between each other. The broadcast operati<strong>on</strong><br />

is the most fundamental role in ad hoc networks. Broadcast<br />

operati<strong>on</strong> has extensive applicati<strong>on</strong>s, such as when used in the<br />

route query process in routing protocols, when sending error<br />

messages to erase invalid routes or when used as an efficient<br />

mechanism for reliable multicast in highly dynamic wireless<br />

networks. In general, broadcasting refers to a process of<br />

transmitting a packet so that each node in a network receives a<br />

copy of this packet.<br />

The remainder of the paper is organized as follows:<br />

Secti<strong>on</strong> 2 highlights the various broadcast techniques available<br />

for Manet. Secti<strong>on</strong> 3 explains in brief about Z<strong>on</strong>al Based<br />

Intrusi<strong>on</strong> Detecti<strong>on</strong> System (ZBIDS). Secti<strong>on</strong> 4 menti<strong>on</strong>s the<br />

characteristics <strong>and</strong> advantages of user multicast AMRoute.<br />

Proposed Z<strong>on</strong>e Based Broadcasting using Multicasting<br />

AMRoute <strong>and</strong> its Advantages in Mobile Adhoc <strong>Networks</strong> is<br />

presented in Secti<strong>on</strong> 5<br />

A. Simple Flooding<br />

II. RELATED WORK<br />

Simple Flooding requires each node to rebroadcast all<br />

packets. The algorithm for Simple Flooding [5, 6] starts<br />

with a source - broadcasting a packet to all neighbors. Each<br />

of the neighbors in turn rebroadcast the packet exactly <strong>on</strong>e<br />

time <strong>and</strong> this c<strong>on</strong>tinues until all reachable network nodes<br />

have received the packet. Here the overheads are high.<br />

B. Probability Based Methods<br />

1) Probabilistic Scheme: This form is similar to<br />

flooding except that nodes <strong>on</strong>ly rebroadcast with a predetermined<br />

probability. In dense networks multiple nodes<br />

share similar transmissi<strong>on</strong> coverage. Thus, r<strong>and</strong>omly<br />

having some nodes rebroadcast saves node <strong>and</strong> network<br />

resources without harming delivery effectiveness. In sparse<br />

networks, there is much less shared coverage thus, nodes<br />

w<strong>on</strong>'t receive all the broadcast packets with the Probabilistic<br />

scheme unless the probability parameter is high. When the<br />

probability is 100%, this scheme is identical to Flooding.<br />

2) Counter-Based Scheme: Ni et al [8] show an<br />

inverse relati<strong>on</strong>ship between the number of times a<br />

packet is received at a node <strong>and</strong> the probability of that<br />

node being able to reach additi<strong>on</strong>al area <strong>on</strong> a<br />

rebroadcast. This result is the basis of their Counter-<br />

Based scheme. Up<strong>on</strong> recepti<strong>on</strong> of a previously unseen<br />

packet, the node initiates a counter with a value of <strong>on</strong>e<br />

<strong>and</strong> sets a RAD (which is r<strong>and</strong>omly chosen between 0<br />

<strong>and</strong> Tmax sec<strong>on</strong>ds). During the RAD, the counter is<br />

incremented by <strong>on</strong>e for each redundant packet received. If<br />

the counter is less than a threshold value when the RAD<br />

expires, the packet is rebroadcast. Otherwise, it is simply<br />

dropped. The overriding compelling features of the Counter-<br />

Based scheme are its simplicity <strong>and</strong> its inherent adaptability<br />

to local topologies. That is, in a dense area of the network,<br />

some nodes w<strong>on</strong>'t rebroadcast in sparse areas of the<br />

network, all nodes rebroadcast.<br />

C. Area Based Methods<br />

Suppose a node receives a packet from a sender that is<br />

located <strong>on</strong>ly <strong>on</strong>e meter away. If the receiving node<br />

rebroadcasts, the additi<strong>on</strong>al area covered by the<br />

retransmissi<strong>on</strong> is quite low. On the other extreme, if a node<br />

is located at the boundary of the sender node’s transmissi<strong>on</strong><br />

distance, then a rebroadcast would reach significant<br />

additi<strong>on</strong>al area, 61% to be precise [8]. A node using an Area<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 241


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Based Method can evaluate additi<strong>on</strong>al coverage area based<br />

<strong>on</strong> all received redundant transmissi<strong>on</strong>s. We note that area<br />

based methods <strong>on</strong>ly c<strong>on</strong>sider the coverage area of a<br />

transmissi<strong>on</strong>; they d<strong>on</strong>'t c<strong>on</strong>sider whether nodes exist within<br />

that area.<br />

1) Distance-Based Scheme. A node using the<br />

Distance-Based Scheme compares the distance between<br />

itself <strong>and</strong> each neighbor node that has previously<br />

rebroadcast a given packet. Up<strong>on</strong> recepti<strong>on</strong> of a<br />

previously unseen packet, a RAD is initiated <strong>and</strong> redundant<br />

packets are cached. When the RAD expires, all source node<br />

locati<strong>on</strong>s are examined to see if any node is closer than a<br />

threshold distance value. If true, the node doesn't<br />

rebroadcast.<br />

2) Locati<strong>on</strong>-Based Scheme: The Locati<strong>on</strong> Based<br />

scheme [8] uses a more precise estimati<strong>on</strong> of expected<br />

additi<strong>on</strong>al coverage area in the decisi<strong>on</strong> to rebroadcast.<br />

In this method, each node must have the means to<br />

determine its own locati<strong>on</strong>, e.g., a Global Positi<strong>on</strong>ing<br />

System (GPS). Whenever a node originates or<br />

rebroadcasts a packet it adds its own locati<strong>on</strong> to the header<br />

of the packet. When a node initially receives a packet, it<br />

notes the locati<strong>on</strong> of the sender <strong>and</strong> calculates the additi<strong>on</strong>al<br />

coverage area obtainable were it to rebroadcast. If the<br />

additi<strong>on</strong>al area is less than a threshold value, the node will<br />

not rebroadcast, <strong>and</strong> all future recepti<strong>on</strong>s of the same packet<br />

will be ignored. Otherwise, the node assigns a RAD before<br />

delivery. If the node receives a redundant packet during the<br />

RAD, it recalculates the additi<strong>on</strong>al coverage area <strong>and</strong><br />

compares that value to the threshold. The area calculati<strong>on</strong><br />

<strong>and</strong> threshold comparis<strong>on</strong> occur with all redundant<br />

broadcasts received until the packet reaches either its<br />

scheduled send time or is dropped.<br />

D. Neighbor Knowledge Methods<br />

1) Flooding with Self Pruning: The simplest of the<br />

Neighbor Knowledge Methods is what Lim <strong>and</strong> Kim<br />

refer to as Flooding with Self Pruning [7]. This<br />

protocol requires that each node have knowledge of<br />

its l-hop neighbors, which is obtained via periodic<br />

―Hello" packets.<br />

A node includes its list of known neighbors in the<br />

header of each broadcast packet. A node receiving a<br />

broadcast packet compares its neighbor list to the sender's<br />

neighbor list. If the receiving node would not reach any<br />

additi<strong>on</strong>al nodes, it refrains from rebroadcasting;<br />

otherwise the node rebroadcasts the packet.<br />

2) Scalable Broadcast Algorithm: The scalable<br />

Broadcast Algorithm (SBA) [4] requires that all nodes<br />

have knowledge of their neighbors within a two hop radius.<br />

This neighbor knowledge coupled with the identity of the<br />

node from which a packet is received allows a receiving<br />

node to determine if it would reach additi<strong>on</strong>al nodes by<br />

rebroadcasting. 2-hop neighbor knowledge is achievable<br />

via periodic "Hello" packets; each "Hello" packet c<strong>on</strong>tains<br />

the node's identifier (IP address) <strong>and</strong> the list of known<br />

neighbors. After a node receives a "Hello" packet from all<br />

its neighbors, it has two hop topology informati<strong>on</strong> centered<br />

at itself.<br />

3) Dominant Pruning: Dominant Pruning also uses 2-hop<br />

neighbor knowledge, obtained via ―Hello‖ packets, for<br />

routing decisi<strong>on</strong>s [7]. Unlike SBA, however, Dominant<br />

Pruning requires rebroadcasting nodes to proactively choose<br />

some or all of its 1-hop neighbors as rebroadcasting nodes.<br />

Only those chosen nodes are allowed to rebroadcast. Nodes<br />

inform neighbors to rebroadcast by including their addresses<br />

as part of a list in each broadcast packet header. When a<br />

node receives a broadcast packet it checks the header to see<br />

if its address is part of the list. If so, it uses a Greedy Set<br />

Cover algorithm to determine which subset of neighbors<br />

should rebroadcast the packet, given knowledge of which<br />

neighbors have already been covered by the sender’s<br />

broadcast. The Greedy Set Cover algorithm, as adapted in<br />

[7] from [11], recursively chooses 1-hop neighbors which<br />

cover the most 2-hop neighbors <strong>and</strong> recalculates the cover<br />

set until all 2-hop neighbors are covered.<br />

4) Multipoint Relaying: Multipoint Relaying [12] is<br />

similar to Dominant Pruning in that rebroadcasting nodes<br />

are explicitly chosen by upstream senders. For example, say<br />

Node A is originating a broadcast packet. It has previously<br />

selected some, or in certain cases all, of it <strong>on</strong>e hop neighbors<br />

to rebroadcast all packets they receive from Node A. The<br />

chosen nodes are called Multipoint Relays (MPRs) <strong>and</strong> they<br />

are the <strong>on</strong>ly nodes allowed to rebroadcast a packet received<br />

from Node A. Each MPR is required to choose a subset of<br />

its <strong>on</strong>e hop neighbors to act as MPRs as well. Since a node<br />

knows the network topology within a 2-hop radius, it can<br />

select 1-hop neighbors as MPRs that most efficiently reach<br />

all nodes within the two hop neighborhood. The authors of<br />

[12] propose the following algorithm for a node to choose<br />

its MPRs:<br />

Find all 2-hop neighbors that can <strong>on</strong>ly be reached by <strong>on</strong>e<br />

1- hop neighbor. Assign those 1-hop neighbors as MPRs.<br />

Determine the resultant cover set (i.e., the set of 2-hop<br />

neighbors that will receive the packet from the current<br />

MPR set).<br />

From the remaining 1-hop neighbors not yet in the MPR<br />

set, find the <strong>on</strong>e that would cover the most 2- hop<br />

neighbors not in the cover set.<br />

Repeat from step 2 until all 2-hop neighbors are covered.<br />

In Multipoint Relaying, ―Hello‖ Packets include fields for a<br />

node to list the MPRs it has chosen. Anytime a node<br />

receives a ―Hello‖ packet, it checks if it is a MPR for the<br />

source of the packet. If so, it must rebroadcast all data<br />

packets received from that source. Clearly, the update<br />

interval for ―Hello‖ packets must be carefully chosen <strong>and</strong>, if<br />

possible, optimized for network c<strong>on</strong>diti<strong>on</strong>s.<br />

5) The Ad Hoc Broadcast Protocol (AHBP): In<br />

AHBP[13], <strong>on</strong>ly nodes who are designated as a Broadcast<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 242


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Relay Gateway (BRG) within a broadcast packet header are<br />

allowed to rebroadcast the packet. BRGs are proactively<br />

chosen from each upstream sender, which is a BRG itself.<br />

The algorithm for a BRG to choose its BRG set is identical<br />

to that used in Multipoint Relaying (see steps 1-4 for<br />

choosing MPRs).<br />

6) C<strong>on</strong>nected Dominating Set: Peng <strong>and</strong> Lu describe the<br />

C<strong>on</strong>nected Dominating Set (CDS Based Broadcast<br />

Algorithm, a more calculati<strong>on</strong> intensive algorithm for<br />

selecting BRGs, in [9]. Where AHBP <strong>on</strong>ly c<strong>on</strong>siders the<br />

source of the broadcast packet to determine a receiving<br />

node’s initial cover set, CDS-Based Broadcast Algorithm<br />

also c<strong>on</strong>siders the set of higher priority BRGs selected by<br />

the previous sender [9]. For example, suppose Node A has<br />

selected Nodes B, C <strong>and</strong> D (in this order) to be BRGs.<br />

When Node C receives a broadcast packet from Node A,<br />

AHBP requires Node C to add neighbors comm<strong>on</strong> to Node<br />

A to the initial cover set. CDS-Based Broadcast Algorithm<br />

also requires that Node C adds neighbors comm<strong>on</strong> to Node<br />

B, because Node B is a higher priority BRG. Likewise,<br />

Node D is required to c<strong>on</strong>sider comm<strong>on</strong> neighbors with<br />

nodes A, B <strong>and</strong> C. Once the initial cover set is determined, a<br />

node then chooses which neighbors should functi<strong>on</strong> as<br />

BRGs. The algorithm for determining this is the same as<br />

that for AHBP <strong>and</strong> Multipoint Relaying (see steps 1-4 for<br />

choosing Multipoint Relays).<br />

7) Lightweight <strong>and</strong> Efficient Network-Wide Broadcast:<br />

This (LENWB) protocol [10] also relies <strong>on</strong> 2-hop neighbor<br />

knowledge obtained from ―Hello‖ packets. However,<br />

instead of a node explicitly choosing nodes to rebroadcast,<br />

the decisi<strong>on</strong> is implicit. In LENWB, each node decides to<br />

rebroadcast based <strong>on</strong> knowledge of which of its other <strong>on</strong>e<br />

<strong>and</strong> two hop neighbors are expected to rebroadcast. The<br />

informati<strong>on</strong> required for that decisi<strong>on</strong> is knowledge of<br />

which neighbors have received a packet from the comm<strong>on</strong><br />

source node <strong>and</strong> which neighbors have a higher priority for<br />

rebroadcasting. The priority is proporti<strong>on</strong>al to a node’s<br />

number of neighbors; the higher the node’s degree the<br />

higher the priority. Since a node relies <strong>on</strong> its higher priority<br />

neighbors to rebroadcast, it can proactively compile if all of<br />

its lower priority neighbors will receive.<br />

III. ZONE BASED SELECTION AS PER ZBIDS<br />

Z<strong>on</strong>e Based Intrusi<strong>on</strong> Detecti<strong>on</strong> system (ZBIDS) has n<strong>on</strong><br />

overlapping z<strong>on</strong>es that can be obtained based <strong>on</strong> geographic<br />

partiti<strong>on</strong>ing [3]. With the availability of GPS, it is possible for<br />

a mobile host to know its physical locati<strong>on</strong>. It can then<br />

determine its z<strong>on</strong>e ID by mapping its physical locati<strong>on</strong> <strong>on</strong> to a<br />

z<strong>on</strong>e map, which has to be worked out at the design phase. By<br />

some locally broadcast mechanism (Hello messages, e.g.),<br />

each node can know the informati<strong>on</strong> of its neighbors.<br />

Therefore it can determine whether it is an interz<strong>on</strong>e node or<br />

intraz<strong>on</strong>e node based <strong>on</strong> c<strong>on</strong>nectivity. Interz<strong>on</strong>e nodes are also<br />

referred as gateway nodes, which exchange informati<strong>on</strong> with<br />

their peers in neighbor z<strong>on</strong>es. A node may change its role over<br />

time due to mobility. An example of ZBIDS is depicted in<br />

figure 1.<br />

Selecti<strong>on</strong> of the z<strong>on</strong>e size is critical <strong>and</strong> depends <strong>on</strong><br />

factors such as node mobility, network density, transmissi<strong>on</strong><br />

power <strong>and</strong> propagati<strong>on</strong> characteristics, etc. The z<strong>on</strong>e size<br />

should be neither too large nor too small. Large z<strong>on</strong>e size, the<br />

broadcast alerts may involve large communicati<strong>on</strong> overhead.<br />

Likewise, if the z<strong>on</strong>e size is too small, the gateway nodes may<br />

not be of sufficient number, which may lead to single point<br />

failure. In figure 1 nodes 4, 7 <strong>and</strong> 8 are the gateway nodes of<br />

z<strong>on</strong>e 5.<br />

Gateway nodes in neighboring z<strong>on</strong>es collaborate in order<br />

to perform broadcasting by passing the informati<strong>on</strong> to their<br />

corresp<strong>on</strong>ding multicast trees. There may exist many gateway<br />

nodes in a z<strong>on</strong>e, thus avoiding the issue of single point of<br />

failure.<br />

Fig. 1 The Z<strong>on</strong>e Based IDS Framework for Mobile Ad Hoc<br />

<strong>Networks</strong>.<br />

IV. AMROUTE USER MULTICAST TREE<br />

A mesh is created between the members of the group by a<br />

Mesh Creati<strong>on</strong> technique, which involves broadcasting a<br />

C<strong>on</strong>trol Packet to identify the members of the Group. This is<br />

an ―Exp<strong>and</strong>ed Ring Search‖ algorithm [14]. Each of the mesh<br />

created c<strong>on</strong>sists of a Logical Core node, which is resp<strong>on</strong>sible<br />

for maintaining the tree <strong>and</strong> its members. The core is selected<br />

by using a ―Core Resoluti<strong>on</strong>‖ algorithm. Once a Mesh is<br />

created, a User Multicast Tree is built from it. This tree is<br />

formed in such a way that the nodes of the tree are the<br />

members of the group.<br />

The next step is to maintain the Tree created. This is d<strong>on</strong>e<br />

by periodically sending a message to all the members of the<br />

group. The core node is resp<strong>on</strong>sible for sending this packet. It<br />

maintains a TREE_CREATE_TIMER. There is a procedure<br />

for nodes to join <strong>and</strong> also to leave the group. The logical core<br />

node periodically broadcasts this JOIN_REQ message for new<br />

nodes to join the group. If a node leaves a group, they send out<br />

a single JOIN-NAK message to their neighboring nodes. If<br />

they subsequently receive any data or signaling message for<br />

that group they can send out further JOIN-NAK messages.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 243


Proceedings of ICCNS 08 , 27-28 September 2008<br />

To improve the efficiency of the AMRoute protocol a<br />

Core Migrati<strong>on</strong> technique is used. A new core is being elected<br />

periodically so that the core migrates <strong>and</strong> thereby the tree is<br />

maintained effectively. An AMRoute segment can also have<br />

no core nodes because the core node may disappear (e.g.,<br />

leaves the group) or moves to next z<strong>on</strong>e, an existing segment<br />

is split into multiple disjoint segments (e.g., because of link or<br />

node failure). If a segment does not have a core node, <strong>on</strong>e of<br />

the nodes will designate itself as the core node at some<br />

r<strong>and</strong>om time, <strong>on</strong> not receiving any join or tree creati<strong>on</strong><br />

messages. A node may move from <strong>on</strong>e z<strong>on</strong>e to another. It<br />

joins the new z<strong>on</strong>e tree as its new member <strong>and</strong> disc<strong>on</strong>nects<br />

itself from the old tree in its previous z<strong>on</strong>e.<br />

A. Advantages of user multicast tree Amroute<br />

Core node [14] is selected dynamically avoiding single<br />

point failure. Core node resoluti<strong>on</strong> algorithm is available to<br />

resolve core node selecti<strong>on</strong> when code node fails to operate or<br />

multiple core nodes are available.<br />

Mobility of nodes does not alter the tree structure which<br />

reduces the signaling traffic <strong>and</strong> packet loss. Unicast tunnels<br />

are used as the tree links to c<strong>on</strong>nect neighbors <strong>on</strong> the user<br />

multicast tree, independent of specific unicast routing<br />

protocol. Hence it can operate seamlessly over separate<br />

domains with different unicast protocols. User multicast tree<br />

also eliminate the need to change the tree as the network<br />

changes.<br />

Core can migrate dynamically according to group<br />

membership <strong>and</strong> network c<strong>on</strong>nectivity.<br />

The main advantage of multicasting is that a sender <strong>on</strong>ly<br />

needs to send the data <strong>on</strong>ce so that significant resources (e.g.,<br />

network transmissi<strong>on</strong> b<strong>and</strong>width) can be saved. The following<br />

functi<strong>on</strong>s are to be performed. Sender sends each set of data<br />

<strong>on</strong>ly <strong>on</strong>ce. Receiver can participate in the multicast at any time<br />

by joining the multicast group <strong>and</strong> receiving the sent packets.<br />

Multicasting sends single copy of a packet to all clients<br />

<strong>and</strong> avoids sending multiple copies of a packet over the same<br />

porti<strong>on</strong> of the network. This reduces c<strong>on</strong>gesti<strong>on</strong> <strong>and</strong> overheads<br />

in the system.<br />

V. PROPOSED ZONE BASED BROADCASTING USING<br />

MULTICASTING AMROUTE AND ITS ADVANTAGES IN MOBILE<br />

ADHOC NETWORKS<br />

Whenever the manet is distributed over a large area it is<br />

proposed to be divided into n<strong>on</strong> overlapping z<strong>on</strong>es using GPS<br />

<strong>and</strong> ―hello‖ packets as described in the ZBIDS c<strong>on</strong>cept[3].<br />

Multicast is a type of communicati<strong>on</strong> used for communicating<br />

between groups of computers. In this paper all nodes in a z<strong>on</strong>e<br />

are c<strong>on</strong>sidered as members of a user multicast tree as per<br />

AMRoute. The interz<strong>on</strong>e nodes also called gateway nodes<br />

pass the broadcast message to their peers in other z<strong>on</strong>es who<br />

in turn carry out the broadcast following the same procedure<br />

as per AMRoute. Z<strong>on</strong>e wise user multicast trees have their<br />

own core node which is dynamic. Z<strong>on</strong>e wise broadcast using<br />

multicasting where all nodes within the z<strong>on</strong>e are members of<br />

the user multicast tree eliminates single point of failure of core<br />

node.<br />

Fig. 2 Screen shot of AMRoute tree<br />

Multicasting (AMRoute) sends single copy of a packet to<br />

all clients <strong>and</strong> avoids sending multiple copies of a packet over<br />

the same porti<strong>on</strong> of the network. This reduces c<strong>on</strong>gesti<strong>on</strong> <strong>and</strong><br />

overheads in the system.<br />

Simultaneous z<strong>on</strong>e wise broadcast is much faster <strong>and</strong> the<br />

overheads are evenly distributed z<strong>on</strong>e wise.<br />

If a core node is compromised or fails in its operati<strong>on</strong> due<br />

to link failure etc another node takes over as core node as per<br />

core resoluti<strong>on</strong> algorithm.<br />

Mobility of nodes does not alter the tree structure. This<br />

reduces the signaling traffic <strong>and</strong> packet loss.<br />

Unicast tunnels are used as the tree links to c<strong>on</strong>nect<br />

neighbors <strong>on</strong> the user multicast tree which are independent of<br />

specific unicast routing protocol. Hence it can operate<br />

seamlessly over separate domains with different unicast<br />

protocols.<br />

Core can migrate dynamically according to group<br />

membership <strong>and</strong> network c<strong>on</strong>nectivity.<br />

VI. CONCLUSION<br />

This new c<strong>on</strong>cept of broadcasting in MANET z<strong>on</strong>e wise<br />

using multicasting (AMRoute) where all nodes of a z<strong>on</strong>e are<br />

c<strong>on</strong>sidered as members of a multicast group presents a number<br />

of advantages. Significant am<strong>on</strong>g them is that the entire<br />

problem of broadcast over MANET is divided <strong>and</strong> distributed<br />

z<strong>on</strong>e wise. The overheads get spread equally over the z<strong>on</strong>es.<br />

Broadcasting, simultaneously, the operati<strong>on</strong> is faster. Z<strong>on</strong>e<br />

wise broadcast eliminates single point of failure of core node.<br />

If a core node is compromised or fails in its operati<strong>on</strong> due to<br />

link failure etc another node takes over as core node as per<br />

core resoluti<strong>on</strong> algorithm. Mobility of nodes does not alter the<br />

tree structure which reduces the signaling traffic <strong>and</strong> packet<br />

loss. Multicasting sends single copy of a packet to all clients<br />

<strong>and</strong> avoids sending multiple copies of a packet over the same<br />

porti<strong>on</strong> of the network. This reduces c<strong>on</strong>gesti<strong>on</strong> <strong>and</strong> overheads<br />

in the system.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 244


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[13] W. Peng <strong>and</strong> X. Lu. AHBP: An efficient broadcast protocol for<br />

mobile ad hoc networks. Journal of Science <strong>and</strong> Technology -<br />

Beijiing. China, 2002.<br />

[14] Bommaiah, McAuley, Taplade <strong>and</strong> Liu ‖AMRoute: Ad hoc Multicast<br />

Routing Protocol‖, draft-talpade-manet-amroute-00.txt, August 6, 1998<br />

[15] Ballardie T., ―Core based Trees (CBT) Mulitcast Routing<br />

Architecture‖, RFC 2201, September,1997.<br />

Fig. 3 Screen shot of MANET divided into six n<strong>on</strong>-overlapping z<strong>on</strong>es<br />

having user multicast trees z<strong>on</strong>e wise.<br />

REFERENCES<br />

[1] Devan Tanvir Ahmed, ―Multicasting in Ad Hoc <strong>Networks</strong>‖ University<br />

of Ottawa.<br />

[2] Williams, Camp ―Comparis<strong>on</strong> of Broadcasting Techniques for<br />

Mobile Ad Hoc <strong>Networks</strong>‖ – (2002)<br />

[3] Tiranuch Anantvalee <strong>and</strong> Jie Wu ―A Survey <strong>on</strong> Intrusi<strong>on</strong> Detecti<strong>on</strong><br />

in Mobile Ad Hoc <strong>Networks</strong> Wireless/Mobile Network <strong>Security</strong>‖<br />

Y. Xiao, X. Shen, <strong>and</strong> D.-Z. Du (Eds.) pp. 170 - 196 c° 2006 Springer<br />

[4] W. Peng<strong>and</strong>X. Lu. ―On the radiati<strong>on</strong> of broadcast redundancy in<br />

mobile ad hoc networks.‖ In Proceedings of MOBIHOC, 2000.<br />

[5] C. Ho, K. Obracaka, G. Tsudik, <strong>and</strong> K. Viswanath. ―Flooding for<br />

reliable multicasting in multi-hop ad hoc networks.‖ In<br />

Proceedings of the internati<strong>on</strong>al Workshop <strong>on</strong> Discrete Algorithms<br />

<strong>and</strong> Methods for Mobile Computing <strong>and</strong> Communicati<strong>on</strong> (DIALM),<br />

pages 64—71, 1999.<br />

[6] J. Jetcheva,’Y. Ru, D. Malta, <strong>and</strong> D. Johns<strong>on</strong>. ―A simple protocol<br />

for multicast <strong>and</strong> broadcast in mobile ad hoc networks.‖ Intemet<br />

Draft manet-simple-mbcast-0 1.txt, July 2001.<br />

[7] H. Lim <strong>and</strong> C. Kim. ―Multicast tree c<strong>on</strong>structi<strong>on</strong> <strong>and</strong> flooding in<br />

wireless ad hoc networks.‖ In Proceedings of the ACM<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Workshop <strong>on</strong> Modeling, Analysis <strong>and</strong> Simulati<strong>on</strong> of<br />

Wireless <strong>and</strong> Mobile Systems (MSWIM), 2000.<br />

[8] Tseng, Chen, <strong>and</strong>. Sheu. ―The broadcast problem in a mobile ad<br />

hoc network.‖ In Proceedings of the ACM/IEEE internati<strong>on</strong>al<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Mobile Computing <strong>and</strong> Networking (MOBICOM),<br />

pages 151—162, 1999.<br />

[9] W. Peng <strong>and</strong> X. Lu. ―Efficient broadcast in mobile ad hoc networks<br />

using c<strong>on</strong>nected dominating sets.‖ Journal of Software - Bejing.<br />

China, 1999.<br />

[10] J. Sucec <strong>and</strong> L Marsic. ―An efficient distributed network-wide<br />

broadcast algorithm for mobile ad hoc networks.‖ CAIP Technical<br />

Report 248 - Rutgors University, Sertember 20W.<br />

[11] L. Lovasz. ―On the ratio of optimal integral <strong>and</strong> fracti<strong>on</strong>al covers‖<br />

Discrete Mathematics, 1975.<br />

[12] A.Qayyum, L.Viennot,<strong>and</strong>A. Laouiti.‖Multipoint relaying: An<br />

efficient technique for flooding in mobile wireless networks.‖<br />

Technical Report 3898, INRIA - Rapport de recherche, 2000.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 245


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Mobile Forensics: the study of collecting digital<br />

evidence from mobile devices<br />

Rizwan Ahmed, Dr. R. V. Dharaskar, <strong>and</strong> Dr. V. M. Thakare<br />

Abstract—Mobile ph<strong>on</strong>e proliferati<strong>on</strong> in our societies is <strong>on</strong> the<br />

increase. Advances in semic<strong>on</strong>ductor technologies related to mobile<br />

ph<strong>on</strong>es <strong>and</strong> the increase of computing power of mobile ph<strong>on</strong>es led to<br />

an increase of functi<strong>on</strong>ality of mobile ph<strong>on</strong>es while keeping the size<br />

of such devices small enough to fit in a pocket. This led mobile<br />

ph<strong>on</strong>es to become portable data carriers. This in turn increased the<br />

potential for data stored <strong>on</strong> mobile ph<strong>on</strong>e h<strong>and</strong>sets to be used as<br />

evidence in civil or criminal cases. This paper examines the nature of<br />

some of the newer pieces of informati<strong>on</strong> that can become potential<br />

evidence <strong>on</strong> mobile ph<strong>on</strong>es. It also discusses some of the emerging<br />

technologies <strong>and</strong> their potential impact <strong>on</strong> mobile ph<strong>on</strong>e based<br />

evidence. The paper will also cover some of the inherent differences<br />

between mobile ph<strong>on</strong>e forensics <strong>and</strong> computer forensics. It also<br />

highlights some of the weaknesses of mobile forensic toolkits <strong>and</strong><br />

procedures. Finally, the paper shows the need for more in depth<br />

examinati<strong>on</strong> of mobile ph<strong>on</strong>e evidence.<br />

Keywords—Mobile forensics, mobile ph<strong>on</strong>e evidence, mobile<br />

forensic toolkits, digital device forensics.<br />

I. INTRODUCTION<br />

Mobile ph<strong>on</strong>e proliferati<strong>on</strong> is <strong>on</strong> the increase with the<br />

worldwide cellular subscriber base reaching 3.75 billi<strong>on</strong> by<br />

the year end of 2008 [1]. In India al<strong>on</strong>e, there are 272 milli<strong>on</strong><br />

mobile ph<strong>on</strong>e subscribers [33] which are growing at a rapid<br />

pace. India has surpassed United States of America in number<br />

of mobile subscribers to become number 2 in the world which<br />

is <strong>on</strong>ly next to China [34]. The Figure 1 shows Company wise<br />

market share in India.<br />

While mobile ph<strong>on</strong>es outsell pers<strong>on</strong>al computers three to<br />

<strong>on</strong>e, mobile ph<strong>on</strong>e forensics still lags behind computer<br />

forensics. Even when comparing sales figures of smart mobile<br />

ph<strong>on</strong>e devices which have some Pers<strong>on</strong>al Digital Assistant<br />

(PDA) capabilities, to the sale figures of the actual PDA<br />

devices, smart mobile ph<strong>on</strong>es sales c<strong>on</strong>tinued to grow while<br />

the PDA figures c<strong>on</strong>tinue to decline [2]. Data acquired from<br />

Rizwan Ahmed is with the Anjuman College of Engineering <strong>and</strong><br />

Technology, Sadar, Nagpur 440001 (MS) India (ph<strong>on</strong>e: +91-712-2582749;<br />

fax: +91-712-2583559; e-mail: rizwanmailbox@ gmail.com).<br />

Dr. R. V. Dharaskar is with the P. G. Department of <strong>Computer</strong> Science <strong>and</strong><br />

Engineering, G. H. Rais<strong>on</strong>i College of Engineering, Hingna Road, Nagpur<br />

440016 (MS) India (e-mail: rvdharaskar@rediffmail.com).<br />

Dr. V. M. Thakare is with P. G. Dept. of <strong>Computer</strong> Science, S. G. B.<br />

Amravati University, Amravati (MS) India(e-mail: vilthakare@yahoo.co.in).<br />

mobile ph<strong>on</strong>es c<strong>on</strong>tinues to be used as evidence in criminal,<br />

civil <strong>and</strong> even high profile cases [3]. However, validated<br />

frameworks <strong>and</strong> techniques to acquire mobile ph<strong>on</strong>e data are<br />

virtually n<strong>on</strong>-existent.<br />

Fig. 1 Company wise Market share in India [33]<br />

A. The need for mobile ph<strong>on</strong>e h<strong>and</strong>set forensics<br />

The following secti<strong>on</strong> of the paper will discuss the need for<br />

mobile forensics by highlighting the following:<br />

• Use of mobile ph<strong>on</strong>es to store <strong>and</strong> transmit pers<strong>on</strong>al<br />

<strong>and</strong> corporate informati<strong>on</strong><br />

• Use of mobile ph<strong>on</strong>es in <strong>on</strong>line transacti<strong>on</strong>s<br />

• Law enforcement, criminals <strong>and</strong> mobile ph<strong>on</strong>e<br />

devices<br />

B. Use of mobile ph<strong>on</strong>es to store <strong>and</strong> transmit pers<strong>on</strong>al <strong>and</strong><br />

corporate informati<strong>on</strong><br />

Mobile ph<strong>on</strong>es applicati<strong>on</strong>s are being developed in a rapid<br />

pace. Word processors, spreadsheets, <strong>and</strong> database-based<br />

applicati<strong>on</strong>s have already been ported to mobile ph<strong>on</strong>e devices<br />

[4]. The mobile ph<strong>on</strong>e’s ability to store, view <strong>and</strong> print<br />

electr<strong>on</strong>ic documents transformed these devices into mobile<br />

offices. The ability to send <strong>and</strong> receive Short Message Service<br />

(SMS) messages also transformed mobiles into a message<br />

centre. In India al<strong>on</strong>e, nearly 1.5 billi<strong>on</strong> (1,492,400,769) text<br />

messages (SMS) were sent per week between January <strong>and</strong><br />

May, 2008, the Mobile Data Associati<strong>on</strong> (MDA) said [1].<br />

SMS was further upgraded to Enhanced Messaging Service<br />

(EMS) <strong>and</strong> saw some added features while the latest upgrade<br />

to Multimedia Messaging Service (MMS) added support for<br />

multimedia objects <strong>and</strong> seamless integrati<strong>on</strong> with email<br />

gateways that enabled users to send c<strong>on</strong>tent rich emails using<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 246


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the MMS service. In India, more than 10 milli<strong>on</strong> (10,734,555)<br />

pictures <strong>and</strong> video messaging (MMS) were sent per week — a<br />

year <strong>on</strong> year growth of 30 percent [1].<br />

Furthermore, technologies such as “push e-mail” <strong>and</strong><br />

always-<strong>on</strong> c<strong>on</strong>necti<strong>on</strong>s added c<strong>on</strong>venience <strong>and</strong> powerful<br />

communicati<strong>on</strong>s capabilities to mobile devices. Push e-mail<br />

provided users with instant email notificati<strong>on</strong> <strong>and</strong> download<br />

capability, where when a new e-mail arrives; it is instantly <strong>and</strong><br />

actively transferred by the mail server to the email client, in<br />

this case, the mobile ph<strong>on</strong>e. This in turn made the mobile<br />

ph<strong>on</strong>e an email storage <strong>and</strong> transfer tool.<br />

Roughly 40% of all Internet users worldwide currently have<br />

mobile Internet access. The number of mobile Internet users<br />

will reach 546 milli<strong>on</strong> in 2008, nearly twice as many as in<br />

2006, <strong>and</strong> is forecast to surpass 1.5 billi<strong>on</strong> worldwide in 2012.<br />

Am<strong>on</strong>g mobile Internet users, the most popular <strong>on</strong>line<br />

activities are searching the Web, accessing news <strong>and</strong> sports<br />

informati<strong>on</strong>, downloading music, videos, <strong>and</strong> ringt<strong>on</strong>es, using<br />

instant messaging, <strong>and</strong> using Internet email. By 2012,<br />

downloading music, videos, <strong>and</strong> ringt<strong>on</strong>es will become the<br />

number <strong>on</strong>e activity am<strong>on</strong>g mobile Internet users worldwide<br />

[5].<br />

C. Use of mobile ph<strong>on</strong>es in <strong>on</strong>line transacti<strong>on</strong>s<br />

Wireless Applicati<strong>on</strong> Protocol (WAP) enabled the use of<br />

mobile ph<strong>on</strong>es in <strong>on</strong>line transacti<strong>on</strong>s. Technologies such as<br />

digital wallets (E-Wallet) added c<strong>on</strong>venience to <strong>on</strong>line<br />

transacti<strong>on</strong>s using a mobile ph<strong>on</strong>e. Further enhancements in<br />

c<strong>on</strong>nectivity <strong>and</strong> security of mobile devices <strong>and</strong> networks<br />

enabled mobile ph<strong>on</strong>es to be used securely to c<strong>on</strong>duct<br />

transacti<strong>on</strong>s such as stock trading, <strong>on</strong>line shopping, mobile<br />

banking [5] <strong>and</strong> hotel reservati<strong>on</strong>s <strong>and</strong> check-in [6] <strong>and</strong> flight<br />

reservati<strong>on</strong>s <strong>and</strong> c<strong>on</strong>firmati<strong>on</strong> [7]. As part of development of<br />

mobile systems [6, 7], the novel idea of mobile forensics came<br />

to our mind <strong>and</strong> so this research paper is a milest<strong>on</strong>e to<br />

achieve the same objectives.<br />

D. Law enforcement, criminals <strong>and</strong> mobile ph<strong>on</strong>e devices<br />

The gap between law enforcement <strong>and</strong> organised crime is<br />

still c<strong>on</strong>siderable when it comes to the utilisati<strong>on</strong> of mobile<br />

ph<strong>on</strong>e technologies. Mobile ph<strong>on</strong>es <strong>and</strong> pagers were used in<br />

the early 1980s by criminal organisati<strong>on</strong>s as a tool to evade<br />

capture as well as a means to facilitate everyday operati<strong>on</strong>s.<br />

Ir<strong>on</strong>ically, while it took decades to c<strong>on</strong>vince legitimate<br />

businesses that mobile c<strong>on</strong>nectivity can improve their<br />

operati<strong>on</strong>s, just about every pers<strong>on</strong> involved at any level of<br />

crime already knew in the early 1980s that mobile ph<strong>on</strong>es can<br />

provide a substantial return <strong>on</strong> investment [8].<br />

On the other h<strong>and</strong>, law enforcement <strong>and</strong> digital forensics still lag<br />

behind when it comes to dealing with digital evidence obtained from<br />

mobile devices. This is partly due to some of the following reas<strong>on</strong>s<br />

[9]:<br />

• The mobility aspect of the device requires specialized<br />

interfaces, storage media <strong>and</strong> hardware<br />

• The file system residing in volatile memory versus<br />

st<strong>and</strong> al<strong>on</strong>e hard disk drives<br />

• Hibernati<strong>on</strong> behaviour in which processes are<br />

suspended when the device powered off or idle but at<br />

the same time, remaining active<br />

• The diverse variety of embedded operating systems<br />

in use today<br />

• The short product cycles for new devices <strong>and</strong> their<br />

respective operating systems<br />

• These differences make it important to distinguish<br />

between mobile ph<strong>on</strong>e <strong>and</strong> computer forensics.<br />

II. COMPUTER FORENSICS V/S MOBILE PHONE FORENSICS<br />

The following secti<strong>on</strong>s of the paper compare computer <strong>and</strong><br />

mobile forensics in the following aspects:<br />

• Reproducibility of evidence in the case of dead<br />

forensic analysis<br />

• C<strong>on</strong>nectivity opti<strong>on</strong>s <strong>and</strong> their impact <strong>on</strong> dead <strong>and</strong><br />

live forensic analysis<br />

• Operating Systems (OS) <strong>and</strong> File Systems (FS)<br />

• Hardware<br />

• Forensic Tools <strong>and</strong> Toolkits Available<br />

A. Reproducibility of evidence in the case of dead forensic<br />

analysis<br />

Digital investigati<strong>on</strong>s can involve dead <strong>and</strong>/or live analysis<br />

techniques. In dead forensic analysis, the target device is<br />

powered off <strong>and</strong> an image of the entire hard disk is made. A<br />

<strong>on</strong>e-way-hash functi<strong>on</strong> is then used to compute a value for<br />

both, the entire c<strong>on</strong>tents of the original hard disk <strong>and</strong> the<br />

forensically acquired image of the entire hard disk. If the two<br />

values match, it means that the image acquired represents a<br />

bit-wise copy of the entire hard disk. After that, the acquired<br />

image is analysed in a lab using a trusted OS <strong>and</strong> sound<br />

forensic applicati<strong>on</strong>s. This process is referred to as offline<br />

forensic analysis or offline forensic inspecti<strong>on</strong>.<br />

One of the key differences between traditi<strong>on</strong>al computer<br />

forensics <strong>and</strong> mobile ph<strong>on</strong>e forensics is the reproducibility of<br />

evidence in the case of dead forensic analysis. This is due to<br />

the nature of mobile ph<strong>on</strong>e devices being c<strong>on</strong>stantly active<br />

<strong>and</strong> updating informati<strong>on</strong> <strong>on</strong> their memory. One of the causes<br />

of that is the device clock <strong>on</strong> mobile ph<strong>on</strong>es which c<strong>on</strong>stantly<br />

changes <strong>and</strong> by doing so alters the data <strong>on</strong> the memory of that<br />

device. This causes the data <strong>on</strong> the mobile device to<br />

c<strong>on</strong>tinuously change <strong>and</strong> therefore causing the forensic hash<br />

produced from it to generate a different value every time the<br />

functi<strong>on</strong> is run <strong>on</strong> the device’s memory [9]. This means that it<br />

will be impossible to attain a bit-wise copy over the entire<br />

c<strong>on</strong>tents of a mobile ph<strong>on</strong>e's memory.<br />

B. C<strong>on</strong>nectivity opti<strong>on</strong>s <strong>and</strong> their impact <strong>on</strong> dead <strong>and</strong> live<br />

forensic analysis<br />

Live forensic analysis in this c<strong>on</strong>text refers to <strong>on</strong>line<br />

analysis verses offline analysis. Online analysis means that the<br />

system is not taken offline neither physically nor logically<br />

[10]. C<strong>on</strong>nectivity opti<strong>on</strong>s refer to the ways in which a system<br />

or device is c<strong>on</strong>nected to the outside world be it a wired or<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 247


Proceedings of ICCNS 08 , 27-28 September 2008<br />

wireless c<strong>on</strong>necti<strong>on</strong>. Even though built-in c<strong>on</strong>nectivity opti<strong>on</strong>s<br />

for computers are limited when compared to the increasingly<br />

developing c<strong>on</strong>nectivity opti<strong>on</strong>s <strong>on</strong> mobile ph<strong>on</strong>e devices,<br />

c<strong>on</strong>nectivity opti<strong>on</strong>s are addressed in both live <strong>and</strong> dead<br />

computer forensics. On the other h<strong>and</strong>, live analysis is not<br />

even heard of yet when it comes to mobile ph<strong>on</strong>e h<strong>and</strong>set<br />

forensics.<br />

C. Operating Systems <strong>and</strong> File Systems<br />

<strong>Computer</strong> forensic investigators are very familiar with<br />

computer operating systems <strong>and</strong> are comfortable working with<br />

computer file systems but they are still not as familiar with<br />

working with the wide range of mobile OS <strong>and</strong> FS varieties.<br />

One of the main issues facing mobile forensics is the<br />

availability of proprietary OS versi<strong>on</strong>s in the market. Some of<br />

these OS versi<strong>on</strong>s are developed by well known<br />

manufacturers such as Nokia <strong>and</strong> Samsung while some are<br />

developed by little known Chinese, Korean <strong>and</strong> other regi<strong>on</strong>al<br />

manufacturers. Mobile ph<strong>on</strong>e operating systems are generally<br />

closed source with the excepti<strong>on</strong> of Linux based mobile<br />

ph<strong>on</strong>es. This makes developing forensics tools <strong>and</strong> testing<br />

them an <strong>on</strong>us task. Moreover, mobile ph<strong>on</strong>e manufacturers,<br />

OS developers <strong>and</strong> even forensic tool developers are reluctant<br />

to release informati<strong>on</strong> about the inner workings of their codes<br />

as they regard their source code as a trade secret.<br />

Another issue with mobile OS <strong>and</strong> FS when compared to<br />

computers is the states of operati<strong>on</strong>. While computers can be<br />

clearly switched <strong>on</strong> or off, the same can not be said about<br />

some mobile ph<strong>on</strong>e devices. This is especially true for mobile<br />

ph<strong>on</strong>es stemming from a PDA heritage where the device<br />

remains active even when it is turned off. Therefore, back-toback<br />

dead forensic acquisiti<strong>on</strong>s of the same device will<br />

generate different hash values each time it is acquired even<br />

though the device is turned off [11].<br />

A key difference between computers <strong>and</strong> mobile ph<strong>on</strong>es is<br />

the data storage medium. Volatile memory is used to store<br />

user data in mobile ph<strong>on</strong>es while computers use n<strong>on</strong>-volatile<br />

hard disk drives as a storage medium. In mobile ph<strong>on</strong>es, this<br />

means that if the mobile ph<strong>on</strong>e is disc<strong>on</strong>nected from a power<br />

source <strong>and</strong> the internal battery is depleted, user data can be<br />

lost. On the c<strong>on</strong>trary, with n<strong>on</strong>-volatile drives, even if the<br />

power source is disc<strong>on</strong>nected, user data is still saved <strong>on</strong> the<br />

hard disk surface <strong>and</strong> faces no risk of deleti<strong>on</strong> due to the lack<br />

of a power source. From a forensics point of view, evidence<br />

<strong>on</strong> the mobile ph<strong>on</strong>e device can be lost if power is not<br />

maintained <strong>on</strong> it. This means that investigators must insure<br />

that the mobile device will have a power supply attached to it<br />

to make sure data <strong>on</strong> the device is maintained.<br />

One of the drawbacks currently facing mobile OS <strong>and</strong> FS<br />

forensic development is the extremely short OS release cycles.<br />

Symbian, a well known developer of mobile ph<strong>on</strong>e operating<br />

systems is a prime example of the short life cycle of each of<br />

its OS releases. Symbian produces a major release every<br />

twelve m<strong>on</strong>ths or less with minor releases coming in between<br />

those major releases [12]. This short release cycle makes<br />

timely development, testing <strong>and</strong> release of forensic tools <strong>and</strong><br />

updates that deal with the newer OS releases difficult to<br />

achieve.<br />

D. Hardware<br />

Mobile ph<strong>on</strong>es are portable devices that are made for a<br />

specific functi<strong>on</strong> rather than computers which are made for a<br />

more general applicati<strong>on</strong>. Therefore, mobile ph<strong>on</strong>e hardware<br />

architecture is built with mobility, extended battery life,<br />

simple functi<strong>on</strong>ality <strong>and</strong> light weightiness in mind. This<br />

makes the general characteristics of a mobile ph<strong>on</strong>e very<br />

different from a computer in the way it stores the OS, how its<br />

processor behaves <strong>and</strong> how it h<strong>and</strong>les its internal <strong>and</strong> external<br />

memory.<br />

The hardware architecture of a typical mobile ph<strong>on</strong>e usually<br />

c<strong>on</strong>sists of a microprocessor, main board, Read Only Memory<br />

(ROM), R<strong>and</strong>om Access Memory (RAM), a radio module or<br />

antenna , a digital signal processor, a display unit, a<br />

microph<strong>on</strong>e <strong>and</strong> speaker, an input interface device (i.e.,<br />

keypad, keyboard, or touch screen) <strong>and</strong> a battery. The OS<br />

usually resides in ROM while RAM is generally used to store<br />

other data such as user data <strong>and</strong> general user modifiable<br />

settings. The ROM may be re-flashed <strong>and</strong> updated by the user<br />

of the ph<strong>on</strong>e by downloading a file from a web site <strong>and</strong><br />

executing it <strong>on</strong> a pers<strong>on</strong>al computer that is c<strong>on</strong>nected to the<br />

ph<strong>on</strong>e device.<br />

This general architecture does not apply to all models of<br />

mobile ph<strong>on</strong>es as mobile ph<strong>on</strong>es are very diverse in hardware<br />

architecture <strong>and</strong> OS varieties [13]. Some mobile devices might<br />

c<strong>on</strong>tain additi<strong>on</strong>al devices <strong>and</strong> modules such as a digital<br />

camera, Global Positi<strong>on</strong>ing device (GPS), wireless <strong>and</strong><br />

network modules, <strong>and</strong> even a small hard disk. Manufacturers<br />

highly customize operating systems to suit their hardware<br />

devices <strong>and</strong> the feature sets they want to support <strong>on</strong> them [14].<br />

This means that a certain versi<strong>on</strong> of an OS <strong>on</strong> a certain<br />

manufacturer’s ph<strong>on</strong>e model does not mean that the same<br />

versi<strong>on</strong> of the same OS <strong>on</strong> a different manufacturer’s<br />

hardware will be exactly the same. This is true also for <strong>on</strong> the<br />

same manufacturer’s ph<strong>on</strong>es with different hardware<br />

architectures. Moreover, ROM updates are not <strong>on</strong>ly OS<br />

specific but are also hardware specific. Also, some ph<strong>on</strong>e<br />

providers add functi<strong>on</strong>ality <strong>and</strong> customizati<strong>on</strong> opti<strong>on</strong>s to their<br />

ROMs which mean that the same versi<strong>on</strong> ph<strong>on</strong>e of a ph<strong>on</strong>e<br />

purchased from two different providers might not be exactly<br />

the same.<br />

Proprietary hardware is another issue facing mobile ph<strong>on</strong>e<br />

forensics. Support for such devices is not available from<br />

mobile forensics tools. About 16% of mobile ph<strong>on</strong>es in the<br />

market today come from proprietary manufacturers <strong>and</strong> are<br />

not supported by forensic tools [15]. Moreover, some<br />

manufacturers produce mobile ph<strong>on</strong>es that have no interfaces<br />

that are accessible through a computer. This makes<br />

forensically acquiring those mobile ph<strong>on</strong>es harder to achieve<br />

if not impossible.<br />

The wide array of c<strong>on</strong>necti<strong>on</strong> socket <strong>and</strong> cable types for<br />

c<strong>on</strong>necting a mobile ph<strong>on</strong>e to a computer makes identifying<br />

the right cable for the right ph<strong>on</strong>e model an <strong>on</strong>us task for the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 248


Proceedings of ICCNS 08 , 27-28 September 2008<br />

forensic investigator. Ph<strong>on</strong>e chargers also come in different<br />

shapes, sizes <strong>and</strong> socket types <strong>and</strong> make identifying the right<br />

charger for the right model a hard task for the investigator.<br />

Short product cycles also c<strong>on</strong>tribute to the difficulty in dealing<br />

with mobile ph<strong>on</strong>es forensically. Support for newer models by<br />

forensic tools is usually slow. The following secti<strong>on</strong> discusses<br />

in more detail some of the mobile forensic tools <strong>and</strong> their<br />

features <strong>and</strong> drawbacks when compared to computer based<br />

forensic tools.<br />

E. Forensic Tools <strong>and</strong> Toolkits Available<br />

Early mobile ph<strong>on</strong>es did not have the capacity to store large<br />

amounts of informati<strong>on</strong> so law enforcement officers did not<br />

need to access mobile ph<strong>on</strong>e h<strong>and</strong>sets to get informati<strong>on</strong> <strong>on</strong> a<br />

suspect. The focus was more <strong>on</strong> ph<strong>on</strong>e records from the<br />

telecommunicati<strong>on</strong>s companies. Nowadays, mobile ph<strong>on</strong>es<br />

have large storage capacity <strong>and</strong> a wide array of applicati<strong>on</strong>s<br />

<strong>and</strong> c<strong>on</strong>nectivity opti<strong>on</strong>s besides c<strong>on</strong>nectivity with the<br />

telecommunicati<strong>on</strong>s provider. Mobile ph<strong>on</strong>e forensic tools<br />

<strong>and</strong> toolkits are still immature in dealing with these advances<br />

in mobile ph<strong>on</strong>e technology. Mobile forensic toolkits are<br />

developed by third party companies <strong>and</strong> the toolkits are not<br />

independently verified or tested for forensic soundness. The<br />

developers of the toolkits admit to using both, manufacturer<br />

supplied <strong>and</strong> self developed comm<strong>and</strong>s <strong>and</strong> access methods to<br />

gain data access to memory <strong>on</strong> mobile devices [16]. The tools<br />

often limit themselves to <strong>on</strong>e or more ph<strong>on</strong>e manufacturer<br />

h<strong>and</strong>sets with a limited number of devices supported. Some of<br />

the tools are also limited when it comes to c<strong>on</strong>nectivity<br />

opti<strong>on</strong>s when it comes to acquisiti<strong>on</strong> of data from the h<strong>and</strong>set.<br />

For example, some tools are limited to wired c<strong>on</strong>necti<strong>on</strong>s as<br />

opposed to Infrared (IrDA) <strong>and</strong> Bluetooth access to data <strong>on</strong><br />

mobile devices. Moreover, while some toolkits provide<br />

acquisiti<strong>on</strong> capabilities, they do not provide examinati<strong>on</strong> or<br />

reporting facilities [17]. Moreover, direct access to data <strong>on</strong> the<br />

mobile ph<strong>on</strong>e is not achievable. Ph<strong>on</strong>e software <strong>and</strong>/or<br />

hardware must be used to acquire data from the mobile<br />

ph<strong>on</strong>e’s memory as shown in Figure 2.<br />

Fig. 2 Indirect Access to Data in Mobile ph<strong>on</strong>e memory via software<br />

<strong>and</strong> hardware comm<strong>and</strong>s <strong>and</strong> methods [16]<br />

This inherent difference between computer forensics <strong>and</strong><br />

mobile ph<strong>on</strong>e forensics effects how data acquired from mobile<br />

ph<strong>on</strong>es is perceived. To make this data trustable, independent<br />

evaluati<strong>on</strong> of mobile forensic tools has to become an integral<br />

part of their development.The <strong>on</strong>ly currently available tools<br />

evaluati<strong>on</strong> document for mobile ph<strong>on</strong>e forensics is published<br />

by the Nati<strong>on</strong>al Institute of St<strong>and</strong>ards <strong>and</strong> Technology (NIST)<br />

in the United States [9]. The document evaluated eight mobile<br />

ph<strong>on</strong>e forensic toolkits. It covered a range of devices from<br />

basic to smart ph<strong>on</strong>es. It showed that n<strong>on</strong>e of forensic toolkits<br />

supported all the mobile ph<strong>on</strong>e devices covered in the<br />

document. The document however limited its scope to a set of<br />

scenarios with a definite set of prescribed activities that were<br />

used to gauge the capabilities of each of the eight toolkits<br />

evaluated. The document also tested the toolkits in <strong>on</strong>e set of<br />

c<strong>on</strong>diti<strong>on</strong>s which was a virtual machine installed <strong>on</strong> a<br />

windows machine. This insured toolkit segregati<strong>on</strong> <strong>and</strong> ruled<br />

out the possibility of c<strong>on</strong>flicts am<strong>on</strong>gst the tools [13].<br />

III. MOBILE PHONE AS DATA EVIDENCE<br />

This secti<strong>on</strong> of the paper will highlight some forensic<br />

definiti<strong>on</strong>s, principles <strong>and</strong> best practice guidelines <strong>and</strong> how<br />

they address mobile ph<strong>on</strong>e forensics issues. It will also discuss<br />

some of the forensic guides that cover mobile ph<strong>on</strong>e forensics<br />

<strong>and</strong> menti<strong>on</strong> their shortcomings.<br />

A. Definiti<strong>on</strong> of Digital Evidence<br />

According to the Scientific Working Group <strong>on</strong> Digital<br />

Evidence (SWGDE), Digital Evidence [18] is “informati<strong>on</strong> of<br />

probative value that is stored or transmitted in binary form”.<br />

Therefore, according to this definiti<strong>on</strong>, evidence is not <strong>on</strong>ly<br />

limited to that found <strong>on</strong> computers but may also extend to<br />

include evidence <strong>on</strong> digital devices such as telecommunicati<strong>on</strong><br />

or electr<strong>on</strong>ic multimedia devices. Furthermore, digital<br />

evidence is not <strong>on</strong>ly limited to traditi<strong>on</strong>al computer crimes<br />

such as hacking <strong>and</strong> intrusi<strong>on</strong>, but also extends to include<br />

every crime category in which digital evidence can be found<br />

[19]. However, the Australian St<strong>and</strong>ards HB171 document<br />

titled “Guidelines for the Management of IT Evidence” refers<br />

to IT Evidence as: “any informati<strong>on</strong>, whether subject to<br />

human interventi<strong>on</strong> or otherwise, that has been extracted from<br />

a computer. IT evidence must be in a human readable form or<br />

able to be interpreted by pers<strong>on</strong>s who are skilled in the<br />

representati<strong>on</strong> of such informati<strong>on</strong> with the assistance of a<br />

computer program”. This definiti<strong>on</strong> is lacking as it does not<br />

address evidence <strong>on</strong> digital devices other than a computer<br />

[19]. The latter definiti<strong>on</strong> shows that not all digital evidence<br />

definiti<strong>on</strong>s or procedures related to them are updated to<br />

address mobile ph<strong>on</strong>e evidence. Even the Informati<strong>on</strong><br />

Technology Act 2000 (No. 21 of 2000) is not updated to<br />

include informati<strong>on</strong> about mobile ph<strong>on</strong>e evidence [30]. This<br />

fact again can be clearly highlighted in view of two big<br />

criminal cases [31, 32] in India which involved mobile ph<strong>on</strong>e<br />

evidence. The following secti<strong>on</strong> of the paper will cover some<br />

of these definiti<strong>on</strong>s <strong>and</strong> procedures <strong>and</strong> highlight their<br />

shortcomings.<br />

B. Principles of Electr<strong>on</strong>ic Evidence<br />

According to the United Kingdom’s Associati<strong>on</strong> of Chief<br />

Police Officers (ACPO) Good Practice Guide for <strong>Computer</strong><br />

based Electr<strong>on</strong>ic Evidence, Four principles are involved with<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 249


Proceedings of ICCNS 08 , 27-28 September 2008<br />

<strong>Computer</strong>-Based Electr<strong>on</strong>ic Evidence [20]. They are:<br />

• Principle 1: No acti<strong>on</strong> taken by law enforcement<br />

agencies or their agents should change data held <strong>on</strong> a<br />

computer or storage media which may subsequently<br />

be relied up<strong>on</strong> in court.<br />

• Principle 2: In excepti<strong>on</strong>al circumstances, where a<br />

pers<strong>on</strong> finds it necessary to access original data held<br />

<strong>on</strong> a computer or <strong>on</strong> storage media, that pers<strong>on</strong> must<br />

be competent to do so <strong>and</strong> be able to give evidence<br />

explaining the relevance <strong>and</strong> the implicati<strong>on</strong>s of their<br />

acti<strong>on</strong>s.<br />

• Principle 3: An audit trail or other record of all<br />

processes applied to computer based electr<strong>on</strong>ic<br />

evidence should be created <strong>and</strong> preserved. An<br />

independent third party should be able to examine<br />

those processes <strong>and</strong> achieve the same result.<br />

• Principle 4: The pers<strong>on</strong> in charge of the investigati<strong>on</strong><br />

(the case officer) has overall resp<strong>on</strong>sibility for<br />

ensuring that the law <strong>and</strong> these principles are adhered<br />

to.<br />

ACPO’s guide regards computer based electr<strong>on</strong>ic evidence<br />

as no different from documentary evidence <strong>and</strong> as such is<br />

subject to the same rules <strong>and</strong> laws that apply to documentary<br />

evidence [20]. The ACPO guide also recognized that not all<br />

electr<strong>on</strong>ic evidence can fall into the scope of its guide <strong>and</strong><br />

gave an example of mobile ph<strong>on</strong>e evidence as evidence that<br />

might not follow the guide. It also menti<strong>on</strong>ed that not<br />

following the guide does not necessarily mean that the<br />

evidence collected is not c<strong>on</strong>sidered as viable evidence.<br />

However, Principle 1 of the ACPO guide can not be<br />

complied with when it comes to mobile ph<strong>on</strong>e forensics. This<br />

is because mobile ph<strong>on</strong>e storage is c<strong>on</strong>tinually changing <strong>and</strong><br />

that may happen automatically without interference from the<br />

mobile user [11]. Thus, the goal with mobile ph<strong>on</strong>e<br />

acquisiti<strong>on</strong> should be to affect the c<strong>on</strong>tents of the storage of<br />

the mobile as less as possible <strong>and</strong> adhere to the sec<strong>on</strong>d <strong>and</strong><br />

third principles that focus more <strong>on</strong> the competence of the<br />

specialist <strong>and</strong> the generati<strong>on</strong> of a detailed audit trail [11]. In<br />

adhering with Principle 2, the specialist must be competent<br />

enough to underst<strong>and</strong> both the internals of both hardware <strong>and</strong><br />

software of the specific mobile device they are dealing with as<br />

well as have an expert knowledge of the tools they are using<br />

to acquire evidence from the device.<br />

More than <strong>on</strong>e tool is recommended to be used when<br />

acquiring evidence from mobile ph<strong>on</strong>e as some tools do not<br />

return error messages when they fail in a particular task [11].<br />

When it comes to adhering with Principle 3, providing a<br />

thorough record of all processes used to obtain the evidence in<br />

a way that can be duplicated by an independent third party is<br />

essential in order for the evidence gathered to be admissible in<br />

court.<br />

When it comes to the recovery of digital Evidence, “The<br />

Guidelines for Best Practice in the Forensic Examinati<strong>on</strong> of<br />

Digital Technology” publicati<strong>on</strong> by the <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

Organizati<strong>on</strong> <strong>on</strong> <strong>Computer</strong> Evidence (IOCE) c<strong>on</strong>siders the<br />

following as the General Principles Applying to the Recovery<br />

of Digital Evidence [21]:<br />

i. The general rules of evidence should be applied to all<br />

digital evidence.<br />

ii. Up<strong>on</strong> seizing digital evidence, acti<strong>on</strong>s taken should<br />

not change that evidence.<br />

iii. When it is necessary for a pers<strong>on</strong> to access original<br />

digital evidence that pers<strong>on</strong> should be suitably<br />

trained for the purpose.<br />

iv. All activity relating to the seizure, access, storage or<br />

transfer of digital evidence must be fully<br />

documented, preserved <strong>and</strong> available for review.<br />

v. An individual is resp<strong>on</strong>sible for all acti<strong>on</strong>s taken with<br />

respect to digital evidence whilst the digital evidence<br />

is in their possessi<strong>on</strong>.<br />

As with the ACPO principles, principle B can not be strictly<br />

applied to evidence recovered from Smartph<strong>on</strong>e devices<br />

because of their dynamic nature. Furthermore, mobile ph<strong>on</strong>e<br />

acquisiti<strong>on</strong> tools that claim to be forensically sound do not<br />

directly access the ph<strong>on</strong>e’s memory but rather use comm<strong>and</strong>s<br />

provided by the ph<strong>on</strong>e’s software <strong>and</strong>/or hardware interfaces<br />

for memory access <strong>and</strong> thus rely <strong>on</strong> the forensic soundness of<br />

such software or hardware access methods [16]. Therefore,<br />

when using such tools, the ability to extract that informati<strong>on</strong><br />

in a manner that will not significantly change the mobile<br />

ph<strong>on</strong>e’s memory is not verifiable.<br />

C. Mobile Ph<strong>on</strong>e Evidence Guides<br />

There are a number of guides that briefly menti<strong>on</strong> potential<br />

evidence <strong>on</strong> mobile ph<strong>on</strong>e devices. In this secti<strong>on</strong>, some of<br />

these guides will be highlighted <strong>and</strong> their shortcomings<br />

explained. The Best Practices for Seizing Electr<strong>on</strong>ic Evidence<br />

published by the United States Secret Service (USSS) referred<br />

to mobile ph<strong>on</strong>es as “Wireless Teleph<strong>on</strong>es” under the “Other<br />

Electr<strong>on</strong>ic Storage Devices” heading [22]. The Nati<strong>on</strong>al<br />

Institute of Justice (NIJ), which is under the United States<br />

Department of Justice lists mobile ph<strong>on</strong>es under the heading<br />

of “Teleph<strong>on</strong>es” in their “Electr<strong>on</strong>ic Crime Scene<br />

Investigati<strong>on</strong>: A guide for First Resp<strong>on</strong>ders” publicati<strong>on</strong> [23].<br />

Both of the guides do not provide sufficient details <strong>on</strong> how to<br />

forensically approach smart ph<strong>on</strong>es. This might be in part<br />

because these guides are outdated. Both guides however<br />

menti<strong>on</strong> that mobile ph<strong>on</strong>es might have some potential<br />

evidence <strong>on</strong> them. The extent of the coverage is very limited<br />

<strong>and</strong> does not address smart ph<strong>on</strong>e storage capabilities <strong>and</strong><br />

applicati<strong>on</strong>s <strong>on</strong> them. The USSS document also lists a set of<br />

rules <strong>on</strong> whether to turn <strong>on</strong> or off the device [22]:<br />

• If the device is "ON", do NOT turn it "OFF".<br />

• Turning it "OFF" could activate lockout<br />

feature.<br />

• Write down all informati<strong>on</strong> <strong>on</strong> display<br />

(photograph if possible).<br />

• Power down prior to transport (take any<br />

power supply cords present).<br />

• If the device is "OFF", leave it "OFF".<br />

• Turning it <strong>on</strong> could alter evidence <strong>on</strong> device<br />

(same as computers).<br />

• Up<strong>on</strong> seizure get it to an expert as so<strong>on</strong> as<br />

possible or c<strong>on</strong>tact local service provider.<br />

• If an expert is unavailable, USE A<br />

DIFFERENT TELEPHONE <strong>and</strong> c<strong>on</strong>tact 1-<br />

800-LAWBUST (a 24 x 7 service provided<br />

by the cellular teleph<strong>on</strong>e industry).<br />

• Make every effort to locate any instructi<strong>on</strong><br />

manuals pertaining to the device.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 250


Proceedings of ICCNS 08 , 27-28 September 2008<br />

On the other h<strong>and</strong>, the NIJ guide for first resp<strong>on</strong>ders lists<br />

the following as potential evidence [23]: Appointment<br />

calendars/informati<strong>on</strong>., password, caller identificati<strong>on</strong><br />

informati<strong>on</strong>, ph<strong>on</strong>e book, electr<strong>on</strong>ic serial number, text<br />

messages, e-mail, voice mail, memos, <strong>and</strong> web browsers. The<br />

guide however failed to menti<strong>on</strong> that mobile devices could<br />

have external storage attached to them even though it<br />

menti<strong>on</strong>ed that other equipment such as fax machines may<br />

c<strong>on</strong>tain such external storage devices. It did however<br />

emphasize that miscellaneous electr<strong>on</strong>ic items such as cellular<br />

ph<strong>on</strong>e cables <strong>and</strong> cl<strong>on</strong>ing equipment may c<strong>on</strong>tain informati<strong>on</strong><br />

of evidentiary value.<br />

Both guides fail to menti<strong>on</strong> that mobile ph<strong>on</strong>es could have<br />

electr<strong>on</strong>ic documents, h<strong>and</strong>writing informati<strong>on</strong>, or locati<strong>on</strong><br />

informati<strong>on</strong> <strong>on</strong> them. The guides also fail to menti<strong>on</strong> that<br />

ph<strong>on</strong>e based applicati<strong>on</strong>s such as Symbian, Mobile Linux <strong>and</strong><br />

Windows Mobile applicati<strong>on</strong>s could have evidential<br />

significances. Both, Symbian <strong>and</strong> Windows Mobile based<br />

ph<strong>on</strong>es were found to execute malicious code such as Trojans<br />

<strong>and</strong> viruses especially <strong>on</strong>es transferred via Bluetooth<br />

technology [16, 24]. N<strong>on</strong> malicious applicati<strong>on</strong>s <strong>on</strong> mobile<br />

ph<strong>on</strong>es could also be c<strong>on</strong>sidered as evidence as they might be<br />

used to c<strong>on</strong>duct illegal activities or can have log files or data<br />

that can be c<strong>on</strong>sidered as evidence. Therefore all ph<strong>on</strong>e<br />

applicati<strong>on</strong>s <strong>and</strong> data related to them should be c<strong>on</strong>sidered as<br />

potential evidence. This includes logs relating Bluetooth,<br />

Infrared (IrDA), Wi-Max <strong>and</strong> Wi-Fi communicati<strong>on</strong>s <strong>and</strong><br />

Internet related data such as instant messaging data <strong>and</strong><br />

browser history data. Java applicati<strong>on</strong>s should also be<br />

c<strong>on</strong>sidered as evidence as many mobile ph<strong>on</strong>e operating<br />

systems support a versi<strong>on</strong> of Java [16].<br />

When it comes to h<strong>and</strong>ling instructi<strong>on</strong>s for mobile ph<strong>on</strong>es,<br />

the United Kingdom’s Associati<strong>on</strong> of Chief Police Officers<br />

(ACPO) Good Practice Guide for <strong>Computer</strong> based Electr<strong>on</strong>ic<br />

Evidence lists the following instructi<strong>on</strong>s [25]:<br />

• H<strong>and</strong>ling of mobile ph<strong>on</strong>es:<br />

• Any interacti<strong>on</strong> with the h<strong>and</strong>set <strong>on</strong> a mobile ph<strong>on</strong>e<br />

could result in loss of evidence <strong>and</strong> it is important not<br />

to interrogate the h<strong>and</strong>set or SIM.<br />

• Before h<strong>and</strong>ling, decide if any other evidence is<br />

required from the ph<strong>on</strong>e (such as<br />

DNA/fingerprints/drugs/accelerants). If evidence in<br />

additi<strong>on</strong> to electr<strong>on</strong>ic data is required, follow the<br />

general h<strong>and</strong>ling procedures for that evidence type<br />

laid out in the Scenes of Crime H<strong>and</strong>book or c<strong>on</strong>tact<br />

the scenes of crime officer.<br />

• General advice is to switch the h<strong>and</strong>set OFF due to<br />

the potential for loss of data if the battery fails or new<br />

network traffic overwrites call logs or recoverable<br />

deleted areas (e.g. SMS); there is also potential for<br />

sabotage. However, investigating officers (OIC) may<br />

require the ph<strong>on</strong>e to remain <strong>on</strong> for m<strong>on</strong>itoring<br />

purposes while live enquiries c<strong>on</strong>tinue. If this is the<br />

case, ensure the unit is kept charged <strong>and</strong> not<br />

tampered with. In all events, power down the unit<br />

prior to transport.<br />

Note that the <strong>on</strong>/off rules here initially c<strong>on</strong>flict with the<br />

USSS guide but both guides agree to turn off the device<br />

before transport. The ACPO guide c<strong>on</strong>tains flowcharts when it<br />

comes to seizure of electr<strong>on</strong>ic evidence <strong>and</strong> PDAs which may<br />

not be applied to mobile ph<strong>on</strong>e devices. The charts are<br />

included in the Appendix secti<strong>on</strong> as a reference <strong>on</strong>ly. An<br />

updated chart for examining mobile ph<strong>on</strong>es by NSLEC in the<br />

U.K. c<strong>on</strong>tains references to the appropriate acti<strong>on</strong> to be taken<br />

when seizing a mobile ph<strong>on</strong>e <strong>and</strong> whether it was turned <strong>on</strong> or<br />

off when it was seized [26]. The chart is in no way allinclusive<br />

as it refers to <strong>on</strong>ly three types of evidence from<br />

mobile ph<strong>on</strong>es <strong>and</strong> they are SMS messages, voicemail <strong>and</strong><br />

address book/call history details. The guidelines <strong>and</strong><br />

procedures need to be c<strong>on</strong>tinually updated to cater for future<br />

trends in mobile ph<strong>on</strong>es. Some of these trends are menti<strong>on</strong>ed<br />

in the next secti<strong>on</strong>.<br />

IV. FUTURE TRENDS<br />

Future trends in mobile ph<strong>on</strong>e devices <strong>and</strong> their<br />

comp<strong>on</strong>ents can be divided to processor speed <strong>and</strong><br />

comp<strong>on</strong>ents, battery types <strong>and</strong> technologies affecting them,<br />

<strong>and</strong> finally, memory <strong>and</strong> storage capacities. All of these<br />

comp<strong>on</strong>ents <strong>and</strong> their developments may have an impact <strong>on</strong><br />

mobile device forensics.<br />

A. Processor Comp<strong>on</strong>ents <strong>and</strong> Speed<br />

Intel has already dem<strong>on</strong>strated a 1GHz processor for mobile<br />

devices [14]. In additi<strong>on</strong> to this high processing speed, smart<br />

mobile ph<strong>on</strong>e devices are showing the trend of using System<br />

<strong>on</strong> Chip (SoC) technology. This technology allows the<br />

processor to incorporate a set of distinct functi<strong>on</strong>alities in the<br />

same package which reduces the number of chips required by<br />

it as well as incorporating a c<strong>on</strong>siderable amount of built-in<br />

memory [13]. This change in processor architecture may have<br />

an undesirable impact <strong>on</strong> mobile forensics.<br />

B. Battery Life<br />

Mobile ph<strong>on</strong>es typically use three types of batteries: NiMH<br />

(nickel metal hydride), Li-i<strong>on</strong> (lithium-i<strong>on</strong>), <strong>and</strong> Li-polymer.<br />

Toshiba announced that it will be releasing a lithium-i<strong>on</strong><br />

battery technology that will allow batteries to recharge sixty<br />

times faster than c<strong>on</strong>venti<strong>on</strong>al batteries which means that it<br />

will take about a minute for a battery to go from drained to an<br />

80% charge [27]. Other battery types such as fuel cell<br />

batteries have emerged but are not yet available in mass<br />

producti<strong>on</strong>. Wireless communicati<strong>on</strong>s such as the use of Wi-<br />

Fi, Wi-Max, <strong>and</strong> Bluetooth will drain batteries much more<br />

rapidly than simple computing tasks <strong>and</strong> this will present<br />

battery manufacturers with more challenges as these<br />

communicati<strong>on</strong> <strong>and</strong> c<strong>on</strong>nectivity opti<strong>on</strong>s are becoming more<br />

natively integrated into today’s smart ph<strong>on</strong>es. Battery life can<br />

have a huge impact <strong>on</strong> a mobile forensic investigati<strong>on</strong> as<br />

volatile data can be lost if the battery is drained.<br />

C. Memory <strong>and</strong> Storage<br />

Mobile ph<strong>on</strong>e's OS <strong>and</strong> applicati<strong>on</strong>s are smaller in size than<br />

computer based OS <strong>and</strong> applicati<strong>on</strong>s. Therefore, it makes<br />

more sense to store them in RAM, ROM or flash memory.<br />

Current high end mobile ph<strong>on</strong>es may have 64 to 128 MB of<br />

static RAM for applicati<strong>on</strong> code, 128 to 256 MB of flash<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 251


Proceedings of ICCNS 08 , 27-28 September 2008<br />

memory for system code, <strong>and</strong> more than 128 MB of flash<br />

memory for user data [14]. The amount of RAM, ROM or<br />

flash memory is <strong>on</strong> the rise which means also that data access<br />

<strong>and</strong> transfer rates to support them will improve.<br />

Advances in technologies <strong>and</strong> circuitry enabled external<br />

memory support to become main stream in higher end mobile<br />

ph<strong>on</strong>es. The physical sizes of such devices is declining while<br />

their storage capacities rising. The reducti<strong>on</strong> of size has also<br />

made these devices very fragile <strong>and</strong> easily c<strong>on</strong>cealable by<br />

evildoers. Moreover, some mobile ph<strong>on</strong>es support the<br />

swapping of external storage memory in <strong>and</strong> out without<br />

turning off the mobile device or taking out the battery cover.<br />

Auditing such devices <strong>on</strong> the mobile OS level must be<br />

addressed for mobile forensic reas<strong>on</strong>s.<br />

V. CONCLUDING REMARKS<br />

With increased c<strong>on</strong>nectivity opti<strong>on</strong>s <strong>and</strong> higher storage<br />

capacities <strong>and</strong> processing power, abuse of mobile ph<strong>on</strong>es can<br />

become more main stream. Mobile ph<strong>on</strong>es outsell pers<strong>on</strong>al<br />

computers <strong>and</strong> with digital crime rates rising, the mobile<br />

ph<strong>on</strong>e may be the next avenue for abuse for digital crime.<br />

Mobile ph<strong>on</strong>es with their increased c<strong>on</strong>nectivity opti<strong>on</strong>s may<br />

become a source of viruses that infect computers <strong>and</strong> spread<br />

<strong>on</strong> the internet. Virus writers typically look for operating<br />

systems that are widely used. This is because they want their<br />

attacks to have the most impact. When it comes to mobile<br />

ph<strong>on</strong>es <strong>and</strong> their operating systems, there seems to be certain<br />

operating systems that are dominating the market which<br />

makes them a prime c<strong>and</strong>idate for attacks. According to recent<br />

studies, ph<strong>on</strong>e virus <strong>and</strong> malware infecti<strong>on</strong> rates are expected<br />

to increase with newer smart ph<strong>on</strong>es [28, 29].<br />

Mobile ph<strong>on</strong>e technology is evolving at a rapid pace.<br />

Digital forensics relating to mobile devices seems to be at a<br />

st<strong>and</strong> still or evolving slowly. For mobile ph<strong>on</strong>e forensics to<br />

catch up with release cycles of mobile ph<strong>on</strong>es, more<br />

comprehensive <strong>and</strong> in depth framework for evaluating mobile<br />

forensic toolkits should be developed <strong>and</strong> data <strong>on</strong> appropriate<br />

tools <strong>and</strong> techniques for each type of ph<strong>on</strong>e should be made<br />

available a timely manner.<br />

REFERENCES<br />

[1] Paul Doran, MDA (2008). 2008- the year of mobile customers, URL,<br />

http://www.themda.org/documents/PressReleases/General/_MD<br />

A_future_of_mobile_press_release_Nov07.pdf (Accessed in<br />

August 18, 2008).<br />

[2] Canalys (2007). Smart mobile device shipments hit 118 milli<strong>on</strong> in 2007,<br />

up 53% <strong>on</strong> 2006, URL,<br />

http://www.canalys.com/pr/2008/r2008021.htm, (Accessed in<br />

August 18, 2008).<br />

[3] Aljazeera (2005). Ph<strong>on</strong>e Dealers in al-Hariri Probe Net, URL,<br />

http://english.aljazeera.net/archive/2005/09/2008410145581139<br />

28.html, (Accessed in August 18, 2008).<br />

[4] Westtek (2008). ClearVue Suite, URL,<br />

http://www.westtek.com/smartph<strong>on</strong>e/, (Accessed in August 18,<br />

2008).<br />

[5] Alex Manfrediz (2008). IDC Press Release. IDC Finds More of the<br />

World's Populati<strong>on</strong> C<strong>on</strong>necting to the Internet in New Ways <strong>and</strong><br />

Embracing Web 2.0 Activities, URL,<br />

http://www.idc.com/getdoc.jspc<strong>on</strong>tainerId=prUS21303808,<br />

(Accessed in August 18, 2008).<br />

[6] F<strong>on</strong>eKey (2008). URL, www.F<strong>on</strong>eKey.net,<br />

http://www.youtube.com/watchv=qW8MdpZFKUY,<br />

http://www.youtube.com/watchv=BqJiNvQ3xp8,<br />

http://www.youtube.com/watchv=9eAKvCKanH0, (Accessed in<br />

August 18, 2008).<br />

[7] Ducell (2008). URL, www.DuCell.org, (Accessed in August 18, 2008).<br />

[8] Mock, D (2002). Wireless Advances the Criminal Enterprise, URL,<br />

http://www.thefeaturearchives.com/topic/Technology/Wireless_<br />

Advances_the_Criminal_Enterprise.html, (Accessed in August 18,<br />

2008).<br />

[9] Ayers, R., Jansen, W., Cilleros, N., & Daniellou, R. (2007). Cell Ph<strong>on</strong>e<br />

Forensic Tools: An Overview <strong>and</strong> Analysis, URL,<br />

http://csrc.nist.gov/publicati<strong>on</strong>s/nistir/nistir-7250.pdf, (Accessed<br />

in August 18, 2008).<br />

[10] Carrier, B. D. (2006). Risks of Live Digital Forensic Analysis.<br />

Communicati<strong>on</strong>s of the ACM, 49(2), 56-61. URL,<br />

http://portal.acm.org/citati<strong>on</strong>.cfmid=1113034.1113069&coll=G<br />

UIDE&dl=GUIDE, (Accessed in August 18, 2008).<br />

[11] Jansen, W., & Ayers, R. (2004). Guidelines <strong>on</strong> PDA Forensics, URL,<br />

http://csrc.nist.gov/publicati<strong>on</strong>s/nistir/nistir-7100-<br />

PDAForensics.pdf, (Accessed in August 18, 2008).<br />

[12] Symbian (2008). History, URL,<br />

http://www.symbian.com/about/overview/history/history.html,<br />

(Accessed in August 18, 2008).<br />

[13] Jansen, W., & Ayers, R. (2006). Guidelines <strong>on</strong> Cell Ph<strong>on</strong>e Forensics,<br />

URL, http://csrc.nist.gov/publicati<strong>on</strong>s/nistpubs/800-101/SP800-<br />

101.pdf, (Accessed in August 18, 2008).<br />

[14] Zheng, P., & Ni, L. M. (2006). The Rise of the Smart Ph<strong>on</strong>e. IEEE<br />

Distributed Systems Online, 7(3), art. no. 0603-o3003.<br />

[15] Espiner, T. (2006). Mobile Ph<strong>on</strong>e Forensics 'Hole' Reported, URL,<br />

http://news.zdnet.co.uk/hardware/0,1000000091,39277347,00.ht<br />

m, (Accessed in August 18, 2008).<br />

[16] McCarthy, P. (2005). Forensic Analysis of Mobile Ph<strong>on</strong>es. Unpublished<br />

Bachelor of <strong>Computer</strong> <strong>and</strong> Informati<strong>on</strong> Science (H<strong>on</strong>ours) Degree,<br />

University of South Australia, Adelaide.<br />

[17] Jansen, W. (2005). Mobile Device Forensic Software Tools. Paper<br />

presented at the Techno Forensics 2005, Gaithersburg, MD, USA.<br />

[18] SWGDE. (2006). SWGDE <strong>and</strong> SWGIT Digital & Multimedia Evidence<br />

Glossary, URL,<br />

http://www.swgde.org/documents/swgde2005/SWGDE%20<strong>and</strong>%20SW<br />

GIT%20Combined%20Master%20Glossary%20of%20Terms%20-<br />

July%2020..pdf, (Accessed in August 18, 2008).<br />

[19] Ghosh, A. (2004). Guidelines for the Management of IT Evidence, URL,<br />

http://unpan1.un.org/intradoc/groups/public/documents/APCIT<br />

Y/UNPAN016411.pdf, (Accessed in August 18, 2008).<br />

[20] ACPO. (2003). Good Practice Guide for <strong>Computer</strong> based Electr<strong>on</strong>ic<br />

Evidence, URL,<br />

http://www.acpo.police.uk/asp/policies/Data/gpg_computer_based_evid<br />

ence_v3.pdf, (Accessed in August 18, 2008).<br />

[21] IOCE. (2002). Best Practice Guidelines for Examinati<strong>on</strong> of Digital<br />

Evidence, URL,<br />

http://www.ioce.org/2002/Guidelines%20for%20Best%20Practices%20i<br />

n%20Examinati<strong>on</strong>%20of%20Digital%20Evid.pdf, (Accessed in August<br />

18, 2008).<br />

[22] USSS. (2006). Best Practices for Seizing Electr<strong>on</strong>ic Evidence, URL,<br />

http://www.ustreas.gov/usss/electr<strong>on</strong>ic_evidence.shtml,<br />

(Accessed in August 18, 2008).<br />

[23] NIJ. (2001). Electr<strong>on</strong>ic Crime Scene Investigati<strong>on</strong>: A Guide for First<br />

Resp<strong>on</strong>ders, URL,<br />

http://www.ncjrs.gov/pdffiles1/nij/187736.pdf, (Accessed in<br />

August 18, 2008).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 252


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[24] Keizer, G. (2006). First Mobile Ph<strong>on</strong>e Java Trojan <strong>on</strong> the Loose, URL,<br />

http://www.crn.com.au/story.aspxCIID=35467&r=rstory,<br />

(Accessed in August 18, 2008).<br />

[25] CCIPS. (2002). Searching <strong>and</strong> Seizing <strong>Computer</strong>s <strong>and</strong> Related<br />

Electr<strong>on</strong>ic Evidence Issues, URL,<br />

http://www.usdoj.gov/criminal/cybercrime/searching.html,<br />

(Accessed in August 18, 2008).<br />

[26] Mellars, B. (2004). Forensic Examinati<strong>on</strong> of Moblie Ph<strong>on</strong>es. Digital<br />

Investigati<strong>on</strong>: The <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Journal of Digital Forensics & Incident<br />

Resp<strong>on</strong>se, 1(4), 266-272.<br />

[27] Becker, D. (2005). Toshiba Reports Battery Breakthrough, URL,<br />

http://news.com.com/2061-10786_3-5649141.htmltag=nl,<br />

(Accessed in August 18, 2008).<br />

[28] L<strong>on</strong>g, M. (2005). Airborne Viruses: Real Threat or Just Hype, URL,<br />

http://www.newsfactor.com/story.xhtmlstory_id=12100002P4<br />

HM, (Accessed in August 18, 2008).<br />

[29] McAfee Mobile <strong>Security</strong> Report (2008). URL,<br />

http://www.mcafee.com/mobile, (Accessed in August 18, 2008).<br />

[30] The Informati<strong>on</strong> Technology Act 2000, India (2000). URL,<br />

http://www.legalserviceindia.com/cyber/itact.html, (Accessed in<br />

August 18, 2008).<br />

[31] Yahoo News India (2008). The Arushi Murder Case: CBI says it has<br />

found the evidence. URL,<br />

http://in.news.yahoo.com/32/20080731/1053/tnl-aarushi-casecbi-says-it-has-found-e_1.html,<br />

(Accessed in August 18, 2008).<br />

[32] Helplinelaw (2007). Pramod Mahajan Murder Trial: SMS cannot be<br />

valid evidence, says defence. URL,<br />

http://news.helplinelaw.com/1207/echo12.php, (Accessed in<br />

August 18, 2008).<br />

[33] India-cellular (2008). http://www.india-cellular.com/Market-<br />

Share.html (Accessed in August 18, 2008).<br />

[34] IndustryWeek (2008). India hits #2 spot in Cellph<strong>on</strong>e market. URL,<br />

http://www.industryweek.com/ReadArticle.aspxArticleID=162<br />

18 (Accessed in August 18, 2008).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 253


ICCNS 08<br />

Cryptography<br />

&<br />

Cryptographic<br />

Protocols


Implementati<strong>on</strong> of Cryptography<br />

using VLSI Technology<br />

to improve Data <strong>Security</strong> with High Flexibility<br />

Ms. Sheetal N.Raut 1 Mrs.Smita R. Desai 2 Dr.P.M.Patil 3<br />

1,3 Vishwakarma Instt of Technology, Pune, Bibewadi, Pune, 1 sheetal_v80@yahoo.com, 3 hodelex@vit.edu<br />

2 DYPIET, Pune, smita_rdesai@yahoo.co.in<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract -In cryptography basics symmetric <strong>and</strong> asymmetric<br />

encrypti<strong>on</strong> techniques are described with public <strong>and</strong> private<br />

keys, which based <strong>on</strong> the DES (Data Encrypti<strong>on</strong> St<strong>and</strong>ard)<br />

algorithm. In this paper we have presented a cryptography<br />

algorithm, which uses the four different encrypti<strong>on</strong> techniques.<br />

This encrypti<strong>on</strong> technique sequentially operates <strong>on</strong> the<br />

informati<strong>on</strong> data stream in different time slots <strong>and</strong> transmits<br />

the informati<strong>on</strong> data serially using the digital transmitter. In<br />

the receiver symmetric algorithm is used in synchr<strong>on</strong>ous.<br />

This data security system is implemented through<br />

VLSI technology using web pack project navigator ISE5.1i-pc<br />

in which coding is d<strong>on</strong>e through VHDL language. This reduces<br />

the total hardware of the system <strong>and</strong> as it is single chip soluti<strong>on</strong><br />

leading to high speed <strong>and</strong> accuracy with compact size <strong>and</strong><br />

reduced cost. The developed chip can be used for military <strong>and</strong><br />

police wireless communicati<strong>on</strong> system.<br />

Keywords – Cryptography, DES algorithm, Data security<br />

system, Encrypti<strong>on</strong> technique<br />

I. INTRODUCTION<br />

The dicti<strong>on</strong>ary defines cryptography as hidden<br />

writing. It has been around for a very l<strong>on</strong>g time. The<br />

Ancient Egyptians, the Arabs <strong>and</strong> the Romans developed<br />

their own systems.<br />

Cryptography is used whenever some<strong>on</strong>e want to<br />

send a secret message to some<strong>on</strong>e else, in a situati<strong>on</strong> where<br />

any<strong>on</strong>e might be able to get hold of the message <strong>and</strong> read it<br />

[1]. It is often used by military. The most famous encrypti<strong>on</strong><br />

machine invented was the Enigma, used in the Sec<strong>on</strong>d<br />

World War to send military messages [1,2]. With the need<br />

for informati<strong>on</strong> security in today's digital systems both acute<br />

<strong>and</strong> growing, cryptography has become <strong>on</strong>e of their critical<br />

comp<strong>on</strong>ents. Cryptographic services are required across a<br />

variety of platforms in a wide range of applicati<strong>on</strong>s such as<br />

secure access to private networks, communicati<strong>on</strong> in<br />

military <strong>and</strong> police applicati<strong>on</strong>, stored value, electr<strong>on</strong>ic<br />

commerce, <strong>and</strong> health care [8,12,18]. Incorporating these<br />

services into soluti<strong>on</strong>s presents an <strong>on</strong>going challenge to<br />

manufacturers, systems integrators, <strong>and</strong> service providers<br />

because applicati<strong>on</strong>s must meet the market requirements of<br />

mobility, performance, c<strong>on</strong>venience, <strong>and</strong> cost c<strong>on</strong>tainment.<br />

This paper focuses <strong>on</strong> implementing cryptographic<br />

services <strong>on</strong> the informati<strong>on</strong> signal that is to be transmitted<br />

through air, explaining how the implemented cryptography<br />

can not <strong>on</strong>ly significantly reduce the cost of overall system,<br />

but also improves the data security <strong>and</strong> increases the data bit<br />

transfer rate[4].<br />

This paper focuses <strong>on</strong> implementing cryptographic<br />

services <strong>on</strong> the informati<strong>on</strong> signal that is to be transmitted<br />

through air, explaining how the implemented cryptography<br />

can not <strong>on</strong>ly significantly reduce the cost of overall system,<br />

but also improves the data security <strong>and</strong> increases the data<br />

bit transfer rate.<br />

II. SYSTEM DESIGN<br />

The block diagram of the encryptor <strong>and</strong> decryptor<br />

is as shown in fig 1. The main c<strong>on</strong>siderati<strong>on</strong> that was taken<br />

into account was compactness, high speed, less time to<br />

market <strong>and</strong> high cost to performance ratio. The software<br />

used for the development of VLSI applicati<strong>on</strong> are free as<br />

they are IEEE st<strong>and</strong>ard i.e. platform independent.<br />

Informati<strong>on</strong> Data<br />

Switches<br />

Selecti<strong>on</strong><br />

Fig. 1.Block diagram of encryptor <strong>and</strong> decryptor<br />

The cryptography technique implemented has the<br />

flexibility of changing the encrypti<strong>on</strong> technique if found to<br />

be hacked or intermediate data loss.<br />

A. Encryptor<br />

Encryptor<br />

Mode<br />

Selecti<strong>on</strong><br />

Receiver<br />

Parallel<br />

To Serial<br />

C<strong>on</strong>vertor<br />

Serial To<br />

Parellel<br />

C<strong>on</strong>vertor<br />

Mode Selecti<strong>on</strong><br />

Isolator<br />

Digital<br />

Transmitter<br />

Decryptor<br />

Isolator<br />

The technique designed <strong>and</strong> developed to encrypt<br />

the data stream is as shown diagrammatically in Fig. 2.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 254


Proceedings of ICCNS 08 , 27-28 September 2008<br />

8 bit data packet + 2 bit header<br />

0 0 0 0 1 1 1 1 0 0<br />

Inverti<strong>on</strong> for Header Bits 00<br />

+<br />

1 1 1 1 0 0 0 0<br />

Fig. 2 Encrypted data stream<br />

The individual data stream is encrypted by 4<br />

different techniques specified by the header in a sequential<br />

manner. For e.g. If the header bit pattern is 00 it indicates<br />

inversi<strong>on</strong> of the 8 bit data, 01 indicates the adding of 8 bit<br />

key to the 8 bit data[8 bit data + 8 bit key],10 means<br />

subtracting the 8 bit key from the 8 bit data <strong>and</strong> 11 means<br />

inverting <strong>and</strong> adding of 8 bit key to it.<br />

B. Decryptor<br />

In decrypti<strong>on</strong> from received data bit stream the<br />

header are extracted <strong>and</strong> compared in its c<strong>on</strong>trol unit.<br />

Depending up<strong>on</strong> the bit pattern appropriate decrypti<strong>on</strong><br />

technique is applied. These decrypti<strong>on</strong> technique are exactly<br />

in reverse manner to the encrypti<strong>on</strong> technique i.e. for 00<br />

header bits it again inverts the 8 bit data bits to get original<br />

data, for 01 header bits it subtracts the 8 bit key from the<br />

encrypted 8 bit data, for 10 it adds the 8 bit key to 8 bit<br />

encrypted data bit, for 11 it subtracts <strong>and</strong> inverts the<br />

encrypted received data bit.<br />

For the encryptor <strong>and</strong> decryptor technique coding<br />

is dine through VHDL using structural style of<br />

modeling[3,19]. The entire system is clock synchr<strong>on</strong>ized<br />

<strong>and</strong> operates in the range of Giga Hertz. For implementing<br />

this code Spartan II e FPGA chip is used.<br />

Fig. 3 RTL code in webpack navigator<br />

The simulated results using modelsim are shown in<br />

Fig. 4 <strong>and</strong> 5 for encrypti<strong>on</strong> <strong>and</strong> decrypti<strong>on</strong> respectively.<br />

III. SYNTHESIS AND SIMULATION<br />

The RTL code was implemented for the encryptor<br />

<strong>and</strong> decryptor. The code was synthesized in XILINX Tool<br />

<strong>and</strong> the results are simulated in Modelsim xilinx editi<strong>on</strong> II v<br />

5.6a.The generated hardware is viewed in Le<strong>on</strong>ardo<br />

Spectrum Exemplar.<br />

Fig. 3 shows the RTL coding which is successfully<br />

synthesized in project navigator.<br />

Fig.4 Encrypted signal Shown in modelsim<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 255


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 5 Simulated results for Decryptor<br />

Fig. 6 shows the forced values applied for getting the<br />

functi<strong>on</strong>al simulati<strong>on</strong> of the encryptor <strong>and</strong> decryptor<br />

modules [22].<br />

IV. CONCLUSION<br />

The cryptography technique designed <strong>and</strong> implemented uses<br />

the basics of DES algorithms but in cyclic mode with<br />

different encrypti<strong>on</strong> methods This makes the whole system<br />

more secure <strong>and</strong> flexible. The whole system is a single chip<br />

soluti<strong>on</strong> which reduces the total cost <strong>and</strong> size of the system<br />

<strong>and</strong> maintaining high speed transmissi<strong>on</strong>. It is the best<br />

c<strong>and</strong>idate for applicati<strong>on</strong> in military <strong>and</strong> police wireless<br />

communicati<strong>on</strong> system.<br />

Fig. 6 Forced values for simulati<strong>on</strong><br />

REFERENCES<br />

[1] Cor<strong>on</strong> J.-S.,”What is cryptography”, <strong>Security</strong> & Privacy, IEEE<br />

Volume 4, Issue 1, Jan.-Feb. 2006 Page(s):70 – 73<br />

[2] Zhi Zhou, Arce G.R., Di Crescenzo, G.”Halft<strong>on</strong>e visual<br />

cryptography”,Image Processing, IEEE Transacti<strong>on</strong>s <strong>on</strong> Volume 15,<br />

Issue 8, Aug. 2006 Page(s):2441 – 2453<br />

[3] Eslami Y., Sheikholeslami A., Gulak P.G.,Masui S., Mukaida K.,”An<br />

area-efficient universal cryptography processor for smart cards”,Very<br />

Large Scale Integrati<strong>on</strong> (VLSI)Systems,IEEE Transacti<strong>on</strong>s <strong>on</strong>Volume<br />

14, Issue 1, Jan. 2006 Page(s):43 – 56<br />

[4] Khalifa O.O., Islam M.D.R., Khan S., Shebani M.S.,”Communicati<strong>on</strong>s<br />

cryptography” RF <strong>and</strong> Microwave <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, 2004. RFM<br />

2004. Proceedings5-6 Oct. 2004 Page(s):220 – 223<br />

[5] Seredynski F., Bouvry P., Zomaya A.Y.,”Secret key cryptography with<br />

cellular automata “,Parallel <strong>and</strong> Distributed Processing ymposium,<br />

2003. Proceedings. <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> 22-26 April 2003 Page(s):7 pp.<br />

[6] Narasimha M.,Tsudik G., Je<strong>on</strong>g Hyun Yi,”On the utility of distributed<br />

cryptography in P2P <strong>and</strong> MANETs: the case of membership<br />

c<strong>on</strong>trol”Network Protocols, 2003. Proceedings. 11th IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> 4-7 Nov. 2003 Page(s):336 – 345<br />

[7] Weaver A.C.,” Secure Sockets Layer”<strong>Computer</strong>Volume 39, Issue 4,<br />

April 2006 Page(s):88 – 90<br />

[8] Zomaya A.Y., Seredynski F., BouvryP.,” Secret key cryptography with<br />

cellular automata” <strong>Computer</strong> Systems <strong>and</strong> Applicati<strong>on</strong>s, 2003. Book<br />

of Abstracts. ACS/IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong>14-18 July 2003<br />

Page(s):80<br />

[9] Ford W., O'Higgins B.,”Public-key cryptography <strong>and</strong> open systems<br />

interc<strong>on</strong>necti<strong>on</strong>”,Communicati<strong>on</strong>s Magazine, IEEEVolume 30, Issue<br />

7, July 1992 Page(s):30 – 35<br />

[10] Yih Huang, Rine D., Xunhua Wang., “A JCA-based implementati<strong>on</strong><br />

framework for threshold cryptography”, <strong>Computer</strong> <strong>Security</strong><br />

Applicati<strong>on</strong>s <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, 2001. ACSAC 2001. Proceedings 17th<br />

Annual10-14 Dec. 2001 Page(s):85 – 91<br />

[11] Batina L., Mentens N., Sakiyama, K., Preneel B.,Verbauwhede<br />

I.,”Public-Key Cryptography <strong>on</strong> the Top of a Needle”,Circuits<br />

<strong>and</strong> Systems, 2007. ISCAS 2007. IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Symposium<br />

<strong>on</strong> 27-30 May 2007 Page(s):1831 – 1834<br />

[12] Ertaul L.,Chavan N.,”<strong>Security</strong> of ad hoc networks <strong>and</strong> threshold<br />

cryptography”, Wireless <strong>Networks</strong>, Communicati<strong>on</strong>s <strong>and</strong> Mobile<br />

Computing, 2005 <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong>Volume 1, 13-16 June<br />

2005, Page(s):69 - 74 vol.1<br />

[13] Batina L., Guajardo J., Kerins, T., Mentens N., Tuyls P.,<br />

Verbauwhede I., “Public-Key Cryptography for RFID-<br />

Tags”,Pervasive Computing <strong>and</strong> Communicati<strong>on</strong>s workshops, 2007.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 256


Proceedings of ICCNS 08 , 27-28 September 2008<br />

PerCom Workshops '07. Fifth Annual IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong>19-23 March 2007 Page(s):217 - 222<br />

[14] Garfinkel S.L.,”Public key cryptography”,<strong>Computer</strong>Volume 29, Issue<br />

6, June 1996 Page(s):101 – 104<br />

[15] “Book Reviews”,<strong>Security</strong> & Privacy, IEEEVolume 2, Issue 4, Jul-<br />

Aug 2004 Page(s):10 – 10<br />

[16] Smid M.E., Branstad D.K.,”Data Encrypti<strong>on</strong> St<strong>and</strong>ard: past <strong>and</strong><br />

future”,Proceedings of the IEEEVolume 76, Issue 5, May 1988<br />

Page(s):550 – 559<br />

[17] Jamil T.,”The Rijndael algorithm”,Potentials, IEEEVolume 23, Issue<br />

2, Apr-May 2004 Page(s):36 – 38<br />

[18] de Canniere C.,BiryukovA., Preneel B.,” An introducti<strong>on</strong> to Block<br />

Cipher Cryptanalysis”,Proceedings of the IEEE Volume 94,<br />

Issue 2, Feb. 2006 Page(s):346 - 356<br />

[19] Iliev V., Dlay S.S., McLauchlan M.R., Koelmans A.M., Kinniment<br />

D.J., “Advanced VLSI validated input security device<br />

employing data <strong>and</strong> hardware validati<strong>on</strong> features”,<strong>Computer</strong>s <strong>and</strong><br />

Digital Techniques, IEE Proceedings -Volume 136, Issue 6,<br />

Nov 1989 Page(s):471 - 477<br />

[20] Nalini N., Raghavendra R.G.,”Cryptanalysis of Block Ciphers via<br />

Improved Simulated Annealing Technique”,Informati<strong>on</strong><br />

Technology, 2006. ICIT '06. 9th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong>18-21<br />

Dec. 2006 Page(s):182 - 185<br />

[21] Shahid B., Tauqeer H., Ilyas M.S., “Hardware Implementati<strong>on</strong> of DES<br />

Encrypti<strong>on</strong> Cracker”,Engineering Sciences <strong>and</strong> Technology, 2005.<br />

SCONEST 2005. Student <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong>27-27 Aug. 2005 Page(s):1 - 4<br />

[22] Wils<strong>on</strong> P.R., Brown A.D.,”DES in four days using behavioural<br />

modeling & synthesis”Behavioral Modeling <strong>and</strong> Simulati<strong>on</strong><br />

Workshop, 2005. BMAS 2005. Proceedings of the 2005 IEEE<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g>22-23 Sept. 2005 Page(s):82 - 87<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 257


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Keywords <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 258


Proceedings of ICCNS 08 , 27-28 September 2008<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

A. Network Model<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 259


Proceedings of ICCNS 08 , 27-28 September 2008<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

B. Sensor’s Energy Model<br />

<br />

<br />

<br />

<br />

<br />

<br />

α trans α amp <br />

α recv <br />

d 2 <br />

E tx = (α trans + α amp × d 2 ) × r <strong>and</strong> E rx = α recv × r<br />

r <br />

r <br />

<br />

Max Min Min Max Min<br />

EL<br />

EL<br />

EL<br />

EH<br />

E<br />

H<br />

<br />

Min<br />

EH<br />

<br />

<br />

Max Max<br />

EL<br />

EH<br />

<br />

<br />

<br />

Min<br />

Min<br />

EL<br />

EH<br />

<br />

Max Max<br />

Min Min<br />

EL<br />

EH<br />

EL<br />

EH<br />

<br />

Min Min<br />

EL<br />

EH<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Max <br />

EL<br />

<br />

<br />

Min <br />

EL<br />

<br />

<br />

Min <br />

EL<br />

<br />

<br />

Max <br />

EH<br />

<br />

<br />

Min <br />

EH<br />

<br />

<br />

Min <br />

EH<br />

<br />

<br />

<br />

<br />

<br />

<br />

Min Min Min Min<br />

EL<br />

EL<br />

EH<br />

EH<br />

<br />

<br />

<br />

A. Assumpti<strong>on</strong>s<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 260


Proceedings of ICCNS 08 , 27-28 September 2008<br />

B. Algorithm<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I. Processing (i: Level)<br />

<br />

<br />

<br />

<br />

cur Min<br />

Ec<br />

m<br />

£ Ei<br />

<br />

Max<br />

Call Ei<br />

<br />

<br />

Max<br />

II. Electi<strong>on</strong> (i: Level, c: Cluster, E<br />

i : Threshold value for c<strong>and</strong>idate<br />

nodes)<br />

<br />

<br />

<br />

Mark <br />

cur Max<br />

En<br />

d<br />

Ei<br />

<br />

Mark <br />

Add <br />

<br />

<br />

<br />

cur<br />

Broadcast En <br />

f<br />

<br />

<br />

cur<br />

Receive En <br />

j<br />

<br />

<br />

<br />

<br />

<br />

Mark <br />

<br />

cur<br />

En <br />

j<br />

<br />

Set<br />

E<br />

Max<br />

i<br />

E<br />

<br />

E<br />

cur<br />

n j<br />

<br />

Max<br />

i <br />

<br />

<br />

<br />

<br />

<br />

<br />

Mark <br />

Mark<br />

<br />

<br />

I) Electi<strong>on</strong> at level-1: <br />

<br />

"<br />

<br />

Min<br />

EL<br />

<br />

Cur Min<br />

E<br />

L<br />

£ EL<br />

<br />

<br />

<br />

Max<br />

EL<br />

<br />

<br />

Max<br />

EL<br />

<br />

E <br />

Max<br />

L<br />

<br />

<br />

<br />

E<br />

cur<br />

L<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

E <br />

cur<br />

L<br />

<br />

<br />

<br />

<br />

<br />

E<br />

Max<br />

L<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 261


Energy C<strong>on</strong>sumpti<strong>on</strong> in Electi<strong>on</strong> (in J)<br />

Numberof Rounds<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Electi<strong>on</strong> at level-2: <br />

<br />

<br />

E<br />

Max<br />

L<br />

E<br />

Max<br />

H<br />

<br />

<br />

A. Simulati<strong>on</strong> Envir<strong>on</strong>ment<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

s <br />

<br />

m <br />

<br />

m <br />

<br />

<br />

<br />

Electi<strong>on</strong> overhead <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Network lifetime <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

I) Electi<strong>on</strong> overhead <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

0.04<br />

0.035<br />

0.03<br />

0.025<br />

0.02<br />

0.015<br />

0.01<br />

0.005<br />

0<br />

EEEP<br />

EEMC<br />

0 10 20 30 40 50 60 70 80 90 100<br />

Time (in sec<strong>on</strong>d)<br />

<br />

<br />

<br />

II) Network Lifetime<br />

<br />

<br />

<br />

<br />

1600<br />

1400<br />

1200<br />

1000<br />

800<br />

600<br />

400<br />

200<br />

0<br />

0 50 100 150 200 250 300<br />

Number of Nodes<br />

Flat Scheme<br />

Single Level<br />

Clustering<br />

Two Level<br />

Clustering<br />

<br />

<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 262


IEEE Communicati<strong>on</strong> Magazine <br />

<br />

<br />

<strong>Computer</strong><br />

Magazine<br />

,<br />

Communicati<strong>on</strong>s of the ACM <br />

<br />

<br />

<br />

<strong>Computer</strong> <strong>Networks</strong>: The <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Jou rnal of <strong>Computer</strong><br />

<strong>and</strong> Telecommunicati<strong>on</strong>s Networking, <br />

<br />

<br />

in: Proceedings<br />

<br />

<br />

<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

of the Fifth ACM <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Mobile Computing <strong>and</strong><br />

Networking (MOBICOM’99<br />

<br />

in:<br />

Proceedings of the Sixth ACM <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Mobile<br />

Computing <strong>and</strong> Networking (MOBICOM’00 <br />

<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Communicati<strong>on</strong>s <br />

<br />

in:<br />

Proceedings of the IEEE<br />

<br />

," IEEE Jour. Selected Areas in Communicati<strong>on</strong>s <br />

<br />

<br />

ACM Journal of Wireless <strong>Networks</strong><br />

<br />

<br />

in: Proceedings of the IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Communicati<strong>on</strong>s (ICC’97 <br />

<br />

<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> Wireless Communicati<strong>on</strong>s<br />

<br />

<br />

IEEE Transacti<strong>on</strong>s<br />

<strong>on</strong> Parallel <strong>and</strong> Distributed Systems <br />

<br />

<br />

in: Proceedings of the 15th<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Parallel <strong>and</strong> Distributed Processing Symposium<br />

(IPDPS’01)<br />

<br />

<br />

in: Proceedings of the 16 th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Parallel <strong>and</strong><br />

Distributed Processing Symposium (IPDPS’02 <br />

<br />

<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Mobile Computing <br />

<br />

<strong>Computer</strong><br />

<strong>Networks</strong>- The <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Journal of <strong>Computer</strong> <strong>and</strong><br />

Telecommunicati<strong>on</strong>s Networking <br />

<br />

In Proceedings of ICC 2001, <br />

, <br />

<br />

<br />

IEEE Workshop <strong>on</strong> Signal Processing Systems<br />

(SiPS '00), <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 263


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Cryptanalysis <strong>and</strong> <strong>Security</strong> Comparis<strong>on</strong> of Two<br />

Clock C<strong>on</strong>trolled Generators<br />

Ancy S. Anselam, Deepthi .P.P, Sathidevi.P.S<br />

Department of Electr<strong>on</strong>ics <strong>and</strong> Communicati<strong>on</strong> Engineering<br />

Nati<strong>on</strong>al Institute of Technology Calicut<br />

Calicut-673601, Kerala, India<br />

ancy_anselam@yahoo.co.in, deepthi@nitc.ac.in, sathi@nitc.ac.in<br />

Abstract --- <strong>Security</strong> of two most popular Linear Feedback Shift<br />

Register (LFSR) based key stream generators is analysed <strong>and</strong><br />

compared in this paper. Alternating Step Generator (ASG) <strong>and</strong><br />

Shrinking Generator (SG) are the widely used clock c<strong>on</strong>trolled<br />

generators used in stream cipher design. There are a number of attack<br />

methods available in literature for these keystream generators. This<br />

paper identifies the best attack method <strong>and</strong> gives a quantitative<br />

comparis<strong>on</strong> of security of the two keystream generators in terms of<br />

time for a successful known plain text attack. This comparative<br />

analysis will be highly helpful for the design of very secure LFSR<br />

based stream ciphers.<br />

Keywords --- Alternating step generator, cryptanalysis,<br />

LFSR, shrinking generator.<br />

I. INTRODUCTION<br />

Stream ciphers are the st<strong>and</strong>ard form of encrypti<strong>on</strong> over<br />

communicati<strong>on</strong>s channels such as mobile teleph<strong>on</strong>e <strong>and</strong> the<br />

Internet. Stream ciphers operate by breaking a message into<br />

successive characters <strong>and</strong> encrypting each character with a<br />

time varying functi<strong>on</strong> of the key, c<strong>on</strong>trary to block ciphers that<br />

use blocks of message bits <strong>and</strong> a fixed encrypti<strong>on</strong><br />

transformati<strong>on</strong>. The low hardware complexity <strong>and</strong> low power<br />

c<strong>on</strong>sumpti<strong>on</strong> of stream ciphers made them an attractive choice<br />

over block ciphers in various communicati<strong>on</strong> devices.<br />

Possibility of real time operati<strong>on</strong> comes as an added advantage<br />

in stream ciphers which make stream cipher based encrypti<strong>on</strong><br />

more popular in multimedia data transmissi<strong>on</strong>.<br />

Linear feedback shift registers as maximal length<br />

sequence generators, are comm<strong>on</strong>ly used as part of key stream<br />

generators in synchr<strong>on</strong>ous stream ciphers due to their good<br />

statistical properties <strong>and</strong> low implementati<strong>on</strong> costs. Maximal<br />

length sequences are obtained when the feedback polynomial<br />

of the LFSR is primitive. The secret key k is the initial state of<br />

the shift register. The LFSR as such is seldom preferred as a<br />

keystream generator due to its linearity. The clock c<strong>on</strong>trol<br />

generators (shrinking generator <strong>and</strong> alternating step generator)<br />

are LFSR based stream cipher schemes where n<strong>on</strong>linearity is<br />

introduced by irregularly clocking <strong>on</strong>e or more LFSRs with<br />

<strong>on</strong>e another LFSR without disturbing the r<strong>and</strong>omness<br />

properties.<br />

Several cryptanalytic attacks for both the schemes are<br />

available in literature, but a detailed comparative analysis of<br />

the two schemes has not been d<strong>on</strong>e. This work proposes to<br />

compare the alternating step generator <strong>and</strong> the shrinking<br />

generator in terms of the time taken <strong>and</strong> amount of bits in the<br />

known keystream required (data) to mount a least complex<br />

attack <strong>on</strong> the generators. The differences in the attack time <strong>and</strong><br />

the data requirement of the two generators are experimentally<br />

supported in the paper. This would give well-defined criteria<br />

to design very secure LFSR based stream ciphers.<br />

II. LFSR BASED STREAM CIPHERS<br />

Linear Feedback Shift Registers are used in many of the<br />

stream ciphers as keystream generators due to easiness in<br />

hardware implementati<strong>on</strong>. They can produce sequences of<br />

large period <strong>and</strong> good statistical properties. An LFSR of<br />

length L produces maximal length sequence of periodicity 2 L -1<br />

if the feedback polynomial is primitive. The output sequences<br />

of LFSR are easily predictable due to their linearity <strong>and</strong> hence<br />

are not cryptographically str<strong>on</strong>g. Cryptographically str<strong>on</strong>g<br />

pseudo-r<strong>and</strong>om sequences are produced by using <strong>on</strong>e or more<br />

LFSR <strong>and</strong> combining them with some methods to introduce<br />

n<strong>on</strong>-linearity.<br />

A. Clock C<strong>on</strong>trolled Generator<br />

Clock-c<strong>on</strong>trolled shift registers have become popular<br />

building blocks for keystream generators. Schemes with<br />

clock-c<strong>on</strong>trolled shift registers are proposed that ensure large<br />

lower bounds <strong>on</strong> period <strong>and</strong> linear complexity, <strong>and</strong> possess no<br />

obvious flaws in statistical behavior.<br />

The basic building blocks that are used for c<strong>on</strong>structing a<br />

keystream generator c<strong>on</strong>sists of a c<strong>on</strong>trol register CR <strong>and</strong> a<br />

clock-c<strong>on</strong>trolled generating register GR[1]. We denote a(i)<br />

<strong>and</strong> b(i) as the bits generated by CR <strong>and</strong> GR at instant i, when<br />

regularly clocked. In the clock c<strong>on</strong>trolled generator the GR is<br />

clocked depending <strong>on</strong> the output of CR. The generating<br />

register is clocked based <strong>on</strong> a n<strong>on</strong>negative integer produced at<br />

the output of the c<strong>on</strong>trol register [1]. The integer a i at time i is<br />

given as<br />

a<br />

i<br />

=<br />

i<br />

∑<br />

k = 1<br />

a( k)<br />

(1)<br />

In general, the output of the keystream generator at time i is<br />

given as<br />

k i<br />

⎛ ⎞<br />

= ⎜∑ = u( i)<br />

b a(<br />

k)<br />

⎟<br />

(2)<br />

⎝ k = 1 ⎠<br />

The output sequence in a clock c<strong>on</strong>trolled generator is the<br />

n<strong>on</strong>linearly deci<br />

Clock c<strong>on</strong>trolled generator is <strong>on</strong>e method to introduce the<br />

n<strong>on</strong>linearity in the keystream <strong>and</strong> to increase the linear<br />

complexity of the keystream. Two efficient <strong>and</strong> well known<br />

clock c<strong>on</strong>trolled generators are shrinking generator <strong>and</strong><br />

alternating step generator.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 264


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A.1 Shrinking Generator<br />

The shrinking generator c<strong>on</strong>sists of two regularly clocked<br />

binary linear feedback shift registers (LFSRs). Denote these as<br />

LFSR A <strong>and</strong> LFSR S , as shown in Fig1, <strong>and</strong> denote the lengths<br />

of these LFSR's as L A <strong>and</strong> L S respectively. The shrinking<br />

generator output is a "shrunken" versi<strong>on</strong> or subsequence of the<br />

output from LFSR A , with the subsequence elements selected<br />

according to the positi<strong>on</strong> of 1's in the output sequence of<br />

LFSR S : the keystream sequence ‘z’ c<strong>on</strong>sists of those bits of the<br />

sequence ‘a’ for which the corresp<strong>on</strong>ding bit of sequence ‘s’ is<br />

1. The other bits of ‘a’, for which the corresp<strong>on</strong>ding bit of ‘s’<br />

sequence is 0, are deleted [2].<br />

∞<br />

Let a = { a i<br />

}<br />

i=<br />

1<br />

denote an LFSR A sequence produced from<br />

A<br />

a n<strong>on</strong>zero initial state { a L<br />

i}<br />

i= 1<br />

, <strong>and</strong> let ∞<br />

s = { s i<br />

}<br />

i=<br />

1<br />

denote the<br />

LFSR S sequence produced from a n<strong>on</strong>zero initial state<br />

Ls<br />

{ si}<br />

i= 1<br />

. Let ∞<br />

Z = { Z i<br />

}<br />

i=<br />

1<br />

denote the output sequence of the<br />

shrinking generator. Then, Z k = a ik ,, where i k is the positi<strong>on</strong> of<br />

the k th 1 in the sequence ‘s’. The keystream sequence ‘Z’ is an<br />

irregularly decimated versi<strong>on</strong> of the LFSR A sequence ‘a’, with<br />

the decimati<strong>on</strong> c<strong>on</strong>trolled by the LFSR S sequence‘s’.<br />

Fig.1 Shrinking Generator<br />

If the LFSR feedback polynomials are primitive, then ‘a’<br />

<strong>and</strong> ‘s’ are maximum length sequences with periods 2 L A −1<br />

<strong>and</strong> 2 L S −1, respectively. In additi<strong>on</strong>, if L A <strong>and</strong> L S are<br />

relatively prime, then the period of ‘Z’ is<br />

L<br />

(2 A Ls<br />

−1<br />

−1)(2<br />

) <strong>and</strong> the linear complexity (LC) of ‘Z’<br />

LS<br />

−2<br />

LS<br />

−1<br />

satisfies L<br />

A.2<br />

≤ LC ≤ LA.2<br />

. To get high period L A<br />

must be greater than L S .<br />

A.2 Alternating Step Generator<br />

Alternating step generator [3]is another popular clock<br />

c<strong>on</strong>trolled generator that uses the principle of stop/go<br />

clocking. At any time a stop/go shift register is clocked <strong>on</strong>ce if<br />

the c<strong>on</strong>trol bit is 1 <strong>and</strong> not clocked if the bit is 0. The<br />

implemented clock c<strong>on</strong>trolled generator is a combinati<strong>on</strong> of<br />

three LFSRs, two of which, LFSR l <strong>and</strong> LFSR 2 , are stop/go<br />

clocked in a special way by the third <strong>on</strong>e, LFSR 3 , which is<br />

regularly clocked. When the clock c<strong>on</strong>trol sequence is ‘1’,<br />

LFSR l is clocked <strong>and</strong> LFSR 2 is clocked when the c<strong>on</strong>trol<br />

sequence is ‘0’. The output of the generator at any time is<br />

modulo-2 sum of the output bits of LFSR l <strong>and</strong> LFSR 2 .<br />

When the c<strong>on</strong>stituent LFSRs have lengths that are pair-wise<br />

relatively prime, the resulting sequence has a period equal to<br />

the product of the period of sequences produced by the<br />

c<strong>on</strong>stituent LFSRs. The linear complexity L(k) of the<br />

keystream generated from ASG satisfies the relati<strong>on</strong><br />

L1 −1<br />

L1<br />

( L<br />

2<br />

+ L3<br />

)2 ≤ L(<br />

k)<br />

≤ ( L1<br />

+ L2<br />

) 2 [3], where L 1 , L 2 ,<br />

<strong>and</strong> L 3 are the linear complexities of the c<strong>on</strong>stituent LFSRs.<br />

Fig. 2 Alternating Step Generator<br />

B. Attack <strong>on</strong> clock c<strong>on</strong>trolled generator<br />

The attacks for clock c<strong>on</strong>trolled generators available <strong>on</strong> the<br />

literature are based <strong>on</strong> the exhaustive key search <strong>on</strong> the initial<br />

state of c<strong>on</strong>trol register or generating register. Improved linear<br />

c<strong>on</strong>sistency attack is <strong>on</strong>e am<strong>on</strong>g the least complex attacks <strong>on</strong><br />

clock c<strong>on</strong>trolled generators [4] <strong>and</strong> works well for both<br />

shrinking generator <strong>and</strong> for alternating step generator if the<br />

structure is properly modified.<br />

The attack starts with applying a brute force selecti<strong>on</strong> <strong>on</strong> the<br />

initial state of c<strong>on</strong>trol register. Then by utilizing the linearity<br />

present in the generating registers, an analysis is d<strong>on</strong>e to check<br />

the validity of the existence of selected initial state of c<strong>on</strong>trol<br />

register. After that, initial state of generating register is<br />

retrieved.<br />

B.1 Improved Linear c<strong>on</strong>sistency Attack <strong>on</strong> SG<br />

∞<br />

Let a = { a i<br />

}<br />

i=<br />

1<br />

denote an LFSR A sequence produced from<br />

A<br />

a n<strong>on</strong>zero initial state{ a L<br />

i}<br />

i= 1<br />

, <strong>and</strong> let ∞<br />

s = { s i<br />

}<br />

i=<br />

1<br />

denote the<br />

LFSR S sequence produced from a n<strong>on</strong>zero initial state<br />

Ls<br />

{ si}<br />

i= 1<br />

. Let ∞<br />

Z = { Z i<br />

}<br />

i=<br />

1<br />

denote the output sequence of the<br />

shrinking generator. Then, Z k = a ik ,, where i k is the positi<strong>on</strong> of<br />

the k th 1 in the sequence ‘s’. The keystream sequence ‘Z’ is an<br />

irregularly decimated versi<strong>on</strong> of the LFSR A sequence ‘a’, with<br />

the decimati<strong>on</strong> c<strong>on</strong>trolled by the LFSR S sequence‘s’ [4].<br />

Steps Involved<br />

1. Preprocessing Stage: Analyze the structure of LFSR A .<br />

And, from the generator polynomial g A (x), derive a low<br />

weight cyclic equati<strong>on</strong> λ;<br />

λ : ak<br />

+ ak+ j + ....... + a = 0<br />

(3)<br />

1<br />

k+<br />

jw−1<br />

that holds over all ‘a’ sequence generated by LFSR A for<br />

any k ≥ 0.<br />

2. Guess an initial state for LFSR S. For each guess,<br />

generate the ‘s’ stream <strong>and</strong> use this ‘s’ stream to restore<br />

the positi<strong>on</strong>s of keystream bits in ‘a’ stream. ie. a* =<br />

{*,Z 1 ,*,*,Z 2 ,*…..,Z N } where Z i is the keystream bit <strong>and</strong><br />

the stars are the deleted bits corresp<strong>on</strong>ding to the <strong>on</strong>es in<br />

‘s’ sequence.<br />

3. Find ‘m’ entries in a*, where cyclic equati<strong>on</strong> λ is<br />

defined; m≈ L S +10 (to avoid false alarm). From this, we<br />

get the equati<strong>on</strong> set;<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 265


Proceedings of ICCNS 08 , 27-28 September 2008<br />

a * + a * + ....... + * = 0<br />

1 1+ a<br />

k k j 1<br />

k 1+<br />

j w−<br />

1<br />

. .<br />

. .<br />

a a*<br />

+ ....... + a*<br />

0<br />

(4)<br />

* + =<br />

k 2 k 2+ j 1<br />

k 2+<br />

j w−<br />

1<br />

Since every<br />

we can replace<br />

a<br />

k x+<br />

j y<br />

a<br />

k x+<br />

j y<br />

in this equati<strong>on</strong> set is defined in a*,<br />

with the corresp<strong>on</strong>ding bit z t in the<br />

keystream ‘z’. Thus, a* is a sequence of pointers to ‘z’<br />

<strong>and</strong> we can write the equati<strong>on</strong>s over ‘z’ as equati<strong>on</strong> set Ω;<br />

Z + Z + ... + Z = 0<br />

t1 ,1<br />

t1 , 2<br />

t1 , w<br />

. .<br />

. .<br />

Z + t<br />

Z + ... +<br />

m , 1 t<br />

Z<br />

m , 2<br />

t m , = 0<br />

(5)<br />

4. If all the equati<strong>on</strong>s in the equati<strong>on</strong> set Ω hold, then<br />

accept the guessed initial state of LFSR S as the actual<br />

initial state (key) of LFSR S.<br />

5. After finding the initializati<strong>on</strong> bits of LFSR S , use the<br />

linear equati<strong>on</strong> set derived from LFSR A <strong>and</strong> identified bits<br />

in a* to find the initializati<strong>on</strong> bits of LFSR A<br />

B.2 Improved Linear c<strong>on</strong>sistency Attack <strong>on</strong> ASG<br />

Improved linear c<strong>on</strong>sistency attack <strong>on</strong> clock c<strong>on</strong>trolled<br />

generators begins with restoring the generating sequences<br />

from output sequence based <strong>on</strong> clock c<strong>on</strong>trol sequence For<br />

this, a selecti<strong>on</strong> logic is required to get the output sequence<br />

from the generating sequences based <strong>on</strong> the clock c<strong>on</strong>trol<br />

sequence. But, in ASG there is no such selecti<strong>on</strong> logic exist at<br />

the output based <strong>on</strong> clock sequence. So. It is required to<br />

modify the structure so as to have selecti<strong>on</strong> logic at the output<br />

based <strong>on</strong> clock sequence.<br />

Modified Structure of ASG<br />

When we analyze the structure <strong>and</strong> working of alternating<br />

step generator it is possible to prove that, for a given clock<br />

c<strong>on</strong>trol sequence, the first binary derivative of the output<br />

sequence is the interleaved versi<strong>on</strong> of first derivatives of the<br />

output sequences of LFSR 1 <strong>and</strong> LFSR 2 based <strong>on</strong> the presence<br />

of 1’s <strong>and</strong> 0’s in the c<strong>on</strong>trol sequence.<br />

N N<br />

For a binary sequence A = { ai<br />

} i=<br />

1<br />

of length ‘N’, the first<br />

N<br />

~ N −1 1<br />

binary derivative is { ~ N −<br />

A = a } ~ ~ ~<br />

i i = 1 = a 1 , a 2 ,.... a N −1<br />

,<br />

where a<br />

~<br />

i = ai<br />

⊕ ai+<br />

1<br />

.<br />

N + 2 N + 2 N + 2 N + 2<br />

Let X = { xi<br />

} i=<br />

1 <strong>and</strong>Y = { yi}<br />

i=<br />

1 denote<br />

N 1<br />

1<br />

generating sequences, let<br />

+ N +<br />

C = { ci}<br />

i=<br />

1 denote clock<br />

N 1<br />

1<br />

c<strong>on</strong>trol sequence <strong>and</strong> let<br />

+ N +<br />

Z = { zi}<br />

i=<br />

1 output sequence as<br />

shown in Fig 2.<br />

To support the possibility of the modificati<strong>on</strong> <strong>on</strong> the<br />

structure of ASG c<strong>on</strong>sider following example.<br />

Example-1<br />

N +1<br />

C<strong>on</strong>sider C = 1 0 1 1 0<br />

1<br />

Then, Z N +<br />

= x2<br />

⊕ y1, x2<br />

⊕ y2,<br />

x3<br />

⊕ y2,<br />

x4<br />

⊕ y2,<br />

x4<br />

⊕ y3<br />

N +1<br />

Take first derivative of Z ;<br />

~<br />

Z N = y1 ⊕ y2<br />

, x2<br />

⊕ x3,<br />

x3<br />

⊕ x4<br />

, y2<br />

⊕ y32<br />

=<br />

~<br />

y ,<br />

~<br />

x ,<br />

~<br />

x ,<br />

~<br />

y<br />

(6)<br />

1<br />

2<br />

3<br />

2<br />

Example-2<br />

N +1<br />

C<strong>on</strong>sider C = 0 0 1 0 1<br />

1<br />

Then, Z N +<br />

= x1<br />

⊕ y2, x1<br />

⊕ y3,<br />

x2<br />

⊕ y3,<br />

x2<br />

⊕ y4,<br />

x3<br />

⊕ y4<br />

N +1<br />

Take first derivative of Z ;<br />

~<br />

Z N = y2<br />

⊕ y<br />

~<br />

3,<br />

x1<br />

⊕ x2,<br />

y3<br />

⊕ y4,<br />

x2<br />

⊕ x , x 33 2<br />

=<br />

~<br />

y<br />

~<br />

2 ,<br />

~<br />

x<br />

~<br />

1,<br />

y3,<br />

x2<br />

(7)<br />

From these examples we can see that, the first derivative of<br />

N +1 ~ N N<br />

the output sequence Z is, Z = { ~ zi}<br />

i=<br />

1<br />

<strong>and</strong> it is a functi<strong>on</strong><br />

1 ~ 1<br />

of<br />

~ N + ,<br />

N<br />

X Y<br />

+ ~ N +1 ~ N ~ N+<br />

1 ~ N+<br />

1 N+<br />

1<br />

<strong>and</strong> C ,ie. Z = F(<br />

X , Y ; C ) . More<br />

s<br />

clearly, for any1 ≤ s ≤ N , if wt C<br />

+ 1<br />

( ) = l , then<br />

~ z s =<br />

~<br />

x l if c = s+1<br />

1 <strong>and</strong><br />

~<br />

y<br />

= s+<br />

1−l<br />

if c = s+1<br />

0 .<br />

Thus, z~ ~ s depends <strong>on</strong>ly <strong>on</strong> x<br />

~ <strong>and</strong> l ys+1−<br />

l . Which implies that,<br />

Z & &s is obtained by n<strong>on</strong>-uniform interleaving of X ~ l <strong>and</strong><br />

~ s+1−l<br />

s+1<br />

Y according toC , where, ~ x is deleted if c = 1<br />

1<br />

1 <strong>and</strong><br />

~ y is deleted if c = 0<br />

1<br />

1 due to the step-then-add principle.<br />

Based <strong>on</strong> this informati<strong>on</strong>, we modify the diagram of ASG as<br />

in fig 3.<br />

Fig 3 Modified structure of ASG<br />

Now, it is possible to apply the improved linear<br />

c<strong>on</strong>sistency attack [4] <strong>on</strong> ASG. Here instead of operating with<br />

N 1<br />

1<br />

known keystream bits<br />

+ N +<br />

Z = { zi}<br />

i=<br />

1 it is required to<br />

operate with fist derivative of the known<br />

~ N N<br />

keystream, Z = { ~ zi}<br />

i=<br />

1 .<br />

Steps Involved<br />

Pre-computati<strong>on</strong> phase<br />

1. Derive the low weight cyclic equati<strong>on</strong>s λ 1 <strong>and</strong> λ 2 that can<br />

~ N +1<br />

be defined for all the bits in the X sequences <strong>and</strong><br />

~ Y N +1 sequences respectively, such that;<br />

λ : ~ ~ ....... ~<br />

1 xk<br />

+ xk<br />

j + + xk+<br />

j = 0<br />

(8)<br />

+ 1<br />

w−1<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 266


Proceedings of ICCNS 08 , 27-28 September 2008<br />

λ :<br />

~<br />

y +<br />

~<br />

y + ....... +<br />

~<br />

y 0<br />

(9)<br />

2 k k<br />

=<br />

+ j 1<br />

k + j w−1<br />

~ N +1<br />

~ +<br />

2. Formulate the mapping of the bits in X N 1 <strong>and</strong> Y to<br />

the initial state bits of LFSR 1 <strong>and</strong> LFSR 2 respectively, in<br />

the form the linear equati<strong>on</strong> set or matrix equati<strong>on</strong>s.<br />

Computati<strong>on</strong> phase<br />

~<br />

~<br />

N N<br />

1. Find Z = { ~ zi}<br />

i=<br />

1, where z i = zi<br />

⊕ zi+<br />

1 ; from known<br />

N + 1 N + 1<br />

Z = { zi}<br />

i=<br />

1<br />

2. Guess an initial state for LFSR 3. For each guess, generate<br />

N +1<br />

the C c<strong>on</strong>trol sequence.<br />

N +1<br />

3. Based <strong>on</strong> each C sequence deinterleave the first<br />

~ N N<br />

derivative of known keystream Z = { ~ zi}<br />

i=<br />

1 into first<br />

derivative of generating sequences <strong>and</strong> denote the<br />

~ * ~<br />

obtained sequences as X *<br />

<strong>and</strong>Y .<br />

4. If at least ‘m’ (m≈ Li +10; to avoid false alarm where Li<br />

length of the corresp<strong>on</strong>ding LFSR,) c<strong>on</strong>secutive entries in<br />

~<br />

X * ~ *<br />

<strong>and</strong>Y satisfy the cyclic equati<strong>on</strong> λ 1 <strong>and</strong> λ 2<br />

respectively, then guessed initial state is the correct initial<br />

state for LFSR 3 .<br />

5. After getting the LFSR 3 initial state, use the<br />

~ * ~<br />

corresp<strong>on</strong>ding X *<br />

<strong>and</strong>Y sequences <strong>and</strong> the mapping<br />

formulated in the pre-computati<strong>on</strong> phase to get the initial<br />

states of LFSR 1 <strong>and</strong> LFSR 2 .<br />

III. EXPERIMENTAL RESULTS<br />

The two LFSR based stream cipher schemes, alternating<br />

step generator <strong>and</strong> shrinking generator are implemented to<br />

analyze the properties of the keystream generated. Various<br />

attacks available in the literature such as edit distance attack,<br />

probabilistic correlati<strong>on</strong> attack <strong>and</strong> improved linear<br />

c<strong>on</strong>sistency attack are implemented. The fastest of these<br />

attacks, improved linear c<strong>on</strong>sistency attack has been used for<br />

both the schemes to analyze <strong>and</strong> compare the security.<br />

A. Shrinking generator<br />

The shrinking generator as shown in fig 1 c<strong>on</strong>sists of two<br />

LFSRs. An LFSR of length 4 <strong>and</strong> having feedback polynomial<br />

4<br />

x + x + 1 was used as clock c<strong>on</strong>trol sequence generator.<br />

The generating sequence was obtained from an LFSR of<br />

5 2<br />

length 5 with feedback polynomial x + x + 1. The periodicity<br />

of the generator is 2 8 .<br />

Pre-computati<strong>on</strong> phase<br />

The cyclic equati<strong>on</strong> derived from the feedback<br />

polynomial of LFSR A is,<br />

λ : ak<br />

+ ak + 3 + ak<br />

+ 5 = 0<br />

(10)<br />

The generator matrix for the sequences generating from<br />

LFSR A is,<br />

⎡1<br />

0 0 0 0 1 0 ................ ⎤<br />

⎢<br />

⎢<br />

0 1<br />

⎢0<br />

0<br />

⎢<br />

⎢0<br />

0<br />

⎢<br />

⎣0<br />

0<br />

0 0 0 0 1 ................<br />

⎥<br />

⎥<br />

1 0 0 0 0 ................. ⎥<br />

⎥<br />

0 1 0 1 0 ................. ⎥<br />

0 0 1 0 1 ................. ⎥<br />

⎦<br />

Computati<strong>on</strong> phase<br />

The sequence obtained from the generator corresp<strong>on</strong>ding to<br />

the initial states ‘1010’ <strong>and</strong> ‘10001’ is c<strong>on</strong>sidered as the<br />

known keystream sequence.<br />

For the LFSR S initial state guess’1010’, the way in which<br />

A* sequence (sequence having the restored bits from known<br />

keystream based <strong>on</strong> clock c<strong>on</strong>trol sequence) is formed is<br />

shown below.<br />

Clock sequence, s = [1 0 1 01 1 0 0 1 0 0 0 1 1 ]<br />

Keystream, Z N = [1 0 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0<br />

1……]<br />

A*- sequence = [1 * 0 * 1 1 * * 1 * * * 1 0 1 0 * 1 * 0 0 *<br />

* 0 * * * 1 1 …..]<br />

Here, to get the elements in the A*-sequence, the<br />

c<strong>on</strong>secutive bits from known keystream are restored<br />

corresp<strong>on</strong>ding to the positi<strong>on</strong>s of 1’s in s-sequence <strong>and</strong><br />

deleti<strong>on</strong>s (*) are placed corresp<strong>on</strong>ding to 0’s. The first few<br />

valid entries in A*, where the cyclic equati<strong>on</strong> (10) defined <strong>and</strong><br />

satisfied are given below.<br />

a* 13 +a* 16 +a* 18 = 0<br />

a* 15 +a* 18 +a* 20 = 0<br />

λ =<br />

: :<br />

a* 118 +a* 121 +a* 123 = 0<br />

The equati<strong>on</strong> set, Ω is a transformati<strong>on</strong> of λ obtained by<br />

replacing a k + j w<br />

with the corresp<strong>on</strong>ding bit Z t in the keystream<br />

Z N . From this it is possible to find the number of bits in the<br />

observed keystream required to mount the attack successfully.<br />

Table I shows the number of valid entries in the A*-sequences<br />

corresp<strong>on</strong>ding to all possible guesses of the LFSR S initial state<br />

<strong>and</strong> the above menti<strong>on</strong>ed known keystream for which the<br />

equati<strong>on</strong> 10) is defined <strong>and</strong> satisfied. This will help us to find<br />

the value of ‘m’ so as to minimize the false alarm.<br />

TABLE I<br />

NUMBER OF ENTRIES IN A*-STREAMS WHERE λ IS DEFINED<br />

AND SATISFIED<br />

LFSR S<br />

initial<br />

state<br />

No. of<br />

eqns<br />

defined<br />

No. of<br />

eqns<br />

satisfied<br />

LFSR S<br />

initial<br />

state<br />

No. of<br />

eqns<br />

defined<br />

No. of<br />

eqns<br />

satisfied<br />

0001 15 7 1001 15 10<br />

0010 15 12 1010* 15* 15*<br />

0011 15 7 1011 15 11<br />

0100 15 12 1100 15 12<br />

0101 14 9 1101 15 7<br />

0110 14 11 1110 15 9<br />

0111 15 7 1111 15 7<br />

1000 15 12<br />

Z 6 + Z 9 + Z 10 = 0<br />

Z 8 + Z 10 + Z 11 = 0<br />

=> Ω =<br />

: :<br />

Z 63 + Z 64 + Z 67 = 0<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 267


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Table I says that, if the value of m ≤ 12, the probability of<br />

false alarm is ≥ 0.285. To avoid this, the selected value of ‘m’<br />

must be approximately equal to 15. This proves that, to have<br />

the unique retrieval LFSR S initial state of the shrinking<br />

generator, the value of ‘m’ be at least equal to L S +10 (m ≈ L S<br />

+10).<br />

Time complexity analysis<br />

When we mount the improved linear c<strong>on</strong>sistency attack <strong>on</strong><br />

shrinking generator, the major effort required is to retrieve the<br />

initial state of LFSR S. So, the analysis of time complexity<br />

variati<strong>on</strong> with L S (length of LFSR S ) is necessary. So, we can<br />

say that, attack time increases exp<strong>on</strong>entially with the length of<br />

LFSR S , ie. the time complexity is of the order of 2 Ls (O(2 Ls )).<br />

TABLE II<br />

VARIATION OF ATTACK TIME AND DATAREQUIREMENT WITH<br />

KEY LENGTH<br />

Key<br />

length<br />

(L)<br />

L S<br />

L A<br />

Table II shows the variati<strong>on</strong> of time <strong>and</strong> data requirement to<br />

mount the attack successfully with respect to the key length of<br />

shrinking generator. In Table II, L A is selected as slightly<br />

greater than L S . This is because, for a given L S + L A , if L A >><br />

L S then period will be high, but that will reduce the security.<br />

ie. there exist a trade-off between the security <strong>and</strong> period for a<br />

particular L A + L S .<br />

B. Alternating step generator<br />

The alternating step generator as shown in fig.2. c<strong>on</strong>sists of<br />

three LFSRs. An LFSR of length 9 <strong>and</strong> having feedback<br />

9 4<br />

polynomial x + x + 1 was used as clock c<strong>on</strong>trol register.<br />

The generating sequences X – sequence <strong>and</strong> Y- sequence were<br />

generated from LFSR of length 5, feedback<br />

5 2<br />

polynomial x + x + 1 <strong>and</strong> LFSR of length 7, feedback<br />

7<br />

polynomial x + x + 1 respectively. The period of the<br />

keystream generated is ≈ 2 21 .<br />

Pre-computati<strong>on</strong> phase<br />

The cyclic equati<strong>on</strong>s derived for X ~ <strong>and</strong> Y ~ sequences are,<br />

λ :<br />

~ ~ ~<br />

1 x k + x k + 3 + x k + 5 = 0 &<br />

λ ~<br />

y<br />

~<br />

y +<br />

~<br />

y 0<br />

(11)<br />

2 : k + k+ 6 k+<br />

7 =<br />

Attack<br />

time(sec)<br />

13 6 7 0.4840 123<br />

17 8 9 1.5940 199<br />

19 9 10 4.6880 212<br />

21 10 11 13.109 223<br />

23 11 12 138.849 660<br />

25 12 13 764.128 800<br />

Mapping of the bits in the X ~ <strong>and</strong> Y ~ sequences to the initial<br />

state bits of corresp<strong>on</strong>ding LFSRs are,<br />

N<br />

[ ~ x ~ x ~ x ~ x ....] = [ x x x x ]<br />

1 2 3 4<br />

1 2 3 4<br />

x5<br />

&<br />

[ ~ y ~ y ~ y ~ y ....] = [ y y y y y y ]<br />

1 2 3 4<br />

1 2 3 4 5 6 y7<br />

Computati<strong>on</strong> phase<br />

⎡1<br />

⎢<br />

⎢<br />

1<br />

* ⎢0<br />

⎢<br />

⎢0<br />

⎢<br />

⎣0<br />

⎡1<br />

0<br />

⎢<br />

⎢<br />

1 1<br />

⎢0<br />

1<br />

⎢<br />

* ⎢0<br />

0<br />

⎢0<br />

0<br />

⎢<br />

⎢0<br />

0<br />

⎢<br />

⎣0<br />

0<br />

0<br />

1<br />

1<br />

0<br />

0<br />

0<br />

0<br />

1<br />

1<br />

0<br />

0<br />

0<br />

0<br />

1<br />

1<br />

1<br />

0<br />

0<br />

1<br />

1<br />

... ⎤<br />

...<br />

⎥<br />

⎥<br />

... ⎥<br />

⎥<br />

... ⎥<br />

... ⎥<br />

⎦<br />

0 0 0 0 1 ... ⎤<br />

0 0 0 0 0 ...<br />

⎥<br />

⎥<br />

1 0 0 0 0 ... ⎥<br />

⎥<br />

1 1 0 0 0 ... ⎥<br />

0 1 1 0 0 ... ⎥<br />

⎥<br />

0 0 1 1 0 ... ⎥<br />

0 0 0 1 0 ... ⎥<br />

⎦<br />

The sequence generated from the initial states ‘11111’,<br />

‘1111111’ <strong>and</strong> ‘101001001’ for LFSR 1 , LFSR 2 & LFSR 3<br />

respectively, is c<strong>on</strong>sidered as the known keystream for the<br />

attack. For an initial state guess of ‘101010111’ for c<strong>on</strong>trol<br />

register the steps involved are as follows.<br />

Known keystream, Z =[0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1<br />

1 0 …………]<br />

C<strong>on</strong>trol sequence, S = [1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1<br />

0 1 …………]<br />

First derivative of Z, Z ~ = [0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1<br />

0 1 1…………]<br />

~<br />

X *<br />

= [0 0 0 0 0 0 1 0 1 1 1 1….] &<br />

~ *<br />

Y = [0 0 0 1<br />

1 1 0 1 0 0….]<br />

~ * ~<br />

In X *<br />

& Y sequences corresp<strong>on</strong>ding to this particular<br />

guess, the all the entries are not satisfying their cyclic<br />

equati<strong>on</strong>s. There fore, ‘101010111’ is not a valid guess for the<br />

initial state LFSR S . But for ‘111111111’, all the entries in<br />

~<br />

X * ~ *<br />

& Y sequences will satisfy the equati<strong>on</strong> 11. Then,<br />

matrix soluti<strong>on</strong>s will give the initial states of generating<br />

registers.<br />

Time complexity analysis<br />

Table III gives the time required to mount the attack<br />

successfully, for the alternating step generator with different<br />

key sizes having the lengths of c<strong>on</strong>stituent LFSRs pair wise<br />

relatively prime. It says that, if the length L 3 of the clock<br />

c<strong>on</strong>trol LFSR (LFSR 3 ) remains c<strong>on</strong>stant, then the attack time<br />

remains same even if the lengths L 1 <strong>and</strong> L 2 vary. But, as L 3<br />

increases the attack time increases drastically (exp<strong>on</strong>entially<br />

O(2 L3 )). This implies that, for a given period if L 3 is at its<br />

maximum possible value then, security will be higher<br />

compared to other possibilities. This is because of the brute<br />

force selecti<strong>on</strong> <strong>on</strong> the initial state of LFSR 3 in improved linear<br />

c<strong>on</strong>sistency attack.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 268


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE III<br />

VARIATION OF ATTACK TIME WITH KEYLENGTH<br />

12 4 3 5 0.3130<br />

14 4 3 7 0.4060<br />

16 4 5 7 0.4079<br />

18 4 5 9 0.9220<br />

20 4 7 9 0.9380<br />

21 5 7 9 0.9530<br />

22 4 7 11 3.3850<br />

23 5 7 11 3.5310<br />

24 6 7 11 3.5480<br />

C. <strong>Security</strong> comparis<strong>on</strong> of ASG <strong>and</strong> SG<br />

Since alternating step generator <strong>and</strong> shrinking generator are<br />

two variants of clock c<strong>on</strong>trolled generators, a security<br />

comparis<strong>on</strong> between these two is necessary to design new<br />

keystream generators based <strong>on</strong> LFSRs.<br />

Table IV gives a comparis<strong>on</strong> of level of security between<br />

alternating step generator (ASG) <strong>and</strong> shrinking generator<br />

(SG) for comparable throughput. Throughput is a major<br />

parameter to quantify the fruitfulness of a security system,<br />

which is defined as the ratio of r<strong>and</strong>omness obtained <strong>and</strong><br />

r<strong>and</strong>omness c<strong>on</strong>sumed.<br />

TABLE IV<br />

ATTACK TIME COMPARISON OF ASG AND SG FOR<br />

COMPARABLE THROUPUT<br />

Attack time in sec<strong>on</strong>ds<br />

Throughput Alternating step<br />

generator<br />

Shrinking<br />

generator<br />

3750 0.406 1.594<br />

49,250 0.9380 13.109<br />

177,750 3.4850 138.349<br />

c<strong>on</strong>trolled generators based <strong>on</strong> LFSRs are known to be more<br />

secure than n<strong>on</strong>-linear combinati<strong>on</strong> <strong>and</strong> filter generators. This<br />

paper compares the security of two most promising LFSR<br />

based keystream generators <strong>and</strong> proposes that stream cipher<br />

designs based <strong>on</strong> Shrinking Generators will lead to highly<br />

secure stream ciphers.<br />

REFERENCES<br />

[1] Dieter Gollman, William.G.Chambers, Clock-c<strong>on</strong>trolled shift registers: A<br />

review, IEEE Journal <strong>on</strong> Selected Areas in Communicati<strong>on</strong>s, vol.7, no.4,<br />

May 1989, 525-533.<br />

[2] D. Coppersmith, H. Krawczyk, Y. Mansour, The Shrinking Generator,<br />

Crypto’98<br />

[3] Jovan Dj Golic, Renato Reniococci, Edit Distance Correlati<strong>on</strong> Attack <strong>on</strong><br />

the Alternating Step Generator, Advances in Cryptology, CRYPTO 97,<br />

1997, 499-512.<br />

[4] Moll<strong>and</strong>, Improved Linear C<strong>on</strong>sistency Attack <strong>on</strong> Irregular Clocked<br />

keystream Generators, Fast Software Encrypti<strong>on</strong>-FSE’2004, LNCS vol.<br />

3017, Springer- Verlag, (2004), pp. 109-126.<br />

[5] Patrik Ekdahl, On LFSR based stream ciphers, analysis <strong>and</strong> design, Phd<br />

Thesis, Department of Informati<strong>on</strong> Technology, Lund University,<br />

Sweden, October ,2003<br />

[6] T. Johanss<strong>on</strong>, “Reduced complexity correlati<strong>on</strong> attacks <strong>on</strong> two clockc<strong>on</strong>trolled<br />

generators”, Advances in Cryptology-ASIACRYPT’98<br />

LNCS, vol. 1514, Springer- Verlag, (1998), pp. 342-357<br />

[7] L. Simps<strong>on</strong>, J. Dj. Goli´c, “A probabilistic correlati<strong>on</strong> attack <strong>on</strong> the<br />

shrinking generator”, ACISP’98, LNCS vol. 1438, Springer-Verlag,<br />

(1998),pp.147-158.<br />

[8] J. Dj. Goli´c, “Correlati<strong>on</strong> analysis of the shrinking Generator”,<br />

Advances in Cryptology-Crypto’2001, LNCS vol. 2139 Springer-Verlag,<br />

(2001), pp. 440-457.<br />

In both the generators attack method used is the same, the<br />

improved linear c<strong>on</strong>sistency attack. But, the time required to<br />

mount the attack <strong>on</strong> shrinking generator is very high compared<br />

to that of alternating step generator. This is because, in SG it is<br />

required to operate <strong>on</strong> more number of known keystream bits<br />

to reach a unique retrieval of initial states than in ASG due to<br />

the deleti<strong>on</strong> operati<strong>on</strong> in key stream generati<strong>on</strong>. And, that<br />

increases the data complexity <strong>and</strong> time complexity of<br />

shrinking generator. So, it is clear from the table that, as the<br />

period, key length or throughput increases the security offered<br />

by the shrinking generator increases drastically against<br />

alternating step generator.<br />

IV. CONCLUSION<br />

As the popularity of various communicati<strong>on</strong> methods such<br />

as mobile teleph<strong>on</strong>e, internet etc. is increasing, an increasing<br />

quantity of data is being transferred over various<br />

communicati<strong>on</strong> channels. The low hardware complexity <strong>and</strong><br />

power c<strong>on</strong>sumpti<strong>on</strong> of LFSR based stream ciphers make them<br />

an attractive method to ensure integrity <strong>and</strong> security of data<br />

transmissi<strong>on</strong> in h<strong>and</strong>held communicati<strong>on</strong> devices <strong>and</strong> sensor<br />

networks. Hence design of a secure stream cipher based <strong>on</strong><br />

LFSR is gaining more <strong>and</strong> more importance nowadays. Clock<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 269


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Elliptic Curve Cryptography based Mutual<br />

Authenticated Key Agreement Protocol for secured<br />

wireless communicati<strong>on</strong><br />

Kakali Chatterjee<br />

Delhi College of Engineering (Delhi University)<br />

Bawana Road, Delhi 110042<br />

Email: kakali2008@gmail.com<br />

Abstract- Mutual authenticated key agreement protocol for secure<br />

communicati<strong>on</strong> in mobile devices is an important primitive for<br />

sessi<strong>on</strong> key establishment. We propose a mutual authenticated key<br />

agreement protocol for wireless mobile communicati<strong>on</strong> based <strong>on</strong><br />

elliptic curve cryptographic techniques. The proposed protocol<br />

requires significantly less b<strong>and</strong>width than the different public key<br />

cryptosystems (such as EIGamal for encrypti<strong>on</strong>, <strong>and</strong> Diffie-Hellman<br />

for key exchanging protocols), <strong>and</strong> furthermore, it has lower<br />

computati<strong>on</strong>al burden <strong>and</strong> storage requirements <strong>on</strong> the user side. The<br />

use of elliptic curve cryptographic techniques provide greater security<br />

using fewer bits, resulting in a protocol which requires low<br />

computati<strong>on</strong>al overhead, <strong>and</strong> thus, making it suitable for wireless <strong>and</strong><br />

mobile communicati<strong>on</strong> systems, including smartcards <strong>and</strong> h<strong>and</strong>held<br />

devices. Then we made a performance analysis of various algorithms<br />

<strong>on</strong> palm OS platform.<br />

Keywords- Elliptic Curve Cryptography (ECC), Elliptic Curve Diffie-<br />

Hellman (ECDH) key exchange, Elliptic Curve Digital Signature<br />

Algorithm (ECDSA).<br />

I. INTRODUCTION<br />

Wireless <strong>Networks</strong> are quickly becoming ubiquitous in our<br />

day to day life. In wireless networks, mobile nodes<br />

c<strong>on</strong>tinuously enter <strong>and</strong> leave the network <strong>and</strong> change locati<strong>on</strong><br />

with the resulting mobility impacting the degree of security<br />

<strong>and</strong> communicati<strong>on</strong>s reliability. In order to have reliable<br />

proper security over the wireless mobile communicati<strong>on</strong>,<br />

Elliptic Curve Cryptography (ECC) comes in h<strong>and</strong>y as many<br />

of these portable devices are restricted by some general<br />

computati<strong>on</strong>al c<strong>on</strong>straints related to processor speed,<br />

b<strong>and</strong>width, memory etc. Mobile users will use resources at<br />

various locati<strong>on</strong>s <strong>and</strong> may be provided by different service<br />

providers. Certain security measures are required for portable<br />

devices (which use low processing power) by using efficient<br />

encrypti<strong>on</strong> algorithm. While c<strong>on</strong>sidering the efficiency of a<br />

public-key cryptographic system, three distinct factors are-<br />

Computati<strong>on</strong>al overheads, Key size, B<strong>and</strong>width. There are<br />

some envir<strong>on</strong>ments, such as low-end smart cards which do not<br />

have arithmetic co-processors <strong>and</strong> <strong>on</strong>ly about 8KB of RAM,<br />

where commercial-strength 1024-bit RSA simply cannot be<br />

implemented, while commercial-strength 163-bit ECC can [5].<br />

ECC is based in <strong>on</strong>e of the hardest arithmetic problems, the<br />

elliptic curve discrete logarithm problem, making ECC a<br />

reliable cryptographic technique. In additi<strong>on</strong> to this advantage,<br />

ECC requires smaller key sizes, b<strong>and</strong>width savings <strong>and</strong> faster<br />

implementati<strong>on</strong> compared to other public key algorithms,<br />

which suggests its use in low-end systems such as PDAs,<br />

smart cards [3].<br />

ECC based mutual authenticated key agreement protocol was<br />

already established for Wireless LAN security [1]. So far,<br />

several protocols have been proposed to provide robust mutual<br />

authenticati<strong>on</strong> <strong>and</strong> key establishment for Wireless LAN. The<br />

significant improved performance of some of the protocols in<br />

computati<strong>on</strong>al <strong>and</strong> communicati<strong>on</strong>al load over many other key<br />

agreement protocols were compared <strong>and</strong> discussed in [6]. We<br />

analyse them how useful they are in mobile devices <strong>and</strong> then<br />

propose a new mutual authenticated key agreement protocol<br />

suitable in c<strong>on</strong>strained mobile envir<strong>on</strong>ment.<br />

In our proposed protocol, two entities (mobile) are both<br />

proving their identities to each other <strong>and</strong> establish a comm<strong>on</strong><br />

sessi<strong>on</strong> key to make a secure c<strong>on</strong>necti<strong>on</strong>. The protocol<br />

described in this paper depends <strong>on</strong> the security of the so-called<br />

elliptic curve primitives, e.g., key generati<strong>on</strong>, signature<br />

generati<strong>on</strong>, <strong>and</strong> signature verificati<strong>on</strong>. These operati<strong>on</strong>s utilize<br />

the arithmetic of points which are elements of the set of<br />

soluti<strong>on</strong>s of an elliptic curve equati<strong>on</strong> defined over a finite<br />

field. The security of the protocol depends <strong>on</strong> the intractability<br />

of the elliptic curve analogue of the discrete logarithm<br />

problem which is a well known <strong>and</strong> extensively studied<br />

computati<strong>on</strong>ally hard problem.<br />

The remaining part of the Paper is organized as follows:<br />

Secti<strong>on</strong> II describes security techniques; Secti<strong>on</strong> III provides<br />

descripti<strong>on</strong> of ECDSA, Secti<strong>on</strong> IV provides the descripti<strong>on</strong> of<br />

protocol parameters; Secti<strong>on</strong> V provides proposed protocol<br />

<strong>and</strong> how it works; Secti<strong>on</strong> VI provides the implementati<strong>on</strong><br />

results of proposed protocol <strong>on</strong> c<strong>on</strong>strained device. The key<br />

c<strong>on</strong>clusi<strong>on</strong> that has been drawn from this Paper are stated in<br />

Secti<strong>on</strong> VII.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 270


Proceedings of ICCNS 08 , 27-28 September 2008<br />

II. SECURITY TECHNIQUES<br />

Before proceeding we need to establish some terminology <strong>and</strong>,<br />

in particular, to define what we mean by a security technique;<br />

in doing so we will distinguish between security features <strong>and</strong><br />

security techniques (or security mechanisms, as security<br />

techniques are often known). <strong>Security</strong> provisi<strong>on</strong>s in systems<br />

are present, not for their own sake, but to combat identified<br />

security threats. To combat these threats requires the provisi<strong>on</strong><br />

of specific <strong>Security</strong> features such as<br />

C<strong>on</strong>fidentiality- to address the threat of unauthorised<br />

disclosure of informati<strong>on</strong> by means of eavesdropping, etc.<br />

Data integrity- to address the threat of unauthorised<br />

modificati<strong>on</strong> to informati<strong>on</strong>.<br />

Origin authenticati<strong>on</strong>- to address the threat of informati<strong>on</strong><br />

being spuriously inserted into a network.<br />

Entity authenticati<strong>on</strong> -. to address the threat of <strong>on</strong>e entity<br />

masquerading as another.<br />

N<strong>on</strong>-repudiati<strong>on</strong> - to address the threat of an entity<br />

repudiating its acti<strong>on</strong>s (i.e. denying acti<strong>on</strong>s it has taken).<br />

These features exist as abstract c<strong>on</strong>cepts, <strong>and</strong> are independent<br />

of the means used to provide them. Features are provided by<br />

security techniques (or mechanisms), which include<br />

Encipherment algorithms - used to help provide<br />

c<strong>on</strong>fidentiality features.<br />

Integrity mechanisms - (which include the well-known<br />

MACS), used to help provide data integrity <strong>and</strong> origin<br />

authenticati<strong>on</strong> features.<br />

Digital signature algorithms- which can be used to help<br />

provide n<strong>on</strong>-repudiati<strong>on</strong> features.<br />

Authenticati<strong>on</strong> exchanges- used to help provide entity<br />

authenticati<strong>on</strong> features.<br />

III. ECDSA FOR AUTHENTICATION<br />

First, an elliptic curve E defined over GF(p) or GF(2k) with<br />

large group of order n <strong>and</strong> a point P of large order is selected<br />

<strong>and</strong> made public to all users.<br />

Then, the following key generati<strong>on</strong> primitive is used by each<br />

party to generate the individual public <strong>and</strong> private key pairs.<br />

Furthermore, for each transacti<strong>on</strong> the signature <strong>and</strong><br />

verificati<strong>on</strong> primitives are used. We briefly outline the Elliptic<br />

Curve Digital Signature Algorithm (ECDSA) below, details of<br />

which can be found in [4].<br />

ECDSA Key Generati<strong>on</strong><br />

The user A follows these steps:<br />

1. Select a r<strong>and</strong>om integer d є [2,n-2].<br />

2. Compute Q = d ×P.<br />

3. The public <strong>and</strong> private keys of the user A are (E; P; n; Q)<br />

<strong>and</strong> d, respectively.<br />

ECDSA Signature Generati<strong>on</strong>: User A signs the message m<br />

using these steps<br />

1) Select a r<strong>and</strong>om integer k ε [2,n-2].<br />

2) Compute k × P = (x 1 ,y 1 ) <strong>and</strong> r = x 1 mod n.<br />

3) Compute k-1 mod n.<br />

4) Computes s = k-1(H(m) + dr) mod n.<br />

Here H is secure hash algorithm.<br />

5) The signature for the message m is the pair of integers(r,s).<br />

ECDSA Signature Verificati<strong>on</strong>:<br />

User B verifies A’s signature (r,s) <strong>on</strong> the message m by<br />

applying the following steps-<br />

1) Compute c = s-1 mod n <strong>and</strong> H(m).<br />

2) Compute u 1 = H(m)c mod n <strong>and</strong><br />

u 2 = rc mod n.<br />

3) Compute u 1 × P + u 2 × Q = (x 0 ,y 0 ) <strong>and</strong><br />

v =x 0 mod n<br />

4) Accept the signature if v = r.<br />

IV. DESCRIPTION OF PROTOCOL PARAMETERS<br />

In this paper we use an elliptic curve E defined over a finite<br />

field Fp. The elliptic curve parameters to be selected [9] <strong>and</strong><br />

[8]are:<br />

1 -Two field elements a <strong>and</strong> b є Fp, which define the equati<strong>on</strong><br />

of the elliptic curve E over Fp (i.e., y 2 = x 3 + ax + b in the case<br />

p ≥ 4, where 4a 3 + 27b 2 ≠ 0.<br />

2 -Two field elements x p <strong>and</strong> y p in Fp, which define a finite<br />

point P(x p , y p ) of prime order in E(Fp) (P is not equal to O,<br />

where O denotes the point at infinity).<br />

3 -The order n of the point P.<br />

In the following, we will give an introducti<strong>on</strong> to the ECdiscrete<br />

logarithm problem, to Diffie-Hellman key exchange<br />

based <strong>on</strong> EC <strong>and</strong> finally to the elliptic curve based digital<br />

signature algorithm (ECDSA).<br />

Let E be an elliptic curve defined over a finite field Fp <strong>and</strong> let<br />

P ε E(Fp) be a point of order n. Given Q where Q ε E(Fq), the<br />

elliptic curve discrete logarithm problem is to find the integer<br />

l, 0 ≤ l ≤ n − 1, such that Q = l.P. Here p, q are large prime<br />

numbers where p=2.q+1.<br />

The Diffie-Hellman key agreement protocol runs as<br />

follows[10]: User A selects a r<strong>and</strong>om number n a <strong>and</strong> computes<br />

Y a = n a G, where G є E(Fq) with order q. He sends Y a to user<br />

B. Similarly B computes Y b = n b G <strong>and</strong> sends Y b to A. A <strong>and</strong> B<br />

generate the same key K = n a Y b = n b Y a = n a n b G.<br />

In general, the main disadvantage of the Diffie-Hellman<br />

protocol is that it may suffer the “man-in-the-middle” attack.<br />

The main goal of our proposed protocol is to achieve mutual<br />

authenticati<strong>on</strong> <strong>and</strong> sessi<strong>on</strong> key generati<strong>on</strong> in order to establish<br />

a secure channel. This mutual authenticati<strong>on</strong> scheme applies<br />

the ECDSA to enhance the safety level <strong>and</strong> to simplify the<br />

computati<strong>on</strong>al <strong>and</strong> communicati<strong>on</strong>s load. The protocol is<br />

working in the following steps:-<br />

1) Both party establish their public <strong>and</strong> private key <strong>and</strong> then<br />

compute a mutual agreed secret key.<br />

2) For Authenticati<strong>on</strong> of the system a message digest is<br />

created using SHA1 hashing algorithm <strong>and</strong> encrypt the<br />

message digest with the secret key to create the signature.<br />

3) Than both the message <strong>and</strong> the signature is send to the<br />

server through network. In server side, it is decrypted <strong>and</strong><br />

verified.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 271


Proceedings of ICCNS 08 , 27-28 September 2008<br />

V. PROPOSED PROTOCOL<br />

The mutual authenticati<strong>on</strong> <strong>and</strong> key agreement protocols<br />

between the client <strong>and</strong> the server need to be executed in<br />

realtime [2].<br />

We give the proposed mutual authenticati<strong>on</strong> protocol in Figure<br />

1 below:<br />

User(A)<br />

Choose d u є [2,n-2].<br />

Q u = d u × P=(x A ,y A )<br />

Q s send<br />

Receive<br />

Q k = d s × Q u = (d s d u )×P<br />

K=Q k .x: mutual agreed key<br />

Sends Q u <strong>and</strong> g<br />

Q u ,g,<br />

Receive Y B<br />

Then Computes Y A =h(α)<br />

If (Y A ==Y B ), then A authenticates B<br />

Server(B)<br />

Choose d s є [2,n-2].<br />

Q s = d s × P<br />

receive<br />

Q k = d s × Q u = (d s d u )×P<br />

K=Q k .x: mutual agreed key<br />

Computes w=g -1 mod(n) <strong>and</strong><br />

Calculate u 1 ,u 2 ,v<br />

If v==x A , then B authenticates A<br />

Sends Y B =h(β) to A<br />

Figure 1: proposed mutual authenticati<strong>on</strong> protocol<br />

Within the sec<strong>on</strong>d step, A chooses a r<strong>and</strong>om<br />

challenge d u , where 1 ≤ d u ≤ n − 2, then computes Q u<br />

where<br />

Q u = d u × P=(x A ,y A ) (2) <strong>and</strong> calculates α where<br />

α = d u (B − Q) (3) <strong>and</strong> K= Q k .x where<br />

Q k = d s × Q u . K is called mutual agreed key.<br />

In additi<strong>on</strong>, A calculates r = (x A )mod(n) <strong>and</strong> computes<br />

g= a −1 (h(α) + x ∗ r)mod(n) (4)<br />

Finally (Q u , g) becomes the signatures pair <strong>and</strong> A<br />

transfers them to the server.<br />

Within the third step, B computes<br />

β = Q s ∗ Q u (5)<br />

computes K <strong>and</strong> w=g -1 mod(n) then calculates<br />

u 1 = (h(β) ∗ w)mod(n) (6)<br />

<strong>and</strong><br />

u 2 = (x A ∗ w)mod(n) (7)<br />

In additi<strong>on</strong>, B calculates<br />

u 1 ∗ P + u 2 ∗ Q = (x 0 , y 0 ) (8)<br />

<strong>and</strong> calculates<br />

v = x 0 mod(n) (9)<br />

B checks if (v == x A ), so B authenticates A <strong>and</strong><br />

B can be c<strong>on</strong>firmed that A has actually established<br />

the same shared sessi<strong>on</strong> key. Then B computes:<br />

Y B = h(β) (10)<br />

<strong>and</strong> finally he sends Y B to A.<br />

In order to authenticate B, A will compute:<br />

Y A = h(α) (11)<br />

<strong>and</strong> then A will verify the value of Y A by checking that<br />

(Y A == Y B ), if so, if they match, then A authenticates B<br />

<strong>and</strong> A can be c<strong>on</strong>firmed that B has actually established<br />

the same shared sessi<strong>on</strong> key with her. Finally, A <strong>and</strong> B<br />

agree <strong>on</strong> the comm<strong>on</strong> sessi<strong>on</strong> key Ks where<br />

Ks = h(ID(A)||ID(B)||K) (12)<br />

Both sides will agree <strong>on</strong> the sessi<strong>on</strong> Key Ks if all steps are<br />

executed correctly. Once the protocol run completes<br />

successfully, both parties may use Ks to encrypt messages<br />

for subsequent sessi<strong>on</strong> traffic to create a c<strong>on</strong>fidential<br />

communicati<strong>on</strong> channel.<br />

The Explanati<strong>on</strong> of the above figure is as follows:-<br />

Before starting the authenticati<strong>on</strong> procedure the user A,<br />

select an elliptic curve E(Zp) defined <strong>on</strong> Zp. A chooses a<br />

r<strong>and</strong>om point over the elliptic curve called P with order n.<br />

n is a large prime number. In additi<strong>on</strong>, A chooses a<br />

password pw, computes x = h(pw) <strong>and</strong> calculates Q where<br />

Q = x ∗ P. Finally, A generates str<strong>on</strong>g number p <strong>and</strong> q<br />

where p = 2 ∗ q + 1.<br />

Once the following parameters (E, Q, P, p, q, pw) are<br />

generated, A transfers the (E,Q,P, n) to the server in a<br />

secure way. Once this step is d<strong>on</strong>e, the sessi<strong>on</strong> key<br />

generati<strong>on</strong> procedure will be executed as follows:<br />

Within the first step, B chooses a r<strong>and</strong>om challenge<br />

b, where 1 ≤ d s ≤ n − 2, then he calculates Q s = d s × P (1)<br />

<strong>and</strong> he calculates the point B where B= d s ∗ P + Q<br />

Finally he sends Q s to A.<br />

VI. IMPLEMENTATION RESULTS<br />

We implement the algorithm using J2ME (Java 2 Platform,<br />

Micro Editi<strong>on</strong>) which is the perfect platform for mobile clients<br />

for secured data storage <strong>and</strong> management capabilities. The<br />

modular design of the J2ME architecture enables an<br />

applicati<strong>on</strong> to be scaled based <strong>on</strong> c<strong>on</strong>straints of small<br />

computing devices. We include Bouncy castle library [7]<br />

support for ECC public <strong>and</strong> private key generati<strong>on</strong>. It supports<br />

both ECDSA <strong>and</strong> ECDH. We implement the proposed<br />

authenticati<strong>on</strong> scheme in small h<strong>and</strong>held devices. Then made a<br />

performance analysis of various algorithm.<br />

Table 1 shows executi<strong>on</strong> times for various ECC <strong>and</strong> RSA<br />

cryptographic primitives <strong>on</strong> palm OS platforms:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 272


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Protocols<br />

ECC key<br />

generati<strong>on</strong><br />

ECC key<br />

expansi<strong>on</strong><br />

ECDSA<br />

signature<br />

generati<strong>on</strong><br />

ECDA<br />

signature<br />

verificati<strong>on</strong><br />

Diffie-<br />

Hellman key<br />

agreement<br />

RSA private<br />

encrypt<br />

RSA public<br />

decrypt<br />

RSA public<br />

encrypt<br />

TABLE 1<br />

PalmV (2MB of Remarks<br />

RAM, 16 MHz<br />

Drag<strong>on</strong>ball EZ),<br />

(ms)<br />

514 Faster<br />

350 Faster<br />

713 Faster<br />

1740 Slower<br />

462 Faster<br />

27808 Slower<br />

than ECC<br />

758 Slower<br />

than ECC<br />

798 Slower<br />

than ECC<br />

[3] S<strong>and</strong>ra Kay Miller “Facing the challenge of wireless security” Technology<br />

news July 2001. [4] IEEE P1363. St<strong>and</strong>ard specificati<strong>on</strong>s for public key<br />

cryptography. Draft versi<strong>on</strong> 7, September 1998.<br />

[5] K.Lauter, “The Advantages of Elliptic Curve Cryptography for Wireless<br />

<strong>Security</strong>”, IEEE Wireless Communicati<strong>on</strong>s Magazine,February 2004.<br />

[6] P.E. ABI-CHAR, A.MHAMED, B. EL-HASSAN, “A Secure<br />

Authenticated Key Agreement Protocol Based <strong>on</strong> Elliptic Curve<br />

Cryptography”, 2007 IEEE.<br />

[7] V.Gayoso Martinez, C.Sanchev Avila, J.Garcia, L.Hern<strong>and</strong>ez, “Elliptic<br />

Curve Cryptography:Java Implementati<strong>on</strong> Issues”, 2005 IEEE<br />

[8] M. Q. J. S. L. Law, A. Menezes <strong>and</strong> S. Vanstane, “An efficient protocol<br />

for authenticated key agreement”. In Designs, Codes<strong>and</strong> Cryptography, vol.<br />

28.<br />

[9] M. Q. J. S. L. Law, A. Menezes <strong>and</strong> S. Vanstane, “An efficient protocol<br />

for authenticated key agreement”, Technical report CORR98-05, Department<br />

of CO, University of Waterloo,1998.<br />

[10] William Stallings, “Cryptography <strong>and</strong> Network <strong>Security</strong> Principles <strong>and</strong><br />

Practices.”<br />

VII. CONCLUSIONS<br />

Internet c<strong>on</strong>nected mobile devices are used in our daily lives.<br />

An authenticati<strong>on</strong> <strong>and</strong> access c<strong>on</strong>trol comp<strong>on</strong>ent must be used<br />

in the devices as a security measurement. This paper<br />

introduces a secure authenticated key agreement protocol<br />

based <strong>on</strong> ECC that provides mutual authenticati<strong>on</strong> <strong>and</strong> sessi<strong>on</strong><br />

key establishment. The proposed mutual authenticated key<br />

agreement protocol c<strong>on</strong>currently offers the mutual<br />

authenticati<strong>on</strong> <strong>and</strong> a secured way of deriving a secret key<br />

where both the entities c<strong>on</strong>tribute informati<strong>on</strong> for the key<br />

agreement rather than trusting <strong>on</strong> <strong>on</strong>e party as a key transport<br />

protocol. The security of Elliptic Curve Cryptosystem mainly<br />

depends <strong>on</strong> the secret key generati<strong>on</strong>. To break this scheme,<br />

an attacker would need to be able to compute k given G <strong>and</strong><br />

kG, which is assumed hard. This is referred to as the elliptic<br />

curve logarithm problem. Another advantage is that a<br />

c<strong>on</strong>siderably smaller key size can be used for ECC compared<br />

to RSA which provides same level of security. Hence<br />

encrypted message in ECC is smaller. As a result,<br />

computati<strong>on</strong>al power is small.<br />

REFERENCES<br />

[1] Mohammad Abdul Azim <strong>and</strong> Abbas Jamalipour, “An Efficient Elliptic<br />

Curve Cryptography based Authenticated Key Agreement Protocol for<br />

Wireless LAN <strong>Security</strong>”,2005 IEEE.<br />

[2] M.Aydos, E.Savas, <strong>and</strong> C.K.Koe “Implementing Network <strong>Security</strong><br />

Protocols based <strong>on</strong> Elliptic Curve Cryptography”.May.1999<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 273


Hardware Efficient Stream Cipher Based <strong>on</strong> Hash<br />

Functi<strong>on</strong><br />

Lakshmi V.S, Deepthi .P.P, Sathidevi.P.S<br />

Department of Electr<strong>on</strong>ics <strong>and</strong> Communicati<strong>on</strong> Engineering<br />

Nati<strong>on</strong>al Institute of Technology Calicut<br />

Calicut-673601, Kerala, India<br />

lakshmivs23@yahoo.co.in, deepthi@nitc.ac.in, sathi@nitc.ac.in<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract—A new stream cipher based <strong>on</strong> hash functi<strong>on</strong>s is<br />

presented in this paper. The developed stream cipher provides very<br />

high periodicity <strong>and</strong> security. Since the output keystream is a hashed<br />

versi<strong>on</strong> of the secret key, the security of the cipher directly depends<br />

<strong>on</strong> the <strong>on</strong>e-wayness of the hash functi<strong>on</strong>. The time delay for<br />

generating the keystream <strong>and</strong> complexity of implementati<strong>on</strong> of this<br />

new stream cipher are made low compared to the existing hash based<br />

ciphers. The throughput of the cipher is increased much by using<br />

output feedback. The structure of proposed hash based stream cipher<br />

is suitable for both software <strong>and</strong> hardware implementati<strong>on</strong>.<br />

Keywords—Hash functi<strong>on</strong>, Stream Cipher, Pseudor<strong>and</strong>om<br />

Number Generator, Keystream<br />

I. INTRODUCTION<br />

Secret key cryptographic systems can be either block<br />

ciphers or stream ciphers. Stream ciphers involve time varying<br />

transformati<strong>on</strong> <strong>on</strong> individual data bits where as block ciphers<br />

are obtained by applying the same transformati<strong>on</strong> <strong>on</strong> a group<br />

of data bits. In stream cipher based systems, the need for<br />

buffering is limited. A binary additive stream cipher is a<br />

synchr<strong>on</strong>ous stream cipher system, which includes key stream,<br />

plaintext <strong>and</strong> cipher text in the form of binary sequences. The<br />

cipher bits in such a system are obtained by bitwise xor<br />

operati<strong>on</strong> of data bits (plain text) with the key stream bits.<br />

Each secret key K as input to the key stream generator<br />

corresp<strong>on</strong>ds to a key stream sequence. Since the secret key K<br />

is shared between the transmitter <strong>and</strong> the receiver, the receiver<br />

can decrypt by xoring the output of the key stream generator<br />

with the cipher text, obtaining the message sequence.<br />

A cryptographically str<strong>on</strong>g pseudor<strong>and</strong>om number generator<br />

(CSPRNG) is the heart of any stream cipher. A pseudo<br />

r<strong>and</strong>om generator is a deterministic polynomial time algorithm<br />

which exp<strong>and</strong>s short seeds into l<strong>on</strong>ger bit sequences, such that<br />

the output ensemble is polynomially indistinguishable from<br />

the uniform probability distributi<strong>on</strong>. Two methods of<br />

producing cryptographically str<strong>on</strong>g PRNG are (1) Linear<br />

Feedback Shift Registers based structures <strong>and</strong> (2) One-way<br />

functi<strong>on</strong> based structures.<br />

Linear Feedback Shift Registers (LFSR) is the most<br />

comm<strong>on</strong>ly used stream cipher due to the low hardware<br />

complexity <strong>and</strong> less power c<strong>on</strong>sumpti<strong>on</strong>. LFSR produces an<br />

output pseudor<strong>and</strong>om sequence from its initial state depending<br />

up<strong>on</strong> a feedback polynomial. The maximal length sequence of<br />

period (2 n – 1) can be produced by the LFSR if the feedback<br />

polynomial is primitive of degree n. But the main drawback of<br />

LFSR based stream ciphers is susceptibility to attack due to<br />

the linearity in the structure. According to Berlekamp-Massey<br />

algorithm, the initial state of the LFSR can be generated after<br />

examining <strong>on</strong>ly 2n bits of the pseudor<strong>and</strong>om sequence. So for<br />

better security, <strong>on</strong>e-way functi<strong>on</strong> based stream ciphers are<br />

preferred over LFSR stream ciphers.<br />

Blum <strong>and</strong> Micali [1] introduced the noti<strong>on</strong> of a<br />

cryptographically str<strong>on</strong>g pseudo r<strong>and</strong>om number generator<br />

from <strong>on</strong>e-way functi<strong>on</strong>s <strong>and</strong> Yao [2] showed that such a<br />

generator produces output bits which are computati<strong>on</strong>ally<br />

indistinguishable from truly r<strong>and</strong>om bits. Hash functi<strong>on</strong>s can<br />

be used as part of keystream generators in synchr<strong>on</strong>ous stream<br />

ciphers due to the high security provided by <strong>on</strong>e-wayness of<br />

hash functi<strong>on</strong>s. The security of PRNG depends up<strong>on</strong> the hash<br />

functi<strong>on</strong> used <strong>and</strong> how the hash functi<strong>on</strong> is used. The main<br />

applicati<strong>on</strong> of hash functi<strong>on</strong> is in message authenticati<strong>on</strong>. If<br />

hash functi<strong>on</strong> is an integral part of the cryptosystem,<br />

implementati<strong>on</strong> complexity of the keystream generator can be<br />

reduced by using a hash functi<strong>on</strong> based stream cipher. So<br />

stream ciphers based <strong>on</strong> <strong>on</strong>e-way hash functi<strong>on</strong>s are gaining<br />

importance now a days.<br />

The remainder of the paper is organized as follows: In<br />

Secti<strong>on</strong> 2, the background theory of <strong>on</strong>e-way functi<strong>on</strong> based<br />

stream ciphers is presented. Secti<strong>on</strong> 3 deals with the structural<br />

overview of two hash functi<strong>on</strong> based stream ciphers available<br />

in literature. Secti<strong>on</strong> 4 describes the structural model of the<br />

proposed stream cipher, while the security analysis of the<br />

proposed model is presented in Secti<strong>on</strong> 5. Results are given in<br />

Secti<strong>on</strong> 6.<br />

II.<br />

THEORETICAL BACKGROUND<br />

The possibility of the c<strong>on</strong>structi<strong>on</strong> of a cryptographically<br />

str<strong>on</strong>g pseudo r<strong>and</strong>om number generator (CSPRNG) based <strong>on</strong><br />

<strong>on</strong>e-way functi<strong>on</strong> was suggested by Blum <strong>and</strong> Micali [1]. The<br />

output bit sequence of a PRNG should satisfy two properties:<br />

(1) The r<strong>and</strong>om bits should be easily generated <strong>and</strong> (2) The bit<br />

to be generated should be unpredictable. If a PRNG is<br />

cryptographically str<strong>on</strong>g, it will be infeasible to trace the<br />

initial state or ‘key’ of the PRNG from the output keystream.<br />

It is proved that a necessary <strong>and</strong> sufficient c<strong>on</strong>diti<strong>on</strong> for the<br />

existence of PRNG is the existence of <strong>on</strong>e-way functi<strong>on</strong> [3].<br />

The main ideas behind the c<strong>on</strong>structi<strong>on</strong> of a CSPRNG based<br />

<strong>on</strong> a functi<strong>on</strong>, which is proved to be <strong>on</strong>e-way, can be<br />

discussed as follows. C<strong>on</strong>sider a <strong>on</strong>e-way functi<strong>on</strong> f.<br />

R<strong>and</strong>omly select a seed x <strong>and</strong> compute f(x). This provides the<br />

first set of output bits. If same seed is used for the next call to<br />

the functi<strong>on</strong> f, it will spoil the periodicity of the PRNG. Also,<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 274


Proceedings of ICCNS 08 , 27-28 September 2008<br />

if a new seed is used for each call to the functi<strong>on</strong> f, the<br />

r<strong>and</strong>omness c<strong>on</strong>sumed increases <strong>and</strong> this will reduce the<br />

throughput of the PRNG. The throughput of a stream cipher is<br />

defined as the ratio of the number of output r<strong>and</strong>om bits<br />

produced to the number of input r<strong>and</strong>om bits c<strong>on</strong>sumed. So to<br />

avoid these two drawbacks, it is required that the elements in<br />

the range of f should be r<strong>and</strong>omly redistributed to the locati<strong>on</strong>s<br />

in the domain. This r<strong>and</strong>om redistributi<strong>on</strong> should be<br />

deterministic <strong>and</strong> so the functi<strong>on</strong> used for r<strong>and</strong>om<br />

redistributi<strong>on</strong> should also be deterministic. So a<br />

cryptographically str<strong>on</strong>g PRNG can be c<strong>on</strong>structed from a<br />

<strong>on</strong>e-way functi<strong>on</strong> by r<strong>and</strong>omly redistributing the output of f to<br />

the input in a deterministic way. Thus, the main design idea in<br />

c<strong>on</strong>structing a CSPRNG based <strong>on</strong> <strong>on</strong>e-way functi<strong>on</strong> is finding<br />

a good deterministic functi<strong>on</strong> which can r<strong>and</strong>omly select the<br />

input to the <strong>on</strong>e-way functi<strong>on</strong> in such a way as to avoid the<br />

loss of periodicity.<br />

A hash functi<strong>on</strong> [4] is a computati<strong>on</strong>ally efficient functi<strong>on</strong><br />

mapping binary strings of arbitrary length to binary strings of<br />

some fixed length called hash values. In cryptography, hash<br />

functi<strong>on</strong>s are used for message authenticati<strong>on</strong>. Encrypted hash<br />

value of a message appended to the message as a digital<br />

signature can ensure authenticity as well as integrity in<br />

cryptosystems. The main properties a functi<strong>on</strong> should satisfy<br />

for being chosen as a hash functi<strong>on</strong>s are<br />

1. <strong>on</strong>e-way property - It is easy to compute hash value,<br />

h for any message x, but given h, it is infeasible to<br />

find x such that. H(x)=h<br />

2. partial preimage resistance - It should be as difficult<br />

to recover any substring as to recover the entire input.<br />

Even if part of the input is known, it should be<br />

difficult to find the remainder.<br />

3. Weak collisi<strong>on</strong> resistance - Given x, it is infeasible to<br />

find y such that H(y) = H(x).<br />

4. Str<strong>on</strong>g collisi<strong>on</strong> resistance - It is infeasible to find<br />

any x, y such that H(y) = H(x).<br />

Due to the <strong>on</strong>e-wayness of a hash functi<strong>on</strong>, a CSPRNG can be<br />

designed based <strong>on</strong> the hash functi<strong>on</strong>.<br />

III.<br />

HASH BASED STREAM CIPHERS<br />

The two stream ciphers based <strong>on</strong> hash functi<strong>on</strong>s that are<br />

available in literature are ARC <strong>and</strong> HSC [5][6].<br />

A. ARC<br />

ARC is a synchr<strong>on</strong>ous stream cipher from iterated hash<br />

functi<strong>on</strong> proposed by Angelo P.E.Roseillo <strong>and</strong> Roberto<br />

Carrozzo [5]. The initial string in ARC stream cipher is the<br />

secret key. In ARC, to get the next string in the sequence, the<br />

previous string is hashed <strong>and</strong> new r<strong>and</strong>om bits are added to<br />

replace the bits lost in hashing. The outputs of different hash<br />

functi<strong>on</strong> blocks are c<strong>on</strong>catenated together to form the entire<br />

keystream. Here the output of <strong>on</strong>e hash functi<strong>on</strong> block<br />

depends <strong>on</strong> the output of the previous block. So, as the number<br />

of iterati<strong>on</strong>s increases, the time taken for the generati<strong>on</strong> of the<br />

keystream also increases.<br />

Generati<strong>on</strong> of the keystream<br />

During this phase, the whole keystream is generated<br />

c<strong>on</strong>stantly depending <strong>on</strong> the key <strong>and</strong> it’s hashed versi<strong>on</strong>s. The<br />

process is realized by applying two similar functi<strong>on</strong>s named p<br />

<strong>and</strong> q which are defined as follows:<br />

Let p: {0, 1} + → {0, 1} + be a functi<strong>on</strong> such that,<br />

p(x) = LSB n (x), |x| /2 ≤ n ≤ |x|<br />

Let q: {0, 1} + → {0, 1} * be a functi<strong>on</strong> such that,<br />

q(x) = LSB m (x), 0 ≤ m ≤ |x|<br />

Once that n is fixed it must be the same for all the generati<strong>on</strong><br />

of the keystream while m can assume different values from a<br />

m<strong>on</strong>o-dimensi<strong>on</strong>al matrix M = (m 1 , m 2 ,…m i ) so that<br />

q(x i ) = LSB mi (x i ), ∀ i ≥ 1<br />

The steps that involved in the generati<strong>on</strong> of keystream is as<br />

follows:<br />

y(1) = hash (key )<br />

y(2) = hash (p(y(1)) || key)<br />

y(3) = hash (p(y(2)) || q(y(1)) || key)<br />

.<br />

y(n) = hash (p(y(n - 1)) || q(y(n - 2)) || … || q(y(n – (n – 1))) ||<br />

key)<br />

keystream = y(1) || y(2) || y(3)||…..|| y(n)<br />

Here the y(1), y(2),… represents the hash functi<strong>on</strong> outputs<br />

obtained after each iterati<strong>on</strong>. The final keystream is the<br />

c<strong>on</strong>catenati<strong>on</strong> of different hash functi<strong>on</strong> outputs. If the length<br />

of the hash functi<strong>on</strong> output is h, the authors str<strong>on</strong>gly suggests<br />

to set<br />

n = h/2 <strong>and</strong><br />

m 1 + m 2 +…+m i = h/2<br />

to achieve a better security <strong>and</strong> to let the range of the hash<br />

functi<strong>on</strong> theoretically equal the codomain (2 h ). In order to<br />

minimize the collisi<strong>on</strong> effects of the hash functi<strong>on</strong>, <strong>on</strong>e should<br />

take some bits from different positi<strong>on</strong>s of the past keystream<br />

since a collisi<strong>on</strong> could compromise the security of the stream<br />

cipher.<br />

The authors claim that the most efficient way to break the<br />

ARC stream cipher is to break the underlying hash functi<strong>on</strong> or<br />

through exhaustive search for the keyspace key c<strong>on</strong>sisting of k<br />

bits, that requires O(2 k ) operati<strong>on</strong>s.<br />

B. HSC<br />

HSC (Hashing Stream Cipher) is proposed by Y<strong>on</strong>g Zhang<br />

et al. [6]. In this algorithm, a number of Hash functi<strong>on</strong> blocks<br />

are placed in parallel to generate the output keystream. The<br />

seed input to various hash functi<strong>on</strong> blocks are obtained from<br />

the same key by appending a time stamp <strong>and</strong> a varying<br />

increasing factor. The timestamp is used to make the<br />

keystream different every time it is generated by the same key.<br />

The key <strong>and</strong> timestamp, which is the current system time,<br />

are c<strong>on</strong>catenated together to form the original vector (OV). An<br />

increasing factor (IF) is iteratively added to the OV <strong>and</strong> the<br />

sum is then given as input into the core hash functi<strong>on</strong>.The<br />

initial value of the increasing factor is decided by the value of<br />

the key <strong>and</strong> the timestamp. IF is initiated by the following<br />

formula.<br />

IF = ( ΣK p + ΣT j ) % 2<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 275


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Key + Timestamp + IF Key + Timestamp + 2 x IF Key + Timestamp + n x IF<br />

Hash<br />

Functi<strong>on</strong><br />

Hash<br />

Functi<strong>on</strong><br />

Hash<br />

Functi<strong>on</strong><br />

Keystream Block 1 Keystream Block 2 ……….. Keystream Block n<br />

Fig. 1 PRNG of HSC<br />

where the IF represents the Increasing Factor, the K p<br />

represents the p th byte of the key <strong>and</strong> the T j represents the j th<br />

byte of the timestamp. The IF is the result of the accumulati<strong>on</strong><br />

of the key bytes <strong>and</strong> the timestamp bytes mode 2 i . The bit<br />

length of the increasing factor, i directly affect the iteratively<br />

increasing step of the hash input, which may attribute to the<br />

final statistical distributi<strong>on</strong> of the keystream. Because the<br />

increasing factor is decided both by key <strong>and</strong> timestamp, the<br />

increasing factor is supposed to be different for every<br />

encrypting. To make this change available every time, the<br />

increasing factor should not be zero. Finally, the keystream is<br />

generated by c<strong>on</strong>catenating the fixed-length hash digests block<br />

by block. Fig. 1 shows the Pseudo R<strong>and</strong>om Number Generator<br />

of HSC.<br />

The authors claim that due to the combinati<strong>on</strong> of linear<br />

increasing factor <strong>and</strong> the n<strong>on</strong>linear <strong>on</strong>e-way hash functi<strong>on</strong>, the<br />

keystream blocks will not occur periodically. The<br />

computati<strong>on</strong>al complexity of the algorithm mainly focuses <strong>on</strong><br />

the <strong>on</strong>e-way hash functi<strong>on</strong>. Every time the keystream block is<br />

generated, the hash rounds are decided by the c<strong>on</strong>catenating<br />

length of the key <strong>and</strong> the timestamp. When the c<strong>on</strong>catenati<strong>on</strong><br />

of the key <strong>and</strong> the timestamp is added by the increasing factor<br />

iteratively, it is taken as a large unsigned integer, so the size of<br />

the c<strong>on</strong>catenati<strong>on</strong> will increase gradually. Once the length of<br />

the hash input exceeds the block size of the hash functi<strong>on</strong>, the<br />

hash rounds would increase <strong>and</strong> the time cost will go up with<br />

it.<br />

IV. PROPOSED MODEL<br />

In the ARC stream cipher that is discussed in secti<strong>on</strong> A, it<br />

can be seen that the time delay for generating the keystream<br />

bits increases with the output bits required since the<br />

complexity of operati<strong>on</strong> increases with number of iterati<strong>on</strong>s.<br />

In the Hashing stream cipher which is menti<strong>on</strong>ed in secti<strong>on</strong> B,<br />

since the Increasing Factor (IF) is produced by modulo 2<br />

additi<strong>on</strong> of the key bits <strong>and</strong> the timestamp bits, the hardware<br />

or software complexity of implementati<strong>on</strong> of the algorithm<br />

becomes high when the key length or length of the timestamp<br />

is increased. Moreover, when the c<strong>on</strong>catenati<strong>on</strong> of the key <strong>and</strong><br />

the timestamp is added by the increasing factor iteratively, the<br />

size of the c<strong>on</strong>catenati<strong>on</strong> will increase gradually <strong>and</strong> <strong>on</strong>ce the<br />

length exceeds the block size of the hash functi<strong>on</strong>, the hash<br />

rounds would increase <strong>and</strong> the time cost will go up with it.<br />

The usage of timestamp as the initial vector (IV) in HSC<br />

dem<strong>and</strong>s for higher b<strong>and</strong>width <strong>and</strong> data transmissi<strong>on</strong> overhead<br />

since there should be a time synchr<strong>on</strong>izati<strong>on</strong> between the<br />

transmitter <strong>and</strong> receiver. So this new model aims at reducing<br />

the time delay of ARC <strong>and</strong> the complexity of HSC. The main<br />

way to reduce the complexity of implementati<strong>on</strong> in HSC is by<br />

avoiding the need for time synchr<strong>on</strong>izati<strong>on</strong> <strong>and</strong> reducing the<br />

memory requirement due to IF overflow. The proposed model<br />

c<strong>on</strong>tains <strong>on</strong>ly a single hash functi<strong>on</strong> block in the generati<strong>on</strong> of<br />

keystream bits. To reduce the delay in generati<strong>on</strong> of keystream<br />

bits compared to ARC, a simpler method to generate r<strong>and</strong>om<br />

seeds for different iterati<strong>on</strong>s is introduced in this new model of<br />

stream cipher.<br />

The main design criteria in developing a new model for<br />

stream cipher is to identify a method to generate different<br />

r<strong>and</strong>om seeds for various iterati<strong>on</strong>s. A method to reuse<br />

r<strong>and</strong>om bits is menti<strong>on</strong>ed in [7]. The proposed stream cipher<br />

uses the following model for generati<strong>on</strong> of keystream bits. Let<br />

‘key’ be the initial r<strong>and</strong>om seed, ‘h’ be the hash functi<strong>on</strong> <strong>and</strong><br />

x i be the hash functi<strong>on</strong> output after i th iterati<strong>on</strong> <strong>and</strong> s 1 , s 2 , s 3 ,…<br />

be the sequence of strings generated by a deterministic<br />

functi<strong>on</strong> ‘f’. To get the next string in the sequence of the<br />

keystream, hash the previous output string together with the<br />

new r<strong>and</strong>om bits generated by the deterministic functi<strong>on</strong> ‘f’<br />

which are added to replace the bits lost in the hashing. This<br />

can be mathematically represented as below.<br />

x 1 = h(key || s 1 )<br />

x 2 = h((key ⊕ x 1) || s 2 )<br />

:::::::::::::::::::::::::<br />

x i+1 = h((key ⊕ x i )|| s i+1),<br />

::::::::::::::::::::::::::::<br />

x n = h((key ⊕ x n-1) || s n )<br />

keystream = x 1 || x 2 || x 3 ||...||x n (1)<br />

In the proposed stream cipher, the sequence of strings s 1 , s 2 ,<br />

s 3 ,… are obtained from the states of a Linear Feedback Shift<br />

Register (LFSR) <strong>and</strong> the initial sate of the LFSR can be<br />

c<strong>on</strong>sidered as the initial vector (IV) of the model. The LFSR<br />

advances its state depending <strong>on</strong> the initial state <strong>and</strong> the<br />

feedback polynomial used which is a primitive polynomial.<br />

The key bits are c<strong>on</strong>catenated with the initial state of the<br />

LFSR <strong>and</strong> are fed as the first input to the hash functi<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 276


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Key<br />

…<br />

Hash Functi<strong>on</strong><br />

Keystream<br />

LFSR<br />

Fig. 2 Proposed Model of PRNG<br />

Here, the periodicity of the model is increased by using the<br />

output feedback. If the hash output is fed back as such as the<br />

key or a part of input to the hash functi<strong>on</strong> for next iterati<strong>on</strong>, it<br />

will affect the security of the model. If a cryptanalyst is able to<br />

get a few keystream bits in known plain text attack, he directly<br />

gets a porti<strong>on</strong> of the input to hash functi<strong>on</strong> for the next<br />

iterati<strong>on</strong>, if the hash output is fedback as such <strong>and</strong> this makes<br />

cryptanalysis simple. So, the hash output is xored with the<br />

initial key <strong>and</strong> the advanced state of the LFSR is c<strong>on</strong>catenated<br />

with this xor output <strong>and</strong> is provided as the next input to the<br />

hash functi<strong>on</strong>. The structure of this proposed model is shown<br />

in fig. 2.<br />

The security of the model shown in fig. 2 completely<br />

depends <strong>on</strong> the security of the hash functi<strong>on</strong> used. Due to the<br />

features of the <strong>on</strong>e-way hash functi<strong>on</strong> used, it is infeasible for<br />

an attacker to retrieve the initial key <strong>and</strong> the initial state of the<br />

LFSR The complexity of implementati<strong>on</strong> of HSC is reduced<br />

by the usage of LFSR <strong>and</strong> the higher time delay of ARC<br />

scheme is brought down by simply using a xored versi<strong>on</strong> of<br />

hash output <strong>and</strong> key as a part of input for next iterati<strong>on</strong>. Even<br />

if the adversary get a keystream block, say n th keystream<br />

block, they have to invert the hash functi<strong>on</strong> block ‘n’ times to<br />

retrieve the initial key. But by a single inversi<strong>on</strong> the adversary<br />

can get the initial state of the LFSR, ie, IV from the current<br />

state <strong>and</strong> by the assumpti<strong>on</strong> that the structure of the LFSR is<br />

known. So the rest of this secti<strong>on</strong> deals with improving the<br />

security of the LFSR part of the input to the hash functi<strong>on</strong>.<br />

A hash functi<strong>on</strong> basically maps ‘m’ input bits to ‘n’ output<br />

bits where m>>n. If new ’m’ r<strong>and</strong>om bits are given as input to<br />

the hash functi<strong>on</strong> every time, the throughput decreases. So a<br />

part of the input to the hash functi<strong>on</strong> is fixed as ‘key’<br />

c<strong>on</strong>sisting of ‘k’ bits <strong>and</strong> the rest of the ‘m – k’ bits of the hash<br />

input keep changing during each call to the hash functi<strong>on</strong>. The<br />

changing ‘m – k’ bits should satisfy the property that mapping<br />

from <strong>on</strong>e set of ‘m – k’ value to the next value is not easily<br />

traceable <strong>and</strong> at the same time the mapping should take<br />

through all possible 2 m-k combinati<strong>on</strong>s. So the overall<br />

operati<strong>on</strong> for the chosen model can be explained as below.<br />

Take any ‘x’. Compute y 1 = f(x), append key to y 1 <strong>and</strong> give the<br />

appended value as the input to the hash functi<strong>on</strong> H(). Once z 1<br />

= H(key||y 1 ) is computed, increment variable ‘x’ by 1 <strong>and</strong><br />

again compute y 2 = f(x+1) <strong>and</strong> obtain output H((key ⊕ z 1 )<br />

||y 2 ). The keystream is formed by c<strong>on</strong>catenating all the hash<br />

functi<strong>on</strong> outputs. Here, f(x) should be chosen such that the<br />

computati<strong>on</strong> of f(x) from a given ‘x’ should be easy, but the<br />

reverse should not be easy. For the security of keystream,<br />

mapping from y 1 to y 2 should be r<strong>and</strong>om. Also, the interacti<strong>on</strong><br />

between functi<strong>on</strong>s f() <strong>and</strong> H() should not spoil periodicity.<br />

There are no clear ways of designing f() for a given H().<br />

The functi<strong>on</strong> f() is realized by a combinati<strong>on</strong> of counter,<br />

LFSR <strong>and</strong> divisi<strong>on</strong> modulo operati<strong>on</strong> circuit. The counter<br />

provides the initial state to the LFSR circuit <strong>and</strong> depending<br />

up<strong>on</strong> the initial state <strong>and</strong> the feedback polynomial, LFSR<br />

produces an output sequence of maximal length. The whole<br />

output sequence is fed as input to the divisi<strong>on</strong> modulo<br />

operati<strong>on</strong> circuit which divides the output sequence of LFSR<br />

by a dividing polynomial g(x) <strong>and</strong> gives the remainder of the<br />

divisi<strong>on</strong> as the output of divisi<strong>on</strong> modulo circuit. The ‘k’ bit<br />

initial key is c<strong>on</strong>catenated to the output of mod g(x) circuit<br />

<strong>and</strong> given as input to the hash functi<strong>on</strong> block. The initial value<br />

of the counter is kept secret <strong>and</strong> it represents the initial vector<br />

(IV) of the model. Hash functi<strong>on</strong> generates ‘n’ bit output,<br />

where ‘n’ is the message digest length of the hash functi<strong>on</strong>.<br />

After producing an ‘n’ bit hash value, the counter is<br />

incremented by ’1’ (counter = counter + 1 mod 2 m-k ) <strong>and</strong> the<br />

initial state of the LFSR is changed by the incremented value<br />

of the counter. Here, after each computati<strong>on</strong> of the hash value,<br />

the key bits are xored by a porti<strong>on</strong> of the hash functi<strong>on</strong> output.<br />

As a result the periodicity of the keystream becomes so high<br />

that we may not be able to measure it. The whole process is<br />

repeated again. The final keystream is obtained by<br />

c<strong>on</strong>catenating all the ‘n’ bit hash outputs. The structure of the<br />

modified proposed model is shown in fig.3.<br />

In the proposed model a combinati<strong>on</strong> of LFSR stream<br />

generati<strong>on</strong> <strong>and</strong> divisi<strong>on</strong> operati<strong>on</strong> modulo a polynomial is<br />

used as f(x). ‘x’ values are generated through a counter. Let<br />

2<br />

m−1<br />

c(<br />

x)<br />

= a0 + a1x<br />

+ a2<br />

x + .... + a m −1<br />

x be the polynomial<br />

representati<strong>on</strong> of the initial count value of the counter. The<br />

counter provides the initial state of the LFSR. If the feedback<br />

polynomial of LFSR be p(x), then the output sequence<br />

produced by the LFSR can be represented as<br />

a ( x)<br />

= f ( x) / p(<br />

x)<br />

(2)<br />

m<br />

where ∑ − 1⎡ n<br />

= ⎥ ⎥ ⎤<br />

n<br />

f ( x)<br />

= ⎢ ∑ pi an−i<br />

x<br />

(3)<br />

n 0⎢⎣<br />

i = 0 ⎦<br />

2<br />

1 x + p2<br />

x + ....<br />

m−1<br />

−1<br />

p ( x)<br />

= 1+<br />

p<br />

+ p m x<br />

(4)<br />

where m represents the number of bits in the initial state <strong>and</strong><br />

a 0 , a1,...<br />

a m −1<br />

represents the initial state of the LFSR.<br />

The a (x)<br />

output of LFSR is given as input to the divisi<strong>on</strong><br />

modulo operati<strong>on</strong> circuit, which uses a divisi<strong>on</strong> polynomial<br />

g(x) of degree ‘n’. The output of modulo divisi<strong>on</strong> circuit can<br />

be represented as<br />

1<br />

n *<br />

x<br />

* ( x<br />

y ( x)<br />

= x a ( x)[mod<br />

g(<br />

)]<br />

(5)<br />

where a ) represents the reciprocal polynomial of a (x)<br />

.<br />

This means y 1 (x) is the residue obtained after dividing<br />

x n a<br />

* (x) with g(x) , the feedback polynomial of modulo<br />

divisi<strong>on</strong> circuit.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 277


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Counter<br />

Key<br />

LFSR<br />

mod g(x) circuit<br />

Hash Functi<strong>on</strong><br />

Keystream<br />

Fig. 3 Modified Proposed Model of PRNG<br />

* x<br />

It can be observed that the polynomial a ( ) is a multiple of<br />

feedback polynomial p(x) of LFSR. For example,<br />

3<br />

c<strong>on</strong>sider p(x) = x + x + 1. If a0 ,a1,a2<br />

describes initial<br />

state of the LFSR, then<br />

2<br />

f(x) = a0 + (a0<br />

+ a1<br />

)x + (a1<br />

+ a2<br />

)x<br />

(6)<br />

Then output polynomial a(x)<br />

given by f(x)/p(x) is,<br />

2<br />

3<br />

a(x) = a0<br />

+ a1x<br />

+ a2x<br />

+ (a0<br />

+ a2<br />

)x +<br />

4<br />

5<br />

6<br />

(a 0 + a1<br />

+ a2<br />

)x + (a0<br />

+ a1<br />

)x + (a1<br />

+ a2<br />

)x (7)<br />

Then it can be seen that a * ( x)<br />

can be written as,<br />

*<br />

3<br />

3 2<br />

a (x) = (x + x + 1 )( a0<br />

x + a1x<br />

+ (a0<br />

+ a2<br />

)x<br />

+ ( a 1 + a2 ))<br />

= p(x) q(x) (8)<br />

Hence, if the feedback polynomial of divisi<strong>on</strong> modulo<br />

circuit g(x) is same as that of LFSR p(x), then mod g(x) circuit<br />

output will always be zero. Therefore it is necessary that they<br />

are different.<br />

Now, the working of LFSR mod g(x) combinati<strong>on</strong> can be<br />

explained as follows. The initial state of the LFSR is provided<br />

by a ‘m – k’ bit counter. Let the LFSR feedback polynomial<br />

be a primitive polynomial represented by p(x) of degree ‘m –<br />

k’. The choice of primitive polynomial ensures that LFSR<br />

produces a maximal length sequence of period (2 m-k –1). The<br />

output sequence of the LFSR is fed as input to the mod g(x)<br />

circuit. The mod g(x) circuit divides this sequence by a<br />

divisi<strong>on</strong> polynomial, g(x) <strong>and</strong> returns the remainder of this<br />

divisi<strong>on</strong> c<strong>on</strong>sisting of ‘m – k’ bits as the output. As the counter<br />

sweeps through 2 m-k -1 (excluding all zero count) possible ‘x’<br />

values, the output of mod g(x) circuit (i.e., f(x)) pass through<br />

the same set of 2 m-k -1 values, but in a different order. For<br />

example, if the counter output, which is the initial state of<br />

LFSR, is ‘101’, then a * (x) = x + x + x + 1 <strong>and</strong> output of<br />

mod g(x) circuit is ‘111’.<br />

6<br />

V. SECURITY ANALYSIS<br />

The security of a stream cipher depends up<strong>on</strong> the time taken<br />

to retrieve the original key from keystream. In the case of<br />

ARC <strong>and</strong> HSC stream ciphers, the key bit porti<strong>on</strong> of the input<br />

to the hash functi<strong>on</strong> remains c<strong>on</strong>stant for each call to the hash<br />

functi<strong>on</strong>. So by a single inversi<strong>on</strong> of hash functi<strong>on</strong> block, the<br />

original key can be retrieved in both ARC <strong>and</strong> HSC. If the<br />

proposed model of stream cipher is used without feedback,<br />

each input to the hash functi<strong>on</strong> c<strong>on</strong>sists of the key bits. Hence<br />

by single inversi<strong>on</strong> of hash functi<strong>on</strong>, key retrieval is possible.<br />

In the proposed model with feedback, key bits are<br />

c<strong>on</strong>tinuously replaced with the xor sum of key <strong>and</strong> previous<br />

output of the hash functi<strong>on</strong>. Hence in this case, single<br />

inversi<strong>on</strong> of the hash functi<strong>on</strong> block is not sufficient to<br />

retrieve the initial key. The security can be further increased<br />

by using the model shown in fig 3. In that case, the linearity<br />

due to the simple LFSR circuit is overcooked by a<br />

combinati<strong>on</strong> of counter, LFSR <strong>and</strong> divisi<strong>on</strong> modulo circuit. So<br />

the security of this new stream cipher is much higher<br />

compared to ARC <strong>and</strong> HSC.<br />

4<br />

VI. RESULTS<br />

The ARC, HSC <strong>and</strong> the proposed stream cipher are<br />

implemented in MATLAB using SHA-1 [8] as the embedded<br />

hash functi<strong>on</strong>. The time delay for generating the same<br />

keystream length is noted for ARC, HSC <strong>and</strong> proposed stream<br />

cipher shown in fig. 2 <strong>and</strong> the readings are menti<strong>on</strong>ed in table<br />

I. It is found that the time taken for generating the same<br />

keystream length for the proposed stream cipher is slightly<br />

lesser compared to HSC <strong>and</strong> very low compared to ARC.<br />

TABLE I<br />

COMPARISON OF THE TIME COMPLEXITY OF PROPOSED MODEL<br />

WITH ARC AND HSC USING SHA-1 AS HASH FUNCTION<br />

Keystream<br />

Length<br />

Time Complexity (in secs)<br />

ARC HSC Proposed Model<br />

8000 157.17 33.125 32.781<br />

16000 532.09 65.531 64.766<br />

32000 2168.2 131.328 128.735<br />

The main drawback of the ARC is higher delay due to<br />

sequential operati<strong>on</strong> <strong>and</strong> the complexity involved in producing<br />

each input to the hash functi<strong>on</strong>. The newly designed stream<br />

cipher overcomes the higher time delay of the ARC stream<br />

cipher.<br />

To check the suitability for hardware implementati<strong>on</strong> of the<br />

ARC scheme, a hardware structure is developed based <strong>on</strong> the<br />

steps involved in the generati<strong>on</strong> of the keystream. The<br />

developed structure for hardware implementati<strong>on</strong> of the ARC<br />

stream cipher is shown in fig 4. For generating ‘n’ keystream<br />

blocks in the case of ARC, ‘n-1’ buffers are needed for storing<br />

the previous hash functi<strong>on</strong> outputs. The input to the hash<br />

functi<strong>on</strong> when generating the n th keystream block uses a ‘q’<br />

functi<strong>on</strong> which takes the previous ‘n-2’ keystream blocks. So<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 278


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the number of buffers needed in the case of ARC is high <strong>and</strong><br />

so the time delay for generating the keystream will also be<br />

high.<br />

Fig. 4 PRNG of ARC<br />

The complexity of implementati<strong>on</strong> in the case of HSC<br />

increases when the key length or length of the timestamp is<br />

increased since the Increasing Factor (IF) is produced by<br />

modulo 2 additi<strong>on</strong> of the key bits <strong>and</strong> the timestamp bits. In<br />

the proposed model, <strong>on</strong>ly a single bit modulo 2 additi<strong>on</strong> is<br />

involved in the computati<strong>on</strong> of a hash value to provide the<br />

feedback bit of the LFSR. But in the case of HSC, the number<br />

of modulo 2 bit additi<strong>on</strong>s involved in the computati<strong>on</strong> of each<br />

hash value depends up<strong>on</strong> the number of keystream bits <strong>and</strong><br />

timestamp bits. The need for time synchr<strong>on</strong>izati<strong>on</strong> circuit in<br />

the case of HSC due to the usage of timestamp is avoided in<br />

the proposed model <strong>and</strong> hence reduces the b<strong>and</strong>width<br />

overhead. Since the LFSR length is kept c<strong>on</strong>stant, the memory<br />

requirement due to IF overflow is also avoided in the new<br />

stream cipher.<br />

The proposed stream cipher combines the advantages of<br />

both ARC <strong>and</strong> HSC schemes <strong>and</strong> at the same time it provides<br />

higher security than both these schemes. In additi<strong>on</strong>, it<br />

provides very high periodicity <strong>and</strong> high throughput. The<br />

r<strong>and</strong>omness properties of the keystream generated by the<br />

proposed model are tested using test cases <strong>on</strong> pseudo r<strong>and</strong>om<br />

number generators provided by NIST [9].<br />

cryptosystem. Thus with very less additi<strong>on</strong>al hardware the<br />

proposed stream cipher with very high periodicity can be<br />

developed using SHA hash. So this model can be used for the<br />

software <strong>and</strong> hardware implementati<strong>on</strong> of PRNG.<br />

This paper suggests an optimized stream cipher based <strong>on</strong><br />

hash functi<strong>on</strong>s in terms of time delay, security <strong>and</strong> complexity<br />

of implementati<strong>on</strong>. The complexity of this model is embedded<br />

in the <strong>on</strong>e-way functi<strong>on</strong> used. The throughput <strong>and</strong> periodicity<br />

of the stream cipher can be increased to a great extend by<br />

using the SHA family of hash functi<strong>on</strong>s that have higher<br />

message digest length.<br />

REFERENCES<br />

[1] Blum M. <strong>and</strong> S. Micali: "How to Generate Cryptographically Str<strong>on</strong>g<br />

Sequences of Pseudo-r<strong>and</strong>om Bits", SIAM J. <strong>on</strong> Computing, Vol.13, No<br />

4, pp. 850-864, Nov. 1984.<br />

[2] A.C. Yao: “Theory <strong>and</strong> Applicati<strong>on</strong>s of Trapdoor Functi<strong>on</strong>s”, In Proc.<br />

23 rd IEEE Symp. <strong>on</strong> Foundati<strong>on</strong>s of Comp. Science, pages 80 – 91,<br />

Chicago, 1982. IEEE.<br />

[3] Goldreich O., H. Krawczyk <strong>and</strong> M. Luby: "On the Existence of<br />

Pseudor<strong>and</strong>om Generators", IEEE Symposium <strong>on</strong> the Foundati<strong>on</strong>s of<br />

<strong>Computer</strong> Science, 29th SFCS, pp. 12-24, 1988.<br />

[4] Menezes, P. van Oorschot, <strong>and</strong> S. Vanst<strong>on</strong>e. H<strong>and</strong>book of Applied<br />

Cryptography. CRC Press, 1996.<br />

[5] Angelp P.E. Rosiello, Roberto Carrozo, “ARC: A Synchr<strong>on</strong>ous Stream<br />

Cipher from Hash Functi<strong>on</strong>s”, Obsidis, ZDNET, Feb 17 th 2006.<br />

[6] Y<strong>on</strong>g Zhang, Xiamu niu, Juncao Li, Chunming Li, “Research <strong>on</strong> a<br />

Novel Hashing Stream Cipher”, IEEE <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> Proceedings, Vol. 2,<br />

3-6, Nov 2006,pp. 1339 – 1344.<br />

[7] R. Impagliazzo <strong>and</strong> D. Zuckerman, “How to Recycle R<strong>and</strong>om Bits”, In<br />

Proceedings of the 30 th IEEE Symposium <strong>on</strong> Foundati<strong>on</strong>s of <strong>Computer</strong><br />

Science, pages 248 – 253, IEEE <strong>Computer</strong> Society Press<br />

October/November 1989.<br />

[8] Nati<strong>on</strong>al Institute of St<strong>and</strong>ards <strong>and</strong> Technology (NIST). Federal<br />

Informati<strong>on</strong> Processing St<strong>and</strong>ards Publicati<strong>on</strong> (FIPS PUB) 180-2,<br />

Secure Hash St<strong>and</strong>ard (SHS), 2002. http://csrc.nist.gov/publicati<strong>on</strong>s.<br />

[9] A Statistical Suite for R<strong>and</strong>om <strong>and</strong> Pseudor<strong>and</strong>om Number Generators<br />

for Cryptographic Applicati<strong>on</strong>s, NIST Special Publicati<strong>on</strong> 800-22, May<br />

15, 2001.<br />

[10] Bruce Schneier, Applied Cryptography, Sec<strong>on</strong>d Editi<strong>on</strong>: Protocols,<br />

Algorthms, <strong>and</strong> Source Code in C, Wiley <strong>Computer</strong> Publishing, John<br />

Wiley & S<strong>on</strong>s, 01/01/1996.<br />

VII. CONCLUSION<br />

A complete cryptosystem implemented in hardware may<br />

have blocks for three main cryptographic operati<strong>on</strong>s. (i) Key<br />

exchange (ii) Message Authenticati<strong>on</strong> <strong>and</strong> (iii) Encrypti<strong>on</strong>.<br />

Since hash generati<strong>on</strong> based <strong>on</strong> SHA is the most popular<br />

authenticati<strong>on</strong> method, hardware circuit for generati<strong>on</strong> of SHA<br />

hash is a part of most of the cryptosystems. In such a case, a<br />

stream cipher based <strong>on</strong> SHA will be a good choice for<br />

encrypti<strong>on</strong> operati<strong>on</strong>. This is because the encrypti<strong>on</strong> <strong>and</strong> hash<br />

generati<strong>on</strong> operati<strong>on</strong>s are not parallel operati<strong>on</strong>s in a<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 279


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The Informati<strong>on</strong> Encrypti<strong>on</strong> Using Fib<strong>on</strong>acci Series<br />

Balasaheb S Tarle,<br />

Assistant professor in <strong>Computer</strong> Engineering , NDMVP Samaj’s College of Engineering Nashik-13.<br />

Dr. Vrinda Tokekar,<br />

Professor <strong>and</strong> Head of the Informati<strong>on</strong> Technology, IET-DAVV, Indore, (MP).<br />

tarlebs@rediffmail.com, Vrindatokekar@yahoo.com<br />

Abstract<br />

Now a day informati<strong>on</strong> security becomes<br />

complex <strong>and</strong> more important problem. Encrypti<strong>on</strong><br />

can be an important tool to help in improving data<br />

security. In this paper work, I developed techniques<br />

for securing data to avoid hacking as well as<br />

providing the user with some additi<strong>on</strong>al features such<br />

as key for integrity <strong>and</strong> validati<strong>on</strong> of user. In this<br />

technique <strong>on</strong>e can secure any type of files using<br />

Fib<strong>on</strong>acci series. The proposed encrypti<strong>on</strong> algorithm<br />

is loss-less, key-dependent. The performance of the<br />

popular symmetric key algorithms including DES,<br />

3DES, AES, Blowfish, are compared with Fib<strong>on</strong>acci<br />

Series encrypti<strong>on</strong> by encrypting input files of varying<br />

c<strong>on</strong>tents <strong>and</strong> sizes. The present Fib<strong>on</strong>acci encrypti<strong>on</strong><br />

algorithm is implemented in C sharp language, <strong>and</strong><br />

tested <strong>on</strong> two different Intel processors, to compare<br />

its performance. The results reveal that Fib<strong>on</strong>acci<br />

encrypti<strong>on</strong> is the fastest am<strong>on</strong>g symmetric<br />

algorithms.<br />

Keywords<br />

Cryptography, Encrypti<strong>on</strong>, Keys, Message matrix,<br />

1.1 Overview<br />

1. Introducti<strong>on</strong><br />

Data security is a much wider term than hardware or<br />

a software feature. In the entire envir<strong>on</strong>ment of<br />

security, it is necessary to really insure privacy.<br />

Every<strong>on</strong>e in the group must be aware of the security<br />

goals <strong>and</strong> be c<strong>on</strong>scientious in achieving them.<br />

Usually security is lost due to slip of security guard.<br />

It must be even maintained during the disposal of<br />

printouts of previously encrypted data.<br />

As data communicati<strong>on</strong> is becoming more<br />

pervasive, complex <strong>and</strong> the use of digital data is<br />

becoming much more widespread, data security has<br />

become a wider, complex <strong>and</strong> more important<br />

problem. Encrypti<strong>on</strong> can be an important tool to help<br />

in improving data security.<br />

The critical c<strong>on</strong>cern in designing an encrypti<strong>on</strong><br />

algorithm is the security of the algorithm against<br />

undesirable attacks. In my project, the performance<br />

of the leading secret key algorithms has been<br />

compared <strong>on</strong> different platforms, using input data<br />

files of varying sizes <strong>and</strong> formats. While comparing<br />

the performance of algorithms, the time required to<br />

set up the key(s) has been ignored.<br />

1.2 Scope<br />

The requirements of data security of any applicati<strong>on</strong><br />

focus <strong>on</strong> three major questi<strong>on</strong>s:<br />

1: What are user’s needs <strong>and</strong> how does Data security<br />

system meets them<br />

2: What resources are available for a given security<br />

system Is Problem worth solving<br />

3: What is the likely impact of the security system <strong>on</strong><br />

the organizati<strong>on</strong> How can the<br />

Problem is redefined<br />

Data security algorithm can be used to avoid hacking<br />

of c<strong>on</strong>fidential data. Without knowledge of this<br />

software a third pers<strong>on</strong> cannot access data. The user<br />

should know the key used for algorithms. This<br />

algorithm is most useful in e-commerce, banking, <strong>and</strong><br />

<strong>on</strong>line transacti<strong>on</strong> processing applicati<strong>on</strong>s, small or<br />

large-scale industry, medical imaging, telemedicine,<br />

<strong>and</strong> military communicati<strong>on</strong> <strong>and</strong> Banking etc.<br />

1.3 Fib<strong>on</strong>acci Series<br />

The Fib<strong>on</strong>acci series is the emerging area in the data<br />

security. The theory of Fib<strong>on</strong>acci numbers <strong>and</strong><br />

Fib<strong>on</strong>acci series has wide use in theoretical physics<br />

in resent decades. The new class of square Fib<strong>on</strong>acci<br />

(p+1) (p+1) matrixes are based <strong>on</strong> Fib<strong>on</strong>acci p-<br />

numbers (p=0, 1, 2, 3...). It has been proved that the<br />

determinant of any Fib<strong>on</strong>acci matrix or its power is<br />

equal to ±1.<br />

The general idea of the Fib<strong>on</strong>acci Series Encrypti<strong>on</strong><br />

Algorithm is similar to the Fib<strong>on</strong>acci coding <strong>and</strong><br />

based <strong>on</strong> the applicati<strong>on</strong> of the generalized Fib<strong>on</strong>acci<br />

matrices, the Qp-matrices, for encrypti<strong>on</strong> <strong>and</strong><br />

decrypti<strong>on</strong> of the initial message.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 280


Proceedings of ICCNS 08 , 27-28 September 2008<br />

V. PROPOSED PROTOCOL<br />

The mutual authenticati<strong>on</strong> <strong>and</strong> key agreement protocols<br />

between the client <strong>and</strong> the server need to be executed in<br />

realtime [2].<br />

We give the proposed mutual authenticati<strong>on</strong> protocol in Figure<br />

1 below:<br />

User(A)<br />

Choose d u є [2,n-2].<br />

Q u = d u × P=(x A ,y A )<br />

Q s send<br />

Receive<br />

Q k = d s × Q u = (d s d u )×P<br />

K=Q k .x: mutual agreed key<br />

Sends Q u <strong>and</strong> g<br />

Q u ,g,<br />

Receive Y B<br />

Then Computes Y A =h(α)<br />

If (Y A ==Y B ), then A authenticates B<br />

Server(B)<br />

Choose d s є [2,n-2].<br />

Q s = d s × P<br />

receive<br />

Q k = d s × Q u = (d s d u )×P<br />

K=Q k .x: mutual agreed key<br />

Computes w=g -1 mod(n) <strong>and</strong><br />

Calculate u 1 ,u 2 ,v<br />

If v==x A , then B authenticates A<br />

Sends Y B =h(β) to A<br />

Figure 1: proposed mutual authenticati<strong>on</strong> protocol<br />

Within the sec<strong>on</strong>d step, A chooses a r<strong>and</strong>om<br />

challenge d u , where 1 ≤ d u ≤ n − 2, then computes Q u<br />

where<br />

Q u = d u × P=(x A ,y A ) (2) <strong>and</strong> calculates α where<br />

α = d u (B − Q) (3) <strong>and</strong> K= Q k .x where<br />

Q k = d s × Q u . K is called mutual agreed key.<br />

In additi<strong>on</strong>, A calculates r = (x A )mod(n) <strong>and</strong> computes<br />

g= a −1 (h(α) + x ∗ r)mod(n) (4)<br />

Finally (Q u , g) becomes the signatures pair <strong>and</strong> A<br />

transfers them to the server.<br />

Within the third step, B computes<br />

β = Q s ∗ Q u (5)<br />

computes K <strong>and</strong> w=g -1 mod(n) then calculates<br />

u 1 = (h(β) ∗ w)mod(n) (6)<br />

<strong>and</strong><br />

u 2 = (x A ∗ w)mod(n) (7)<br />

In additi<strong>on</strong>, B calculates<br />

u 1 ∗ P + u 2 ∗ Q = (x 0 , y 0 ) (8)<br />

<strong>and</strong> calculates<br />

v = x 0 mod(n) (9)<br />

B checks if (v == x A ), so B authenticates A <strong>and</strong><br />

B can be c<strong>on</strong>firmed that A has actually established<br />

the same shared sessi<strong>on</strong> key. Then B computes:<br />

Y B = h(β) (10)<br />

<strong>and</strong> finally he sends Y B to A.<br />

In order to authenticate B, A will compute:<br />

Y A = h(α) (11)<br />

<strong>and</strong> then A will verify the value of Y A by checking that<br />

(Y A == Y B ), if so, if they match, then A authenticates B<br />

<strong>and</strong> A can be c<strong>on</strong>firmed that B has actually established<br />

the same shared sessi<strong>on</strong> key with her. Finally, A <strong>and</strong> B<br />

agree <strong>on</strong> the comm<strong>on</strong> sessi<strong>on</strong> key Ks where<br />

Ks = h(ID(A)||ID(B)||K) (12)<br />

Both sides will agree <strong>on</strong> the sessi<strong>on</strong> Key Ks if all steps are<br />

executed correctly. Once the protocol run completes<br />

successfully, both parties may use Ks to encrypt messages<br />

for subsequent sessi<strong>on</strong> traffic to create a c<strong>on</strong>fidential<br />

communicati<strong>on</strong> channel.<br />

The Explanati<strong>on</strong> of the above figure is as follows:-<br />

Before starting the authenticati<strong>on</strong> procedure the user A,<br />

select an elliptic curve E(Zp) defined <strong>on</strong> Zp. A chooses a<br />

r<strong>and</strong>om point over the elliptic curve called P with order n.<br />

n is a large prime number. In additi<strong>on</strong>, A chooses a<br />

password pw, computes x = h(pw) <strong>and</strong> calculates Q where<br />

Q = x ∗ P. Finally, A generates str<strong>on</strong>g number p <strong>and</strong> q<br />

where p = 2 ∗ q + 1.<br />

Once the following parameters (E, Q, P, p, q, pw) are<br />

generated, A transfers the (E,Q,P, n) to the server in a<br />

secure way. Once this step is d<strong>on</strong>e, the sessi<strong>on</strong> key<br />

generati<strong>on</strong> procedure will be executed as follows:<br />

Within the first step, B chooses a r<strong>and</strong>om challenge<br />

b, where 1 ≤ d s ≤ n − 2, then he calculates Q s = d s × P (1)<br />

<strong>and</strong> he calculates the point B where B= d s ∗ P + Q<br />

Finally he sends Q s to A.<br />

VI. IMPLEMENTATION RESULTS<br />

We implement the algorithm using J2ME (Java 2 Platform,<br />

Micro Editi<strong>on</strong>) which is the perfect platform for mobile clients<br />

for secured data storage <strong>and</strong> management capabilities. The<br />

modular design of the J2ME architecture enables an<br />

applicati<strong>on</strong> to be scaled based <strong>on</strong> c<strong>on</strong>straints of small<br />

computing devices. We include Bouncy castle library [7]<br />

support for ECC public <strong>and</strong> private key generati<strong>on</strong>. It supports<br />

both ECDSA <strong>and</strong> ECDH. We implement the proposed<br />

authenticati<strong>on</strong> scheme in small h<strong>and</strong>held devices. Then made a<br />

performance analysis of various algorithm.<br />

Table 1 shows executi<strong>on</strong> times for various ECC <strong>and</strong> RSA<br />

cryptographic primitives <strong>on</strong> palm OS platforms:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 272


Proceedings of ICCNS 08 , 27-28 September 2008<br />

more complicated c<strong>on</strong>cept, the c<strong>on</strong>cept of the<br />

generalized Fib<strong>on</strong>acci matrix called Q p -matrix.<br />

2.3 Fib<strong>on</strong>acci Q-Matrix<br />

Fib<strong>on</strong>acci series was supplemented by the theory of<br />

so-called Fib<strong>on</strong>acci Q-matrix. The latter presents<br />

itself the simplest 2 x 2 matrix of the following form:<br />

Q 1 1<br />

<br />

(2.8)<br />

<br />

1 0<br />

The determinant of the Q-matrix is equal -1.<br />

But what relati<strong>on</strong> has the Q-matrix to Fib<strong>on</strong>acci<br />

numbers<br />

To answer this questi<strong>on</strong> it is necessary to take the n-<br />

th power of the Q-matrix.[11] Then we will get:<br />

n Fn<br />

1<br />

Fn<br />

<br />

Q <br />

(2.9)<br />

<br />

Fn<br />

F<br />

<br />

<br />

n1<br />

<br />

Where F n-1 , F n , F n+1 are the Fib<strong>on</strong>acci numbers.<br />

But we know that Det (A n ) = (Det A) n . It follows from<br />

this the following property for the determinant of the<br />

Q-matrix:<br />

Det Q n = (-1) n (2.10)<br />

Where n is an integer.<br />

But if we calculate Det Q n using eq.(2.9) <strong>and</strong> use<br />

eq.(2.10) then we get the following identity<br />

c<strong>on</strong>necting three neighboring Fib<strong>on</strong>acci numbers:<br />

Table 2.4 Fib<strong>on</strong>acci numbers shifted <strong>on</strong>e to another in<br />

<strong>on</strong>e column<br />

n 7 6 5 4 3 2 1 0<br />

F n+1 21 13 8 5 3 2 1 1<br />

F n 13 8 5 3 2 1 1 0<br />

n -1 -2 -3 -4 -5 -6 -7<br />

F n+1 0 1 -1 2 -3 5 -8<br />

F n 1 -1 2 -3 5 -8 -13<br />

If we select number n = 1 in the first row of Table 2.4<br />

<strong>and</strong> then four Fib<strong>on</strong>acci numbers in two lower rows<br />

we can see that a totality of the four Fib<strong>on</strong>acci<br />

numbers forms the Q-matrix. Moving al<strong>on</strong>g Table 2.4<br />

to the left about Q-matrix we will get c<strong>on</strong>secutively<br />

the matrices Q2, Q3, ..., Qn. Moving to the right<br />

about Q-matrix we will get c<strong>on</strong>secutively the<br />

matrices Q0, Q -1, ..., Q -n. As example we can see in<br />

Table 2.4 the matrix Q 5 <strong>and</strong> the inverse matrix Q -5 .<br />

2.4 Fib<strong>on</strong>acci Matrices<br />

One can use the idea of the Fib<strong>on</strong>acci Q-matrix for<br />

obtaining the general Q-matrix for the p-Fib<strong>on</strong>acci<br />

numbers [10]. Let's introduce now the following<br />

definiti<strong>on</strong> for the Q p -matrix:<br />

2<br />

n1 n1<br />

n<br />

<br />

n<br />

D et Q F F F 1 n<br />

(2.11)<br />

<br />

Thus, this means that the Q-matrix express <strong>on</strong>e of the<br />

most important properties of Fib<strong>on</strong>acci numbers<br />

given with eq.(2.11)<br />

Let's represent now the matrix eq.(2.9) in the<br />

following form:<br />

(2.12)<br />

F F F F F F F F<br />

n <br />

Q <br />

n n1 n1 n2 n n1 n1 n2<br />

<br />

Fn 1 Fn 2 Fn 2 Fn 3 Fn 1 Fn 2 Fn 2 Fn<br />

3<br />

<br />

or Q n = Q n-1 + Q n-2 . (2.13)<br />

Let's write the expressi<strong>on</strong> (2.13) in the following<br />

form:<br />

Q n-2 = Q n - Q n-1 . (2.14)<br />

The inverse matrix Q -n has the following form:<br />

Fn<br />

1<br />

F<br />

n<br />

<br />

<br />

n <br />

Q (2.15)<br />

<br />

Fn<br />

Fn<br />

1<br />

<br />

Inverse matrix Q -n from the direct matrix Q n it is<br />

necessary to rearrange in eq. (2.2) the diag<strong>on</strong>al<br />

entries F n+1 <strong>and</strong> F n-1 <strong>and</strong> to take them with the<br />

opposite sign that is: Fn<br />

1<br />

F<br />

n<br />

<br />

n (2.16)<br />

Q <br />

<br />

Fn<br />

Fn<br />

1<br />

<br />

Other method to get the matrix Q n follows directly<br />

from the expressi<strong>on</strong> of (2.9). For that it is necessary<br />

to present two sequences of Fib<strong>on</strong>acci numbers<br />

shifted <strong>on</strong>e to another in <strong>on</strong>e column (Table 2.4).<br />

(2.17)<br />

Where the index of p takes the following values: 0, 1,<br />

2, 3,.....Note that the Qp-matrix is the square (p + 1)<br />

(p + 1)-matrix. It c<strong>on</strong>tains the p p unit matrix<br />

bordered by the last row of 0's <strong>and</strong> the first column,<br />

which c<strong>on</strong>sists of 0's bordered by 1's. For p = 0, 1, 2,<br />

3, 4 the Q p -matrices have the following forms,<br />

respectively:<br />

Q0 1<br />

1 1<br />

1 1 0<br />

1 1 0 0<br />

1 1 0 0 0<br />

Q1<br />

<br />

Q<br />

1 0<br />

<br />

<br />

Q2<br />

0 0 1 0 0 1 0<br />

<br />

<br />

Q3<br />

<br />

0 0 1 0 0<br />

<br />

1 0 0<br />

<br />

<br />

0 0 0 1 Q4<br />

0 0 0 1 0<br />

<br />

<br />

1 0 0 0<br />

0 0 0 0 1<br />

1 0 0 0 0<br />

<br />

<br />

Let's compare the neighboring matrices Q 4 <strong>and</strong> Q 3 . It<br />

is easy to see that the matrix Q 4 is reduced to the<br />

matrix of Q 3 if we cross out in the matrix Q 4 the last<br />

(5th) column <strong>and</strong> the next to the last (4s) row. Note<br />

that we have 1 <strong>on</strong> the crossing out of the 5 th column<br />

<strong>and</strong> 4 th row. Because the sum 5 + 4 is equal to the<br />

odd number of 9 it means that determinant of the<br />

matrix of Q 3 differs from the determinant of the<br />

matrix of Q 3 <strong>on</strong>ly by the sign, that is,<br />

Det Q 4 = - Det Q 3 . (2.18)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 282


Proceedings of ICCNS 08 , 27-28 September 2008<br />

You should believe that the result eq.(2.18) is valid<br />

<strong>and</strong> that the latter follows from the matrix theory. By<br />

analogy it is easy to prove the following correlati<strong>on</strong>s<br />

for determinants of the neighboring Fib<strong>on</strong>acci Q p -<br />

matrices:<br />

Det Q 3 = - Det Q 2 ; Det Q 2 = - Det Q 1 .<br />

Taking in c<strong>on</strong>siderati<strong>on</strong> that Det Q 0 = 1 <strong>and</strong> Det Q 1 =<br />

-1 we get the following unique mathematical property<br />

of the Q p -matrices in the general case.<br />

Det Q p = (-1) p (2.19)<br />

Thus the determinant of each matrix eq.(2.17)<br />

depends <strong>on</strong> the value of the index p. If the index p is<br />

even then the Det Q p = 1 for all matrices of the kind<br />

eq.(2.17). In the opposite case (p is the odd number)<br />

Det Q p = 1.<br />

Let's c<strong>on</strong>sider now the matrix being the n-<br />

th power of the Q p -matrix.<br />

(2.20)<br />

Thus, the matrix Q is expressed through p-Fib<strong>on</strong>acci<br />

n<br />

p<br />

numbers resulting from Pascal Triangle, <strong>and</strong> the<br />

result eq.(2.20) is the new secret of the Pascal<br />

Triangle[11]. And now we will try to calculate the<br />

determinant of the matrix eq.(2.20). it follows from<br />

the matrix theory that<br />

n<br />

n<br />

DetQp<br />

( DetQp)<br />

(2.21)<br />

Using eq.(2.19) we can write the expressi<strong>on</strong> (2.21) in<br />

the form:<br />

DetQ 1<br />

np<br />

p<br />

(2.22)<br />

Where p = 0, 1, 2, 3... n = 0, ±1, ±2, ±3...<br />

And now I can express regarding the result of eq.<br />

(2.22) <strong>and</strong> regarding the power of the mathematical<br />

theories. It is really impossible to image that the p-<br />

Fib<strong>on</strong>acci numbers resulting from Pascal Triangle<br />

<strong>and</strong> this can become the basis of the new <strong>and</strong> infinite<br />

class of the square matrices expressed by eq. (2.17)<br />

<strong>and</strong> (2.20). The result of eq.(2.22) seems to us<br />

absolutely incredible. It is impossible to imagine that<br />

the determinant of the matrix eq. (2.20) is always<br />

equal to 1 or to (-1) that follows from eq.(2.22).<br />

It is clear that the expressi<strong>on</strong>s (2.20) <strong>and</strong> (2.22) give<br />

unlimited opportunities for the "Fib<strong>on</strong>acci<br />

investigati<strong>on</strong>s" because they allow obtaining the<br />

infinite number of the fundamental correlati<strong>on</strong>s<br />

c<strong>on</strong>necting the p-Fib<strong>on</strong>acci numbers F p (n). For<br />

example for the 2-Fib<strong>on</strong>acci numbers (p = 2) we have<br />

the following correlati<strong>on</strong> c<strong>on</strong>necting the neighboring<br />

2-Fib<strong>on</strong>acci numbers:<br />

Det = F 2 (n + 1)[F 2 (n - 2)F 2 (n - 2) - F 2 (n - 1)F 2 (n -<br />

3)] +F 2 (n)[F 2 (n)F 2 (n - 3) - F 2 (n - 1)F 2 (n - 2)] + F 2 (n -<br />

1)[F 2 (n - 1)F 2 (n - 1) - F 2 (n)F 2 (n-2)] = 1.<br />

We cannot predict now the role of the<br />

n<br />

Q -matrices<br />

p<br />

given with (2.20) <strong>and</strong> their applicati<strong>on</strong>s in different<br />

branches of mathematics, physics <strong>and</strong> other sciences.<br />

However I believe that this result can become<br />

fundamental as Pascal Triangle generating p-<br />

Fib<strong>on</strong>acci numbers <strong>and</strong> Q -matrices eq. (2.20).<br />

3 Fib<strong>on</strong>acci Series Encrypti<strong>on</strong><br />

n<br />

p<br />

3.1. Introducti<strong>on</strong><br />

The Fib<strong>on</strong>acci series is an emerging area in data<br />

security. The general idea of the Fib<strong>on</strong>acci series<br />

encrypti<strong>on</strong> is based <strong>on</strong> the applicati<strong>on</strong> of the<br />

generalized Fib<strong>on</strong>acci matrices, the Q p -matrices, for<br />

encrypti<strong>on</strong> of the initial message. Let us represent an<br />

initial message in the form of the square matrix m of<br />

the size (p+1) (p+1), where p=0, 1, 2, 3, …. Let us<br />

choose the Fib<strong>on</strong>acci Qp-matrix Q of the size (p+1)<br />

(p+1) as an encrypti<strong>on</strong> matrix Table 3.1 dem<strong>on</strong>strates<br />

the general idea of the Fib<strong>on</strong>acci encrypti<strong>on</strong><br />

algorithm.<br />

Table 3.1: Fib<strong>on</strong>acci encrypti<strong>on</strong><br />

Encrypti<strong>on</strong><br />

n<br />

E M Q p<br />

Let us now c<strong>on</strong>sider the following transformati<strong>on</strong>s<br />

based <strong>on</strong> matrix multiplicati<strong>on</strong>:<br />

The encrypti<strong>on</strong> key is the pair of the numbers of p<br />

<strong>and</strong> n. Since p = 0, 1, 2, 3,.. <strong>and</strong> n = 1, 2, 3, ... Let's<br />

c<strong>on</strong>sider the Fib<strong>on</strong>acci encrypti<strong>on</strong> method:<br />

n<br />

E M Q p<br />

(3.8)<br />

Fib<strong>on</strong>acci encrypti<strong>on</strong> algorithm eq.(3.8) is reduced to<br />

the n times multiplicati<strong>on</strong> of the initial matrix M by<br />

the matrix Q p .<br />

Note that for the case p=0 the matrix Qp reduces to<br />

the trivial matrix Q0 = (1) <strong>and</strong> for this case the<br />

encrypti<strong>on</strong> method given by Table 3.1 is trivial. For<br />

the case p=1 the matrix Qp reduces to the classical<br />

Q-matrix eq.(2.8).<br />

Following terms are used in Fib<strong>on</strong>acci Encrypti<strong>on</strong><br />

matrix.<br />

Where,<br />

M - Message Matrix,<br />

Q - Matrix generated from Fib<strong>on</strong>acci series.<br />

p - Message matrix i.e. (p+1) (p+1) size <strong>and</strong><br />

n – N th power of Q- matrix i.e. key<br />

n<br />

p<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 283


Proceedings of ICCNS 08 , 27-28 September 2008<br />

3.2 Fib<strong>on</strong>acci Series Coding<br />

To develop new coding theory based <strong>on</strong> the<br />

n<br />

Q -<br />

p<br />

matrices since the simplest Fib<strong>on</strong>acci Q-matrix. Let's<br />

c<strong>on</strong>sider the following method of coding. Let's<br />

represent the initial message in form of the 2 2<br />

matrixes: m1 m2<br />

M <br />

(3. 1)<br />

m<br />

3 m <br />

4 <br />

Let us assume that all elements of the matrix eq.(3.1)<br />

are positive integers, that is:<br />

m1>0; m2>0; m3>0; m4>0<br />

The simplest method e.g. c<strong>on</strong>siders a text message is<br />

the sequence of the decimal numerals:<br />

358 091 466 725. (3.2)<br />

Then I can represent this message (3. 2) in the matrix<br />

form: M 358 091<br />

<br />

(3.3)<br />

<br />

466 725 <br />

<br />

Suppose now that we have selected for coding a<br />

Fib<strong>on</strong>acci Q-matrix of the 5th power:<br />

5 8 5 <br />

Q (3.4)<br />

<br />

5 3 <br />

<br />

At the preceding pages I have introduced the noti<strong>on</strong><br />

of the matrix "inverse" to eq.(3.4). Because the<br />

number 5 is odd than the matrix "inverse" to eq. (3.4)<br />

has the following form:<br />

3 5<br />

5 <br />

<br />

Q <br />

5 8<br />

<br />

<br />

Then, the Fib<strong>on</strong>acci coding of the message M given<br />

in the matrix form eq.(3.1) c<strong>on</strong>sists of the<br />

multiplicati<strong>on</strong> of the initial matrix eq.(3.1) by the<br />

coding matrix eq.(3.4) that is:<br />

' '<br />

5 m1 m2 8 5<br />

8m 15m 2<br />

5m 13m 2<br />

m1 m<br />

2<br />

MQ<br />

E<br />

' '<br />

m3 m<br />

<br />

4<br />

5 3<br />

<br />

<br />

8m 3<br />

5m 4<br />

5m 3<br />

3m <br />

<br />

4 m 3<br />

m4<br />

<br />

Where,<br />

m 8 m 5 m<br />

m m m<br />

m m m<br />

m m m<br />

'<br />

1 1 2<br />

'<br />

2<br />

5<br />

1<br />

3<br />

2<br />

'<br />

3<br />

8<br />

3<br />

5<br />

4<br />

'<br />

4<br />

5<br />

3<br />

3<br />

4<br />

(3.5)<br />

(3.6)<br />

We remember that the "matrix multiplicati<strong>on</strong>" is<br />

mathematical operati<strong>on</strong> distinguished from the<br />

traditi<strong>on</strong>al "multiplicati<strong>on</strong>". We can see from the<br />

example eq.(3.5) that the product of two square<br />

matrices M <strong>and</strong> Q 5 is the matrix E of the same size,<br />

which elements are calculated according to<br />

(3..6).Let's apply my calculati<strong>on</strong>s to our example<br />

eq.(3.3). Then the procedure of the Fib<strong>on</strong>acci coding<br />

brings us into the following matrix E:<br />

5 358 091 8 5 8358 591 5358 391 3319 2063 <br />

MQ<br />

E<br />

466 725<br />

5 3<br />

<br />

8466 5725 5466 3725 <br />

7353 4505<br />

<br />

<br />

After that the coded message<br />

' ' ' '<br />

E m1m2m3m<br />

4<br />

3319206373534505 is sent to<br />

the communicati<strong>on</strong> channel.<br />

3.3 Fib<strong>on</strong>acci Series Encrypti<strong>on</strong> algorithm<br />

1. Read the c<strong>on</strong>tents of the source file <strong>and</strong> store it<br />

in <strong>on</strong>e-dimensi<strong>on</strong>al array named file.<br />

2. Calculate the number of padding bit required.<br />

3. Get the extensi<strong>on</strong> of the source file.<br />

4. Allocate the buffer named File Data. It stores the<br />

adder bit <strong>and</strong> file extensi<strong>on</strong>.<br />

5. Copy the entire c<strong>on</strong>tent of the file which was<br />

previously stored in, file variable into File Data.<br />

6. Allocate the 2D array of size (p+1) (p+1). Then<br />

copy the c<strong>on</strong>tent of the File Data into this 2D<br />

array, let us say 2D array as M i.e. Message<br />

Matrix.<br />

7. Generate Fib<strong>on</strong>acci Series as per the values of p<br />

& n.<br />

8. Create n<br />

Q matrix depending up<strong>on</strong> the value of p<br />

p<br />

<strong>and</strong> n from Fib<strong>on</strong>acci Series l <strong>and</strong> neg_l, i.e.,<br />

positive <strong>and</strong> negative series respectively.<br />

9. C<strong>on</strong>voluti<strong>on</strong> of n<br />

Q <strong>and</strong> M matrix to get the<br />

p<br />

resultant value <strong>and</strong> store these c<strong>on</strong>tents in Binary<br />

format. i.e. Encrypted Data (E).<br />

4 Implementati<strong>on</strong> <strong>and</strong> Testing<br />

4.1. The C# (dot net) Platform:<br />

C# was used to implement the Fib<strong>on</strong>acci Encrypti<strong>on</strong><br />

algorithms. The following are some of the main<br />

reas<strong>on</strong>s explaining why C# (dot net) was chosen:<br />

1. C# is c<strong>on</strong>sidered platform independent because<br />

this feature of C# makes sure that the programs<br />

will run <strong>on</strong> any platform. Thus, the implemented<br />

algorithm can be tested <strong>on</strong> a variety of platforms<br />

for comparis<strong>on</strong> purposes.<br />

2. C# provides a large library of built-in classes <strong>and</strong><br />

methods that assist the programmer in writing<br />

code for cryptographic algorithms. For example,<br />

the Int32 Integer class in c# C<strong>on</strong>versi<strong>on</strong> from<br />

integer to string <strong>and</strong> vice versa. Dot net provides<br />

in built classes File Info Binary Reader, Binary<br />

Writer, Stream Reader, <strong>and</strong> Stream Writer, are<br />

used for file reading <strong>and</strong> writing in binary<br />

format.<br />

3. Fib<strong>on</strong>acci Series algorithm was implemented as<br />

is, using a C sharp language, <strong>and</strong> was tested <strong>on</strong> a<br />

different platform.<br />

4.2. Measuring Executi<strong>on</strong> Time Methodology<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 284


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Input file *DES *3DES *AES *BF FC<br />

size (KB)<br />

20.05 2 7 4 2 0<br />

35.16 4 13 6 3 0<br />

44.45 5 17 8 4 0<br />

58.50 7 23 11 6 0<br />

68.00 9 26 13 7 0<br />

134.1 17 51 26 14 0<br />

155.35 20 60 30 16 0<br />

162.50 21 62 31 17 5<br />

187.00 24 72 36 19 10<br />

227.00 30 87 44 24 22<br />

1085.44 - - - - 55<br />

4454.40 - - - - 190<br />

11673.60 - - - - 225<br />

21606.40 - - - - 414<br />

29593.60 - - - - 743<br />

Performance measurements were c<strong>on</strong>ducted by<br />

determining the amount of time required to perform<br />

cryptographic operati<strong>on</strong>s of an algorithm. I measured<br />

how many bytes of data could be encrypted in <strong>on</strong>e<br />

sec<strong>on</strong>d. We measured the time taken to perform a<br />

particular operati<strong>on</strong>. We used the stopwatch to<br />

calculate the executi<strong>on</strong> time for data Encrypt [12].<br />

API to calculate the processor time c<strong>on</strong>sumed in the<br />

executi<strong>on</strong> of the algorithms. A tick counts which<br />

increments 100 times per sec<strong>on</strong>d when the algorithm<br />

is in the running mode. This stopwatch is initialized<br />

to zero every time when it is reset. Since the rate of<br />

the tick count is not so high, several iterati<strong>on</strong>s of the<br />

same operati<strong>on</strong> are required to be carried out in order<br />

to achieve a finer resoluti<strong>on</strong> <strong>on</strong> the speed of that<br />

operati<strong>on</strong>. Executi<strong>on</strong> time is manipulated after every<br />

10ms .For this algorithm, a number of tests was<br />

c<strong>on</strong>ducted.<br />

4.3. Measuring Executi<strong>on</strong> Times<br />

Measuring Executi<strong>on</strong> Times Obtaining accurate <strong>and</strong><br />

repeatable executi<strong>on</strong> time measurements proved to be<br />

more difficult than was originally anticipated. After<br />

many experiments, it was decided to settle <strong>on</strong> the use<br />

of a Pentium-III 700 MHz machine (running<br />

Microsoft Windows operating system) <strong>and</strong> a<br />

Pentium-4, 2.4 GHz machine (running Microsoft<br />

Windows XP operating system)[12] as the basis for<br />

time measurements. Because the primary goal was to<br />

measure the encrypti<strong>on</strong> times of algorithms, the<br />

initializati<strong>on</strong> <strong>and</strong> key set-up times were excluded<br />

from the comparis<strong>on</strong>.<br />

Table 4.1: Comparative executi<strong>on</strong> times (in sec) of<br />

algorithms in ECB Mode <strong>on</strong> a Pentium-III, 700 MHz<br />

machine<br />

*All the data above table is according the ref.[8].<br />

Fig 4.1: Performance graph DES <strong>and</strong> Fib<strong>on</strong>acci<br />

Table 4.2: Comparative Executi<strong>on</strong> Times (in<br />

sec<strong>on</strong>ds) of algorithms in ECB mode <strong>on</strong> a Pentium-<br />

4.2.4 GHz machine<br />

Input file *DES *3DES *AES *BF FC<br />

size (KB)<br />

20.05 24 72 39 19 6<br />

35.16 48 123 74 35 10<br />

44.45 57 156 94 46 12<br />

58.50 74 202 126 58 15<br />

68.00 83 243 143585 67 20<br />

134.1 160 451 324 135 38<br />

155.35 190 543 355 158 42<br />

162.50 198 569 378 162 44<br />

187.00 227 655 460 176 46<br />

227.00 275 799 228 219 48<br />

1085.44 - - - - 54<br />

4454.40 - - - - 229<br />

11673.60 - - - - 575<br />

21606.40 - - - - 1176<br />

29593.60 - - - - 1598<br />

*All the data above table is according the ref. [8].<br />

Fig. 4.2: Performance graph DES <strong>and</strong> Fib<strong>on</strong>acci<br />

Encrypti<strong>on</strong> Algorithm <strong>on</strong> a Pentium 4.2.4 GHz<br />

machine<br />

4.4. Performance Results for Block Ciphers<br />

The executi<strong>on</strong> results of symmetric key algorithms in<br />

ECB (Electr<strong>on</strong>ic Codebook) mode are presented first.<br />

These results are shown Table 4.1<strong>and</strong> Table 4.2, for<br />

executi<strong>on</strong> of code <strong>on</strong> a Pentium-III 700 MHz<br />

machine, <strong>and</strong> Pentium-4, 2.4 GHz machine<br />

respectively.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 285


Proceedings of ICCNS 08 , 27-28 September 2008<br />

4.5. Performance Results for Different File<br />

Sizes <strong>and</strong> Formats<br />

In my paper work, I have tested different sizes of<br />

files <strong>and</strong> formats with their encrypti<strong>on</strong> executi<strong>on</strong><br />

time. Following table shows the executi<strong>on</strong> time (ms)<br />

with file size (KB). The Fib<strong>on</strong>acci Encrypti<strong>on</strong><br />

algorithm the executi<strong>on</strong> time was measured to any<br />

type of file format.<br />

Table 4.3: Comparative executi<strong>on</strong> times (in sec) of<br />

Fib<strong>on</strong>acci Encrypti<strong>on</strong> algorithm in different files size<br />

& format mode <strong>on</strong> a Pentium-4, 3.06 GHz machine<br />

I/P file size File format type<br />

(KB) DOC AVI MP3 PPT DAT<br />

41.00 KB 0.00 0.00 0.00 0.00 0.00<br />

62.00 KB 0.00 0.00 0.00 0.00 0.00<br />

227.00 KB 0.04 0.05 0.05 0.05 0.05<br />

515.00 KB 0.11 0.12 0.11 0.11 0.12<br />

1.06 MB 0.18 0.19 0.20 0.18 0.20<br />

2.32 MB 0.43 0.45 0.45 0.43 0.44<br />

5.10 MB 1.05 1.05 1.04 1.30 1.05<br />

11.70 MB 2.45 2.47 2.44 2.48 2.41<br />

40.4 MB 9.37 9.40 9.38 9.38 9.36<br />

49.30 MB 10.65 10.71 10.68 10.63 10.62<br />

In my paper work, I measured file Encrypti<strong>on</strong> time<br />

for different file size as well as different files format,<br />

as per the results was getting to encrypt file the<br />

executi<strong>on</strong> time is same. Only the difference is ±0.05<br />

ms.<br />

5 C<strong>on</strong>clusi<strong>on</strong><br />

The Fib<strong>on</strong>acci encrypti<strong>on</strong> algorithm is the main<br />

applicati<strong>on</strong> of the Fib<strong>on</strong>acci Qp- matrices. Fib<strong>on</strong>acci<br />

encrypti<strong>on</strong> algorithm reduces to matrix<br />

multiplicati<strong>on</strong>, i.e. to well-known algebraic operati<strong>on</strong>,<br />

which is realized very well in modern computers. The<br />

performance of the popular secret key algorithms<br />

including DES, 3DES, AES <strong>and</strong> Blowfish, is<br />

compared with Fib<strong>on</strong>acci Series encrypti<strong>on</strong> by<br />

encrypting input files of varying c<strong>on</strong>tents <strong>and</strong> sizes.<br />

The present Fib<strong>on</strong>acci encrypti<strong>on</strong> algorithm is<br />

implemented in a C sharp language, <strong>and</strong> tested <strong>on</strong><br />

two different Intel processors, to compare its<br />

performance. At present Fib<strong>on</strong>acci Series Algorithm<br />

is used for securing input files of varying c<strong>on</strong>tents<br />

<strong>and</strong> sizes. Thus a demo of new techniques of<br />

Encrypti<strong>on</strong> to any type file is being presented in my<br />

paper. The results reveal that Fib<strong>on</strong>acci encrypti<strong>on</strong> is<br />

the fastest am<strong>on</strong>g symmetric algorithms. Thus the<br />

implemented algorithm finds its place in variety of<br />

applicati<strong>on</strong>s such as e-commerce, banking, <strong>and</strong><br />

<strong>on</strong>line transacti<strong>on</strong> processing applicati<strong>on</strong>s, small or<br />

large-scale industry, Internet communicati<strong>on</strong>,<br />

multimedia systems, medical imaging, telemedicine,<br />

<strong>and</strong> military communicati<strong>on</strong>, Software Developers,<br />

Pers<strong>on</strong>al use, Educati<strong>on</strong>al, Business, <strong>and</strong> Banking<br />

etc.<br />

A proposed directi<strong>on</strong> for the future work could be to<br />

analyze the performance/security trade-off in greater<br />

depth. For instance, the impact of these <strong>and</strong> other<br />

such factors <strong>on</strong> the overall performance of an<br />

algorithm needs to be measured.<br />

References<br />

[1] W. Diffie <strong>and</strong> M.E. Hellman ,“New directi<strong>on</strong>s in<br />

cryptograph,” IEEE Trans. Inform Theory, vol. IT-<br />

22, pp. 644–654, Nov. 1976.<br />

[2] R. L. Rivest, A. Shamir <strong>and</strong> L. Adleman , “A<br />

method for obtaining digital signatures <strong>and</strong> publickey<br />

cryptosystems”, Commun. ACM , vol. 21 , no. 2,<br />

pp, 120–126, Feb.1978.<br />

[3] Gary C. Kessler,” An Overview of<br />

Cryptography”, McGraw-Hill, May 1998.<br />

[4] Duncan S. W<strong>on</strong>g, Hector Ho Fuentes <strong>and</strong> Agnes<br />

H. Chan, “The Performance Measurement of<br />

Cryptographic Primitives <strong>on</strong> Palm Devices”,IEEE<br />

MILCOM 2001 <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> Proceedings, Oct 2001.<br />

[5] Schneider B "Descripti<strong>on</strong> of a New Variable-<br />

Length Key , 64-Bit Block Cipher (Blowfish)", Fast<br />

Software encrypti<strong>on</strong>, Cambridge <strong>Security</strong> Workshop<br />

Proceedings Dec. 1993.<br />

[6]Atul Kahate ,“Cryptography <strong>and</strong> Network<br />

<strong>Security</strong>”, Tata McGraw-Hill,2003.<br />

[7] Najib A. Kofahi, Turki Al-Somani <strong>and</strong> Khalid Ai-<br />

Zamil , “Performance Evaluati<strong>on</strong> of Three<br />

Encrypti<strong>on</strong>/Decrypti<strong>on</strong> Algoriithms”, 2004 IEEE.<br />

[8] Aamer Nadeem, Dr. M.Y.Younus Javed, “A<br />

Performance Comparis<strong>on</strong> of Data Encrypti<strong>on</strong><br />

Algorithms”, 2005 IEEE.<br />

[9] Christian Nagel, Bill Evjen, Jay Glynn, Morgan<br />

Skinner, Karli Wats<strong>on</strong>, Allen J<strong>on</strong>es,” Professi<strong>on</strong>al<br />

C# 2005”, Wrox , Wiley Publicati<strong>on</strong>.<br />

[10] Jiancheng Zou, Rabab K. Ward, D<strong>on</strong>gxu Qi, “<br />

A New digital image Scrambling method based <strong>on</strong><br />

Fib<strong>on</strong>acci Numbers”, 2004, IEEE.<br />

[11] A.P. Stakhov, “Fib<strong>on</strong>acci Matrices, A<br />

Generalizati<strong>on</strong> of the “Cassini Formula”, <strong>and</strong> new<br />

coding theory”, Chaos, Solit<strong>on</strong>s <strong>and</strong> Fractals,<br />

Volume 30, Issue 1, 2006,<br />

[12] A.P. Stakhov , “Fib<strong>on</strong>acci Matrices, A<br />

Generalizati<strong>on</strong> of the “Cassini Formula”, <strong>and</strong> new<br />

coding theory”, Chaos, Elsevier, Volume 30, Issue 1,<br />

15 Feb 2006.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 286


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Proactive Loss Predicti<strong>on</strong>: A soluti<strong>on</strong> to problem<br />

of Packet Reordering in TCP<br />

Pradhan Bagur Umesh <strong>and</strong> Rio G. L. D’Souza<br />

Abstract— Transmissi<strong>on</strong> C<strong>on</strong>trol Protocol (TCP) forms the heart<br />

of today’s Internet. One of the bottlenecks to its performance is<br />

Packet Reordering, which happens due to various reas<strong>on</strong>s like<br />

Multipath Routing, Parallel Forwarding, <strong>and</strong> Link level<br />

retransmissi<strong>on</strong>s. In this paper, we explore the problems associated<br />

with packet reordering <strong>and</strong> weaknesses in TCP c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol<br />

algorithm pertaining to packet reordering. We propose a proactive<br />

mechanism to predict loss, based <strong>on</strong> previous history <strong>and</strong> c<strong>on</strong>tinuous<br />

learning, which would enable the existing TCP to improve the<br />

probability of making correct decisi<strong>on</strong>s by predicting the loss events<br />

with higher accuracy.<br />

Keywords—Fast Retransmit, Loss Predicti<strong>on</strong>, Packet Loss,<br />

Packet Reordering, TCP.<br />

T<br />

I. INTRODUCTION<br />

CP is a reliable transport layer protocol. One of the ways<br />

it provides reliability is by each end acknowledging the<br />

data it receives from the other end. But the data segments <strong>and</strong><br />

the acknowledgments can get lost. TCP h<strong>and</strong>les this by setting<br />

a timeout timer when it sends data, <strong>and</strong> if the data is not<br />

acknowledged when the timer expires, it retransmits the data.<br />

The few, but familiar, assumpti<strong>on</strong>s of TCP like in-order<br />

delivery <strong>and</strong> FIFO queuing, are frequently desecrated in the<br />

Internet. Packet reordering is shown to be a n<strong>on</strong>-pathological<br />

<strong>and</strong> comm<strong>on</strong> behavior in Internet <strong>and</strong> can cause severe<br />

performance problems [1], especially for TCP. In this paper,<br />

we explore the problems associated with packet reordering,<br />

causes, <strong>and</strong> weaknesses in the TCP c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol<br />

algorithm pertaining to packet reordering. We then propose a<br />

proactive mechanism to predict loss, based <strong>on</strong> previous<br />

history <strong>and</strong> c<strong>on</strong>tinuous learning. This mechanism is an<br />

additi<strong>on</strong> to the existing loss predicti<strong>on</strong> mechanism (arrival of<br />

three duplicate acknowledgements (ACK) or timer expiry)<br />

<strong>and</strong>, when implemented, would improve the accuracy of loss<br />

predicti<strong>on</strong>. This would enable TCP to take correct decisi<strong>on</strong>s in<br />

Pradhan Bagur Umesh is with the Nati<strong>on</strong>al Institute of Technology<br />

Karnataka, Surathkal (NITK, Surathkal), Srinivasanagar Post, Mangalore -<br />

575025, India (mobile: 91-9886857647, e-mail: pradhan@ieee.org).<br />

Rio G. L. D’Souza is with the Department of <strong>Computer</strong> Science <strong>and</strong> Engg,<br />

St Joseph Engineering College, Vamanjoor Post, Mangalore 575028, India<br />

(ph<strong>on</strong>e: 91-824-2263753, fax: 91-824-2263751, mobile: 91-9449470561, e-<br />

mail: rio@ieee.org).<br />

This project was sp<strong>on</strong>sored by Karnataka State Centre for Science <strong>and</strong><br />

Technology (KSCST) under Students Project Programe-31 series.<br />

approximately 50% of the instances wherein previously it<br />

would have made incorrect decisi<strong>on</strong>s.<br />

The paper begins with a detailed descripti<strong>on</strong> of the causes<br />

of packet reordering <strong>and</strong> effects of packet reordering. The<br />

most important c<strong>on</strong>cern is false-fast retransmissi<strong>on</strong>, which<br />

results in reduced c<strong>on</strong>gesti<strong>on</strong> window size, hence resulting in<br />

under-performance of TCP. Later, we answer the questi<strong>on</strong> as<br />

to whether the amount of reordering in the Internet is large<br />

enough to attract changes or improvements to TCP. In the rest<br />

of the paper, we present an algorithm to predict loss<br />

proactively, which is based <strong>on</strong> previous history <strong>and</strong><br />

c<strong>on</strong>tinuous learning <strong>and</strong> finally we present the results.<br />

II. PACKET REORDERING IN TCP<br />

Packet reordering is a network phenomen<strong>on</strong> where the<br />

receiver receives some of the packets out of sequence <strong>and</strong><br />

hence the sending <strong>and</strong> the receiving order do not match.<br />

Packet reordering is a comm<strong>on</strong> behavior in Internet <strong>and</strong> can<br />

cause severe performance problems, especially for TCP [1].<br />

A. Causes for Packet Reordering<br />

1. Packet-Level Multipath Routing: Multipath Routing is <strong>on</strong>e<br />

of the load balancing methods where the packets<br />

bel<strong>on</strong>ging to the same flow are routed over different<br />

routes to avoid c<strong>on</strong>gesti<strong>on</strong>. But different routes may have<br />

different path delays. When two routes have different<br />

propagati<strong>on</strong> delays, packets may often arrive at the<br />

destinati<strong>on</strong> out-of-order, depending <strong>on</strong> whether they were<br />

routed via a shorter route or a l<strong>on</strong>ger route.<br />

2. Route Fluttering: The term fluttering is used to describe<br />

rapidly oscillating routing. It occurs when a specific path<br />

in the routing table oscillates between more than <strong>on</strong>e of<br />

the next hops. This causes packets to be forwarded <strong>on</strong><br />

different paths <strong>and</strong> they arrive out-of-order at the<br />

destinati<strong>on</strong>.<br />

3. MAC Layer Retransmissi<strong>on</strong>s: TCP is mainly designed<br />

keeping in mind wired networks, which hardly have any<br />

transmissi<strong>on</strong> losses. Unlike wired networks, wireless<br />

networks have high transmissi<strong>on</strong> losses <strong>and</strong> error rates.<br />

MAC Layer retransmissi<strong>on</strong>s are used to make the<br />

transport layer transparent to these losses <strong>and</strong> errors. The<br />

retransmitted packets are then interspersed with other<br />

packets of the same flow, thus resulting in packet<br />

reordering.<br />

4. Parallel processing in modern routers: Modern routers are<br />

enabled with multi-processors operating in parallel <strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 287


Proceedings of ICCNS 08 , 27-28 September 2008<br />

multiple queues. Any given packet is held <strong>on</strong> the packet<br />

depending <strong>on</strong> length of the queue, packet size or security<br />

c<strong>on</strong>figurati<strong>on</strong>s (additi<strong>on</strong>al checks). So the packets which<br />

stay in the queue for shorter durati<strong>on</strong> arrive at the<br />

destinati<strong>on</strong> earlier <strong>and</strong> hence resulting in packet<br />

reordering.<br />

B. Types of Packet Reordering<br />

There are two types of packet reordering:<br />

1. Forward-Path Reordering (Data reordering): In forwardpath<br />

reordering, TCP segments c<strong>on</strong>taining data arrive at<br />

the receiver out-of-order.<br />

2. Reverse-Path Reordering (ACK reordering): In reversepath<br />

reordering, TCP ACKs travelling back to sender are<br />

reordered.<br />

C. Problems Caused by Forward Path Packet Reordering<br />

1. Spurious retransmissi<strong>on</strong>s <strong>and</strong> reducti<strong>on</strong> in throughput: This<br />

happens due to the following weakness in the TCP<br />

c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol algorithm: TCP assumes that loss is an<br />

indicati<strong>on</strong> of c<strong>on</strong>gesti<strong>on</strong>, but it also wr<strong>on</strong>gly c<strong>on</strong>ceives<br />

packet reordering as loss <strong>and</strong> hence triggers c<strong>on</strong>gesti<strong>on</strong><br />

c<strong>on</strong>trol mechanisms. Thus, in such cases, it causes<br />

spurious fast retransmissi<strong>on</strong> after receiving three<br />

duplicate ACKs.<br />

2. Obscuring of actual packet losses: Due to packet reordering<br />

the actual packet loss may become hidden. This would<br />

happen when packet reordering <strong>and</strong> packet loss occur<br />

back-to-back. TCP would wr<strong>on</strong>gly fast retransmit the<br />

reordered packet after receiving three duplicate ACKs.<br />

And, by the time the three duplicate ACKs arrive for the<br />

lost packet, its retransmissi<strong>on</strong> timer may expire resulting<br />

in obscured packet loss.<br />

3. Reducti<strong>on</strong> in the efficiency of TCP receiver: Data has to be<br />

delivered in-order by TCP to its upper layer. So, TCP has<br />

to store the out-of-order packets, wait for the packets with<br />

lower sequence number which have not been received,<br />

sort them, <strong>and</strong> then deliver them to the upper layer. Due<br />

to reordering, TCP will deliver data to its upper layer in<br />

bursts.<br />

D. Problems caused by Reverse-Path Reordering<br />

In the absence of reordering, the spacing of the ACKs<br />

returned to the sender is identical to the spacing of the data<br />

segments. This is called self-clocking behavior of TCP. In the<br />

presence of reordering, TCP loses its self-clocking capability.<br />

This leads to the following problem:<br />

Slow growth of c<strong>on</strong>gesti<strong>on</strong> window: Due to reverse-path<br />

reordering, the number of ACKS for the unacknowledged data<br />

decreases. This would cause the c<strong>on</strong>gesti<strong>on</strong> window to grow<br />

slowly as the TCP sender increases its c<strong>on</strong>gesti<strong>on</strong> window<br />

<strong>on</strong>ly for each acknowledgement it receives for previously<br />

unacknowledged data.<br />

In the next secti<strong>on</strong> we propose our algorithm which is<br />

proactive in nature which uses the variati<strong>on</strong> of RTT to predict<br />

packet loss.<br />

III. PROPOSED ALGORITHM<br />

A. Motivati<strong>on</strong>: Relati<strong>on</strong> between Packet Reordering <strong>and</strong><br />

Multipath Routing<br />

Today’s Internet topology c<strong>on</strong>tains path diversity. While <strong>on</strong>ly<br />

<strong>on</strong>e end-to-end path is used today, measurement study found<br />

that 30% to 80% of the time, an alternate path with lower loss<br />

or smaller delay exists [4]. In a measurement study of a large<br />

ISP, it was found that almost 90% of pairs of Point-of-<br />

Presences (PoPs) have at least four link-disjoint paths between<br />

them [5].<br />

In spite of the impressive statistics outlined above, Internet<br />

has not seen wide spread deployment of Multipath Routing<br />

because different routes can have different RTTs that differ<br />

sufficiently to cause significant packet reordering which<br />

causes throughput degradati<strong>on</strong> [1], [2].<br />

Thus we can c<strong>on</strong>clude that the amount of packet reordering<br />

in the Internet is large enough to attract changes or<br />

improvements to TCP.<br />

As discussed in secti<strong>on</strong> II C, spurious fast retransmissi<strong>on</strong>s<br />

happen because TCP cannot correctly differentiate between<br />

packet reordering <strong>and</strong> loss with existing mechanisms, wherein<br />

it fast retransmits <strong>on</strong> receiving of three duplicate ACKs. In the<br />

next secti<strong>on</strong> we propose an algorithm which differentiates<br />

between reordering <strong>and</strong> loss.<br />

B. The Algorithm<br />

Routers typically drop packets when their queue is full.<br />

C<strong>on</strong>sider a dropped packet p <strong>and</strong> its preceding packet p’; p’<br />

was the last packet to be put into the queue (which we<br />

henceforth refer to as Penultimate Packet) before the packet<br />

that would be dropped. Here, when we say preceding packet,<br />

we refer to the order of arrival <strong>and</strong> not the sequence number.<br />

Being the last <strong>on</strong>e in the queue, it would generally have an<br />

RTT much larger than the average RTT value.<br />

Thus, by observing the RTT values we would be in a<br />

positi<strong>on</strong> to predict loss with reas<strong>on</strong>able accuracy. In this<br />

algorithm we keep track of ∆RTT (difference in RTTs of<br />

packets corresp<strong>on</strong>ding to two recent successively received<br />

ACKs). We use Exp<strong>on</strong>ential Weighted Moving Average<br />

(EWMA) to keep track of ∆RTT. Note that this soluti<strong>on</strong> acts<br />

at the sending side.<br />

Estimating the Average: Sample∆RTT is the difference in<br />

RTTs of packets corresp<strong>on</strong>ding two recent successively<br />

received ACKs. It may change between successive pair s of<br />

segments due to varying network c<strong>on</strong>diti<strong>on</strong>s. So it is necessary<br />

to average out the Sample∆RTT values to get a reliable<br />

estimate, called Estimated∆RTT.<br />

EstimatedΔ RTT = EstimatedΔ RTT + SampleΔ RTT (1)<br />

Estimated∆RTT is a weighted average of the Sample∆RTT<br />

values <strong>and</strong> more precisely it is an exp<strong>on</strong>ential weighted<br />

moving average (EWMA). The word "exp<strong>on</strong>ential" appears in<br />

EWMA because the weight of a given Sample∆RTT decays<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 288


Proceedings of ICCNS 08 , 27-28 September 2008<br />

exp<strong>on</strong>entially fast as the updates proceed. The Sample∆RTT<br />

corresp<strong>on</strong>ding to loss is not taken in to c<strong>on</strong>siderati<strong>on</strong>.<br />

Estimating the threshold (Th∆RTT): The Threshold value<br />

should incorporate some margin for error for the sake of a<br />

better estimate. The margin should be large when there is a lot<br />

of fluctuati<strong>on</strong> in the Sample∆RTT values <strong>and</strong> it should be<br />

small when there is little fluctuati<strong>on</strong>. Hence we get the<br />

following equati<strong>on</strong>:<br />

ThΔ RTT = EstimatedΔ RTT + z.<br />

Deviati<strong>on</strong> (2)<br />

where, Deviati<strong>on</strong> is an estimate of how much Sample∆RTT<br />

typically deviates from Estimated∆RTT.<br />

Deviati<strong>on</strong> = (1 − y). Deviati<strong>on</strong> + y. | SampleΔRTT<br />

−<br />

(3)<br />

EstimatedΔRTT<br />

|<br />

If the Sample RTT values have little fluctuati<strong>on</strong>, then<br />

Deviati<strong>on</strong> would be small <strong>and</strong> Th∆RTT would not deviate<br />

much compared to Estimated∆RTT; <strong>on</strong> the other h<strong>and</strong>, if there<br />

is a lot of fluctuati<strong>on</strong>, Deviati<strong>on</strong> will be large <strong>and</strong> Th∆RTT<br />

would deviate c<strong>on</strong>siderably compared to Estimated∆RTT.<br />

Here x <strong>and</strong> y are the weights <strong>and</strong> z is a multiplicati<strong>on</strong> factor.<br />

The values of these variables used in our algorithm is as<br />

explained in the next secti<strong>on</strong>.<br />

Now, coming to the procedure for loss predicti<strong>on</strong>, suppose<br />

that a hole is created in the sender’s ACK window due arrival<br />

of a packet with higher sequence number (we shall henceforth<br />

refer to this packet as Arriving Packet), Sample∆RTT is<br />

calculated for Arriving Packet. Sample∆RTT is compared<br />

with previously calculated value of Th∆RTT. If it is larger<br />

than Th∆RTT, then we fast retransmit <strong>on</strong> receipt of three<br />

dupACKs or else fast retransmissi<strong>on</strong> is omitted for that packet<br />

(i.e. expected packet), if at all it is an actual loss, it would be<br />

retransmitted <strong>on</strong> expirati<strong>on</strong> of timer.<br />

While it would be possible to fine-tune TCP’s c<strong>on</strong>gesti<strong>on</strong><br />

c<strong>on</strong>trol algorithms to achieve improved balance between<br />

unnecessary fast retransmits <strong>and</strong> unnecessary delay in<br />

detecti<strong>on</strong> loss, it is not be possible to devise a fast retransmit<br />

algorithm that always correctly determines, after the receipt of<br />

a duplicate ACK, whether or not packet loss has occurred [6].<br />

In our algorithm, we have balanced the extent of false<br />

positives (classificati<strong>on</strong> of a packet which is not lost as lost)<br />

<strong>and</strong> false negatives (classificati<strong>on</strong> of a packet which is lost as<br />

not lost). If the Penultimate Packet gets in <strong>and</strong> the queue is not<br />

full yet <strong>and</strong> then packets of other TCP c<strong>on</strong>necti<strong>on</strong>s or UDP fill<br />

the queue, then in this case the RTT of the penultimate packet<br />

will not be c<strong>on</strong>siderably high because it was not at the end of<br />

the queue, so loss might not be detected.<br />

EWMA is a technique used to analyze time series data<br />

(sequence of data points measured in successive times which<br />

is not necessarily equally spaced). Here, we use EWMA<br />

because the data we use is time series data <strong>and</strong> our algorithm<br />

is based <strong>on</strong> change in RTT. As is not possible to observe<br />

change with respect to large number of discrete data points,<br />

we obtain smoothened data using EWMA which can be easily<br />

used for comparis<strong>on</strong>s in our algorithm to observe the changes<br />

in RTT.<br />

IV. RESULTS AND IMPLEMENTATION DETAILS<br />

A. Implementati<strong>on</strong> Details<br />

To improve TCP in the packet reordering scenario, the main<br />

aim is to identify whether a hole in the ACK window of<br />

sender is due to reordering or loss.<br />

Here, using the data collected by c<strong>on</strong>tinuously pinging<br />

certain websites, we test our algorithm. Though Ping program<br />

uses ICMP packets, its use to test our algorithm is justified<br />

because all we need is the informati<strong>on</strong> whether a given packet<br />

is lost (to cross check with our algorithm) <strong>and</strong> ACKs (here<br />

ICMP reply packets play this role). Firstly, sufficiently large<br />

amount of data is collected. Then using a UNIX shell script<br />

the required data (sequence numbers <strong>and</strong> RTT) is extracted,<br />

which is the input to the algorithm which predicts loss. The<br />

algorithm is implemented in C language.<br />

The parameters x <strong>and</strong> y in equati<strong>on</strong> (1) <strong>and</strong> (3) respectively<br />

is usually a small value <strong>and</strong> is set as x = 1/8 <strong>and</strong> y = 1/4<br />

(please note that these values are same as those in the<br />

calculati<strong>on</strong> of retransmissi<strong>on</strong> timeout [10]). The value of<br />

parameter z in equati<strong>on</strong> (3) has to be deduced. We plot a<br />

graph to determine the value of ‘z’ for which we use the data<br />

depicted in the following table, the details of which are given<br />

in the next secti<strong>on</strong>.<br />

Table I: Accuracy1 <strong>and</strong> Accuracy2 for different values of ‘z’<br />

z Accuracy1 Accuracy2<br />

-1.0 0.7663 0.2346<br />

-0.8 0.6748 0.3273<br />

-0.6 0.5957 0.4074<br />

-0.5 0.5626 0.4413<br />

-0.4 0.5337 0.4714<br />

-0.3 0.5036 0.4995<br />

-0.2 0.4782 0.5264<br />

0 0.4362 0.5707<br />

0.2 0.3945 0.6157<br />

0.4 0.3463 0.6602<br />

B. Calculati<strong>on</strong> of Optimal value of z<br />

The value of ‘z’ has to be chosen such that there is a balance<br />

between the “false positives” <strong>and</strong> “false negatives”. To find<br />

‘z’, the following two parameters are defined:<br />

Accuracy1 = cpl<br />

(4)<br />

l<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 289


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 1. Procedure to find the optimal value of z<br />

Accuracy2<br />

cpnl<br />

nl<br />

= (5)<br />

where, ‘cpl’ is number of packets correctly predicted as lost,<br />

‘l’ is number of packets lost, ‘cpnl’ is number of packets<br />

correctly predicted as not lost, <strong>and</strong> ‘nl’ is number of packets<br />

not lost.<br />

Accuracy1 (in bold curve) <strong>and</strong> Accuracy2 (in dotted curve)<br />

are plotted V/S ‘z’ (X-axis) <strong>and</strong> the value of ‘z’ corresp<strong>on</strong>ding<br />

to the intersecti<strong>on</strong> of the two curves gives the optimal value of<br />

‘z’. From Fig. 1., the optimal value of z is found to be -0.29.<br />

Our results are obtained using z = -0.29.<br />

C. Results<br />

Several data samples c<strong>on</strong>sisting of 1000, 5000, 10000, <strong>and</strong><br />

15000 packets are collected. The results are plotted in two<br />

graphs using our algorithm <strong>on</strong> the collected data. The graphs<br />

being (i) Number of Packets correctly predicted as lost Vs<br />

Number of Packets lost <strong>and</strong> (ii) Number of Packets correctly<br />

predicted as not lost Vs Number of Packets not lost.<br />

The slope at any point of the graph in Fig. 2 <strong>and</strong> Fig. 3 give<br />

the respective accuracy rate, i.e. Accuracy rate of predicti<strong>on</strong> of<br />

lost packet as lost (Accuracy1) <strong>and</strong> Accuracy rate of<br />

predicti<strong>on</strong> of a not lost packet as not lost (Accuracy2).<br />

The range of accuracy values <strong>and</strong> average accuracy rates<br />

are as follows: For Accuracy1, the range is 47.33% to 73.98%<br />

<strong>and</strong> the average value is 53.77%. And for Accuracy2 range: is<br />

49.35% to 60.64% <strong>and</strong> average value is 54.61%.<br />

From the Fig. 2 <strong>and</strong> Fig.3 it can be observed that the<br />

resp<strong>on</strong>se of the algorithm is c<strong>on</strong>sistent <strong>and</strong> Accuracy2<br />

predicti<strong>on</strong> is relatively more c<strong>on</strong>sistent.<br />

V. COMPARISON WITH EXISTING TCP<br />

The existing TCP does not have an explicit loss predicti<strong>on</strong><br />

mechanism for fast retransmissi<strong>on</strong>. It fast retransmits the<br />

packet <strong>on</strong> receiving three duplicate acknowledgements. By<br />

using the proposed algorithm an average improvement at least<br />

54% for the accuracy of fast retransmissi<strong>on</strong> can be achieved.<br />

Please note that the improvement would be “at least 54%”<br />

because the existing mechanism of fast retransmissi<strong>on</strong> <strong>on</strong><br />

receiving three duplicate acknowledgements is retained in<br />

additi<strong>on</strong> to the lost predicting mechanism <strong>and</strong> our algorithm is<br />

like an add-<strong>on</strong> to the existing mechanism.<br />

VI. CONCLUSION<br />

We have presented a proactive mechanism for loss predicti<strong>on</strong><br />

based <strong>on</strong> c<strong>on</strong>tinuous learning. Though this algorithm is<br />

proposed for TCP, it is a general loss predicti<strong>on</strong> mechanism<br />

<strong>and</strong> can be used for other scenarios where the sender has to<br />

detect loss, provided that the protocol being used provides all<br />

the informati<strong>on</strong> needed for our algorithm. Further<br />

improvements can be made by making the learning<br />

mechanism more robust.<br />

ACKNOWLEDGMENT<br />

The first author thanks Dr. Ananthanarayana V. S., Prof <strong>and</strong><br />

Head of Dept. of Informati<strong>on</strong> Technology of Nati<strong>on</strong>al<br />

Institute of Technology Karnataka, Surathkal for his support<br />

<strong>and</strong> guidance during the various stages of project especially<br />

during the process of applying for sp<strong>on</strong>sorship from KSCST.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 290


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 2 Number of Packets correctly predicted as lost Vs Number of Packets lost<br />

Fig. 3 Number of Packets correctly predicted as not lost Vs Number of Packets not lost<br />

VII. REFERENCES<br />

[1] J.Bennett, C.Partridge <strong>and</strong> N.Shectman. “Packet reordering is not<br />

pathological network behavior”. IEEE/ACM Transacti<strong>on</strong>s <strong>on</strong><br />

Networking, 7(6):789 –798, December 1999.<br />

[2] E.Blant<strong>on</strong> <strong>and</strong> M.Allman. "On making TCP more robust to packet<br />

reordering". SIGCOMM <strong>Computer</strong> Communicati<strong>on</strong> Review, 2002.<br />

[3] Sally Floyd, “A Report <strong>on</strong> Recent Developments in TCP C<strong>on</strong>gesti<strong>on</strong><br />

C<strong>on</strong>trol” IEEE Communicati<strong>on</strong>s Magazine, April 2001.<br />

[4] S.Savage, A.Collins, E.Hoffman, J.Snell <strong>and</strong> T.Anders<strong>on</strong>, “The end-toend<br />

effects of Internet path selecti<strong>on</strong>,” in Proc. ACM SIGCOMM,<br />

August1999.<br />

[5] R.Teixeira, K.Marzullo, S.Savage <strong>and</strong> G.M.Voelker, “Characterizing<br />

<strong>and</strong> measuring path diversity of Internet topologies, “in Proc. ACM<br />

SIGMETRICS, June 2003.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 291


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[6] Sally Floyd, “A Report <strong>on</strong> Recent Developments in TCP C<strong>on</strong>gesti<strong>on</strong><br />

C<strong>on</strong>trol” IEEE Communicati<strong>on</strong>s Magazine, April 2001.<br />

[7] Allman, M., Paxs<strong>on</strong>, V., W. Stevens, “TCP C<strong>on</strong>gesti<strong>on</strong> C<strong>on</strong>trol”, RFC<br />

2581, April 1999.<br />

[8] Postel, J., "Internet C<strong>on</strong>trol Message Protocol", STD 5,RFC 792,<br />

September 1981.<br />

[9] White, K., "Definiti<strong>on</strong>s of Managed Objects for Remote Ping,<br />

Traceroute, <strong>and</strong> Lookup Operati<strong>on</strong>s", RFC 2925, September 2000.<br />

[10] V. Paxs<strong>on</strong> <strong>and</strong> M. Allman, "Computing TCP's Retransmissi<strong>on</strong><br />

Timer", RFC 2988, November 2000.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 292


R Radhakrishnan, Majid Jamil, Shabana Mehfuz, Moinuddin<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

<strong>Security</strong> Vulnerabilities in mobile IPv6<br />

1<br />

Abstract----Mobile IPv6 is a network-layer mobility protocol<br />

for the IPv6 Internet. Route optimizati<strong>on</strong> mechanism in IPv6<br />

makes mobility more efficient than in IPv4.The protocol<br />

includes several security mechanisms, such as the returnroutability<br />

tests for security of route optimizati<strong>on</strong> mechanism.<br />

This paper explains the security threats so far perceived due to<br />

address spoofing by a mobile node. This paper brings out an<br />

attack that can be launched by a corresp<strong>on</strong>dent node <strong>and</strong> the<br />

importance of comprehensive verificati<strong>on</strong> of all players in<br />

mobile IPv6 namely, corresp<strong>on</strong>dent node, home agent <strong>and</strong><br />

mobile node.<br />

Keywords---Binding update, Home agent, Mobile node,<br />

Route optimizati<strong>on</strong><br />

I. INTRODUCTION<br />

Mobile IPv6 protocol [1], allows a Mobile Node (MN)<br />

to move from <strong>on</strong>e link to another with packets getting<br />

routed to the MN through its Home Agent (HA), a router<br />

in its parent network link. This happens regardless of<br />

MN’s current point of attachment to the Internet because<br />

MN sends its current address, care of address (CoA), to<br />

HA through Binding Update (BU) packets that are first<br />

authenticated by HA [2]. When a peer for MN, called as<br />

Corresp<strong>on</strong>dent Node (CN), unaware of MN’s current<br />

locati<strong>on</strong>, first sends packets to MN at its home address, it<br />

is intercepted by HA <strong>and</strong> forwarded to MN. The MN<br />

sends the packets back to CN via HA or directly from its<br />

new locati<strong>on</strong>. Routing the data through a third entity like<br />

HA is not an efficient way of sending data. In Mobile<br />

IPv6, the packets can also be sent directly between the<br />

MN <strong>and</strong> its CN.<br />

This mode is called Route Optimizati<strong>on</strong> [1,3,4], which<br />

is not properly supported in Mobile IPv4 [5]. Route<br />

Optimizati<strong>on</strong> (RO) <strong>on</strong> a global scale between all MNs<br />

CNs is an efficient routing mechanism supported by<br />

Mobile IPv6.<br />

BU <strong>and</strong> Binding Acknowledgement (BA) between CN<br />

<strong>and</strong> MN establish RO. However a number of security<br />

threats like traffic redirecti<strong>on</strong>, replay attacks, inducing<br />

unnecessary binding updates, forcing of n<strong>on</strong>-optimized<br />

routing <strong>and</strong> reflecti<strong>on</strong> attacks have been identified<br />

relating to improper verificati<strong>on</strong> of CoA <strong>and</strong> Home<br />

address (HoA).<br />

This paper is organized as follows. Secti<strong>on</strong> II presents<br />

RO mechanism <strong>and</strong> BU authenticati<strong>on</strong> in MIPv6.<br />

<strong>Security</strong> threats to binding update are discussed in<br />

secti<strong>on</strong> III. This secti<strong>on</strong> explains a new threat, called as<br />

amplificati<strong>on</strong> attack, that can be launched by a<br />

corresp<strong>on</strong>dent node. Secti<strong>on</strong> IV discusses importance of<br />

verifying CN, HA <strong>and</strong> MN for securing mobile IPv6 <strong>and</strong><br />

the need for a soluti<strong>on</strong> based <strong>on</strong> PKI for securing mobile<br />

IPv6.<br />

II. ROUTE OPTIMIZATION IN MOBILE IPV6[6]<br />

The basic idea in Mobile IP is to allow a home agent<br />

(HA) to work as a stati<strong>on</strong>ary proxy for a mobile node<br />

(MN). Whenever the mobile node is away from its<br />

home network, the HA intercepts packets destined to the<br />

node <strong>and</strong> forwards the packets by tunneling them using<br />

IPv6 encapsulati<strong>on</strong> [7] to the node's current CoA. The<br />

transport layer (e.g., TCP, UDP) uses the home address<br />

as a stati<strong>on</strong>ary identifier for the mobile node. Figure 1<br />

illustrates this basic arrangement.<br />

CN in remote Network<br />

Triangular<br />

routing<br />

Rotue<br />

optimizati<strong>on</strong><br />

R Radhakrishnan is with Krishna Engineering college, Ghaziabad,<br />

UP,India; Email : radhakrishnan@kiet.edu<br />

Majid Jamil is in Department of Electrical Engineering, Jamia Millia<br />

Islamia, New Delhi, India. Email majidjamil@yahoo.com<br />

Shabana Mehfuz is in Department of Electrical Engineering, Jamia<br />

Millia Islamia, New Delhi, India. Email:<br />

mehfuz_shabana@yahoo.com<br />

Moinuddin is with NIT, Jall<strong>and</strong>har, India. Email:<br />

Prof_Moin@yahoo.com<br />

HA in Home<br />

Network<br />

MN in Foreign<br />

Network<br />

Fig 1: Illustrati<strong>on</strong> of triangular routing between CN, HA & MN<br />

<strong>and</strong> Route optimizati<strong>on</strong> between MN <strong>and</strong> CN.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 293


Proceedings of ICCNS 08 , 27-28 September 2008<br />

2<br />

The basic soluti<strong>on</strong> requires tunneling through the<br />

home agent, thereby leading to l<strong>on</strong>ger paths ( shown in<br />

bold paths in fig 1) <strong>and</strong> degraded performance. To avoid<br />

this degradati<strong>on</strong>, Mobile IPv6 includes Route<br />

Optimizati<strong>on</strong> feature ( shown as dotted paths in fig 1)<br />

whereby the MN <strong>and</strong> CN can directly exchange packets,<br />

bypassing the HA completely after an initial set up phase<br />

in which the CN learns the CoA of MN. After the initial<br />

set up the MN sends a Binding update message by which<br />

CN learns the authenticated CoA of MN.<br />

A. Binding update (BU) <strong>and</strong> Binding Acknowledgement<br />

(BA)<br />

A Binding Update (BU) is a message sent by a MN to<br />

notify a CN or the mobile node's HA of its CoA at its<br />

new locati<strong>on</strong>. A Binding Acknowledgement (BA)<br />

message is opti<strong>on</strong>ally sent by CN or HA to MN in<br />

resp<strong>on</strong>se to the received BU. The danger with BU is that<br />

if the BU is not authenticated then it can be spoofed. As<br />

shown in figure 2, an attacker at the address C sends a<br />

false binding update to B, claiming to be a mobile with<br />

the home address A. If B, acting in the role of a<br />

corresp<strong>on</strong>dent, believes the binding update <strong>and</strong> creates a<br />

binding, it will redirect to C all packets that are intended<br />

for A. Thus, the attacker can intercept packets sent by B<br />

to A. This can lead to the compromise of secrecy <strong>and</strong><br />

integrity as well as to denial-of-service because the<br />

target nodes are unable to communicate.<br />

Host A<br />

Attacker C<br />

1 Legitimate<br />

c<strong>on</strong>necti<strong>on</strong><br />

2 False BU<br />

BA<br />

3. Hijacked<br />

c<strong>on</strong>necti<strong>on</strong><br />

Host B<br />

Fig 2 : Attack due to unauthenticated Binding Update.<br />

B. B. Authenticati<strong>on</strong> of BU<br />

In order to authorize BU Mobile IPv6 defines a new<br />

IPv6 protocol, using the Mobility Header [1]. This<br />

Header is used to carry the following four messages:<br />

a) Home Test Init (HoTI)<br />

b) Home Test (HoT)<br />

c) Care-of Test Init (CoTI)<br />

d) Care-of Test (CoT)<br />

These four messages are used to perform the return<br />

routability (RR) procedure from the mobile node to a<br />

corresp<strong>on</strong>dent node. This RR procedure ensures<br />

authorizati<strong>on</strong> of subsequent Binding Updates. Figure 3<br />

below shows the message flow for the return routability<br />

procedure.<br />

MN HA CN<br />

HoTI<br />

HoT<br />

CoT<br />

Fig 3 : RR messages flow.<br />

HoTI<br />

CoTI<br />

HoT<br />

The HoTI message, which is reverse tunneled through<br />

HA, c<strong>on</strong>veys the MN’s home address to the<br />

corresp<strong>on</strong>dent node. The MN also c<strong>on</strong>veys its CoA<br />

directly to CN by the CoTI message. The CN <strong>on</strong> receipt<br />

of HoTI generates a Home keygen token, which is the<br />

first 64 bits of MAC of a secret key of CN ( kcn) <strong>and</strong><br />

HoA.<br />

Home keygen token :=<br />

First (64, HMAC_SHA1 (Kcn, (home address |<br />

n<strong>on</strong>ce | 0)))<br />

This home keygen token is sent by CN to MN via the<br />

HA through a HoT message in resp<strong>on</strong>se to a HoTI<br />

message. The CN <strong>on</strong> receipt of CoTI generates a Care of<br />

keygen token based <strong>on</strong> a secret key of CN ( kcn) <strong>and</strong><br />

CoA.<br />

Care-of keygen token :=<br />

First (64, HMAC_SHA1 (Kcn, (care-of address<br />

| n<strong>on</strong>ce | 1)))<br />

This Care of keygen token is sent by CN to MN<br />

directly through a CoT message in resp<strong>on</strong>se to a CoTI<br />

message. When the mobile node has received both the<br />

HoT <strong>and</strong> CoT messages, the return routability procedure<br />

is complete. To authorize a Binding Update, the mobile<br />

node creates a binding management key Kbm from the<br />

keygen tokens. The mobile node hashes the tokens<br />

together to form a 20 octet binding management key<br />

(Kbm).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 294


Proceedings of ICCNS 08 , 27-28 September 2008<br />

3<br />

Kbm =<br />

SHA1 (home keygen token | care-of keygen<br />

token)<br />

After the mobile node has created the Kbm, it can<br />

supply a verifiable BU to the corresp<strong>on</strong>dent node. The<br />

c<strong>on</strong>tent of BU message include a sequence number,<br />

n<strong>on</strong>ce, CoA <strong>and</strong> a MAC of (Kbm, (CoA | Address of CN<br />

| BU)).<br />

III. SECURITY THREATS TO BU<br />

AUTHENTICATION<br />

The RR protocol mainly provides two checks. Firstly,<br />

the HoTI <strong>and</strong> HoT messages authorizes the sender of the<br />

binding update to change the binding for the home<br />

address. Sec<strong>on</strong>dly, CoTI <strong>and</strong> COT messages authorize<br />

the sender of the BU to request data to the care-ofaddress.<br />

Though this RR test solved threats such as<br />

unauthorized traffic redirecti<strong>on</strong>, replay attacks <strong>and</strong><br />

reflecti<strong>on</strong> attacks, there are attacks like state-storage<br />

exhausti<strong>on</strong> <strong>and</strong> DOS attack still to be resolved [8].<br />

RR protocol assumes that an attack does not originate<br />

from a CN. Such a situati<strong>on</strong> that an attacker can be a CN<br />

has not been brought out so far. This secti<strong>on</strong> brings out<br />

<strong>on</strong>e more attack in which the attacker is CN <strong>and</strong> the<br />

victims are HoA, MN <strong>and</strong> node whose address is stolen<br />

by the attacker. This attack we call as Amplificati<strong>on</strong><br />

attack. These attacks are briefly described below.<br />

A. CPU, State-storage exhausti<strong>on</strong><br />

Authenticati<strong>on</strong> protocols are often vulnerable to<br />

flooding attacks that exploit the protocol features to<br />

c<strong>on</strong>sume the target node's computing power. In the case<br />

of RR procedure, a rogue node posing as a MN can flood<br />

a target (CN) with HoTI <strong>and</strong> CoTI messages that cause<br />

the CN to perform expensive repeated generati<strong>on</strong> of<br />

Home keygen <strong>and</strong> Care of keygen tokens. This can cause<br />

exhausti<strong>on</strong> of computing power especially if the CN is a<br />

low-end mobile device.<br />

B. DOS attack<br />

BU authenticati<strong>on</strong> is a stateful protocol <strong>and</strong> it exposes<br />

the protocol participants to denial of service attacks. In<br />

particular, if a host stores a state as a result of an<br />

unauthenticated message, an attacker can initiate the<br />

protocol many times <strong>and</strong> cause the host to store a large<br />

number of unnecessary protocol states.<br />

Figure 4 shows such an attack relating to BU<br />

authenticati<strong>on</strong> protocol. The attacker, a rogue MN, sends<br />

a HoTI message with a false home address <strong>and</strong> a CoTI<br />

message with false care-of address. The CN resp<strong>on</strong>ds<br />

with two r<strong>and</strong>omly chosen secret values, which it has to<br />

remember until it receives the authenticated BU. If the<br />

attacker repeats this many times, the victim CN may not<br />

be able to store all the state data <strong>and</strong> may drop some<br />

initial messages. This may prevent legitimate MNs from<br />

using route optimizati<strong>on</strong> with the CN. The attack is<br />

similar to the SYN-flooding attack against the TCP<br />

protocol.<br />

CoT<br />

Unnecessary states<br />

<br />

Fig 4: DOS attack<br />

HoT<br />

CN<br />

Flase HoTI<br />

<strong>and</strong> CoTI<br />

messages<br />

MN<br />

DOS attacker<br />

C. Amplificati<strong>on</strong> attack<br />

Figure 5 shows the CN as an attacker. The CN spoofs<br />

the address of a victim node V <strong>and</strong> sends a message (1)<br />

to a node, which has moved away from its home<br />

network. The HA forwards the CN’s message (2) to MN,<br />

which then initiates the RR protocol for Route<br />

optimizati<strong>on</strong> between MN <strong>and</strong> CN’s spoofed address of<br />

V. Message 3 is HoTI from MN to V. Message 4 is CoTI<br />

from MN to V. In resp<strong>on</strong>se, V generates Home keygen<br />

<strong>and</strong> care of keygen tokens <strong>and</strong> sends messages, 5 <strong>and</strong> 6,<br />

which are HoT <strong>and</strong> CoT respectively. MN now<br />

calculates kbm <strong>and</strong> send BU in message 7. Message 8 is<br />

BA from V to MN.<br />

In this attack a single message from the attacker gets<br />

amplified into 8 unwanted messages <strong>and</strong> also results in<br />

unwanted computati<strong>on</strong>s in MN <strong>and</strong> victim node V. This<br />

attack can take serious dimensi<strong>on</strong>s if the attacker (a CN )<br />

is able to spoof a number of addresses <strong>and</strong> target many<br />

victims. Presently, RR procedure has no mechanism to<br />

validate a CN. Every new message from a malicious CN<br />

to a MN via an HA will result in 8 unwanted messages<br />

<strong>and</strong> unnecessary computati<strong>on</strong>s at MN <strong>and</strong> victim nodes.<br />

Further a rogue CN can extend this to many more HA<br />

resulting in a large scale attack across many networks.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 295


Proceedings of ICCNS 08 , 27-28 September 2008<br />

4<br />

IV. CONCLUSION<br />

The RR procedure sets up a secure BU for RO by<br />

validating HA <strong>and</strong> MN. RR procedure does this without<br />

relying <strong>on</strong> any external infrastructure support. However,<br />

certain security threats still persist. A CN is not validated<br />

at all in RR procedure resulting in new threats like<br />

amplificati<strong>on</strong> attack. In order to remove the security<br />

vulnerabilities in mobile IPv6, all the three players<br />

namely, CN, HA <strong>and</strong> MN are needed to be<br />

comprehensively authenticated <strong>and</strong> verified for<br />

reachability. Since IPv6 has end to end addressing<br />

capability, mobile IPv6 will possibly need support from<br />

a Public Key Infrastructure such as UMU-PKIv6<br />

developed by the University of Murcia [9], to strengthen<br />

its security.<br />

CN<br />

Attacker<br />

Victim<br />

V<br />

1<br />

3<br />

6 4 8<br />

5<br />

7<br />

HA<br />

3<br />

5<br />

MN<br />

2<br />

Fig 5: Shows how a single message from attacker CN results in<br />

8 unwanted messages.<br />

REFERENCES<br />

[1]. C. Perkins, Nokia Research Center; J. Arkko, Ericss<strong>on</strong>; June<br />

2004, RFC 3775 “Mobility Support in IPv6”.<br />

[2]. A.Patel, K. Leung, M. Khalil, H. Akhtar, K. Chowdhury;<br />

Authenticati<strong>on</strong> Protocol for Mobile IPv6;RFC 4285, January<br />

2006.<br />

[3] S.H. Hwang, B.K. Lee, Y.H. Han, C.S. Hwang; An adaptive<br />

hierarchical mobile IPv6 with route optimizati<strong>on</strong>; In Proceedings<br />

of Vehicular Technology <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, April 2003.<br />

[4] CE Perkins, DB Johns<strong>on</strong>; Route Optimizati<strong>on</strong> for Mobile IP; In<br />

Proceedings of Cluster Computing, 1998 – Springer.<br />

[5] C Perkins; IP Mobility Support for IPv4; RFC 3344, 2002.<br />

[6] P. Nik<strong>and</strong>er, J. Arkko, Ericss<strong>on</strong> Research NomadicLab; T. Aura,<br />

Microsoft Research, G. M<strong>on</strong>tenegro, Microsoft Corporati<strong>on</strong>, E.<br />

Nordmark, Sun Microsystems; December 2005, RFC 4225,<br />

Mobile IP Versi<strong>on</strong> 6 Route Optimizati<strong>on</strong> <strong>Security</strong> Design<br />

Background.<br />

[7] C<strong>on</strong>ta, A. <strong>and</strong> S. Deering, December 1998. RFC 2473, "Generic<br />

Packet Tunneling in IPv6 Specificati<strong>on</strong>".<br />

[8] Tuomas Aura, Michael Roe, Annals of telecommunicati<strong>on</strong>s, Vol.<br />

61 no:3-4, March-April 2006, Network <strong>and</strong> informati<strong>on</strong> systems<br />

security. Designing the Mobile IPv6 <strong>Security</strong> Protocol.<br />

[9] Ant<strong>on</strong>io F. Gómez Skarmeta, Gregorio Martínez Pérez, Óscar<br />

Cánovas Reverte. Elsevier Future Generati<strong>on</strong> <strong>Computer</strong> Systems,<br />

Vol. 19, No. 2, 2003 “New <strong>Security</strong> Services based <strong>on</strong> PKI".<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 296


A Study <strong>on</strong> Comparis<strong>on</strong> <strong>and</strong> C<strong>on</strong>trast between IPv6<br />

<strong>and</strong> IPv4 Feature Sets<br />

J. Hanumanthappa 1 <strong>and</strong> Manjaiah D.H 2<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract- This document provides an analysis <strong>and</strong> comparis<strong>on</strong> of<br />

IPv4 <strong>and</strong> IPv6 under various circumstances. It is well understood<br />

that IPv6 has been designed to replace IPv4. We have d<strong>on</strong>e a<br />

feature-by-feature comparis<strong>on</strong> <strong>and</strong> c<strong>on</strong>trast of IPv6 versus IPv4<br />

<strong>and</strong> found that IPv6 offers many unique opportunities for<br />

increasing a network architectures efficiency <strong>and</strong> agility. In some<br />

sense, there is a competiti<strong>on</strong> going <strong>on</strong> between these protocols, as<br />

they are not directly compatible, <strong>and</strong> network providers <strong>and</strong> users<br />

are being forced to determine whether to support <strong>on</strong>e or both<br />

protocols for various network services. The new versi<strong>on</strong> of IP,(i.e.<br />

IPv6), c<strong>on</strong>stitutes an effort to overcome the inborn limitati<strong>on</strong>s of<br />

IPv4, in order for the new protocol be able to resp<strong>on</strong>d to the new<br />

needs as they shape today in the Internet. This paper is aimed to<br />

discuss about various comparis<strong>on</strong> issues when porting an IPv4<br />

applicati<strong>on</strong> to IPv6 with focus <strong>on</strong> issues that an applicati<strong>on</strong><br />

developer would face rather than a complete API reference.IPv4 is<br />

the incumbent <strong>and</strong> currently has the most widespread usage for<br />

c<strong>on</strong>venti<strong>on</strong>al Internet applicati<strong>on</strong>s.IPv6 is a large-scale re-design<br />

<strong>and</strong> re-engineering of IPv4, based <strong>on</strong> many less<strong>on</strong>s learned as the<br />

IPv4-based Internet grew <strong>and</strong> was used in unforeseen ways.<br />

Keywords- IPv4, IPv6, Multicast, Quality of service (QOS),<br />

Routing.<br />

T<br />

I. INTRODUCTION<br />

HE primary motivati<strong>on</strong> for change arises from the<br />

limited address space. When IPV6 deployed <strong>on</strong> a large<br />

scale it has solved many current networking problems.<br />

When IP was defined , <strong>on</strong>ly a few computer networks has<br />

existed Then the designers decided to use 32 bits for an IP<br />

address because doing so allowed the Internet to include<br />

over a milli<strong>on</strong> networks. However, the global Internet is<br />

growing exp<strong>on</strong>entially, with the size doubling in less than a<br />

year. Currently, two versi<strong>on</strong>s of the Internet Protocol (IP)<br />

are in use <strong>on</strong> the Internet. In some sense, there is a<br />

competiti<strong>on</strong> going <strong>on</strong> between these protocols, as they are<br />

not directly compatible, <strong>and</strong> network providers <strong>and</strong> users<br />

are being forced to determine whether to support <strong>on</strong>e or<br />

both protocols for various network services. IP versi<strong>on</strong> 4<br />

(IPv4) is the incumbent <strong>and</strong> currently has the most<br />

widespread usage for c<strong>on</strong>venti<strong>on</strong>al Internet applicati<strong>on</strong>s. IP<br />

versi<strong>on</strong> 6 (IPv6) is a large-scale re-design <strong>and</strong> reengineering<br />

of IPv4, based <strong>on</strong> many less<strong>on</strong>s learned as the<br />

IPv4-based Internet grew <strong>and</strong> was used in unforeseen ways.<br />

Hanumanthappa .J., Dos in <strong>Computer</strong> Science, University of<br />

Mysore, Manasagangothri, Mysore, Karnataka .INDIA ( ph<strong>on</strong>e: +091-<br />

821-2419552; fax: +091-0821-2510789,Email: hanums_j@yahoo.com )<br />

Dr.Manjaiah.D.H Reader, Mangalore University,<br />

Mangalagangothri , Mangalore, Karnataka, INDIA. (ph<strong>on</strong>e: +091 - 0824 -<br />

2287670; fax: +091 - 0824 - 2287424 Email: ylm321@yahoo.co.in )<br />

Although it would seem obvious that IPv6 is a superior <strong>and</strong><br />

valuable protocol to deploy, there is often c<strong>on</strong>siderable<br />

resistance to enabling IPv6 because Decisi<strong>on</strong>-makers have<br />

difficulty in seeing a business case for IPv6, unsure of how<br />

it can be less costly, more efficient, more productive, etc<br />

than the IPv4 status quo. Also, some analysts have<br />

propagated significant amounts of misinformati<strong>on</strong> about<br />

IPv6 over the last several years. The primary motivati<strong>on</strong> for<br />

the defining a new versi<strong>on</strong> of IP arises from the address<br />

space limitati<strong>on</strong>- larger addresses are necessary to<br />

accommodate c<strong>on</strong>tinued growth of Internet. The sec<strong>on</strong>dary<br />

motivati<strong>on</strong> for the changes in IP has arisen from the new<br />

Internet applicati<strong>on</strong>s. For example, an applicati<strong>on</strong>s that<br />

deliver audio <strong>and</strong> video need to deliver data at regular<br />

intervals. In this paper we have also c<strong>on</strong>trasted the various<br />

features of IPv4 <strong>and</strong> IPv6.<br />

A. The serious problems of IPv4 are as follows<br />

1. Insufficient number of unique “valid” addresses.<br />

2. Routing tables at core are becoming unmanageably<br />

large.<br />

3. Fixed length headers are not flexible enough for new<br />

functi<strong>on</strong>ality.<br />

4. Packet size (<strong>and</strong> Practice of fragmentati<strong>on</strong>) is<br />

inefficient.<br />

B. The next–generati<strong>on</strong> IPv6 has some advantages over<br />

IPv4 that can be summarized as follows<br />

(i). Larger address space: An IPv6 address is 128 bits l<strong>on</strong>g.<br />

Compared with the 32-bit address of IPv4, this is a huge<br />

(2 96 ) increase in the address space.<br />

(ii). IPv6 addressing: An IPv6 address c<strong>on</strong>sists of 16 bytes<br />

(octets).It is 128 bits l<strong>on</strong>g.<br />

To make address more readable, IPv6 specifies<br />

hexadecimal col<strong>on</strong> notati<strong>on</strong>. In notati<strong>on</strong> 128 bits are divided<br />

into eight secti<strong>on</strong>s, each 2 bytes in length. Two bytes in<br />

hexadecimal notati<strong>on</strong> require four hexadecimal digits.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 297


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Therefore address c<strong>on</strong>sists of 32 hexadecimal digits with<br />

every four digits separated by a col<strong>on</strong>. Although the IP<br />

address, even in hexadecimal format, is very l<strong>on</strong>g, many of<br />

the digits are zeros. In this we can abbreviate the address.<br />

The leading zeros of a secti<strong>on</strong> can be omitted .Only the<br />

leading zeros can be dropped, not the trailing zeros. The<br />

below figure shows abbreviated IPv6 address.<br />

G. Support for more security: The encrypti<strong>on</strong> <strong>and</strong><br />

authenticati<strong>on</strong> opti<strong>on</strong>s in IPv6 provide c<strong>on</strong>fidentiality <strong>and</strong><br />

Integrity of the packet.<br />

H. Flow Labeling Capability: A new capability is added to<br />

enable the labeling of packets bel<strong>on</strong>ging to particular traffic<br />

“flows” for which the sender requests special h<strong>and</strong>ling,<br />

such as n<strong>on</strong>-default quality of service or “real-time”<br />

service.<br />

I. II. COMPARISON AND CONTRAST BETWEEN IPV6<br />

AND IPV4 FEATURE ISSUES<br />

C.Better header format: IPv6 uses a new header format in<br />

which opti<strong>on</strong>s are separated from the base header <strong>and</strong><br />

inserted, when needed, between the base header <strong>and</strong> the<br />

upper –layer data. This simplifies <strong>and</strong> speeds up the routing<br />

process because most of the opti<strong>on</strong>s do not need to be<br />

checked by routers.<br />

D. New opti<strong>on</strong>s: Changes in the way IP header opti<strong>on</strong>s are<br />

encoded allows for more efficient forwarding, less stringent<br />

limits <strong>on</strong> the length of opti<strong>on</strong>s, <strong>and</strong> greater flexibility for<br />

introducing new opti<strong>on</strong>s in the future.<br />

E. Allowance for resource allocati<strong>on</strong>: IPv6 is designed to<br />

allow the extensi<strong>on</strong> of the protocol if required by new<br />

technologies or applicati<strong>on</strong>s.<br />

F. Support for resource allocati<strong>on</strong>: In IPv6, the type –of<br />

service field has been removed, but a mechanism called<br />

flow label has been added to enable the source to request<br />

special h<strong>and</strong>ling of the packet. This mechanism can be used<br />

to support traffic such as real-time audio <strong>and</strong> video.6.IPv6<br />

enables addressing architectures that scale well in terms of<br />

the number of nodes <strong>and</strong> sub networks, the size of subnet<br />

works, <strong>and</strong> the degree of change within subnet works this<br />

includes typically-encountered cases where IPv4 becomes<br />

difficult to use robustly. Global routing tables in IPv6 are<br />

potentially much simpler than their IPv4 counterparts, <strong>and</strong><br />

thus require lower memory <strong>and</strong> computati<strong>on</strong>al resources. In<br />

resource-c<strong>on</strong>strained envir<strong>on</strong>ments, IPv6 requires less<br />

processing than IPv4, which can result in reduced power<br />

dem<strong>and</strong>s <strong>and</strong> latencies, especially for routers. 8. The flowlabel<br />

in IPv6 is an enabler for per-flow Quality of Service<br />

with simpler algorithms <strong>and</strong> more efficient implementati<strong>on</strong>s<br />

that also permit the remainder of a packet to be encrypted,<br />

all of which are precluded in IPv4. Network <strong>and</strong> device<br />

security is boosted in IPv6 based <strong>on</strong> address manipulati<strong>on</strong><br />

techniques <strong>and</strong> secure neighbor discovery features that have<br />

no IPv4 counterparts. Routing for mobile nodes is more<br />

efficient in IPv6 than in IPv4. Smooth h<strong>and</strong>over techniques<br />

for IPv6 also exist with no IPv4 equivalents. Current<br />

st<strong>and</strong>ards activities indicate that many future features may<br />

be developed for IPv6, but not necessarily for IPv4<br />

While IPv4 <strong>and</strong> IPv6 are similar in much of their basic<br />

framework, there are also many differences.<br />

From first glance, there are obviously differences in the<br />

addresses between IPv4 <strong>and</strong> IPv6. The graphic below<br />

shows an IP address for both versi<strong>on</strong>s of IP.<br />

IPv4 Address Example: 125.12.3.65, IPv6 Address<br />

Example: 2145:00D5:2F3B:0000:0000:00FF:EF00:98F3.<br />

Removing zeros can also reduce the IPv6 address. Zeros<br />

can be removed when they are leading in <strong>and</strong> within any 16<br />

bit block. The address from the previous example could be<br />

reduced using this to the following representati<strong>on</strong>. Note that<br />

in the example the block of EF00 does not lose its zeros<br />

because they are at the end of the block.<br />

IPv6 Address with Leading Zeros Removed:<br />

2145:D5:2F3B:0:0: FF: EF00: 98F3<br />

Compressing zeros can further reduce IPv6 addresses. A<br />

c<strong>on</strong>tiguous block of zeros within a 16 bit block can be<br />

removed. The blocks of zeros are then represented by<br />

double col<strong>on</strong>s:: For example, the IPv6 Multicast address of<br />

FF02:0000:0000:0000:0000:0000:0000:0002 can be<br />

reduced to FF02::2 using compressi<strong>on</strong>.IPv6 Address with<br />

Compressed <strong>and</strong> Removed Zeros:<br />

2145:D5:2F3B:: FF: EF00: 98F3 IPv6 performs pretty<br />

much the same functi<strong>on</strong>s as IPv4, but in a more reliable<br />

manner, with larger addresses <strong>and</strong> more flexible <strong>and</strong><br />

efficient packet headers. Today the internet has grown to be<br />

a milli<strong>on</strong>-network, which is something with startling<br />

c<strong>on</strong>sequences. For instance, <strong>on</strong>e of the most publicized<br />

c<strong>on</strong>sequences of this growth has been the depleti<strong>on</strong> of the<br />

internet address space. Initially, the Internet’s address space<br />

c<strong>on</strong>sisted of 2 32 addresses about 4 billi<strong>on</strong> addresses. Today,<br />

however, that amount is insufficient, even more if we<br />

c<strong>on</strong>sider emerging new technologies such as 3G/4G<br />

wireless devices <strong>and</strong> other wireless appliances [1].However<br />

many issues to be c<strong>on</strong>sidering while comparing the IPv4<br />

with IPv6.<br />

A. Addressing:<br />

The most obvious difference between IPv6 <strong>and</strong> IPv4 is that<br />

IPv6 addresses are128 bits [1], whereas IPv4 addresses are<br />

<strong>on</strong>ly 32 bits [2]. This increase in the raw number of bits<br />

means that there is a factor of 2 96 more addresses available<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 298


Proceedings of ICCNS 08 , 27-28 September 2008<br />

in IPv6 than in IPv4. Due to the way that the address spaces<br />

are sub netted, scoped, <strong>and</strong> defined for multicast,<br />

private/experimental use, <strong>and</strong> other factors, the actual<br />

c<strong>on</strong>trast is less direct than this simple factor. In IPv4 the<br />

addresses are 32 bit addresses represented by using three<br />

notati<strong>on</strong>s.1.Dotted-decimal –notati<strong>on</strong>, 2.Hexadecimal<br />

notati<strong>on</strong>, 3.Binary notati<strong>on</strong>. In Dotted-decimal-notati<strong>on</strong> the<br />

IP address is represented as 10.1.3.7., whereas in<br />

Hexadecimal notati<strong>on</strong> the <strong>on</strong>e IP address is represented as<br />

OX810BOBEF or 810BOBEF 16 , whereas in Binary<br />

notati<strong>on</strong> the <strong>on</strong>e IP address is represented as 10000001<br />

0000 1011 0000 1011 1110 11111.<br />

B. IPv6 addressing: An IPv6 address c<strong>on</strong>sists of 16 bytes<br />

(octets).It is 128 bits l<strong>on</strong>g.<br />

An IPv4 address has 32 bits, whereas an IPv6 address<br />

c<strong>on</strong>tains 128 bits. The 128 bits in an IPv6 address are split<br />

between the network <strong>and</strong> host addresses. There are 64 bits<br />

for the network address <strong>and</strong> 64 bits for the host address.<br />

Due to the larger address space, the number of available<br />

addresses jumps from 4,294,967,296 in IPv4 to<br />

340,282,366,920,938,463,463,374,607,431,768,211,456 (or<br />

3.4X10^38) in IPv6. IPv6’s address is also separated using<br />

a different format. IPv4 uses a dotted decimal <strong>and</strong> IPv6 uses<br />

a col<strong>on</strong>-hex format. The larger address space allows for<br />

clearer addressing <strong>and</strong> routing. It also allows for multiple<br />

interfaces per host <strong>and</strong> multiple addresses per interface.<br />

C. Hierarchical addressing: We will use Unicast, broad<br />

cast, <strong>and</strong> multi cast addresses in IPv4 .In IPv6 there are<br />

three major types of addresses: unicast, multicast, <strong>and</strong> any<br />

cast addresses. Unicast addresses are assigned to a single<br />

IPv6 node. Multicast addresses are assigned to multiples<br />

nodes within a single multicast group. Packets sent to a<br />

multicast address must be delivered to all members of the<br />

same multicast group. On the other h<strong>and</strong>, although any cast<br />

addresses are also assigned to groups of nodes, they do not<br />

need to be delivered to all members of the group—it is<br />

sufficient that <strong>on</strong>e node receives the packets. Additi<strong>on</strong>ally,<br />

IPv6 defines a new routing infrastructure that provides for<br />

more efficient <strong>and</strong> smaller routing tables The IPv6 address<br />

space supports three types of address; Unicast, Multicast<br />

<strong>and</strong> Any cast. IPv6 Multicast addressing absorbs the role of<br />

IPv4’s broadcast addresses, which is no l<strong>on</strong>ger present. The<br />

biggest change is the introducti<strong>on</strong> of the any cast address.<br />

Any cast addressing allows multiple nodes to be assigned<br />

the same any cast Address. When packets are sent to this<br />

address routing decides which node is closest to the source<br />

<strong>and</strong> routes the traffic to it. Anycast addresses could be<br />

useful in setting up mirror websites, with different physical<br />

locati<strong>on</strong>s being accessible through the same Anycast<br />

address. A user trying to access this site would then be<br />

routed to the closest site, resulting in a better experience.<br />

Addressing enhancements result in reduced administrative<br />

overhead. The teaming of IPv6 Neighbor Discovery <strong>and</strong><br />

address auto c<strong>on</strong>figurati<strong>on</strong> allows hosts to operate in any<br />

locati<strong>on</strong> without any special support. Renumbering is made<br />

easier, resulting in less manual attenti<strong>on</strong> by support <strong>and</strong><br />

network administrators. Renumbering also makes transiti<strong>on</strong><br />

from ISP to ISP or network segment to segment much<br />

easier <strong>and</strong> potentially seamless. Stateless <strong>and</strong> Stateful<br />

address c<strong>on</strong>figurati<strong>on</strong> assist in making IP c<strong>on</strong>figurati<strong>on</strong> <strong>and</strong><br />

planning easier. Stateless c<strong>on</strong>figurati<strong>on</strong> works without a<br />

DHCP server, while Stateful is a c<strong>on</strong>figurati<strong>on</strong> that has a<br />

DHCP server present.<br />

Address Auto c<strong>on</strong>figurati<strong>on</strong> allows for a node to make use<br />

of router discovery to determine router addresses, network<br />

c<strong>on</strong>figurati<strong>on</strong> parameters, <strong>on</strong>-link prefixes <strong>and</strong> additi<strong>on</strong>al<br />

addresses. What makes Address Auto c<strong>on</strong>figurati<strong>on</strong> so<br />

impressive is that while it requires a multicast capable<br />

interface, it is possible without the use of DHCP. Through<br />

proper c<strong>on</strong>figurati<strong>on</strong> <strong>and</strong> planning, this can reduce the<br />

overhead caused by DHCP management in large<br />

organizati<strong>on</strong>s <strong>and</strong> ISP’s.<br />

With a new addressing scheme comes a new way of<br />

h<strong>and</strong>ling name resoluti<strong>on</strong> through DNS. The DNS changes<br />

required to support IPv6 are specified in RFC 1886. As part<br />

of the interim transiti<strong>on</strong> from IPv4 to IPv6, it is possible to<br />

register an IPv6 address <strong>on</strong> a DNS server as an IPv4<br />

address. This is important if a c<strong>on</strong>sumer’s ISP has not<br />

moved to IPv6 for DNS <strong>and</strong> the c<strong>on</strong>sumer would prefer to<br />

use IPv6 DNS. The figure below shows a WHOIS lookup<br />

in which the domain has an IPv6 address <strong>and</strong> is found<br />

through IPv4 DNS.<br />

This example shows a WHOIS registrati<strong>on</strong> record from the<br />

registrar Network Soluti<strong>on</strong>s. The initial resoluti<strong>on</strong> with<br />

Network Soluti<strong>on</strong>s is an IPv4 address, the DNS server from<br />

which the record was retrieved.<br />

(i).Unicast addresses: Aside from a few blocks set aside for<br />

local-use, multicast, or other specific functi<strong>on</strong>s, the majority<br />

of the IPv4’s 32-bit address space is designated for global<br />

unicast addresses [3].Unicast addresses identify a single<br />

interface within the scope of a particular type of unicast<br />

address .The scope of an address is the regi<strong>on</strong> of the IPv6<br />

network over which the address is unique. With the<br />

appropriate unicast routing topology, packets addressed to a<br />

unicast address are delivered <strong>on</strong>ly to a single interface. In<br />

the IPv4 addressing architecture2, IANA delegates<br />

Regi<strong>on</strong>al Internet Registries (RIRs) /8 address blocks (8-bit<br />

network identifiers, also historically called “class A”<br />

address blocks), which the RIRs can then divide into<br />

variable-length blocks for further assignment to ISPs or<br />

other registries [6, 7]. In this regime, the maximum address<br />

block that a site can ever be given is a /8, which leaves <strong>on</strong>ly<br />

24 bits for sub netting <strong>and</strong> addressing within the<br />

organizati<strong>on</strong>. Historically, large or complex organizati<strong>on</strong>s<br />

have required multiple /8s. For instance, at least 7 /8s<br />

bel<strong>on</strong>g to the US Department of Defense. C<strong>on</strong>sidering there<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 299


Proceedings of ICCNS 08 , 27-28 September 2008<br />

are <strong>on</strong>ly 256 such blocks, the IPv4 address space can be<br />

seen as severely limited in its ability to provide unique<br />

addresses to the elements of large organizati<strong>on</strong>s worldwide.<br />

To compound matters, even using multiple /8s is a poor<br />

soluti<strong>on</strong>, since there is no guarantee that the blocks will be<br />

numerically c<strong>on</strong>tinuous, <strong>and</strong> if they are not, then both the<br />

local numbering scheme may be awkward, <strong>and</strong> multiple<br />

global routing table entries will be stored <strong>and</strong> propagated<br />

for the same site. In recent years, many IPv4 users have<br />

circumvented these issues by using Network Address<br />

Translators (Nat’s), although this practice is known to be<br />

fraught with problems of its own. Unicast address is a <strong>on</strong>e<br />

address <strong>on</strong> a single interface <strong>and</strong> also it is delivery to a<br />

single interface.<br />

The following are types of unicast IPv6 addresses:<br />

Aggregately global unicast addresses. Identified by the<br />

format prefix (FP) of 001, these addresses are equivalent to<br />

public IPv4 addresses. Local-use unicast addresses. Provide<br />

two types of addresses:<br />

(a). Link-local addresses. Identified by the FP of 1111 1110<br />

10, these addresses are<br />

Used by nodes when they are communicating with<br />

neighboring nodes <strong>on</strong> the same link.<br />

(b). Site-local addresses. Identified by the FP of 1111 1110<br />

11, these addresses are equivalent to the IPv4 private<br />

address space. Use these addresses between nodes that<br />

communicate with other nodes in the same site The<br />

documented policy for the downstream assignment from<br />

RIRs to Local Internet Registries (LIRs) is that each LIR<br />

receive a minimum of a /32, <strong>and</strong> the minimized address<br />

block that an LIR can then give to a site is a /48 block3.<br />

Since an Ipv6 site can expect at a minimum, a /48, this<br />

allows for 16 bits of sub netting space <strong>and</strong> 64 bits for<br />

interface identifiers within a subnet (80 bits combined).<br />

C<strong>on</strong>trast this to an Ipv4 site that can expect a maximum of a<br />

/8 block, leaving <strong>on</strong>ly 24 bits of space to be used for sub<br />

netting <strong>and</strong> host addressing combined. Since in reality, the<br />

vast majority of Ipv4 sites do not get /8s, but rather /16s or<br />

/24s, there are more likely to be <strong>on</strong>ly 4 to 8 bits left for<br />

identifying hosts within a subnet, using global addresses.<br />

address of 127.0.0.1.in Class – A, 127.127.0.0 in Class-B,<br />

127.127.127.0 in Class – C.<br />

The Ipv4 loopback address is an integer type<br />

INADDR_LOOPBACK. The Ipv6 loopback address is<br />

an in6_addr structure defined in . For<br />

example:<br />

Header file<br />

<br />

sin6.sin6_addr =<br />

in6addr_loopback;<br />

The symbolic c<strong>on</strong>stant named<br />

IN6ADDR_LOOPBACK_INIT is defined in<br />

. Use it <strong>on</strong>ly when declaring a sockaddr_in6<br />

struct.<br />

For example: struct in6_addr loopbackaddr =<br />

IN6ADDR_LOOPBACK_INIT<br />

A. D. Unspecified address (This host <strong>on</strong> this network<br />

address):-This is an address in which the prefix part as well<br />

as suffix part are zero. In other words the entire address<br />

c<strong>on</strong>sists of zeros. It used <strong>on</strong>ly to indicate the absence of an<br />

address, this type of address cannot be assigned to a node.<br />

This type of address is used by a host at bootstrap time<br />

when it does not know its ip address. We can use this type<br />

of address as a source address. The unspecified address<br />

can’t be used as a destinati<strong>on</strong> address. The Ipv6 unspecified<br />

address, 0:0:0:0:0:0:0:0 or ::, is equivalent to the Ipv4<br />

unspecified address of 0.0.0.0.<br />

B. E. C<strong>on</strong>cept of Class full v/s Classless addressing: The Ipv4<br />

is broadly divided into Class-A, Class-B, Class-C, Class-D,<br />

<strong>and</strong> Class-E types, where as Ipv6 Classless is addressing.<br />

C. F. C<strong>on</strong>cept of Netid <strong>and</strong> Host id:- The Net id is also called<br />

as Prefix part. It is a porti<strong>on</strong> of an IP address that defines a<br />

network. Where as Host id is a porti<strong>on</strong> of an IP address<br />

which identifies a host or router <strong>on</strong> the network. It is also<br />

called as suffix secti<strong>on</strong>. We will use prefix <strong>and</strong> suffix in<br />

Class-A, Class-B as well as Class-C addresses in Ipv4.The<br />

Netid in Class-A is 8 bits <strong>and</strong> Hostid is 24 bits, where as in<br />

Class-B the Net id is 16 bits <strong>and</strong> Host id also 16 bits, <strong>and</strong> in<br />

Class-C the Netid is 24 bits <strong>and</strong> Hostid is 8 bits. The netid<br />

<strong>and</strong> Hostid in Ipv6 are totally different from Ipv4. The first<br />

64 bits address space of an Ipv6 address is c<strong>on</strong>sidered as<br />

Netid <strong>and</strong> another 64 bits address space is c<strong>on</strong>sidered as a<br />

Hostid. The below figure represents a Netid <strong>and</strong> Hostid in<br />

Ipv4.<br />

(c). Loop back address:-This is as address used by a host to<br />

test itself without going into the network. It is used to<br />

identify a loop back interface, which enables a node to send<br />

packets to it. In this case a message is created in the<br />

applicati<strong>on</strong> layer, sent to the transport layer, <strong>and</strong> passed to<br />

the network layer. However instead of going to the physical<br />

network, it returns to the transport layer <strong>and</strong> then passes to<br />

the applicati<strong>on</strong> layer. The IPv6 loop back address,<br />

0:0:0:0:0:0:0:1 or :: 1, is equivalent to the Ipv4 loop back<br />

D. G. Address allocati<strong>on</strong>:- Usually in Ipv4, addresses were<br />

allocated by network class. As address space is depleted,<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 300


Proceedings of ICCNS 08 , 27-28 September 2008<br />

smaller allocati<strong>on</strong>s using Classless Inter-Domain Routing<br />

(CIDR) are made. Allocati<strong>on</strong> has not been balanced am<strong>on</strong>g<br />

instituti<strong>on</strong>s <strong>and</strong> nati<strong>on</strong>s; where as in Ipv6 Allocati<strong>on</strong> is in<br />

the earliest stages. The Internet Engineering Task Force<br />

(IETF) <strong>and</strong> Internet Architecture Board (IAB) have<br />

recommended that essentially every organizati<strong>on</strong>, home, or<br />

entity be allocated a /48 subnet prefix length. This would<br />

leave 16 bits for the organizati<strong>on</strong> to do sub netting. The<br />

address space is large enough to give every pers<strong>on</strong> in the<br />

world their own /48 subnet prefix length.<br />

H. Address lifetime : In IPv4 Generally, not an applicable<br />

c<strong>on</strong>cept, except for addresses assigned using DHCP, where<br />

as in IPv6 IPv6 addresses have two lifetimes: preferred <strong>and</strong><br />

valid, with the preferred lifetime always


Proceedings of ICCNS 08 , 27-28 September 2008<br />

III. CONCLUSIONS<br />

In c<strong>on</strong>clusi<strong>on</strong>, IPv6 offers many potential business case<br />

advantages over IPv4 <strong>and</strong> is currently possible to use<br />

successfully in producti<strong>on</strong> envir<strong>on</strong>ments with readily<br />

available materials, possibly without even requiring<br />

hardware or software upgrades from currently used<br />

systems. C<strong>on</strong>sumer upgrades are underway, but will take a<br />

l<strong>on</strong>g period of time. C<strong>on</strong>sumer products will drive<br />

c<strong>on</strong>sumer upgrades. Mobile IP devices, home gaming<br />

systems <strong>and</strong> other c<strong>on</strong>sumer-focused products will begin to<br />

incorporate IPv6, bringing it into the home. IPv6 enables<br />

addressing architectures that scale well in terms of the<br />

number of nodes <strong>and</strong> sub networks, the size of sub<br />

networks, <strong>and</strong> the degree of change within sub networks;<br />

including practical cases where IPv4 becomes difficult to<br />

use robustly. Mobile IP devices are already c<strong>on</strong>necting to<br />

802.11 Hot Spots that run IPv6. ISP upgrades to IPv6 will<br />

likely be c<strong>on</strong>sumer driven. As some ISP's begin to upgrade<br />

their networks to IPv6, users will see further IPv6<br />

integrati<strong>on</strong> in their homes. Without doubt, IPv6 represents a<br />

c<strong>on</strong>siderable improvement if compared to the old IPv4<br />

protocol stack. The new suite of protocols provides<br />

innumerable features that improve both the overall<br />

functi<strong>on</strong>ality as well as some specific security functi<strong>on</strong>s.<br />

Although IPv6 offers better security (larger address space<br />

<strong>and</strong> the use of encrypted communicati<strong>on</strong>), the protocol also<br />

raises new security challenges. Particular aspects of IPv6<br />

that we have positively identified as advances over IPv4<br />

include:<br />

IPv6 implementati<strong>on</strong> <strong>and</strong> migrati<strong>on</strong> cannot <strong>and</strong> should not<br />

happen overnight. Major changes are required in all areas of<br />

industry to allow migrati<strong>on</strong>. Countries <strong>and</strong> companies, both<br />

large <strong>and</strong> small, must make the move to IPv6 before overall<br />

migrati<strong>on</strong> of the Internet backb<strong>on</strong>es can happen. As<br />

organizati<strong>on</strong>s test <strong>and</strong> complete their migrati<strong>on</strong> to IPv6, we<br />

move closer to an IPv6 Internet. Some estimates state that<br />

IPv6 will not be fully implemented until 2030 or as late as<br />

2040. While major steps are being made towards<br />

implementati<strong>on</strong> of the new protocol, a completely IPv6<br />

Internet is many decades away.<br />

[10] Eddy, W. <strong>and</strong> J. Ishac, “Comparis<strong>on</strong> of IPv6 <strong>and</strong> IPv4 Features”,<br />

draft-eddy-ipv6- ip4-comparis<strong>on</strong>, Internet-Draft (work in progress),<br />

May - 2006.<br />

[11] Shac, J., “Survey of Header Compressi<strong>on</strong> Techniques”, NASA Glenn<br />

Research Center Technical Report TM-2001-211154, September<br />

2001.<br />

[12] Evans, K., “Transiti<strong>on</strong> Planning for Internet Protocol Versi<strong>on</strong> 6”,<br />

Office of Management <strong>and</strong> Budget, Memor<strong>and</strong>um for the Chief<br />

Informati<strong>on</strong> Officers M-05- 22, August 2005.<br />

[13] Deering, S. <strong>and</strong> R. Hinden, “Internet Protocol, Versi<strong>on</strong> 6 (IPv6)<br />

Specificati<strong>on</strong>”, RFC 1883, December 1996.<br />

[14] C<strong>on</strong>ta, A. <strong>and</strong> S. Deering, “Internet C<strong>on</strong>trol Message Protocol<br />

(ICMPv6) for the Internet Protocol Versi<strong>on</strong> 6 (IPv6) Specificati<strong>on</strong>”,<br />

RFC 2463, December 1998.<br />

[15] Moskowitz, R. <strong>and</strong> P. Nik<strong>and</strong>er, “Host Identity Protocol (HIP)<br />

Architecture”, RFC 4423, May 2006.<br />

[16] Loughney, J., “IPv6 in 2G <strong>and</strong> 3G <strong>Networks</strong>”, North American IPv6<br />

Summit 2004, June 2004.<br />

[17] Davies, J., “Underst<strong>and</strong>ing IPv6”, Microsoft Press, Redm<strong>on</strong>d, WA,<br />

2003.<br />

REFERENCES<br />

[1] Deering, S. <strong>and</strong> R. Hinden, “Internet Protocol, Versi<strong>on</strong> 6 (IPv6)<br />

Specificati<strong>on</strong>”, RFC 2460, December 1998.<br />

[2] Behrouz.A.Forouzan.TCP/IP Protocol Suite, Third editi<strong>on</strong><br />

[3] Andrew S.Tanenbaum, <strong>Computer</strong> <strong>Networks</strong>.,Fourth editi<strong>on</strong>,2005.<br />

[4] Partridge, C.,“Using the Flow Label Field in IPv6”, RFC 1809, June 5.<br />

[5] Kent, S. <strong>and</strong> K. Seo, “<strong>Security</strong> Architecture for the Internet Protocol”,<br />

RFC 4301, December 2005.<br />

[6] Dierks, T. <strong>and</strong> E.Rescorla,“The Transport Layer <strong>Security</strong> (TLS)<br />

Protocol Versi<strong>on</strong> 1.1”, RFC 4346, April 2006.<br />

[7] Lynn, C., Kent, S<strong>and</strong> K. Seo,“X.509 Extensi<strong>on</strong>s for IP Addresses <strong>and</strong><br />

AS Identifiers”, RFC 3779, June 2004.<br />

[8] Eddy, W., “Comparis<strong>on</strong> of IPv4 <strong>and</strong> IPv6 Header Overhead”, drafteddy-ipv6-<br />

overhead-00, Internet-Draft (work in progress), May - 06.<br />

[9] Eddy, W. <strong>and</strong> W. Ivancic, “Assessment of IPv6 Maturity”, Internet-<br />

Draft (work in progress), May 2006.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 302


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Improved Preemptive Multipath On<br />

Dem<strong>and</strong> Routing Protocol for Adhoc<br />

<strong>Networks</strong><br />

Sujatha P. Terdal 1 , Dr V.D Mytri 2 , Dr. A Damaodaram 3<br />

Abstract- Mobile ad hoc networks (MANET) very often suffer from<br />

route failures .This effects an <strong>on</strong>going data transmissi<strong>on</strong> resulting in<br />

routes becoming invalid. So it is important for a routing protocol to<br />

recover from such failures by providing redundancy of paths which<br />

are robust. With this objective, this paper proposes a novel method to<br />

improve an <strong>on</strong>dem<strong>and</strong> routing protocol AODV to store multiple<br />

paths which are also stable(PMAODV). Further having found<br />

stable paths this protocol will detect diminishing signal strengths<br />

between the nodes <strong>and</strong> proactively switch to pre-discovered path<br />

thus avoiding costly route discovery process. Simulati<strong>on</strong> results<br />

show that this protocol has improved throughput with decreased<br />

rec<strong>on</strong>figurati<strong>on</strong> of routes.<br />

Keywords- MANET, Multipath AODV, Preemptive Routing,<br />

Power Estimati<strong>on</strong><br />

1. INTRODUCTION<br />

MANET is a collecti<strong>on</strong> of mobile nodes , which can instantly<br />

cooperate together to form a network without any<br />

infrastructure like base stati<strong>on</strong>s. Nodes in this network have<br />

the resp<strong>on</strong>sibility of performing routing functi<strong>on</strong> in additi<strong>on</strong> to<br />

data relaying. MANET nodes are c<strong>on</strong>strained by limited<br />

battery power, channel b<strong>and</strong>width <strong>and</strong> memory. In additi<strong>on</strong> to<br />

this they face frequent route breaks. Routing protocols have to<br />

be designed to perform under these limitati<strong>on</strong>s. Node mobility<br />

would cause precomputed routes getting invalid.<br />

Many routing protocols have been suggested [1][2] for<br />

MANETs. They use <strong>on</strong>dem<strong>and</strong> approach for route calculati<strong>on</strong>.<br />

AODV[2] is <strong>on</strong>e such protocol that has been widely used in<br />

MANETs. When a source needs a route it begins by initiating<br />

a Route Discovery process by sending a RREQ packet. RREQ<br />

is flooded <strong>on</strong> all outgoing links. When this packet is received<br />

by an intermediate node, it checks whether it has a route to the<br />

destinati<strong>on</strong>. If so the intermediate node c<strong>on</strong>structs a RREP<br />

packet <strong>and</strong> sends to the source else the intermediate node<br />

forwards the RREQ packet towards the destinati<strong>on</strong>. Duplicate<br />

RREQs are ignored by the nodes to c<strong>on</strong>strain flooding<br />

process.<br />

1 Sujatha P. Terdal Asst Prof. Dept. of CSE PDA College of Engineering<br />

Gulbarga suja_pst@rediffmail.com<br />

2 Dr V.D Mytri Principal GND College of Engineering Bidar<br />

vdmytri2008@rediffmail.com<br />

3 Dr. A Damaodaram Professor Dept. of CSE JNTU college of Engineering<br />

Hyderabad damodarama@gmail.com<br />

When ever a node receives a RREQ packet it copies the<br />

address of the node from which it received the packet forming<br />

a reverse route. On the arrival of a RREQ packet, a destinati<strong>on</strong><br />

node unicasts a RREP packet to the source. An intermediate<br />

node that receives this packet records a forward route to the<br />

destinati<strong>on</strong> <strong>and</strong> forwards the packet to a neighbor node <strong>on</strong> the<br />

reverse route. The RREP packet finally returns back to the<br />

source node <strong>and</strong> a data transfer route is established.<br />

An attempt to decrease the number of Route Discoveries is by<br />

learning about Multiple paths from a single Route Discovery.<br />

Multipath extensi<strong>on</strong>s to routing protocols have been suggested<br />

in the literature to reduce Route Discovery floods. When all<br />

paths fail <strong>on</strong>ly then Route Discovery is initiated. Variati<strong>on</strong>s of<br />

Multipath routing protocols like node disjoint, link disjoint<br />

paths store paths that do not have comm<strong>on</strong> nodes or links<br />

exist.<br />

A Route Maintenance process is initiated when a node detects<br />

a link failure by broadcasting a RERR packet. This packet<br />

travels through all nodes invalidating corresp<strong>on</strong>ding<br />

established routes. When this RERR packet reaches the source<br />

it re-initiates a Route Discovery process. If the failure of a link<br />

can be predicted in advance, the routing protocol can switch to<br />

an alternate path preemptively <strong>and</strong> save the routing overhead.<br />

The performance of any routing protocol improves if it can<br />

decrease up<strong>on</strong> the amount of Route Discovery attempts <strong>and</strong><br />

Route Maintenance attempts. Thus finding paths that have a<br />

l<strong>on</strong>ger lifetime is crucial.<br />

This paper proposes a novel method to store stable multiple<br />

paths <strong>and</strong> preemptively switch to alternate routes by<br />

predicting future link failures. Storing such multiple paths<br />

enables routes that have l<strong>on</strong>ger lifetime thus decreasing<br />

chances of route errors.<br />

The rest of the paper is organized as follows. In secti<strong>on</strong> 2, we<br />

review related prior work. In secti<strong>on</strong> 3, detailed protocol is<br />

described. Simulati<strong>on</strong> results are presented in secti<strong>on</strong> 4, while<br />

c<strong>on</strong>clusi<strong>on</strong>s are offered in secti<strong>on</strong> 5.<br />

2. REVIEW OF LITERATURE<br />

Recently several implementati<strong>on</strong>s of Multipath Routing<br />

Protocols have been proposed .An extensi<strong>on</strong> [3]to AODV is<br />

developed which computes loop free link disjoint multiple<br />

paths.In [4] authors propose AODVM which is an extensi<strong>on</strong><br />

for finding node-disjoint paths.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 303


Proceedings of ICCNS 08 , 27-28 September 2008<br />

In this intermediate nodes are not allowed to send a route<br />

reply directly to the source <strong>and</strong> duplicate RREQ packets are<br />

not discarded by intermediate nodes. But all received RREQ<br />

packets are recorded in RREQ table at the intermediate nodes.<br />

The destinati<strong>on</strong> sends an RREP for all the received RREQ<br />

packets. An intermediate node forwards a received RREP<br />

packet to the neighbor in the RREQ table that is al<strong>on</strong>g the<br />

shortest path to the source. To ensure that nodes do not<br />

participate in more than <strong>on</strong>e route, whenever a node overhears<br />

<strong>on</strong>e of its neighbors broadcasting an RREP packet, it deletes<br />

that neighbor from its RREQ table. Because a node cannot<br />

participate in more than <strong>on</strong>e route, the discovered routes must<br />

be node-disjoint.<br />

Another work in this area is Split<br />

Multipath Routing SMR[5] that c<strong>on</strong>structs maximally disjoint<br />

multiple paths by enhancing DSR . In this case, simultaneous<br />

data transfer over the multiple routes is evaluated. Al<strong>on</strong>g with<br />

finding multiple paths [6] balancing the load <strong>on</strong> these paths is<br />

d<strong>on</strong>e based <strong>on</strong> RTT measurements.<br />

Signal strength has also been proposed as a metric for<br />

selecting reliable routes in routing protocols for mobile ad hoc<br />

networks [7], [8]. The metrics used is the average signal<br />

strength <strong>and</strong> route stability, while in [9], the authors suggest a<br />

SNR-based neighbor selecti<strong>on</strong> for h<strong>and</strong>ling unreliable links.<br />

These approaches utilize Signal strength to indicate str<strong>on</strong>g or<br />

weak channels, without deriving any movement tendency.<br />

Studies <strong>on</strong> Proactive Route maintenance has received<br />

significant attenti<strong>on</strong> as preemptive Route repair would save<br />

up<strong>on</strong> the cost involved in frequent Route Discoveries.Several<br />

approaches have been used to predict route failures <strong>and</strong><br />

c<strong>on</strong>sequently switch to a better path.<br />

A soluti<strong>on</strong>[7] is given that preemptively finds other paths by<br />

switching to an alternative good path before a break,<br />

minimizing both the latency <strong>and</strong> jitter <strong>and</strong> avoiding<br />

inefficiencies due to unnecessary TCP backoff <strong>and</strong> c<strong>on</strong>gesti<strong>on</strong><br />

avoidance.<br />

Where Pr is received power, Pt is the transmitted power <strong>and</strong><br />

Gt & Gr represents transmitter antenna gain <strong>and</strong> receiver<br />

antenna gain, λ is wave length in metres <strong>and</strong> d distance, L<br />

denotes system loss factor.<br />

If the power loss is lesser than the threshold value <strong>on</strong>ly then<br />

RREQ is further broadcasted.When such RREQ packets reach<br />

the destinati<strong>on</strong> it selects paths with minimum power loss .The<br />

destinati<strong>on</strong> then c<strong>on</strong>structs a RREP packet <strong>and</strong> unicasts them<br />

to the source.The source now has multiple paths to the<br />

destinati<strong>on</strong>..While an active link is used for a data<br />

transmissi<strong>on</strong> the source checks for a warning. Probability of<br />

failure of link is found in cost effective way. Every node waits<br />

for an acknowledgement for the packet it has sent.Our<br />

algorithm uses this acknowledgement packet to detect<br />

diminishing received power. An intermediate node keeps a<br />

watch over the received power <strong>and</strong> if it falls below the<br />

threshold it sets a warning bit in our modified ACK packet<br />

which is c<strong>on</strong>sequently sent to the node upstream.This warning<br />

is further propagated to the source.The source reacts to this by<br />

changing the active path to an alternate path from the multiple<br />

paths.Flow of the proposed work which improves up<strong>on</strong> the<br />

route discovery <strong>and</strong> data transfer phase is shown below.<br />

3. DETAILED PROTOCOL<br />

In this secti<strong>on</strong> we describe our proposed multipath protocol<br />

that preemptively finds weakening links <strong>and</strong> switches to a<br />

path that is learnt from the earlier Route Discovery. We have<br />

extended AODV to show the achieved performance<br />

improvement. St<strong>and</strong>ard AODV’s Route Discovery <strong>and</strong> Data<br />

Transfer process is modified here.<br />

This works in two phases.Initially multiple routes are<br />

computed during Route Discovery which are node disjoint.<br />

Then it proceeds with computing stable paths by estimating<br />

the received power at a node <strong>and</strong> finally storing these.<br />

St<strong>and</strong>ard AODV RREQ procedure is enhanced to make<br />

flooding more c<strong>on</strong>strained than the original AODV. On the<br />

recepti<strong>on</strong> of a RREQ packet a node computes the power loss<br />

Fig : Improved Route Discovery Process<br />

experienced by using the formula given in (1)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 304


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Figure:1<br />

Multipath Routing protocols score over the unicast versi<strong>on</strong>s<br />

by showing lesser number of Re-Route c<strong>on</strong>figurati<strong>on</strong>s which<br />

is evident in Figure 2.<br />

Load v/s Re-Route C<strong>on</strong>figurati<strong>on</strong><br />

Number of Re-<br />

40<br />

C<strong>on</strong>figurati<strong>on</strong><br />

30<br />

Route<br />

20<br />

10<br />

0<br />

1 4 7 10<br />

Normal AODV<br />

PMAODV<br />

Fig: Data Transfer Process<br />

4. SIMULATION & RESULTS :<br />

This protocol is designed <strong>and</strong> simulated in C. A simulati<strong>on</strong><br />

area of 400x400 is set up where r<strong>and</strong>omly n number of mobile<br />

nodes is placed. A source <strong>and</strong> a destinati<strong>on</strong> is selected<br />

r<strong>and</strong>omly. Free space propagati<strong>on</strong> model is assumed.<br />

R<strong>and</strong>om waypoint algorithm is implemented for mobility. A<br />

mobile selects another node in the network <strong>and</strong> c<strong>on</strong>stantly<br />

moves towards it at a given velocity. Once it reaches there, it<br />

waits for some pause time <strong>and</strong> selects another node <strong>and</strong> again<br />

start moving. By observing the performance of the network<br />

under mobility we can test the stability of the design in real<br />

time scenario.For simplicity c<strong>on</strong>stant value of threshold power<br />

is assumed.<br />

5. RESULTS<br />

Working of this protocol is compared with the normal AODV.<br />

Figure 1 shows improved throughput under increasing load.<br />

Normal AODV performance degrades with increased load.<br />

The performance of PMAODV is compared with normal<br />

AODV.<br />

Load<br />

figure 2<br />

Another performance parameter c<strong>on</strong>sidered is mobility.<br />

Throughput does not degrade much with increased Mobility.<br />

Figure 3 shows this.<br />

Figure 3<br />

6. CONCLUSION<br />

The results shows that the performance of the proposed<br />

protocol is better than normal AODV even when the mobility<br />

of the nodes is high. The Route Discovery overhead is also<br />

less compared to the AODV. This is because source would<br />

always have multiple path in it’s repository <strong>and</strong> if the power<br />

loss in a path degrades then immediately it can select from the<br />

other available paths.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 305


Proceedings of ICCNS 08 , 27-28 September 2008<br />

REFERENCES<br />

[1] J.Broch, D.Johns<strong>on</strong>, <strong>and</strong> D. Maltz, “The Dynamic Source<br />

Protocol for Mobile Ad hoc <strong>Networks</strong>,<br />

http://www.ietf.org/internetdrafts/draft-ieft-manet-dsr-03.txt,<br />

IETF Internet draft (work in progress), Oct.1999.<br />

[2] Charles E. Perkings, Elizabeth M. Belding-Royer, Samir<br />

R.Das, AdHoc On-Dem<strong>and</strong> Distance Vector (AODV)<br />

Routing, http://www.ietf.org/internet-drafts/draft-ietf-manet -<br />

aodv-13.txt, IETF Internet draft, Feb 2003<br />

[3]Marina, M.K., Das, S.R.: On-dem<strong>and</strong>Multipath<br />

DistanceVector Routing in Ad Hoc <strong>Networks</strong>. Proceedings of<br />

the <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> for Network Procotols (2001)<br />

[4] Ye, Z., Krishnamurthy, S.V., Tripathi, S.K.: A Framework<br />

for Reliable Routing in Mobile Ad Hoc <strong>Networks</strong>. IEEE<br />

INFOCOM (2003)<br />

[5] Lee, S.-J., Gerla,M.: SplitMultipath Routing with<br />

Maximally Disjoint Paths in Ad Hoc <strong>Networks</strong>. IEEE<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Communicati<strong>on</strong>s, Vol. 10 (2001)<br />

[6] Lei Wang, Yantai Shu, Miao D<strong>on</strong>g, Lianfang Zhang, <strong>and</strong><br />

Oliver W.W. Yang, “Adaptive multipath source routing in ad<br />

hocnetworks,” in Proceedings of the IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> communicati<strong>on</strong>s (ICC), Helsinki, Finl<strong>and</strong>, June<br />

2001, vol. 3, pp. 867–871.<br />

[7] T. Goff, N. B. Abu-Ghuzaleh, D. S. Phatak, <strong>and</strong> R.<br />

Kahvecioglu, “Preemptive routing in ad hoc networks,” in<br />

Proc. ACM MobiCom, 2001.<br />

[8] R. Dube, C. D. Rais, K. Y. Wang, <strong>and</strong> S. K. Tripathi,<br />

“Signal stability based adaptive routing (SSA) for ad-hoc<br />

mobile networks,” IEEE Pers<strong>on</strong>al Communicati<strong>on</strong>s, vol. 4,<br />

no. 2, 1997.<br />

[9] K. W. Chin, J. Judge, A. Williams, <strong>and</strong> R. Kermode,<br />

“Implementati<strong>on</strong> experience with manet routing protocols,”<br />

ACM SIGCOMM Comp. Comm. Review, vol. 32, no. 5, 2001<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 306


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Evaluati<strong>on</strong> <strong>and</strong> Improving Performance of the Dynamic<br />

Source Routing Protocol for MANETS<br />

*Dr.B.Satyanarayana ** M.Neelakantappa ***Dr. A.Damodharam<br />

Abstract<br />

A Mobile Ad hoc NETwork (MANET) is<br />

a temporary wireless network envir<strong>on</strong>ment where<br />

in nodes that are in mobility establishes the<br />

network with out aid of any fixed infrastructure.<br />

Routing in the MANET is a major challenging<br />

problem to solve, because of its dynamic topology<br />

<strong>and</strong> infrastructure less nature., namely Dynamic<br />

Source Routing (DSR) is <strong>on</strong>e of the widely used<br />

routing protocols for MANETS protocol. Several<br />

of the optimizati<strong>on</strong>s proposed <strong>on</strong> the DSR<br />

protocol, tend to hurt the performance especially<br />

in the case of high node mobility <strong>and</strong> low traffic<br />

load. In this paper the performance issue has been<br />

studied extensively, <strong>and</strong> DSR is shown to perform<br />

better with certain optimizati<strong>on</strong>s turned off. The<br />

paper addresses the performance issue of DSR<br />

(packet delivery rate), which is significantly<br />

improved with the proposed modificati<strong>on</strong>s. Using<br />

the simulati<strong>on</strong>s, we show that the proposed<br />

techniques provide significant performance<br />

improvements for various network densities <strong>and</strong><br />

traffic load. Based <strong>on</strong> the study of functi<strong>on</strong>ality in<br />

other routing protocols, we suggest three simple<br />

<strong>and</strong> intuitive changes to the DSR to further<br />

performance improvements in n<strong>on</strong>-c<strong>on</strong>gested<br />

networks.<br />

Keywords—Mobile Ad hoc Network, routing<br />

protocols, Packet Delivery rate, GloMoSIM.<br />

*Dr.B.Satyanarayana is working as Professor &<br />

Head in <strong>Computer</strong> Science Dept. of S.K University<br />

Anantapur,AP,India.<br />

**M.Neelakantappa is working as Professor &<br />

Head in CSE Dept. of G.Pullaiah Engineering College,<br />

Kurnool,AP,India. (m_neelakanta@yahoo.com)<br />

***Dr. A.Damodharam is currently working as<br />

Professor & Vice-Principal in University College of Engg.,<br />

JNT Universty, Hyderabad,AP,India.<br />

I. INTRODUCTION<br />

Recent advances in technology have provided<br />

portable computers with wireless interfaces that allow<br />

networked communicati<strong>on</strong> am<strong>on</strong>g mobile users .The<br />

resulting computing envir<strong>on</strong>ment, which is often<br />

referred to as mobile computing, no l<strong>on</strong>ger requires<br />

users to maintain a fixed <strong>and</strong> universally known<br />

positi<strong>on</strong> in the network And enables almost<br />

unrestricted mobility .A Mobile Ad hoc NETwork<br />

(MANET)is a special type of wireless mobile<br />

network[1,4] in which a collecti<strong>on</strong> of mobile hosts<br />

with wireless network interface may form a temporary<br />

network, without aid of any established infrastructure<br />

or centralized administrati<strong>on</strong>. The applicati<strong>on</strong> ranges<br />

from civilian to disaster recovery <strong>and</strong> military.<br />

Routing in the MANET faces special<br />

challenges because of its infrastructure less network<br />

<strong>and</strong> its dynamic topology. The tunnel-based triangle<br />

routing of mobile IP works well <strong>on</strong>ly for fixed<br />

infrastructure network to support the c<strong>on</strong>cept of “home<br />

agent”. But when all hosts move, such a strategy<br />

cannot be directly applied. Traditi<strong>on</strong>al routing<br />

protocols for wired networks like distance vector or<br />

link state are no l<strong>on</strong>ger suitable for ad hoc wireless<br />

networks. In an envir<strong>on</strong>ment with mobile hosts as<br />

routers, c<strong>on</strong>vergence to new, stable routes after<br />

dynamic changes in network topology may be slow<br />

<strong>and</strong> this process could be expensive due to low<br />

b<strong>and</strong>width.<br />

Routing protocols for MANETS<br />

can be roughly divided into proactive <strong>and</strong> reactive.<br />

In proactive routing, each host c<strong>on</strong>tinuously<br />

maintains complete routing informati<strong>on</strong> of the<br />

network. Both link state <strong>and</strong> distance vector<br />

bel<strong>on</strong>g to proactive routing. The reactive scheme,<br />

invokes a route determinati<strong>on</strong> procedure <strong>on</strong>ly <strong>on</strong><br />

dem<strong>and</strong> through a query/reply approach. Dynamic<br />

source routing protocol (DSR)[1] is a reactive<br />

routing protocol. The source determines the<br />

complete path for each routing process. The<br />

approach c<strong>on</strong>sists of two steps, route discovery<br />

<strong>and</strong> route maintenance. Route discovery allows<br />

any host to dynamically discover a route to a<br />

destinati<strong>on</strong> host. Each host also maintains a route<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 307


Proceedings of ICCNS 08 , 27-28 September 2008<br />

cache in which it catches source routes it has<br />

learned. Unlike regular routing-table based<br />

approaches that have to perform periodic routing<br />

updates, route maintenance <strong>on</strong>ly m<strong>on</strong>itors the<br />

routing process <strong>and</strong> informs the sender of any<br />

routing errors.<br />

. The Dynamic Source Routing (DSR)<br />

[1,4] is <strong>on</strong>e of the widely used routing protocols<br />

for MANETs. Several previous studies indicate<br />

that some of the route gathering techniques <strong>and</strong><br />

optimizati<strong>on</strong>s proposed in the original protocol<br />

actually hurt the performance in many situati<strong>on</strong>s<br />

<strong>and</strong> make DSR under perform another comm<strong>on</strong>ly<br />

used routing protocol––ad hoc <strong>on</strong> dem<strong>and</strong> distance<br />

vector (AODV) [2]. Because of source routing,<br />

however, DSR is c<strong>on</strong>sidered to be desirable from<br />

security aspect [6]. Several previous studies<br />

indicate the benefit of turning off some of the<br />

"optimizati<strong>on</strong>" features of DSR to improve its<br />

performance [7].<br />

In this paper, we show that with these<br />

modificati<strong>on</strong>s, DSR’s performance is significantly<br />

improved especially at high traffic loads. Using<br />

simulati<strong>on</strong>s through GloMoSIM, we show that<br />

these features improve DSR's performance.<br />

II. BASIC DSR PROTOCOL<br />

A. Overview of DSR<br />

Route Discovery <strong>and</strong> Route Maintenance<br />

of DSR are all operate <strong>on</strong>-dem<strong>and</strong>. In particular,<br />

unlike other protocols, DSR requires no periodic<br />

packets of any kind at any level within the<br />

network. This entirely <strong>on</strong>-dem<strong>and</strong> behavior <strong>and</strong><br />

lack of periodic activity allows the number of<br />

overhead packets caused by DSR to scale all the<br />

way down to zero, when all nodes are<br />

approximately stati<strong>on</strong>ary with respect to each<br />

other <strong>and</strong> all routes needed for current<br />

communicati<strong>on</strong> have already been discovered. As<br />

nodes begin to move more or communicati<strong>on</strong><br />

patterns change, the routing packet overhead of<br />

DSR automatically scales to <strong>on</strong>ly that needed to<br />

track the routes currently in use.<br />

We can use the following formula [5] to<br />

denote MANET G:<br />

G= (N, V) (1)<br />

Where N denotes the set all nodes of G, V<br />

denote the set all links of G. Am<strong>on</strong>g the elements of<br />

set N, when node s originates a new packet destined to<br />

some other node d, it places in the header of the packet<br />

a source route giving the sequence of hops that the<br />

packet should follow <strong>on</strong> its way to d . Normally, s will<br />

obtain a suitable source route by searching its Route<br />

Cache of routes previously learned, but if no route is<br />

found in its cache, it will initiate the Route Discovery<br />

protocol to dynamically find a new route to d. We call<br />

s the initiator <strong>and</strong> d the target. For example, Figure 1<br />

shows an example of Route Discovery, in which a<br />

node a is attempting to discover a route to node e. To<br />

initiate the Route Discovery, a transmits a ROUTE<br />

REQUEST [5] message as a single local broadcast<br />

packet, which is got by all nodes currently within<br />

wireless transmissi<strong>on</strong> range of a.<br />

a<br />

{a}<br />

b<br />

{a,b}<br />

c<br />

{a,b,c}<br />

d<br />

{a,b,c,d}<br />

Fig 1: Example of route Discovery with same request<br />

ID<br />

Each ROUTE REQUEST c<strong>on</strong>tains a record<br />

listing the address of each intermediate node through<br />

which this particular copy of the ROUTE REQUEST<br />

message has been forwarded. This route record is<br />

initialized to an empty list by the initiator of the Route<br />

Discovery.<br />

When another node receives a ROUTE<br />

REQUEST, if it is the target of the Route Discovery, it<br />

returns a ROUTE REPLY message to the initiator of the<br />

Route Discovery, giving a copy of the accumulated route<br />

record from the ROUTE REQUEST; when the initiator<br />

receives this ROUTE REPLY, it caches this route in its<br />

Route Cache for use in sending subsequent packets to<br />

this destinati<strong>on</strong>. Otherwise, if this node receiving the<br />

ROUTE REQUEST has recently seen another ROUTE<br />

REQUEST message from this initiator bearing this same<br />

request id, or if it finds that its own address is already<br />

listed in the route record in the ROUTE REQUEST<br />

message, it discards the REQUEST. Otherwise, this<br />

node appends its own address to the route record in the<br />

ROUTE REQUEST message <strong>and</strong> propagates it by<br />

transmitting it as a local broadcast packet.<br />

e<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 308


Proceedings of ICCNS 08 , 27-28 September 2008<br />

In returning node e replying back to a, node e will<br />

examine its own Route Cache for a route back to a, <strong>and</strong> if<br />

found, will use it for the source route for delivery of the<br />

packet c<strong>on</strong>taining the ROUTE REPLY. Otherwise, e may<br />

perform its own Route Discovery for target node a, but to<br />

avoid possible infinite recursi<strong>on</strong> of Route Discoveries.<br />

B. <strong>Security</strong> <strong>and</strong> Performance Issues<br />

Certain features of DSR hurt its<br />

performance or make it vulnerable to security<br />

attacks.<br />

• No Expirati<strong>on</strong> of Routes: Without an<br />

effective mechanism to remove excessively old<br />

(stale) entries, route caches may c<strong>on</strong>tain broken or<br />

n<strong>on</strong>-minimum hop routes. Using stale routes<br />

causes loss of data packets (low delivery rate) <strong>and</strong><br />

wastes network b<strong>and</strong>width. Route replies from<br />

intermediate nodes <strong>and</strong> snooping data packets<br />

exacerbate this problem by polluting caches with<br />

stale routes [6, 9].<br />

• Intermediate-Node (IN) Replies:<br />

Intermediate-node replies make the route learning<br />

process faster because all route requests do not<br />

need to travel all the way to the destinati<strong>on</strong>.<br />

Without route freshness indicati<strong>on</strong>, however, it<br />

results in polluting caches with stale routes when<br />

node mobility is high <strong>and</strong> data transmissi<strong>on</strong>s are<br />

infrequent [5,8,9].<br />

When a source receives the bad route reply, it<br />

tries to send the waiting data packet al<strong>on</strong>g the<br />

route. Up<strong>on</strong> failure of <strong>on</strong>e of the links al<strong>on</strong>g the<br />

route, a route error packet is propagated back to<br />

the source, which then issues a new route request,<br />

starting the process all over again.<br />

• Data Salvaging: If an intermediate node<br />

encounters a broken link <strong>and</strong> has an alternate route<br />

to the destinati<strong>on</strong> in its cache, it can try to salvage<br />

the packet by sending it via the route from its cache. [9].<br />

Data Salvage can be useful in relatively<br />

static networks, in which routes remain stable for<br />

relatively l<strong>on</strong>g periods of time. However, in a<br />

MANET, it is likely that the route in the<br />

intermediate node’s cache was older, <strong>and</strong> hence,<br />

also invalid. Trying to salvage a data packet by<br />

using another bad route would result in a waste of<br />

time <strong>and</strong> b<strong>and</strong>width. Also, a malicious node may<br />

misroute data packets without risking its detecti<strong>on</strong><br />

under the guise of data salvaging.<br />

• Gratuitous Replies: When a node overhears a<br />

packet addressed to another node, it checks to<br />

see if the packet could be routed via itself to gain a<br />

shorter route. If so, the node sends a gratuitous reply<br />

to the source of the route with this new, better route.<br />

Like data salvaging, gratuitous replies can be<br />

of limited benefit when the routes are fresh <strong>and</strong> nodes<br />

are not malicious. Otherwise, this feature degrades<br />

performance, security, or both.<br />

III. EVALUATION OF DSR BY SIMULATION<br />

We analyzed the performance of the original DSR<br />

<strong>and</strong> the impact of turning off some the optimizati<strong>on</strong>s<br />

discussed above. To turn off intermediate node replies,<br />

we modified the DSR code so that when an<br />

intermediate node hears a new route request, it simply<br />

rebroadcasts it, even if it has a route to the destinati<strong>on</strong>.<br />

To turn off data salvage, we modified the code so that<br />

a data packet that cannot be transmitted to the next hop<br />

specified in the source is dropped <strong>and</strong> a route error<br />

message is sent to the source. Gratuitous replies are<br />

turned off by not sending route shortening messages to<br />

packet sources.<br />

We also modified the route replies <strong>and</strong><br />

request packets to carry timestamps so that we can<br />

keep track of route creati<strong>on</strong> time <strong>and</strong> ages of routes<br />

used. We give a quantitative measure of the staleness<br />

of routes that has been so widely reported but not<br />

measured in literature.<br />

Simulati<strong>on</strong> envir<strong>on</strong>ment: All simulati<strong>on</strong>s were run <strong>on</strong><br />

the GloMoSIM network simulator [10]. The<br />

modificati<strong>on</strong>s were made to the implementati<strong>on</strong> of<br />

DSR written for GloMoSIM. A 100 node network in a<br />

field size of 1000m x 1000m was used. The mobility<br />

model used was r<strong>and</strong>om waypoint [11] in a<br />

square/rectangular field. In r<strong>and</strong>om waypoint, each<br />

node starts its journey from its current locati<strong>on</strong> to a<br />

r<strong>and</strong>om locati<strong>on</strong> within the field. The speed is<br />

r<strong>and</strong>omly chosen to be between 1-19 m/sec. Once the<br />

destinati<strong>on</strong> is reached, another r<strong>and</strong>om destinati<strong>on</strong> is<br />

targeted after a specified pause. We used 0-sec<strong>on</strong>d<br />

pause time, which results in c<strong>on</strong>tinuous node mobility<br />

in our simulati<strong>on</strong>s.<br />

Twenty-five CBR (c<strong>on</strong>stant bit-rate) over<br />

UDP c<strong>on</strong>necti<strong>on</strong>s (distinct sources <strong>and</strong> destinati<strong>on</strong>s)<br />

were used to generate traffic by injecting 512-byte<br />

packets with average inter-packet time varied<br />

according to the load rate desired. For each<br />

c<strong>on</strong>figurati<strong>on</strong>, the network is simulated for 600<br />

sec<strong>on</strong>ds.<br />

We used delivery rate, the percentage of<br />

injected packets that are delivered to destinati<strong>on</strong>s,<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 309


Proceedings of ICCNS 08 , 27-28 September 2008<br />

<strong>and</strong> average age of routes used to analyze the<br />

performance. At low loads, the delivery rate gives<br />

a measure of route correctness rather than load<br />

balancing or other issues of the protocol. We<br />

indicate route ages since it is frequently menti<strong>on</strong>ed<br />

in literature without quantitative evaluati<strong>on</strong>. In<br />

additi<strong>on</strong> to the original DSR, we simulated 4<br />

variati<strong>on</strong>s: intermediate nodes replies off (denoted<br />

as ‘INTNODES off’ in the graphs below), data<br />

salvaging off (DATASALVG off), gratuitous off<br />

(denoted as GRATT off) or all the three off<br />

(denoted as ALL3 off).<br />

Parameter<br />

Routing protocol<br />

Value<br />

DSR<br />

MAC Layer 802.11<br />

B<strong>and</strong>width 2Mbps<br />

TERRAIN 1000 x 1000<br />

Nodes 100<br />

Node Placement R<strong>and</strong>om<br />

Simulati<strong>on</strong> Time 600 Sec<br />

Mobility Model RWP(1-19 mtrs/sec)<br />

With 0 Pause-time<br />

Data Traffic 25CBR with512B pkts<br />

Traffic Load 12.5,50,125,200,250 kbp<br />

Table1: Simulati<strong>on</strong> parameters in GloMoSIM<br />

/* RoutingDsrSalvageData<br />

*<br />

* Node that detects the route break <strong>and</strong><br />

knows another route to the destinati<strong>on</strong><br />

* salvages the data<br />

*/<br />

void RoutingDsrSalvageData(GlomoNode *node<br />

Message *msg)<br />

{<br />

GlomoNetworkIp* ipLayer = (GlomoNetworkIp *<br />

node->networkData.networkVar;<br />

GlomoRoutingDsr* dsr = (GlomoRoutingDsr *<br />

ipLayer->routingProtocol;<br />

IpHeaderType *ipHeader = (IpHeaderType *<br />

msg->packet;<br />

DsrIpOpti<strong>on</strong>Type* opti<strong>on</strong>;<br />

char *pktPtr;<br />

NODE_ADDR newPath[DSR_MAX_SR_LEN+1];<br />

NODE_ADDR *salvage;<br />

int i, j;<br />

int hop;<br />

salvage = RoutingDsrGetRoute(ipHeader<br />

>ip_dst, &dsr->routeCacheTable);<br />

hop = RoutingDsrGetHop(ipHeader->ip_dst<br />

&dsr->routeCacheTable);<br />

newPath[0] = node->nodeAddr;<br />

for (i = 1, j = 0; j < hop; i++, j++)<br />

{<br />

newPath[i] = salvage[j];<br />

}<br />

for (; i < (DSR_MAX_SR_LEN+1); i++)<br />

{<br />

newPath[i] = ANY_DEST;<br />

}<br />

opti<strong>on</strong> = GetPtrToDsrIpOpti<strong>on</strong>Field(msg);<br />

opti<strong>on</strong>->segmentLeft = hop;<br />

opti<strong>on</strong>->salvagedBit = TRUE;<br />

NetworkIpSendPacketToMacLayerWithNewStrictSourc<br />

Route(<br />

node, msg, newPath, hop + 1, TRUE);<br />

dsr->stats.numDataTxed++;<br />

dsr->stats.numSalvagedPackets++;<br />

} /* RoutingDsrSalvageData */<br />

Fig3: DSR Code for Data Salvaging<br />

Fig 2: Snapshot of Simulati<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 310


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Routing<br />

Transmitted Load(Kbps)<br />

Protocol(Pkt.<br />

12.5 50 125 200 250<br />

Delivery Rate)<br />

DSR Org 85.05 88.39 55.04 24.75 25.98<br />

DSR INT 92.42 97.84 76.67 49.54 38.8<br />

NODES Off<br />

DSR DATA 92.32 98.71 59.13 30.24 24.75<br />

SALVG Off<br />

DSR GRATUI- 94.41 99.83 98.73 56.10 38.81<br />

TOUS Off<br />

DSRALL 3 Off 99.83 99.11 98.75 56.45 38.85<br />

Table 2: Packet Delivery rate for DSR Variati<strong>on</strong>s<br />

Packet Delivery Ratio(% )<br />

100<br />

80<br />

60<br />

40<br />

20<br />

DSROriginal<br />

DSTINtNODEs 0ff<br />

DATASALVG Off<br />

GRATT Off<br />

0<br />

0 50 100 150 200 250<br />

Offered Load (kbps)<br />

Fig4:Comparis<strong>on</strong> of DSR with certain<br />

optimizati<strong>on</strong>s off<br />

Packet Delivery Ratio(%)<br />

100<br />

80<br />

60<br />

40<br />

20<br />

DSROriginal<br />

DSRALL3 0ff<br />

0<br />

0 50 100 150 200 250<br />

Offered Load (kbps)<br />

Fig5: Comparis<strong>on</strong> of DSR with DSR all the 3<br />

optimizati<strong>on</strong>s off<br />

Fig 4 shows the packet delivery rate (PDR)<br />

comparis<strong>on</strong> for original DSR with DSR INTNODES<br />

off, DSR DATASALVG off <strong>and</strong> DSR GRATT off. Fig<br />

5 shows the performance comparis<strong>on</strong> of all the 3<br />

optimizati<strong>on</strong>s embedded in the DSR (ALL 3 off) with<br />

original DSR. The PDR is extremely low for the<br />

original DSR. Turning off INTNODES replies <strong>and</strong><br />

Gratuitous replies off, improves the throughput<br />

significantly. Data salvage al<strong>on</strong>e does not impact<br />

performance. In c<strong>on</strong>juncti<strong>on</strong> with INTNODES replies<br />

off <strong>and</strong> gratuitous off, however, data salvage provides<br />

marginal performance benefit. Given that malicious<br />

node detecti<strong>on</strong> becomes harder with data salvage,<br />

turning it off is preferable.<br />

IV. CONCLUSIONS<br />

DSR is a widely used routing protocol for<br />

mobile ad hoc networks, but has very low delivery<br />

rates <strong>and</strong> poor performance in lightly loaded networks<br />

with high node mobility. Several of the modificati<strong>on</strong>s<br />

proposed in the literature. This paper presents three<br />

optimizati<strong>on</strong> techniques— intermediate nodes replies<br />

off, data salvaging off, gratuitous off. In additi<strong>on</strong> to<br />

the original DSR, we simulated 4 variati<strong>on</strong>s:<br />

intermediate nodes replies off, data salvaging off,<br />

gratuitous off, <strong>and</strong> all the three off. Our simulati<strong>on</strong><br />

results shows that, without using any complicated<br />

strategies, our proposed techniques perform<br />

significantly better than previously proposed<br />

modificati<strong>on</strong>s especially at low traffic loads (100-<br />

200Kbps) <strong>and</strong> about the same at higher traffic loads.<br />

In future we intend to modify DSR by<br />

intuitive modificati<strong>on</strong>s to the routing protocol in n<strong>on</strong>c<strong>on</strong>gested<br />

networks based <strong>on</strong> our observati<strong>on</strong>s of other<br />

protocols. The changes will be like limiting replies<br />

sent by destinati<strong>on</strong>, keeping <strong>on</strong>ly <strong>on</strong>e route per<br />

destinati<strong>on</strong>, <strong>and</strong> preferring fresher routes over shorter<br />

<strong>on</strong>es—to further improve the performance of DSR.<br />

References<br />

[1] D. Johns<strong>on</strong>, D. Maltz <strong>and</strong> Y. Hu. The dynamic<br />

source routing protocol for mobile ad hoc<br />

networks. IETF MANET Working Group,draft<br />

2003. http://www.ietf.org/internetdrafts/draftietfmanet<br />

-dsr-03.txt,<br />

[2] Samir Das, Charles Perkins, Elizabeth Royer.<br />

Performance Comparis<strong>on</strong> of On-dem<strong>and</strong> Routing<br />

Protocds for Adhoc <strong>Networks</strong>, IEEE,<br />

INFOCOM2000.http://www.ietf.org/internetdrafts<br />

/dsr.txt,aodv.txt<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 311


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[3] Theodoros Sal<strong>on</strong>idis, Pravin Bhagwat,<br />

Le<strong>and</strong>ros Tassiulas, Richard LaMaire. Distributed<br />

Topology C<strong>on</strong>structi<strong>on</strong> of Bluetooth Pers<strong>on</strong>al<br />

Area <strong>Networks</strong>JEEE, INFOCQM2001.<br />

[4] Zygmunt J. Haas, Guest Editorial Wireless Ad<br />

Hoc <strong>Networks</strong>, IEEE JOURNAL ON SELECTED<br />

AREAS IN COMMUNICATIONS, VOL. 17, no.<br />

8, August 1999<br />

[5] D. Johns<strong>on</strong> <strong>and</strong> D. Maltz. Dynamic Source<br />

Routing in Ad Hoc Wireless <strong>Networks</strong>. In Mobile<br />

Computing, edited by Tomasz Emilienski <strong>and</strong><br />

Hank Korth, Kluwer Academic Publishers, 1996.<br />

[6] M. K. Marina <strong>and</strong> S. R. Das. Performance of<br />

Route Caching Strategies in Dynamic Source<br />

Routing. In Proceedings of Int’l Workshop <strong>on</strong><br />

Wireless <strong>Networks</strong> & Mobile Computing , 2001.<br />

[7]D. Chakraborty <strong>and</strong> A. Joshi, "GSD: A novel<br />

group-based service discovery protocol for<br />

MANETS", In IEEE C<strong>on</strong>f. <strong>on</strong> Mobile <strong>and</strong><br />

Wireless Communicati<strong>on</strong>s <strong>Networks</strong>, Sept’ 2002.<br />

[8]S. Helal, N. Desai, V. Verma, <strong>and</strong> C. Lee,<br />

"K<strong>on</strong>ark - A Service Discovery <strong>and</strong> Delivery<br />

Protocol for Ad-Hoc <strong>Networks</strong>", in Proceedings of<br />

the 3rd IEEE <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Wireless<br />

Communicati<strong>on</strong> <strong>Networks</strong> (WCNC), March 2003.<br />

[9] D. De Couto, D. Aguayo, J. Bicket, <strong>and</strong> R.<br />

Morris. A High-Throughput Path Metric for Multi-<br />

Hop Wireless Routing. In Proceedings of<br />

MobiCom 2003.<br />

[10] X. Zeng, R. Bagrodia, <strong>and</strong> M. Gerla,<br />

“Glomosim: A library for parallel simulati<strong>on</strong> of<br />

large-scale wireless networks,” in Workshop <strong>on</strong><br />

Parallel <strong>and</strong> Distributed Simulati<strong>on</strong>, 1998.<br />

[11] T. Camp, J. Boleng, V. Davies. A survey of<br />

mobility models for Ad Hoc Network Research. In<br />

Wireless Communicati<strong>on</strong> <strong>and</strong> Mobile Computing<br />

(WCMC): Special Issue <strong>on</strong> Mobile Ad Hoc<br />

Networking: Research, Trends <strong>and</strong> Applicati<strong>on</strong>s.<br />

vol. 2, no. 5, 2002.<br />

[12] C. E. Perkins. Mobile IP: Design Principles<br />

<strong>and</strong> Practices. Addis<strong>on</strong> Wesley, 1997.<br />

[13] Jochen Schiller. Mobile Communicati<strong>on</strong>s.<br />

Pears<strong>on</strong> Educati<strong>on</strong>,2004.<br />

[14]D.J.Goodman. Wireless Pers<strong>on</strong>al<br />

Communicati<strong>on</strong>s Systems.Addis<strong>on</strong>Wesley,2002.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 312


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Performance Analysis of Routing Protocols in<br />

Wireless Sensor <strong>and</strong> Actor <strong>Networks</strong> from an<br />

Actor to Actor Perspective<br />

Gowrishankar.S 1 , T.G.Basavaraju 2 , Manjaiah D.H 3 , Subir Kumar Sarkar 4<br />

Abstract—In recent years there has been a growing interest in<br />

Wireless Sensor <strong>Networks</strong> (WSN). The next step of evoluti<strong>on</strong> from<br />

WSN is Wireless Sensor <strong>and</strong> Actor Network (WSAN). WSAN is<br />

intertwined by both sensor <strong>and</strong> actor nodes; where sensor nodes are<br />

low powered nodes with less communicati<strong>on</strong> capabilities while actor<br />

nodes are technically superior to sensor nodes with high energy<br />

battery <strong>and</strong> l<strong>on</strong>g range communicati<strong>on</strong> capabilities. This paper<br />

provides an overview of WSAN <strong>and</strong> simulati<strong>on</strong> based performance<br />

analysis of actor to actor routing protocols in WSAN. The routing<br />

protocols c<strong>on</strong>sidered for performance analysis are AODV, DSDV<br />

<strong>and</strong> DSR. The metrics c<strong>on</strong>sidered for performance analysis are<br />

Packet Delivery Ratio, End to End Delay, Throughput <strong>and</strong> Overhead<br />

Analysis. Routing protocols like AODV, DSDV <strong>and</strong> DSR designed<br />

for ad hoc networks can be applied for communicati<strong>on</strong> between actor<br />

to actor nodes of WSAN as l<strong>on</strong>g as the communicati<strong>on</strong> overhead<br />

occurring at the sensor nodes due to actor to actor communicati<strong>on</strong> is<br />

kept low. Our analysis shows that AODV <strong>and</strong> DSR can be applied to<br />

a maximum number of WSAN applicati<strong>on</strong>s while DSDV is the worst<br />

performer from an actor to actor perspective in Wireless Sensor <strong>and</strong><br />

Actor <strong>Networks</strong>.<br />

Keywords—Wireless Sensor <strong>and</strong> Actor <strong>Networks</strong>, Sensor<br />

networks, Performance analysis, Research areas.<br />

I. INTRODUCTION<br />

Mobile communicati<strong>on</strong>s <strong>and</strong> wireless networking<br />

technology has seen a thriving development in recent years.<br />

Driven by technological advancements as well as applicati<strong>on</strong><br />

dem<strong>and</strong>s various classes of communicati<strong>on</strong> networks have<br />

emerged such as Cellular networks, Ad hoc <strong>Networks</strong>, Sensor<br />

<strong>Networks</strong> <strong>and</strong> Mesh <strong>Networks</strong>.<br />

Cellular <strong>Networks</strong> are the infrastructure dependent<br />

networks. Ad hoc networks are defined as the category of<br />

wireless networks that utilize multi hop radio relaying since<br />

1 Professi<strong>on</strong>al Member, Associati<strong>on</strong> for Computing Machinery.<br />

Email: gowrishankarsnath@acm.org<br />

2 Department of <strong>Computer</strong> Science <strong>and</strong> Engineering, Acharya Institute of<br />

Technology, Visvesvaraya Technological University, Belgaum 590014,<br />

Karnataka, India.<br />

Email:tgbasava@hotmail.com<br />

3 Department of <strong>Computer</strong> Science, Mangalore University, Mangalore<br />

574199, Karnataka, India.<br />

Email: ylm321@yahoo.co.in<br />

4 Department of Electr<strong>on</strong>ics <strong>and</strong> Telecommunicati<strong>on</strong> Engineering, Jadavpur<br />

University, Kolkata 700032 , West Bengal, India.<br />

Email: sksarkar@etce.jdvu.ac.in<br />

the nodes are dynamically <strong>and</strong> arbitrarily located. Ad hoc<br />

networks are infrastructure independent networks.<br />

WSN can be defined as a special class of ad hoc wireless<br />

network that are used to provide a wireless communicati<strong>on</strong><br />

infrastructure that allows us to instrument, observe <strong>and</strong><br />

resp<strong>on</strong>d to phenomena in the natural envir<strong>on</strong>ment <strong>and</strong> in our<br />

physical <strong>and</strong> cyber infrastructure [1, 2].<br />

WSAN refers to a heterogeneous distributed network<br />

comprising of sensor nodes <strong>and</strong> actor nodes (or actuators)<br />

which are intertwined together to perform sensing <strong>and</strong> acting<br />

tasks. Actor nodes have the capability for processing the<br />

sensed data, making decisi<strong>on</strong>s <strong>and</strong> then performing the<br />

appropriate acti<strong>on</strong>s.<br />

Even though sensor networks are a special type of ad hoc<br />

networks, the protocols designed for ad hoc networks cannot<br />

be used as it is for sensor networks due to the reas<strong>on</strong>s as listed<br />

in [1, 3, 4, 5].<br />

Also the protocols that need to be designed for WSAN should<br />

c<strong>on</strong>sider following criteria’s:<br />

1) WSN c<strong>on</strong>sists of <strong>on</strong>ly sensor nodes but WSAN c<strong>on</strong>sists of<br />

sensor <strong>and</strong> actor nodes. Sensor nodes are low cost, low<br />

power devices with limited sensing, wireless <strong>and</strong><br />

communicati<strong>on</strong> capabilities. Actor nodes are resource rich<br />

nodes equipped with better processing capabilities, higher<br />

transmissi<strong>on</strong> power <strong>and</strong> l<strong>on</strong>ger battery life.<br />

2) The number of sensor nodes deployed to sense a<br />

phenomen<strong>on</strong> area is dense <strong>and</strong> may be in the order of<br />

hundred or thous<strong>and</strong>s of nodes. But the number of actor<br />

nodes deployed may not be that dense since they have<br />

str<strong>on</strong>ger communicati<strong>on</strong> capabilities <strong>and</strong> can access a<br />

larger area.<br />

3) Real time communicati<strong>on</strong> is very much important between<br />

sensors <strong>and</strong> actors to perform the necessary task.<br />

4) Communicati<strong>on</strong> between sensors <strong>and</strong> actors should be<br />

efficient to ensure that the acti<strong>on</strong> is not duplicated when<br />

the same events are reported to different actor nodes.<br />

5) Ensure there is synchr<strong>on</strong>izati<strong>on</strong> am<strong>on</strong>g different sensor<br />

nodes reporting the same events to multiple or a single<br />

actor in order to receive a single resp<strong>on</strong>se for the entire<br />

regi<strong>on</strong>.<br />

In WSN the coordinati<strong>on</strong> is between the various sensor<br />

nodes <strong>and</strong> the sink as shown in fig 1. The functi<strong>on</strong>ality of the<br />

sink is to collect <strong>and</strong> process the reported data.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 313


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig 1: Sensor nodes to Sink.<br />

As shown in fig 2, two types of WSAN coordinati<strong>on</strong> takes<br />

place namely; Sensor to Actor <strong>and</strong> Actor to Actor<br />

coordinati<strong>on</strong>.<br />

Once the actor nodes receive raw informati<strong>on</strong> from the<br />

sensor nodes about the detected phenomen<strong>on</strong> then the actor<br />

nodes should process the data <strong>and</strong> take the required acti<strong>on</strong><br />

appropriately. For example, moti<strong>on</strong> m<strong>on</strong>itoring is d<strong>on</strong>e to<br />

provide security by observing the moti<strong>on</strong> of objects in art<br />

galleries, shopping malls, museums or any other facilities. If<br />

the sensor nodes detect any movement of artifact in the<br />

museum then the same event is c<strong>on</strong>veyed to the actor nodes,<br />

which in turn take appropriate steps like sounding the burglary<br />

alarm or inform the police of the burglary.<br />

Fig 2: Sensor to Actor or Actor to Actor Coordinati<strong>on</strong><br />

Wireless Sensor <strong>and</strong> Actor networks have been proposed for<br />

a variety of applicati<strong>on</strong>s like [1, 3, 6] Intrusi<strong>on</strong> detecti<strong>on</strong> <strong>and</strong><br />

Tracking al<strong>on</strong>g the border of a battle field for battle damage<br />

assessment, nuclear, biological, chemical attack detecti<strong>on</strong>,<br />

Habitat m<strong>on</strong>itoring of the of sea birds <strong>and</strong> m<strong>on</strong>itoring the<br />

microclimate changes in forests due to forest fire, Moti<strong>on</strong><br />

M<strong>on</strong>itoring al<strong>on</strong>g the bridges or large buildings to underst<strong>and</strong><br />

earthquake vibrati<strong>on</strong> patterns, to analyze the physiological<br />

c<strong>on</strong>diti<strong>on</strong>s of a pers<strong>on</strong>, to m<strong>on</strong>itor <strong>and</strong> track vehicles <strong>on</strong> a<br />

c<strong>on</strong>gested road, detecti<strong>on</strong> <strong>and</strong> m<strong>on</strong>itoring of car thefts in busy<br />

traffic <strong>and</strong> so <strong>on</strong>.<br />

Routing protocols like AODV [7], DSDV <strong>and</strong> DSR [8]<br />

designed for ad hoc networks can be applied for<br />

communicati<strong>on</strong> between actor to actor nodes of WSAN as l<strong>on</strong>g<br />

as the real time requirements are met <strong>and</strong> the communicati<strong>on</strong><br />

overhead occurring at the sensor nodes due to actor to actor<br />

communicati<strong>on</strong> is kept low [9].<br />

Following criteria have been identified in selecting the<br />

routing protocols for various WSAN applicati<strong>on</strong>s [TABLE 1]:<br />

Deployment: It means setting up an operati<strong>on</strong>al Wireless<br />

Sensor <strong>and</strong> Actor Network in a real envir<strong>on</strong>ment.<br />

Size: It refers to the number of actor nodes deployed in<br />

Wireless Sensor <strong>and</strong> Actor Network.<br />

Data Amount: Data amount can be less or more depending<br />

<strong>on</strong> the applicati<strong>on</strong>. So we need to choose a corresp<strong>on</strong>ding<br />

routing protocol appropriately that can deal with huge amount<br />

of data.<br />

Delay: For real time applicati<strong>on</strong>s like nuclear power plant<br />

m<strong>on</strong>itoring <strong>and</strong> military surveillance, delay should be very<br />

less.<br />

Overhead: In energy c<strong>on</strong>strained applicati<strong>on</strong>s, a protocol<br />

which has minimum overhead needs to be c<strong>on</strong>sidered.<br />

QOS: Quality of Service is the level of service provided by<br />

the WSAN to its users.<br />

The main c<strong>on</strong>tributi<strong>on</strong> of this paper is that we have d<strong>on</strong>e<br />

performance analysis of various routing protocols like AODV,<br />

DSDV <strong>and</strong> DSR from an actor to actor viewpoint of the<br />

wireless sensor <strong>and</strong> actor networks.<br />

For actor to actor communicati<strong>on</strong>, routing protocols<br />

designed for mobile ad hoc networks such as AODV, DSDV<br />

<strong>and</strong> DSR can be used, provided they are fine tuned to meet the<br />

real time requirements of the WSAN <strong>and</strong> also the overhead<br />

occurring at the sensor nodes due to actor to actor<br />

communicati<strong>on</strong> is minimal.<br />

The rest of the secti<strong>on</strong> is divided as follows: In the sec<strong>on</strong>d<br />

secti<strong>on</strong> we present literature survey, simulati<strong>on</strong> setup <strong>and</strong><br />

analysis of the results is given in the third <strong>and</strong> fourth secti<strong>on</strong><br />

<strong>and</strong> finally we c<strong>on</strong>clude our paper.<br />

II. RELATED WORK<br />

Low Energy Adaptive Cluster Hierarchy (LEACH) is<br />

proposed in [10] that employ’s the technique of r<strong>and</strong>omly<br />

rotating the role of a cluster head am<strong>on</strong>g all the nodes in the<br />

network. The operati<strong>on</strong> of LEACH is organized in rounds<br />

where each round c<strong>on</strong>sists of a setup phase <strong>and</strong> a transmissi<strong>on</strong><br />

phase. During the setup phase, the nodes organize themselves<br />

into clusters with <strong>on</strong>e node serving as the cluster head in each<br />

cluster. During the transmissi<strong>on</strong> phase, the self elected cluster<br />

heads collect data from nodes within their respective clusters<br />

<strong>and</strong> apply data fusi<strong>on</strong> before forwarding them directly to the<br />

base stati<strong>on</strong>. It has been shown that LEACH provides<br />

significant energy savings <strong>and</strong> prol<strong>on</strong>ged network lifetime.<br />

S-MAC protocol is an effective energy c<strong>on</strong>serving MAC<br />

protocol designed by Wei Ye et.al [11] for Wireless Sensor<br />

<strong>Networks</strong>. Majority of the c<strong>on</strong>tenti<strong>on</strong> based MAC protocols<br />

are based <strong>on</strong> S-MAC. C<strong>on</strong>serving energy in S-MAC protocol<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 314


Proceedings of ICCNS 08 , 27-28 September 2008<br />

is d<strong>on</strong>e through three novel techniques. A low duty cycle is<br />

implemented in S-MAC which forces the nodes to sleep<br />

periodically instead of listening c<strong>on</strong>tinuously to an idle<br />

channel. Transceivers are turned off for the time when the<br />

shared medium is used for transmissi<strong>on</strong> by other nodes. A<br />

message passing scheme is used for applicati<strong>on</strong>s that require<br />

store <strong>and</strong> forward processing thereby reducing latency <strong>and</strong><br />

c<strong>on</strong>trol overhead. Existing MAC protocols for WSN should<br />

be improved to provide real time guarantee <strong>and</strong> reduce delay.<br />

In [12] R<strong>and</strong>om Asynchr<strong>on</strong>ous Wakeup, an energy<br />

management scheme explicitly designed for Wireless Sensor<br />

<strong>and</strong> Actor <strong>Networks</strong> is introduced. This protocol achieved<br />

good scalability while reducing energy c<strong>on</strong>sumpti<strong>on</strong>. A novel<br />

Delay-Energy Aware Routing Protocol (DEAP) is presented in<br />

[13] for Wireless Sensor <strong>and</strong> Actor <strong>Networks</strong>. DEAP provides<br />

a flexible range of tradeoffs between the packet delay <strong>and</strong> the<br />

energy use. Therefore, DEAP supports delay sensitive<br />

applicati<strong>on</strong>s of heterogeneous sensor <strong>and</strong> actor networks.<br />

Han Peng et al, [14] propose a novel localizati<strong>on</strong> scheme<br />

ECLS: An Efficient Cooperative Localizati<strong>on</strong> Scheme for<br />

Wireless Sensor <strong>and</strong> Actor <strong>Networks</strong>. ECLS is an event-driven<br />

localizati<strong>on</strong> method which is characterized by ideas such as<br />

limited beac<strong>on</strong>s <strong>and</strong> actors cooperati<strong>on</strong>.<br />

A Fault tolerant model is proposed in [15] to provide<br />

reliable real time communicati<strong>on</strong>s am<strong>on</strong>g sensors, actors <strong>and</strong><br />

actuati<strong>on</strong> devices. The authors incorporate a multi-actor/multisensor<br />

(MAMS) model. This paper discusses how to make<br />

WSAN reliable <strong>and</strong> available by preventing c<strong>on</strong>flicting acti<strong>on</strong>s<br />

<strong>on</strong> multiple actor nodes.<br />

III. SIMULATION ENVIRONMENT<br />

The code has been modified wherever it was deemed<br />

necessary to satisfy our simulati<strong>on</strong> c<strong>on</strong>diti<strong>on</strong>s. Also several<br />

parameters have been fine tuned as specified by [21, 22, 23] to<br />

carry our simulati<strong>on</strong> work. For our research we have used NS-<br />

2 [17] <strong>and</strong> NRLSensorsim [18] in combinati<strong>on</strong>. NS-2 is a<br />

popular software package used for Network simulati<strong>on</strong>.<br />

NRLSensorsism is developed at Naval Research Laboratory<br />

(NRL) to extend the NS-2 capability to simulate Sensor<br />

<strong>Networks</strong>. The simulated sensor area is 501m x 501m<br />

rectangle. In the first run the number of nodes has been varied<br />

from 50 to 100 nodes keeping the simulati<strong>on</strong> time c<strong>on</strong>stant at<br />

100 sec<strong>on</strong>ds. In the sec<strong>on</strong>d run, the number of nodes has been<br />

kept c<strong>on</strong>stant at 100 nodes, while varying the simulati<strong>on</strong> time<br />

from 20 to 100 sec<strong>on</strong>ds. The MAC layer protocol is a<br />

modified IEEE 802.11, which c<strong>on</strong>firms to a sensor network<br />

envir<strong>on</strong>ment. The size of each of the message transmitted is<br />

100 bytes. The transmissi<strong>on</strong> range is 50m.<br />

Various metrics like Packet Delivery Ratio, Average End to<br />

End Delay, Protocol C<strong>on</strong>trol Overhead <strong>and</strong> Throughput of the<br />

Network have been selected to evaluate the performance of the<br />

routing protocols.<br />

Packet Delivery Ratio: It is defined as the ratio of number of<br />

packets received by an actor node to the number of packets<br />

sent from another source actor node. The greater the packet<br />

delivery ratio is, the more reliable the routing protocol <strong>and</strong> the<br />

less probability of dropping a data packet will be.<br />

Average End to End Delay: This is the average end to end<br />

delay packets i.e. the interval between the data packet<br />

generati<strong>on</strong> time <strong>and</strong> the time when the last bit arrives at the<br />

destinati<strong>on</strong>.<br />

C<strong>on</strong>trol Packet Overhead: The number of c<strong>on</strong>trol packets<br />

sent by all the nodes to discover <strong>and</strong> maintain routes.<br />

Throughput of the network: Throughput can be defined as<br />

the ratio of total number of bytes received to the simulati<strong>on</strong><br />

end time.<br />

IV. RESULT ANALYSIS<br />

In this secti<strong>on</strong>, the results obtained for various metrics have<br />

been discussed.<br />

6.1 Packet Delivery Ratio<br />

In fig 3, PDR v/s Number of actor nodes has been mapped.<br />

PDR decreases in all the three protocols as the number of<br />

nodes increases in the network.<br />

Fig 3: PDR v/s Number of Actor Nodes<br />

But it is very much less in AODV. Initial PDR of DSR can<br />

be compared to that of AODV but there is a free fall in PDR<br />

<strong>on</strong>ce the number of nodes increases >70, which can be<br />

attributed to the number of dropped packets <strong>and</strong> the amount of<br />

collisi<strong>on</strong>s that occur in the network. But still DSR is better<br />

than DSDV. As can be seen in the graph AODV has highest<br />

PDR when compared to other protocols while DSDV is the<br />

worst performer. We find a little fall in PDR of AODV as the<br />

number of actor nodes is increased, since a packet sent from<br />

<strong>on</strong>e actor node to actor node will have more hops to traverse<br />

before reaching the intended actor node thereby increasing the<br />

risk of TTL timeouts.<br />

6.2 End to End Delay<br />

In fig 4, End to End Delay v/s Number of actor nodes has<br />

been mapped. AODV has less end to end delay when<br />

compared to DSDV <strong>and</strong> DSR. The performance of AODV <strong>and</strong><br />

DSR remains c<strong>on</strong>sistent when the number of nodes is less but<br />

the end to end delay increases slightly as the node increases.<br />

DSDV has the worst end to end delay as the number of node<br />

increases <strong>and</strong> performs badly when compared to AODV <strong>and</strong><br />

DSR. In DSDV, in order to obtain informati<strong>on</strong> about a<br />

particular destinati<strong>on</strong> actor node; a node has to wait for a table<br />

update message initiated by the same destinati<strong>on</strong> actor node<br />

resulting in delay.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 315


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig 4: End to End Delay v/s Number of Actor Nodes<br />

6.3 Overhead<br />

In fig 5, Overhead v/s Number of actor nodes has been<br />

mapped. From the graph we can analyze that DSDV is having<br />

more overhead when compared to AODV <strong>and</strong> DSR as the<br />

number of nodes increases. The more the overhead the less the<br />

protocol is scalable.<br />

Fig 5: Overhead v/s Number of Actor Nodes<br />

When the number of nodes is less, DSDV has less overhead.<br />

But it tends to increase as the number of nodes increases since<br />

the updates are propagated throughout the network in order to<br />

maintain an up to date view of the network topology at all the<br />

nodes. AODV produces less overhead than DSDV as AODV<br />

tries to discover a routing path <strong>on</strong>ly when it is needed. DSR is<br />

having less overhead than other routing protocols as it makes<br />

use of caching mechanism <strong>and</strong> it is more likely to find the<br />

routes in its cache which results in less number of route<br />

discovery requests than other protocols. Due to low overhead<br />

DSR is more scalable than other protocols which enable us to<br />

use DSR in applicati<strong>on</strong>s where scalability is needed.<br />

6.4 Throughput<br />

In fig 6, Throughput v/s Number of actor nodes has been<br />

mapped. Both DSR <strong>and</strong> AODV fare well. If the number of<br />

nodes is less; AODV has highest throughput. But as the<br />

number of nodes increases, both AODV <strong>and</strong> DSR have more<br />

or less the same throughput, as can be seen from the graph.<br />

DSDV has fewer throughputs which can be attributed to the<br />

excessive channel usage by the regular route table updates.<br />

Hence, we c<strong>on</strong>clude that since b<strong>and</strong>width is a critical issue in<br />

WSAN we c<strong>on</strong>sider AODV as the routing protocol for<br />

b<strong>and</strong>width c<strong>on</strong>strained applicati<strong>on</strong>s.<br />

Fig 6: Throughput v/s Number of Actor Nodes<br />

V. CONCLUSION<br />

In this paper, a comprehensive analysis of various routing<br />

protocols in WSAN from an actor to actor perspective has<br />

been presented. From our analysis we found out that even<br />

though AODV <strong>and</strong> DSR can be applied to sufficient number of<br />

applicati<strong>on</strong>s there is nothing like <strong>on</strong>e protocol that can fit to all<br />

the applicati<strong>on</strong>s. Different protocols need to chosen under<br />

different circumstances depending <strong>on</strong> the applicati<strong>on</strong> we<br />

intend to work with. Also from our analysis we can fairly say<br />

that the NRLSensorsim framework used to extend the NS2<br />

capabilities to simulate Wireless Sensor Network has been<br />

optimized for AODV. We have identified various applicati<strong>on</strong>s<br />

<strong>and</strong> the actor to actor routing protocols that can be applied to<br />

these applicati<strong>on</strong>s based <strong>on</strong> our simulati<strong>on</strong> analysis are shown<br />

in TABLE 1. Some research challenges that need to be<br />

explored in WSAN are:<br />

Enhancing adaptability for real time requirements: Many<br />

applicati<strong>on</strong>s are delay sensitive <strong>and</strong> expect the actor nodes to<br />

take acti<strong>on</strong> at a very small instance of time. So, we should<br />

optimize the protocols for real time applicati<strong>on</strong> with less delay.<br />

Multihop Networking: Protocols needs to be designed with<br />

multihop networking am<strong>on</strong>g sensor nodes <strong>and</strong> actor nodes for<br />

c<strong>on</strong>serving energy in an effective manner.<br />

Susceptible to node movement: Protocols designed for<br />

WSAN should be susceptible to the movement of sensor <strong>and</strong><br />

actor nodes.<br />

Improving Range <strong>and</strong> Visibility: Research should include<br />

improving the range <strong>and</strong> visibility of the sensor <strong>and</strong> actor<br />

nodes when deployed in various physical phenomen<strong>on</strong>s in<br />

order to detect wr<strong>on</strong>g sensor readings at the earliest <strong>and</strong> also to<br />

reduce latency <strong>and</strong> c<strong>on</strong>gesti<strong>on</strong>.<br />

Localizati<strong>on</strong> algorithms: Design of localizati<strong>on</strong> algorithms<br />

should be robust enough to localize the failures <strong>and</strong> loss of<br />

nodes. It should be tolerant to error in physical measurements.<br />

Robust Synchr<strong>on</strong>izati<strong>on</strong> Protocols: The lifetime or the<br />

durati<strong>on</strong> for the nodes which are spread over a large<br />

geographical area needs to be taken into account. Sensor nodes<br />

have higher degree of failures. Thus the synchr<strong>on</strong>izati<strong>on</strong><br />

protocol needs to be more robust to failures <strong>and</strong> to<br />

communicati<strong>on</strong> delay in WSAN.<br />

Calibrati<strong>on</strong>: In WSAN calibrati<strong>on</strong> is needed for accuracy,<br />

resiliency against r<strong>and</strong>om errors, ability to be applied in<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 316


Proceedings of ICCNS 08 , 27-28 September 2008<br />

various scenarios <strong>and</strong> to address a variety of error models.<br />

Data Aggregati<strong>on</strong>: WSAN are inherently unreliable <strong>and</strong><br />

certain informati<strong>on</strong> may be unavailable or expensive to obtain;<br />

like the number of nodes present in the network <strong>and</strong> the<br />

number of nodes that are resp<strong>on</strong>ding <strong>and</strong> also it is difficult to<br />

obtain complete <strong>and</strong> up-to date informati<strong>on</strong>.<br />

We like to emphasize that the routing protocols which we<br />

have c<strong>on</strong>sidered here were designed for ad-hoc networks but<br />

we have c<strong>on</strong>sidered them for wireless sensor <strong>and</strong> actor<br />

networks. This explains the substantial difference between the<br />

results which we have obtained by applying the routing<br />

protocols designed for ad-hoc network to WSAN <strong>and</strong> the<br />

results when the same routing protocols are applied to the<br />

same framework. Also, for the benefit of the research<br />

community, source code <strong>and</strong> data sheets will be made<br />

available <strong>on</strong> request. Our future work includes designing a<br />

new protocol that supports the WSAN paradigm. With all<br />

these research challenges we firmly believe that we have a<br />

very exciting time ahead of us in the area of Wireless Sensor<br />

<strong>and</strong> Actor <strong>Networks</strong>.<br />

REFERENCES<br />

[1] Jamal N.Al-Karaki <strong>and</strong> Ahmed E.Kamal,” Routing Techniques in<br />

Wireless Sensor <strong>Networks</strong>: A Survey”, IEEE Wireless Communicati<strong>on</strong>s,<br />

December 2004.<br />

[2] I. Akylidiz, W. Su, Sankarasubramaniam, <strong>and</strong> E.Cayrici, “A survey <strong>on</strong><br />

sensor networks”, IEEE Communicati<strong>on</strong>s Magazine, Volume: 40 Issue:<br />

8, August 2002, pp.102-114.<br />

[3] K. Akkaya <strong>and</strong> M. Younis, “A survey of Routing Protocols in Wireless<br />

Sensor <strong>Networks</strong>”, Elsevier Ad Hoc Network Journal, 2005, pp 325-<br />

349.<br />

[4] Q. Jiang <strong>and</strong> D.Manivannan, “Routing Protocols for Sensor <strong>Networks</strong>”,<br />

In proceedings of C<strong>on</strong>sumer Communicati<strong>on</strong>s <strong>and</strong> Networking<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, 5-8 January, pp 93-98.<br />

[5] D.Culler, D.Estrin <strong>and</strong> M.Srivastava, “Overview of Sensor <strong>Networks</strong>”,<br />

IEEE <strong>Computer</strong> Society, August 2004.<br />

[6] Ian F. Akylidiz <strong>and</strong> Ismail H. Kasimoglu,”Wireless Sensor <strong>and</strong> Actor<br />

Netowrks: Research Challenges”, http://www.sciencedirect.com.<br />

[7] C.Perkins, E.B.Royer <strong>and</strong> S.Das,”AdHoc On-Dem<strong>and</strong> Distance Vector<br />

(AODV) Routing”, RFC 3561, IETF Network Working Group, July<br />

2003.<br />

[8] E.M.Royer <strong>and</strong> C.K.Toh, “ A Review of Current Routing Protocols for<br />

Ad-Hoc Mobile Wireless <strong>Networks</strong>”, IEEE Pers<strong>on</strong>al Communicati<strong>on</strong>s<br />

Magazine, April 1999, pp. 46-55.<br />

[9] M.C<strong>on</strong>ti, .Giordano, G.Maselli, G.Turi, “ Cross-layering in mobile adhoc<br />

network design”, IEEE <strong>Computer</strong>, Special Issue <strong>on</strong> Ad hoc<br />

<strong>Networks</strong> 37 (2) (2004) 48-51<br />

[10] W.R.Heinzelman, A. Ch<strong>and</strong>rakasan <strong>and</strong> H.Balakrishnan, “Energy-<br />

Efficient Communicati<strong>on</strong> Protocol for Wireless Microsensor <strong>Networks</strong>”,<br />

IEEE Proc. Hawaii Int’l <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>. Jan 2000, pp 1-10.<br />

[11] Wei Ye, J. Heidemann <strong>and</strong> D.Estrin, “ An Energy Efficient MAC<br />

Protocol for Wireless Sensor <strong>Networks</strong>”, In proceedings of IEEE<br />

Infocom, pp 1567-1576, June 2002.<br />

[12] V.Parachuri, S.Basavaraju, A.Durresis <strong>and</strong> R.Kannan,”R<strong>and</strong>om<br />

Asynchr<strong>on</strong>ous Wakeup Protocol for Sensor <strong>Networks</strong>”, In proceedings<br />

of BroadNets’04, San Jose, California, October 2004.<br />

[13] Arjan Desai et al., “Delay-Energy Aware Routing for Sensor <strong>and</strong> Actor<br />

<strong>Networks</strong>”, Proceedings of the 2005 11 th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Parallel <strong>and</strong> Distributed Systems (ICPADS’05)<br />

[14] Han Peng et al., “ECLS: An Efficient Cooperative Localizati<strong>on</strong> Scheme<br />

For Wireless Sensor <strong>and</strong> Actor <strong>Networks</strong>”, In proceedings of the 2005<br />

The Fifth <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> <strong>Computer</strong> <strong>and</strong> Informati<strong>on</strong><br />

Technology (CIT’05).<br />

[15] Keiji Ozake, Kenichi Watanabe et al,”A Fault-Tolerant Model for<br />

Wireless Sensor-Actor System”, Proceedings of the 20 th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Advanced Informati<strong>on</strong> Networking <strong>and</strong> Applicati<strong>on</strong>s<br />

(AINA’06)<br />

[16] D.B.Johns<strong>on</strong> <strong>and</strong> D.A.Maltz,”The Dynamic Source Routing Protocol for<br />

Mobile Ad hoc <strong>Networks</strong>”, Mobile Computing, T. Imielinski <strong>and</strong><br />

H.Korth, Eds.,Kluwer Publicati<strong>on</strong>s, 1996, pp 153-183.<br />

[17] Informati<strong>on</strong> Sciences Institute, “The Network Simulator Ns-2”,<br />

Http://www.isi.edu/nanam/ns/, University of Southern California.<br />

[18] NRL’s Sensor Network Extensi<strong>on</strong> to NS-<br />

2,Http://www.nrlsensorsim.pf.itd.nrl.navy.mil/.<br />

[19] Dheeraj Reddy et al., “Measuring <strong>and</strong> Explaining Differences in<br />

Wireless Simulati<strong>on</strong> Models”, Proceedings of the 14 th IEEE<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Symposium <strong>on</strong> Modeling, Analysis <strong>and</strong> Simulati<strong>on</strong> of<br />

<strong>Computer</strong> <strong>and</strong> Telecommunicati<strong>on</strong> Systems (MASCOTS’06).<br />

[20] J. Heidemann <strong>and</strong> N. Bulusu et al., “ Effects of detail in wireless<br />

network Simulati<strong>on</strong>”, In Proceedings of the SCS Multic<strong>on</strong>ference <strong>on</strong><br />

Distributed simulati<strong>on</strong>”, January 2001, pp 3-11.<br />

[21] Stuart Kurkowski, Tracy Camp <strong>and</strong> Michael colagrosso,”MANET<br />

Simulati<strong>on</strong> Studies: The Incredibles”, Special Issue <strong>on</strong> Medium Access<br />

<strong>and</strong> Call Admissi<strong>on</strong> C<strong>on</strong>trol Algorithms for Next generati<strong>on</strong> Wireless<br />

<strong>Networks</strong>”, volume 9, Issue 4, October 2005.<br />

[22] Chien-Yih Wan, L.Krishnamurthy, “Pump-Slowly, Fetch-Quickly<br />

(PSFQ): A Reliable Transport Protocol for Sensor <strong>Networks</strong>”, IEEE<br />

Journal <strong>on</strong> selected areas in Communicati<strong>on</strong>s, Vol 23, No 4, April 2005.<br />

[23] O.B.Akan <strong>and</strong> I.F.Akyildiz, “Event To Sink Reliable Transport in<br />

Wireless Sensor <strong>Networks</strong>”, IEEE/ACM Transacti<strong>on</strong>s <strong>on</strong> Networking,<br />

Vol 13, No 5, October 2005.<br />

[24] A. Mainwaring et al ,”Wireless Sensor <strong>Networks</strong> for Habitat<br />

M<strong>on</strong>itoring”, In proceedings of the <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Workshop <strong>on</strong> WSN<br />

<strong>and</strong> applicati<strong>on</strong>s, Atlanta, Georgia, USA September 2002.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 317


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE 1<br />

ROUTING PROTOCOL SELECTION FOR VARIOUS APPLICATIONS IN WSAN<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 318


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Soft One To One Gateway Protocol<br />

Balach<strong>and</strong>ra G.C 1 <strong>and</strong> Hanumanathappa J 2<br />

Abstract— The objective of the paper is to dem<strong>on</strong>strate a soft<br />

<strong>on</strong>e to <strong>on</strong>e gateway switch that describes a call c<strong>on</strong>trol architecture,<br />

where the intelligence of the call c<strong>on</strong>trol is outside the gateways <strong>and</strong><br />

h<strong>and</strong>led by external call c<strong>on</strong>trol elements called call agents. The<br />

gateway protocol assumes that these call c<strong>on</strong>trol elements will<br />

synchr<strong>on</strong>ize with each other by sending coherent comm<strong>and</strong>s to the<br />

gateways under their c<strong>on</strong>trol. This gateway switch is master/salve<br />

protocol where the gateways are expected to execute comm<strong>and</strong>s sent<br />

by the call c<strong>on</strong>trol elements. Gateway protocol does not define a<br />

mechanism for synchr<strong>on</strong>izing call c<strong>on</strong>trol elements.<br />

Keywords— MGCP, MGCI, Gateway, Callagent, endpoint,<br />

NTFY, DLCX, AUEP, AUCX, CRCX, MDCX, RSIP, hairpin.<br />

I. INTRODUCTION<br />

Media gateway c<strong>on</strong>trol interface describes an abstract<br />

applicati<strong>on</strong> programming interface (MGCI) <strong>and</strong> a<br />

corresp<strong>on</strong>ding protocol (MGCP) for c<strong>on</strong>trolling Media<br />

Gateways from external call c<strong>on</strong>trol elements called media<br />

gateway c<strong>on</strong>trollers or Call Agents. A Media Gateway is<br />

typically a network element that provides c<strong>on</strong>versi<strong>on</strong> between<br />

the audio signals carried <strong>on</strong> teleph<strong>on</strong>e circuits <strong>and</strong> data packets<br />

carried over the Internet or over other packet networks. MGCP<br />

assumes a call c<strong>on</strong>trol architecture where the calls c<strong>on</strong>trol<br />

“intelligence" is outside the gateways <strong>and</strong> h<strong>and</strong>led by external<br />

call c<strong>on</strong>trol elements known as Call Agents.<br />

The MGCP assumes that these call c<strong>on</strong>trol elements, or<br />

Call Agents will synchr<strong>on</strong>ize with each other to send coherent<br />

comm<strong>and</strong>s <strong>and</strong> resp<strong>on</strong>ses to the gateways under their c<strong>on</strong>trol.<br />

If this assumpti<strong>on</strong> is violated, inc<strong>on</strong>sistent behavior should be<br />

expected. MGCP does not define a mechanism for<br />

synchr<strong>on</strong>izing Call Agents.<br />

Media Gateway C<strong>on</strong>trol Interface functi<strong>on</strong>s provide for<br />

c<strong>on</strong>necti<strong>on</strong> c<strong>on</strong>trol <strong>and</strong> endpoint c<strong>on</strong>trol. C<strong>on</strong>necti<strong>on</strong>s are<br />

grouped in calls. One or more c<strong>on</strong>necti<strong>on</strong>s can bel<strong>on</strong>g to <strong>on</strong>e<br />

call. C<strong>on</strong>necti<strong>on</strong>s <strong>and</strong> calls are set up at the initiative of <strong>on</strong>e or<br />

more Call Agents. Media gateways should be able to establish<br />

several c<strong>on</strong>necti<strong>on</strong>s between the endpoint <strong>and</strong> the packet<br />

networks, or between the endpoint <strong>and</strong> other endpoints in the<br />

same gateway.<br />

The decomposed gateway c<strong>on</strong>sists of a call agent, which<br />

c<strong>on</strong>tains the call c<strong>on</strong>trol” intelligence”, <strong>and</strong> a media gateway,<br />

which c<strong>on</strong>tains the media functi<strong>on</strong>s. Media gateways c<strong>on</strong>tain<br />

1 Balach<strong>and</strong>ra G.C. T<strong>on</strong>tadarya College of Engineering,<br />

Mundargi Road , Gadag-582101, Karnataka . INDIA ( Ph<strong>on</strong>e: +091-821-<br />

236933, 232445; Fax: +091-08372-232446, Email:<br />

balutech@rediffmail.com, balutech@yahoo.co.in.<br />

2 Hanumanthappa .J., Dos in <strong>Computer</strong> Science, University of<br />

Mysore, Manasagangothri, Mysore, Karnataka .INDIA ( ph<strong>on</strong>e: +091-821-<br />

2419552; fax: +091-0821-2510789,Email: hanums_j@yahoo.com )<br />

endpoints <strong>on</strong> which the call agents can create, modify <strong>and</strong><br />

delete c<strong>on</strong>necti<strong>on</strong> in order to establish <strong>and</strong> c<strong>on</strong>trol media<br />

sessi<strong>on</strong>s with other multi media generate signals. The end<br />

points automatically communicate changes in services state to<br />

the call agent. Furthermore, the call agent can audit endpoints<br />

as well as the c<strong>on</strong>necti<strong>on</strong> <strong>on</strong> endpoints [1], [2].<br />

Block diagram of MGCP<br />

EC1<br />

GW<br />

CA<br />

MGCP<br />

RTP<br />

EC2<br />

GW<br />

Fig 1.1: Block diagram of MGCP<br />

Endpoint <strong>and</strong> C<strong>on</strong>necti<strong>on</strong> Identifiers<br />

Endpoint identifiers have two comp<strong>on</strong>ents that both are<br />

case- insensitive:<br />

• the domain name of the gateway that is managing the<br />

endpoint<br />

• a local name within that gateway<br />

Endpoint names are of the form:<br />

local-endpoint-name@domain-name<br />

Where domain-name is an absolute domain-name <strong>and</strong><br />

includes a host porti<strong>on</strong>, thus an example domain-name could<br />

be: soft<strong>on</strong>eto<strong>on</strong>e.gataway.net<br />

Also, domain-name may be an IP-address of the form<br />

[192.168.1.2]<br />

Both IPv4 <strong>and</strong> IPv6 addresses can be specified, however<br />

use of IP addresses as endpoint identifiers are generally<br />

discouraged [1], [2].<br />

View of call agent <strong>and</strong> gateway<br />

Call Agent or<br />

Media Gateway<br />

C<strong>on</strong>troller (MGC)<br />

MGC<br />

Media Gateway<br />

(MG)<br />

CA<br />

SIP<br />

CA : Call agent<br />

GW : Gateway<br />

MGCP: Media Gateway C<strong>on</strong>trol<br />

Protocol<br />

RTP: Real Time Protocol<br />

SIP: Sessi<strong>on</strong> initializati<strong>on</strong> protocol<br />

Fig 1.2: View of call agent <strong>and</strong> gateway<br />

A point-to-point c<strong>on</strong>necti<strong>on</strong> is an associati<strong>on</strong> between two<br />

endpoints with the purpose of transmitting data between these<br />

EC<br />

SIP<br />

H.323<br />

Call Agent or<br />

Media Gateway<br />

C<strong>on</strong>troller (MGC)<br />

MGC<br />

Media Gateway<br />

(MG)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 319


Proceedings of ICCNS 08 , 27-28 September 2008<br />

endpoints. Once this associati<strong>on</strong> is established for both<br />

endpoints, data transfer between these endpoints can take<br />

place [7],[9].<br />

Call agents instructs the gateways to create c<strong>on</strong>necti<strong>on</strong>s<br />

between endpoints <strong>and</strong> to detect certain events, e.g: off-hook,<br />

<strong>on</strong>-hook etc, <strong>and</strong> generate certain signals, eg: ringing. It is<br />

strictly upto the call agent to specify how <strong>and</strong> when<br />

c<strong>on</strong>necti<strong>on</strong>s are made, between which endpoints they are<br />

made, as well as what events <strong>and</strong> signals are to be detected<br />

<strong>and</strong> generated <strong>on</strong> the endpoints. The gateway, there by,<br />

becomes a simple device, without any call state, that receives<br />

general instructi<strong>on</strong>s from the call agent without any need to<br />

worry about or even underst<strong>and</strong> the c<strong>on</strong>cept of calls or call<br />

states.<br />

When new services are introduced or customer profiles<br />

changed, the changes are transparent to the gateway. The call<br />

agent implements the changes <strong>and</strong> generates the appropriate<br />

new mix of instructi<strong>on</strong>s to the gateways for the changes made.<br />

In the MGCP model, the gateways focus <strong>on</strong> the audio<br />

signal translati<strong>on</strong> functi<strong>on</strong>, while the call agent h<strong>and</strong>les the<br />

signaling <strong>and</strong> call processing functi<strong>on</strong>s. As a c<strong>on</strong>sequences,<br />

the call agent implements the "signaling".<br />

Comm<br />

<strong>and</strong><br />

Table 1 :Comm<strong>and</strong> Formats<br />

Message Name<br />

Sent<br />

By<br />

AUEP AuditEndpoint CA<br />

AUCX AuditC<strong>on</strong>necti<strong>on</strong> CA<br />

CRCX CreateC<strong>on</strong>necti<strong>on</strong> CA<br />

DLCX DeleteC<strong>on</strong>necti<strong>on</strong> Both<br />

MDCX ModifyC<strong>on</strong>necti<strong>on</strong> CA<br />

RQNT Notificati<strong>on</strong>Request CA<br />

NTFY Notify GW<br />

RSIP RestartInProgress GW<br />

Descripti<strong>on</strong><br />

Determines the status of a<br />

given endpoint.<br />

Retrieves all the parameters<br />

associated with a c<strong>on</strong>necti<strong>on</strong>.<br />

Creates a c<strong>on</strong>necti<strong>on</strong> between<br />

two endpoints.<br />

From CallManager:<br />

Terminates a current<br />

c<strong>on</strong>necti<strong>on</strong>.<br />

From Gateway: Indicates that<br />

a c<strong>on</strong>necti<strong>on</strong> can no l<strong>on</strong>ger be<br />

sustained.<br />

Changes the parameters<br />

associated with an established<br />

c<strong>on</strong>necti<strong>on</strong>.<br />

Instructs the gateway to watch<br />

for special events such as<br />

hooks or DTMF t<strong>on</strong>es. It is<br />

also used to instruct the<br />

gateway to provide a signal to<br />

the endpoint (for example, dial<br />

t<strong>on</strong>e <strong>and</strong> busy t<strong>on</strong>e).<br />

Informs the Cisco<br />

CallManager when requested<br />

events occur.<br />

Informs the Cisco<br />

CallManager that an endpoint<br />

or group of endpoints are<br />

taken out or placed back into<br />

service.<br />

Sequence of Comm<strong>and</strong>s for a Call Establishment<br />

The first comm<strong>and</strong> is a Notificati<strong>on</strong>Request, sent by the Call<br />

Agent to the Gateway Server. The request will c<strong>on</strong>sist of the<br />

following lines:<br />

RQNT 1201 endpoint/1@rgw.whatever.net MGCP 0.1<br />

N: ca@ca1.w hatever.net:<br />

X: 0123456789AC<br />

R: hd(E (dl;hu, D/[0-9#*T](D);)<br />

D: 2XXX<br />

The gateway immediately acknowledges the comm<strong>and</strong>,<br />

repeating in the acknowledgement message the transacti<strong>on</strong> id<br />

that the Call Agent attached to the query.<br />

200 1201 OK<br />

When the off hook event is noticed, the gateway<br />

provides the dial t<strong>on</strong>e to the line (the delay between off-hook<br />

<strong>and</strong> dial t<strong>on</strong>e is thus minimal.) The gateway will then start<br />

accumulating digits according to that digit map.<br />

When it has noticed a sufficient set of values, it will<br />

notify the observed string to the Call Agent:<br />

NTFY 2002 endpoint/1@rgw.whatever.net MGCP 0.1<br />

N: ca@ca1.whatever.ne<br />

X: 0123456789AC<br />

O: 2001<br />

The Call Agent immediately acknowledges that notificati<strong>on</strong>.<br />

200 2002 OK<br />

The call agent analyzes the called number <strong>and</strong><br />

determines that this is a hairpin c<strong>on</strong>necti<strong>on</strong> the called party is<br />

located <strong>on</strong> the same gateway, <strong>on</strong> endpoint/2. The Call<br />

Agent can prepare two simultaneous Create C<strong>on</strong>necti<strong>on</strong><br />

comm<strong>and</strong>s, creating the two legs of the c<strong>on</strong>necti<strong>on</strong>.<br />

The create c<strong>on</strong>necti<strong>on</strong> sent to the first endpoint<br />

piggybacks a notificati<strong>on</strong> request, to stop collecting digits yet<br />

c<strong>on</strong>tinue watch for an <strong>on</strong>-hook transiti<strong>on</strong>. The Create<br />

C<strong>on</strong>necti<strong>on</strong> sent to the sec<strong>on</strong>d endpoint piggybacks a request<br />

to generate ringing <strong>and</strong> look for off-hook. Both comm<strong>and</strong>s can<br />

be sent in a single UDP packet:<br />

CRCX 1204 endpoint/1@rgw.whatever.net MGCP 0.1<br />

C: A3C47F21456789F0<br />

X: 0123456789AD<br />

M: sendrecv<br />

R: hu<br />

v=0<br />

c=LOCAL rgw.whatever.net endpoint/2<br />

m=audio 0 LOCAL 0<br />

CRCX 1205 endpoint/2@rgw.whatever.net MGCP 0.1<br />

C: A3C47F21456789F0<br />

X: 9875659876<br />

M: sendrecv<br />

R: hd<br />

S: rg<br />

v=0<br />

c=LOCAL rgw.whatever.net endpoint/1<br />

m=audio 0 LOCAL 0<br />

We should note that the call agent does not send the local<br />

c<strong>on</strong>necti<strong>on</strong> opti<strong>on</strong>s since it knows that it is a local (a.k.a.<br />

"hairpin") c<strong>on</strong>necti<strong>on</strong> are entirely described by the SDP text.<br />

The gateway immediately acknowledges the creati<strong>on</strong>s,<br />

sending back in two messages the identificati<strong>on</strong> of the newly<br />

created c<strong>on</strong>necti<strong>on</strong>s:<br />

200 1204 OK<br />

I:FDE234C8<br />

200 1204 OK<br />

I:9867659A<br />

The gateway, at that point, is instructed to look for an<br />

off-hook event <strong>on</strong> the sec<strong>on</strong>d endpoint, <strong>and</strong> to report it. When<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 320


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the gateway notices the off hook event, it sends a Notify<br />

comm<strong>and</strong> to the Call Agent:<br />

NTFY 2001 endpoint/1@rgw.whatever.net MGCP 0.1<br />

X: 9875659876<br />

O: hd<br />

The Call Agent immediately acknowledges that notificati<strong>on</strong>:<br />

200 2001 OK<br />

The Call agent will now send a Notificati<strong>on</strong> Request<br />

comm<strong>and</strong> to the gateway, asking to look for an off-hook event<br />

<strong>on</strong> the sec<strong>on</strong>d end-point:<br />

RQNT 1206 endpoint/2@rgw.whatever.net MGCP 0.1<br />

X: 987565989A<br />

R: hu<br />

The gateway acknowledges that comm<strong>and</strong>:<br />

200 1206 OK<br />

At this point the call is active between the two gateway<br />

users.<br />

When the first user goes off hook, it sends a notificati<strong>on</strong> to the<br />

call agent:<br />

NTFY 2010 endpoint/1@rgw.whatever.net MGCP 0.1<br />

X: 987565989A<br />

O: hu<br />

The call agent acknowledges the notificati<strong>on</strong>. It can, in a<br />

single UDP message, send the acknowledgement <strong>and</strong> the<br />

Delete C<strong>on</strong>necti<strong>on</strong> comm<strong>and</strong>s that will clear the call.<br />

For the first gateway, the comm<strong>and</strong> embeds a<br />

notificati<strong>on</strong> request that readies that gateway for the next call:<br />

200 2010 OK<br />

.<br />

DLCX 1210 endpoint/1@rgw.whatever.net MGCP 0.1<br />

C: A3C47F21456789F0<br />

I: FDE234C8<br />

N: ca@ca1.whatever.net<br />

X: 012345673FDE<br />

R: hd(E(dl;hu, D/[0-9#*T](D);)<br />

.<br />

DLCX 1211 endpoint/2@rgw.whatever.net MGCP 0.1<br />

C: A3C47F21456789F0<br />

I: 9867659A<br />

X: A3C5F0<br />

R: hu<br />

The gateway will acknowledge the comm<strong>and</strong>s in a single<br />

UDP message that will carry the "local c<strong>on</strong>necti<strong>on</strong>" versi<strong>on</strong> of<br />

the c<strong>on</strong>necti<strong>on</strong> parameters.<br />

250 1243 OK<br />

250 1244 OK<br />

When the sec<strong>on</strong>d user goes off hook, the gateway sends a<br />

Notify comm<strong>and</strong>s<br />

NTFY 2020 endpoint/2@rgw.whatever.net MGCP 0.1<br />

X: A3C5F0<br />

O: hu<br />

The Call agent follows with a notificati<strong>on</strong> requests,<br />

transmitted in the same packet as the acknowledgement, in<br />

order to ready the line for the next call:<br />

200 2020 OK<br />

.<br />

RQNT 1220 enpoint/1@rgw.whatever.net MGCP 0.1<br />

N: ca@ca1.whatever.net<br />

X: 0123456793E5<br />

R:hd(E(dl;hu, D/[0-9#*T](D);)<br />

The gateway acknowledges the comm<strong>and</strong>, signaling that<br />

the sec<strong>on</strong>d endpoint is now ready [1], [2].<br />

200 1220 OK<br />

II DESIGN AND ARCHITECTURE<br />

Design of Call Processing <strong>and</strong> Feature Processing<br />

Also called Call Processor, implements the Call<br />

processing <strong>and</strong> feature processing code. This module of the<br />

MGCP Call Agent incorporates the basic functi<strong>on</strong>ality of the<br />

entire call processing for the MGCP based endpoints. It is a<br />

generic Call Processing, which can work with any kind of<br />

protocol as l<strong>on</strong>g as it adheres to the interface message<br />

explained below.<br />

A basic call finite state machine has been designed &<br />

implemented to achieve a stable & real time call processing<br />

between the multiple web clients operating over the LAN.<br />

States Recognosized<br />

• Idlestate<br />

• Dialingstate<br />

• Ringingstate<br />

• Establishedstate<br />

• Terminati<strong>on</strong>state<br />

Designing Basic Call Flow<br />

Idle<br />

Events<br />

Dialing<br />

Interface<br />

Ringing<br />

STATE<br />

Acti<strong>on</strong>s<br />

Established<br />

Fig 2.1: Basic Call FSM with different states<br />

Terminating<br />

Events Interface<br />

This interface c<strong>on</strong>tains all the possible physical events<br />

that are sent by the web clients during Call Processing (To<br />

establish a basic call). It also includes some of the other<br />

messages, which are for the internal functi<strong>on</strong>ing of the FSM.<br />

List of events possible are<br />

• OnHook<br />

• OffHook<br />

• DigitsDialed<br />

• Flash<br />

• TimedOut<br />

• CallAccepted<br />

• CallTerminated<br />

• CallRequested<br />

The last three messages/events are used for the internal<br />

functi<strong>on</strong>ing of the FSM.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 321


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Acti<strong>on</strong>s<br />

This interface c<strong>on</strong>tains the list of all the generic acti<strong>on</strong>s<br />

(applicable to all the end users/clients). In appropriate states<br />

the required acti<strong>on</strong> should be processed & rendered to the web<br />

clients<br />

List of acti<strong>on</strong>s possible are<br />

• StopT<strong>on</strong>e<br />

• GiveT<strong>on</strong>e<br />

• InvalidEvent<br />

• SendMessage<br />

Other state specific acti<strong>on</strong>s are processed in the<br />

respective individual states.<br />

III IMPLEMENTATION<br />

States<br />

The State class implements the two interfaces EVENTS<br />

<strong>and</strong> ACTIONS. All the states of the basic call FSM are<br />

derived from this comm<strong>on</strong> Class STATE.This class adds some<br />

extra member functi<strong>on</strong>s, other than implementing the two<br />

Interfaces.<br />

Idle State<br />

The Idle State class is <strong>on</strong>e of the classes of the basic call<br />

FSM. This class overrides some of the methods of it’s base<br />

class STATE which in turn implements the EVENTS <strong>and</strong><br />

ACTIONS interface[5][6].<br />

On the occurrence of the following Events appropriate Acti<strong>on</strong>s<br />

are taken <strong>on</strong> the particular Set Object & the Acti<strong>on</strong>s taken are<br />

listed below the event names.<br />

The functi<strong>on</strong>s or methods that are overridden by the<br />

IdleState class are:<br />

• OnHook( )<br />

InvalidEvent ();<br />

Only when Web Clients goes OffHook a set object is<br />

created which has a state as IdleState<br />

• OffHook( )<br />

Dial T<strong>on</strong>e is fed to the end client. The corresp<strong>on</strong>ding set<br />

object fields are manipulated as follows:<br />

STATE == DIALING;<br />

SUB_STATE == SS_START_DIALING;<br />

TONEFLAG == TRUE;<br />

PREVSTATE == IDLE;<br />

PREVSUBSTATE==NONE;<br />

Update the Hash table with the modified set object<br />

• DigitsDialed( )<br />

InvalidEvent ();<br />

• Flash( )<br />

InvalidEvent ();<br />

• CallRequested( )<br />

Give RING to the set (end client) for which the<br />

message/event has arrived.<br />

Give RING_BACK_TONE to the set from which this<br />

message has come.<br />

Set Object fields changed are:<br />

STATE == RINGINGSTATE;<br />

SUB_STATE == NONE;<br />

RINGFLAG == TRUE;<br />

Change the TONE field of the other set object to<br />

RING_BACK_TONE<br />

Update the two set objects in the HASH table<br />

• CallAccepted( )<br />

InvalidEvent ();<br />

• CallTerminated( )<br />

InvalidEvent ();<br />

• TimeOut( ) : yet to design IdleState specific acti<strong>on</strong>s are<br />

taken in each of the above methods / functi<strong>on</strong>s.<br />

Dialing State<br />

The Dialing State class is <strong>on</strong>e of the classes of the basic<br />

call FSM. This class overrides some of the methods of it’s<br />

base class STATE which in turn implements the EVENTS &<br />

ACTIONS interface<br />

The functi<strong>on</strong>s or methods that are overridden by the<br />

DialingState class & the appropriate Acti<strong>on</strong>s are:<br />

• OnHook( )<br />

If (SUB_STATE == SS_CONNECTING)<br />

Send CallTerminated message to the other Set<br />

Object<br />

STATE == IDLE;<br />

SUB_STATE == NONE;<br />

The set object is removed from the Hash Table<br />

• OffHook( )<br />

InvalidEvent ();<br />

• DigitsDialed( )<br />

If (SUB_STATE == SS_CONNECTING) InvalidEvent<br />

();<br />

Else<br />

If (SUB_STATE == SS_START_DIALING)<br />

Stop the Dial T<strong>on</strong>e to the set;<br />

Read the digits dialed;<br />

SUB_STATE == SS_CONNECTING;<br />

Update the Call Register associated with the set;<br />

Update the Hash table with the modified set object;<br />

• Flash( )<br />

If (SUB_STATE == SS_CONNECTING) Feed<br />

RING_BACK_TONE to the set;<br />

Else if (SUB_STATE == SS_START_DIALING) Feed<br />

DIAL_TONE to the set<br />

• CallRequested( )<br />

Give BUSY_TONE to the set from which the<br />

message/event has arrived;<br />

Get the set object from the Hash Table;<br />

TONE == BUSY_TONE;<br />

Update the Hash Table with this set object<br />

• CallAccepted( )<br />

If (SUB_STATE == SS_CONNECTING)<br />

Stop the RING <strong>on</strong> the terminating set;<br />

Stop the RING_BACK_TONE to the; originating set<br />

STATE == ESTABLISHEDSTATE;<br />

SUB_STATE == NONE;<br />

Else InvalidEvent ();<br />

• CallTerminated( )<br />

InvalidEvent ();<br />

DialingState specific acti<strong>on</strong>s are taken in each of the<br />

above methods / functi<strong>on</strong>s<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 322


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Ringing State<br />

The Ringing State class is <strong>on</strong>e of the classes of the basic<br />

call FSM. This class overrides some of the methods of its base<br />

class STATE which in turn implements the EVENTS &<br />

ACTIONS interface<br />

The functi<strong>on</strong>s or methods that are overridden & the<br />

appropriate acti<strong>on</strong>s taken by the are:<br />

• OnHook( )<br />

InvalidEvent ();<br />

• OffHook( )<br />

Send CallAccepted message to the other set object;<br />

STATE == ESTABLISHEDSTATE;<br />

RING_FLAG == False;<br />

Make the call register h<strong>and</strong>le of the RINGINGSTATE<br />

set object point to the call register of the other<br />

(opp<strong>on</strong>ent) set object;<br />

• DigitsDialed( )<br />

InvalidEvent ();<br />

• Flash( )<br />

InvalidEvent ();<br />

• CallRequested( )<br />

Give T<strong>on</strong>e BUSY_TONE to the set object from where<br />

the message has arrived whose present TONE ==<br />

BUSY_TONE;<br />

Update the Hash Table with the updated set object;<br />

• CallAccepted( )<br />

InvalidEvent ();<br />

• CallTerminated( )<br />

Stop Ring to the set;<br />

STATE == IDLE;<br />

RINGFLAG == false;<br />

Remove the set object from the Hash Table;<br />

• TimeOut( )<br />

yet to design;<br />

RingingState specific acti<strong>on</strong>s are taken in each of the<br />

above methods / functi<strong>on</strong>s<br />

Established State<br />

The Established State class is <strong>on</strong>e of the classes of the<br />

basic call FSM. This class overrides some of the methods of<br />

its base class STATE which in turn implements the EVENTS<br />

& ACTIONS interface<br />

The functi<strong>on</strong>s or methods that are overridden & the<br />

Acti<strong>on</strong>s are:<br />

• OnHook( )<br />

Send CallTerminated to the other (opp<strong>on</strong>ent) set object<br />

STATE == IDLE;<br />

SUB_STATE == NONE;<br />

Remove the set object from the Hash Table;<br />

• OffHook( )<br />

InvalidEvent ();<br />

• DigitsDialed( )<br />

InvalidEvent ();<br />

• Flash( )<br />

InvalidEvent ();<br />

• CallRequested( )<br />

Give BUSY_TONE to the set from which this<br />

message/event has been received with<br />

CURRENT_TONE == BUSY_TONE;<br />

Update the Hash Table with this set object;<br />

• CallAccepted( )<br />

InvalidEvent ();<br />

• CallTerminated( )<br />

STATE == TERMINATIONSTATE;<br />

SUB_STATE == NONE;<br />

Update the Hash Table with the modified set object;<br />

EstablishedState specific acti<strong>on</strong>s are taken in each of the<br />

above methods / functi<strong>on</strong>s<br />

Terminate State<br />

The Established State class is <strong>on</strong>e of the classes of the<br />

basic call FSM. This class overrides some of the methods of<br />

its base class STATE which in turn implements the EVENTS<br />

& ACTIONS interface<br />

The functi<strong>on</strong>s or methods that are overridden & the<br />

specific Acti<strong>on</strong>s are:<br />

• OnHook( )<br />

STATE == IDLE;<br />

Remove the set object from the Hash Table;<br />

• OffHook( )<br />

InvalidEvent ();<br />

• DigitsDialed( )<br />

InvalidEvent ();<br />

• Flash( )<br />

InvalidEvent ();<br />

• CallRequested( )<br />

Give T<strong>on</strong>e BUSY_TONE to the set from which this<br />

message/event has arrived; CURRENT_TONE ==<br />

BUSY_TONE;<br />

Update the Hash Table;<br />

• CallAccepted( )<br />

InvalidEvent ();<br />

• CallTerminated( )<br />

InvalidEvent ();<br />

Terminati<strong>on</strong>State specific acti<strong>on</strong>s are taken in each of<br />

the above methods / functi<strong>on</strong>s<br />

State Machine Diagram<br />

The FSM implements the Basic Call FSM.This is the<br />

class, which h<strong>and</strong>les & manipulates the call processing with<br />

the aid of the FSM<br />

The public functi<strong>on</strong>s of this class are:<br />

• void startFsm( )<br />

This functi<strong>on</strong> is resp<strong>on</strong>sible for the start of the Basic Call<br />

FSM.It creates objects of all the classes present in the<br />

FSM.<br />

• void EventDispatcher(Sets h<strong>and</strong>le , InterfaceMessage<br />

iMsgH<strong>and</strong>le)<br />

This functi<strong>on</strong> is resp<strong>on</strong>sible for the dispatching of the<br />

events in the appropriate state h<strong>and</strong>les.<br />

• void printCurrentState( )<br />

This functi<strong>on</strong> is resp<strong>on</strong>sible for printing out in the<br />

c<strong>on</strong>sole the set object related informati<strong>on</strong> & also the call<br />

register related informati<strong>on</strong> for testing purposes.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 323


Proceedings of ICCNS 08 , 27-28 September 2008<br />

IV IMPLEMENTATION RESULTS & ANALYSIS<br />

Table 2: State Transiti<strong>on</strong> Matrix<br />

STATE<br />

ESTA<br />

RINGI<br />

TERMI<br />

IDL DIALING<br />

BLISH<br />

NG<br />

NATED<br />

EVENT<br />

ED<br />

[8] http://www.ietf.org/rfc.html<br />

[9] http://wwwprotocols.com/pbook/voipfamily<br />

Off- Hook<br />

DIALL<br />

ING<br />

InValid<br />

ESTA<br />

BLISH<br />

ED<br />

InValid<br />

InValid<br />

On- Hook Invalid IDLE InValid IDLE IDLE<br />

Digits<br />

Dialled<br />

Invalid DIALLING Invalid Invalid Invalid<br />

Call<br />

Requested<br />

RINGI<br />

NG<br />

Invalid Invalid Invalid Invalid<br />

Call<br />

Accepted<br />

InValid<br />

ESTABLIS<br />

HED<br />

Invalid Invalid Invalid<br />

Call<br />

Terminated<br />

Invalid Invalid IDLE Invalid Invalid<br />

TimeOut Invalid Invalid IDLE Invalid Invalid<br />

Analysis<br />

The above results are satisfying the requirement of<br />

MGCP 1.0 st<strong>and</strong>ard, verified for all the comm<strong>and</strong> format of<br />

table 1.1. The webclient is a ‘Browser downloadable secured<br />

Applet’ which can be downloaded from the web server <strong>and</strong><br />

used to make VOIP calls with other similar webclients.<br />

C<strong>on</strong>clusi<strong>on</strong><br />

If we look at the development of media gateway c<strong>on</strong>trol<br />

protocols from simple PSTN/VOIP interworking “enables” to<br />

complex media-specific applicati<strong>on</strong>s, it is clear that the Media<br />

Gateway C<strong>on</strong>trol Protocols have an important role to play.<br />

Like IP centric c<strong>on</strong>ferencing <strong>and</strong> media-related applicati<strong>on</strong>.<br />

The inherent client/server architecture of the protocol provides<br />

room for growth <strong>and</strong> possibilities of developing flexible,<br />

scalable applicati<strong>on</strong>s. The decomposed gateway architecture<br />

greatly eases the problems of management <strong>and</strong> expansi<strong>on</strong>.<br />

Future Enhancement<br />

The media-Oriented Design of the protocols provide the<br />

opportunity for better media management as multimedia<br />

c<strong>on</strong>ferencing media-rich applicati<strong>on</strong> become a greater part of<br />

everyday life (IVR announcement servers, call centre<br />

applicati<strong>on</strong>). New Package- such as a media server package<br />

that defines events <strong>and</strong> signals for c<strong>on</strong>trolling a media server.<br />

References<br />

[1] Arango, et al. Informati<strong>on</strong>al RFC 2705 Media Gateway C<strong>on</strong>trol<br />

Protocol (MGCP) 1999,2003.<br />

[2] Network Working Group, Cisco Systems Informati<strong>on</strong>al RFC 3661 B.<br />

Foster C. Sivachelvan 2003<br />

[3] Data Communicati<strong>on</strong> <strong>and</strong> Networking 4e-Forouzan<br />

[4] Andrew S. Tanenbaum, <strong>Computer</strong> <strong>Networks</strong>., Fourth editi<strong>on</strong>,2005.<br />

[5] Herbert Schildt Complete Reference Java 2 Tata McGraw Hill 2002 5e<br />

[6] E Balaguruswamy Programming with Java A Primer 2000 2e<br />

[7] http://www.voip-info.org/wiki/index.phppage=VOIP+ph<strong>on</strong>e<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 324


Proceedings of ICCNS 08 , 27-28 September 2008<br />

VISUAL CRYPTOGRAPHY & BPCS<br />

STEGANOGRAPHY<br />

Mr. M. P. Wankhade, Mr. S.T. Patil<br />

Abstract- In this paper use of cryptography al<strong>on</strong>g with<br />

steganography is implemented for the secure transacti<strong>on</strong>. A Visual<br />

cryptography scheme which can decode c<strong>on</strong>cealed image without<br />

any cryptographic computati<strong>on</strong>. In the implementati<strong>on</strong>, the image<br />

is split into 2 shares which can be decoded at receiving side by<br />

printing shares <strong>on</strong> transpierces <strong>and</strong> staking together. Before<br />

transfer <strong>on</strong> internet data is embedded into another image using<br />

steganography. BPCS-Steganography (Bit-Plane Complexity<br />

Segmentati<strong>on</strong> Steganography) is a <strong>on</strong>e type of digital<br />

steganography. BPCS uses an image file in true color format for a<br />

cover image. All of the traditi<strong>on</strong>al steganographic techniques have<br />

limited informati<strong>on</strong>-hiding capacity. They can hide <strong>on</strong>ly 10% of<br />

the data amounts of the cover. While BPCS can embed very<br />

large amount of "c<strong>on</strong>fidential" data file in the cover image.<br />

The basic difference of the embedding is to replace noisy<br />

areas <strong>on</strong> each bit-plane of the cover image with the<br />

c<strong>on</strong>fidential data. This steganography exploits the characteristics<br />

of human visi<strong>on</strong> system which can't see any shape informati<strong>on</strong> in<br />

a very noisy area <strong>on</strong> an image bit-plane. In the embedding<br />

process the image color value is transformed from the pure<br />

binary code system into the can<strong>on</strong>ical gray code system because<br />

the can<strong>on</strong>ical gray code keeps better image quality than pure<br />

binary code when the cover is embedded with other data. Noisy<br />

area <strong>on</strong> the bit-plane is segmented according to a complexity<br />

measure for the binary image.<br />

We presented combined use of Visual cryptography al<strong>on</strong>g with<br />

BPCS Steganography to provide added security during data<br />

transfer over internet.<br />

Keywords—BPCS, Data Hiding, Steganography, Visual<br />

Cryptography<br />

T<br />

I. INTRODUCTION<br />

ODAY we are in the age of informati<strong>on</strong> technology.<br />

Internet communicati<strong>on</strong> has become an integral part of<br />

the today’s life. The informati<strong>on</strong> communicated comes<br />

in numerous forms <strong>and</strong> is used in many applicati<strong>on</strong>s. In a<br />

large number of applicati<strong>on</strong>s dem<strong>and</strong>ed secure data<br />

transacti<strong>on</strong>s. Such secret communicati<strong>on</strong> ranges from the<br />

obvious cases of bank transfers, corporate<br />

communicati<strong>on</strong>s, <strong>and</strong> credit card purchases <strong>and</strong> e-<br />

communicati<strong>on</strong>. But Internet is not a secure medium, <strong>and</strong><br />

hacking is always possible for the c<strong>on</strong>fidential informati<strong>on</strong>.<br />

Encrypti<strong>on</strong> provides an obvious approach to informati<strong>on</strong><br />

security. However, encrypti<strong>on</strong> clearly marks a message<br />

as c<strong>on</strong>taining “interesting” informati<strong>on</strong>, <strong>and</strong> the<br />

encrypted message becomes subject of attack. On the<br />

other h<strong>and</strong> in many cases it is desirable to send<br />

informati<strong>on</strong> without any<strong>on</strong>e even noticing that informati<strong>on</strong><br />

has been sent.<br />

II. VISUAL CRYPTOGRAPHY<br />

Visual cryptography is an encrypti<strong>on</strong> technique to hide<br />

informati<strong>on</strong> in images in such a way that it can be<br />

decrypted by the human visi<strong>on</strong> if the correct image shares<br />

are used. This technique was initially proposed in [1]. The<br />

image is composed of black <strong>and</strong> white pixels. To encrypt,<br />

each pixel is divided into m sub-pixels, <strong>and</strong> for each pixel<br />

in the secret image, each participant is given m sub-pixels,<br />

some of which are black <strong>and</strong> some of which are white.<br />

These sub-pixels are so small that the eye averages them to<br />

some shade of grey. Each participant’s share of the image<br />

can be thought of as a transparency with a mixture of black<br />

<strong>and</strong> white sub-pixels. To combine shares, participants<br />

simply stack their transparencies.<br />

For implementati<strong>on</strong> we have used simplest form, a (2, 2)<br />

visual cryptography scheme to "splits" the original image<br />

into two "shadow images" called "shares." Every pixel in<br />

the original image is exp<strong>and</strong>ed to a 2x2 pixel matrix with a<br />

different versi<strong>on</strong> in any of the two shares. Any share<br />

c<strong>on</strong>tains uniformly distributed r<strong>and</strong>om black-<strong>and</strong>-white<br />

pixels. By analyzing <strong>on</strong>ly a single share, you can't obtain<br />

informati<strong>on</strong> about the original image. The whole point of<br />

visual cryptography is that in the decrypti<strong>on</strong> process, the<br />

original image has to be visually rec<strong>on</strong>structed. Each share<br />

is printed <strong>on</strong> a separate transparency <strong>and</strong> passed to a<br />

participant at the scheme. When the two participants come<br />

together, the secret can simply be rec<strong>on</strong>structed by stacking<br />

the two transparencies.<br />

Table 1: A (2, 2) Visual Cryptography Scheme<br />

M. P. Wankhade M.Tech (I.T.) student of Bharati Vidyapeeth College<br />

of Engineering, Pune. Presently working with Sinhgad College of<br />

Engineering Pune. (e-mail: mwankhade@yahoo.com).<br />

S.T. Patil is working as Professor in <strong>Computer</strong> Engg. Dept. of Bharati<br />

Vidyapeeth University College of Engineering, Pune.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 325


Proceedings of ICCNS 08 , 27-28 September 2008<br />

To build the shares, the visual cryptography scheme in this<br />

applicati<strong>on</strong> uses <strong>on</strong>ly c<strong>on</strong>siders diag<strong>on</strong>al matrices as shown<br />

Versi<strong>on</strong>s 1 <strong>and</strong> 2 in Table 1. Figure 1 is an example of the<br />

visual cryptography scheme implemented by the<br />

applicati<strong>on</strong>.<br />

Figure 1. (A) Secret Data; (B) Recomposed Data<br />

(C ) First Share (D) Sec<strong>on</strong>d Share<br />

Figure 2. (A) Brain; (B) MSB; (C ) 5 th Bit-plane (D) LSB<br />

III. BPCS STEGANOGRAPHY<br />

Steganography is a technique to hide secret informati<strong>on</strong><br />

in some other data (we call it a vessel) without leaving any<br />

apparent evidence of data alterati<strong>on</strong>. All of the traditi<strong>on</strong>al<br />

steganographic techniques have limited informati<strong>on</strong>-hiding<br />

capacity. They can hide <strong>on</strong>ly 10% (or less) of the data<br />

amounts of the vessel.<br />

BPCS-Steganography (Bit Plane Complexity<br />

Segmentati<strong>on</strong>) uses image segmentati<strong>on</strong> based <strong>on</strong> the<br />

measure called complexity. The complexity is defined over<br />

a local regi<strong>on</strong> within a binary image. Local regi<strong>on</strong>s within a<br />

binary image can be classified as “informative” or “noiselike”<br />

by using complexity measure. The human visi<strong>on</strong> is<br />

unable to perceive the replacement of noise-like regi<strong>on</strong>s if<br />

the secret data is r<strong>and</strong>om pattern. BPCS allows the<br />

replacement of about 50% of cover images with secret data<br />

without any image degradati<strong>on</strong> that can be perceived by<br />

humans.<br />

The bit-planes of natural images display m<strong>on</strong>ot<strong>on</strong>ic<br />

increasing complexity from the Most Significant Bit-plane<br />

(MSB) to the Least Significant Bit-plane (LSB). Most of<br />

the LSBs just look like r<strong>and</strong>om noise (Figure 2). Following<br />

the separati<strong>on</strong> of the image in bit-planes, every bit-plane is<br />

decomposed in 8x8 mesh <strong>and</strong> the complexity of the regi<strong>on</strong>s<br />

is calculated. There is no general definiti<strong>on</strong> for the<br />

complexity of a binary image. Nevertheless, there's a<br />

simple way to calculate the complexity of a regi<strong>on</strong> in the<br />

bit-plane just count the number of color changes in every<br />

row <strong>and</strong> column of the regi<strong>on</strong>. To define a coherent scale of<br />

complexities, you normalize this figure such that <strong>on</strong>e plain<br />

color has a complexity of 0 <strong>and</strong> the checkerboard pattern<br />

has a complexity of 1.<br />

Any regi<strong>on</strong> in any bit-plane with a complexity above a<br />

chosen threshold is c<strong>on</strong>sidered r<strong>and</strong>om noise <strong>and</strong> replaced<br />

by 8 bytes of data.<br />

IV. MODIFIED BPCS STEGANOGRAPHY<br />

It is still possible that an embedded block will not have a<br />

complexity above the threshold value. In this case, the<br />

c<strong>on</strong>jugate of the block must be taken. The c<strong>on</strong>jugate of a<br />

binary image is obtained by XORing the image with the<br />

checkerboard pattern. Obviously, the original data can be<br />

remade by XORing the new image with the checkerboard<br />

pattern again. If necessary, the c<strong>on</strong>jugate is calculated, <strong>and</strong><br />

you need a "flag" to mark the regi<strong>on</strong> as "c<strong>on</strong>jugated." The<br />

informati<strong>on</strong> about this is stored in a “C<strong>on</strong>jugative map”,<br />

which can be useful as a key during retrieving process at<br />

receiver side.<br />

During the implementati<strong>on</strong> data is written from LSB to<br />

MSB from the first block. As LSB has more noise-like<br />

regi<strong>on</strong>s <strong>and</strong> more data can be stored. A 24-bit true-color<br />

image c<strong>on</strong>sists of red, green, <strong>and</strong> blue (RGB). The human<br />

visual system seems sensitive to green variati<strong>on</strong>s <strong>and</strong> less<br />

sensitive to blue <strong>on</strong>es. Therefore, I adopt the following<br />

order in embedding data: I start with the first LSB block of<br />

every c<strong>on</strong>stituent color <strong>and</strong> then move to the next plane<br />

until all the embedding informati<strong>on</strong> is written. The human<br />

visual system seems sensitive to green variati<strong>on</strong>s <strong>and</strong> less<br />

sensitive to blue <strong>on</strong>es. Hence the order of the color<br />

comp<strong>on</strong>ents is blue, red <strong>and</strong> green.<br />

V. IMPLEMENTATION<br />

An implemented model involves a "sender" <strong>and</strong><br />

"receivers”. The sender chooses a secret message<br />

represented as a binary black-<strong>and</strong>-white image <strong>and</strong> applies<br />

a (2, 2) visual-cryptography scheme <strong>on</strong> the secret message,<br />

obtaining the two corresp<strong>on</strong>ding shares. Every share is<br />

individually embedded into a 24-bit true colors image<br />

(called a "vessel") using the modified BPCS scheme.<br />

Finally, the sender electr<strong>on</strong>ically sends the images with<br />

embedded data to the receiver al<strong>on</strong>g with C<strong>on</strong>jugative map<br />

<strong>and</strong> threshold value. Receivers process the received image<br />

to obtain the embedded share as a binary image, <strong>and</strong> print<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 326


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the binary image <strong>on</strong> a transparency. As so<strong>on</strong> as the<br />

receivers come together, they can visually rec<strong>on</strong>struct the<br />

secret message by carefully superimposing the two<br />

transparencies.<br />

Visual cryptography-BPCS program is developed using<br />

C language <strong>and</strong> Visual Basic. The project c<strong>on</strong>sists of two<br />

phases – encrypti<strong>on</strong> <strong>and</strong> data hiding. In encrypti<strong>on</strong> process<br />

secret gray scale image is spitted into 2 shares using pixel<br />

expansi<strong>on</strong> methods <strong>and</strong> saved. Then each share is<br />

embedded into cover image using bit plane complexity<br />

segmentati<strong>on</strong>. The complexity threshold is selected by user<br />

at embedding process.<br />

We embed the secret blocks into cover image using the<br />

following steps.<br />

1. Transform the dummy image from PBC to CGC<br />

system.<br />

2. Segment each bit-plane into informative <strong>and</strong> noise-like<br />

regi<strong>on</strong>s by using a threshold value.<br />

3. Insert the details of secret image into first complex<br />

block of the cover image.<br />

4. Group the bytes of secret file into a series of secret<br />

blocks.<br />

5. If a secret block is less complex than threshold, then<br />

c<strong>on</strong>jugate it to make more complex.<br />

6. Embed these blocks into the noise-like regi<strong>on</strong>s. If the<br />

block is c<strong>on</strong>jugated, then record this in a c<strong>on</strong>jugati<strong>on</strong><br />

map.<br />

7. C<strong>on</strong>vert the embedded dummy image from CGC back<br />

to PBC.<br />

8. Save the c<strong>on</strong>jugate map into a text file.<br />

Output of visual cryptography is shown in figure 1. (A)<br />

is original image; (B) is recomposed image while (C) <strong>and</strong><br />

(D) are the two shares of the original image. These split<br />

images cannot be easily identified <strong>and</strong> looks as r<strong>and</strong>om<br />

data. These two shares are recomposed we can recover the<br />

data. The recomposed image is double in size of original<br />

image.<br />

The BPCS module is used to embed the shares into the<br />

cover file. The fr<strong>on</strong>t end to embed the shares is as shown in<br />

figure 3<br />

share file (Mahesh.bmp 37.9 KB). The embedded operati<strong>on</strong><br />

does not increase the size of the image by even a single<br />

byte. The size of embedded data is 66% of original image.<br />

Yet, even when viewed <strong>on</strong> the computer m<strong>on</strong>itor, the<br />

images before <strong>and</strong> after embedding are almost<br />

indistinguishable from <strong>on</strong>e another. But Mean, RMSE <strong>and</strong><br />

PSNR values shows that the images are actually different.<br />

Figure 4 Compare Image.<br />

After various test we underst<strong>and</strong> that the data hiding<br />

capacity depends <strong>on</strong> the cover image size <strong>and</strong> how complex<br />

the image is. The complexity threshold value selected for<br />

data hiding also plays very important role. As complexity<br />

threshold decreases the data hiding capacity increases.<br />

Table 2 shows the some results. The informati<strong>on</strong> hiding<br />

capacity is nearly 50% of the size of the each cover image.<br />

This capacity is 4 to 5 times as large as other<br />

steganographic techniques.<br />

Table 2 : Result Analysis<br />

Secret Image<br />

Pune.bmp<br />

(20 KB)<br />

Face.bmp<br />

(66 KB)<br />

Cover<br />

Image<br />

Brain.bmp<br />

(55 KB)<br />

A3.bmp<br />

(597 KB)<br />

Threshold<br />

Output image<br />

0.3 Brain11.bmp<br />

(55 KB)<br />

0.3 A33.bmp<br />

(597 KB)<br />

Mahesh.bmp<br />

(20 KB)<br />

Lady.bmp<br />

(258 KB)<br />

Brain.bmp<br />

(55 KB)<br />

A3.bmp<br />

(597 KB)<br />

0.3 Brain112.bmp<br />

(55 KB)<br />

0.4 A3lady.bmp<br />

(597 KB)<br />

The Data hiding capacity of any image depends <strong>on</strong> the<br />

threshold value selected for the complexity <strong>and</strong> how<br />

complex the image is. Table 3 <strong>and</strong> Table 4 shows the data<br />

hiding capacity of the brain.bmp (54.1 Kb) image <strong>and</strong><br />

flower.bmp (170 Kb) at different complexity threshold.<br />

Figure 3 Embed Share.<br />

Figure 4 shows the original image (Brain.bmp 55KB)<br />

<strong>and</strong> stego image (Brain112.bmp) after embedding another<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 327


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Table 3 : Data Hiding Capacity of brain.bmp<br />

Threshold Capacity % of Original<br />

0.3 27 KB 50 %<br />

0.4 20 KB 37 %<br />

.05 07 KB 14 %<br />

Table 4 : Data Hiding Capacity of flower.bmp<br />

Threshold Capacity % of Original<br />

0.3 93 KB 54 %<br />

0.4 73 KB 42 %<br />

.05 26 KB 15 %<br />

VI. C<strong>on</strong>clusi<strong>on</strong><br />

Experimental result indicates that security provided by<br />

this new approach is high as compare to simple embedding<br />

in an image. The software is applied for the various source<br />

files <strong>and</strong> cover files having different capacity. The system<br />

gives good results for visual cryptography <strong>and</strong> BPCS.<br />

Overall, the results went fairly as expected. Increasing the<br />

threshold at which bit planes are determined to be complex<br />

decreased the embedding capacity, but also decreased the<br />

distorti<strong>on</strong>. Embedding at full capacity (based up<strong>on</strong> the<br />

threshold) of the image including every bit plane proved<br />

to add distorti<strong>on</strong> (although typically worse at lower<br />

thresholds) because the higher bit planes are visually much<br />

less tolerant to change.<br />

References<br />

[1] M. Naor <strong>and</strong> A. Shamir, Visual Cryptography,<br />

Springer.<br />

[2] C. Blundoet al, “Improved Schemes for Visual<br />

Cryptography,” Designs, Codes <strong>and</strong> Cryptography,<br />

vol. 24, no. 3, pp. 255–278.<br />

[3] C. Blundo et al, “Visual cryptography schemes with<br />

optimal pixel expansi<strong>on</strong>,” Theoretical <strong>Computer</strong><br />

Science,vol. 369, no. 1-3, pp. 169–182.<br />

[4] Eiji Kawaguchi, Principle <strong>and</strong> applicati<strong>on</strong>s of BPCS-<br />

Steganography.<br />

[5] Jain, Anil K., Fundamentals of Digital Image<br />

Processing, Prentice Hall, Englewood Cliffs, NJ,<br />

1989.<br />

[6] Kawaguchi, E., Endo, T. <strong>and</strong> Matsunaga, J., “Depthfirst<br />

picture expressi<strong>on</strong> viewed from digital picture<br />

processing”, IEEE Trans. <strong>on</strong> PAMI, vol.5, pp.373-384,<br />

1988.<br />

[7] Kawaguchi, E. <strong>and</strong> Taniguchi, R., “Complexity of<br />

binary pictures <strong>and</strong> image thresholding - An<br />

applicati<strong>on</strong> of DFExpressi<strong>on</strong> to the thresholding<br />

problem”, Proceedings of 8th ICPR, vol.2,<br />

[8] Kawaguchi, E. <strong>and</strong> Taniguchi, R., “The DF-Expressi<strong>on</strong><br />

as an image thresholding strategy”, IEEE Transacti<strong>on</strong><br />

SMC, vol.19, no.5, pp.1321-1328, 1989.<br />

[9] Kamata, S, Eas<strong>on</strong>, R. O., <strong>and</strong> Kawaguchi, E., “Depth-<br />

First Coding for multi-valued pictures using bit- plane<br />

decompositi<strong>on</strong>”, IEEE Trans. <strong>on</strong> Comm., vo.43, 995.<br />

[10] Kawaguchi, E. <strong>and</strong> Niimi M, “Modeling Digital Image<br />

into Informative <strong>and</strong> Noise-Like Regi<strong>on</strong>s by<br />

Complexity Measure”, Preprint of the 7th European-<br />

Japanese <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Informati<strong>on</strong> Modeling <strong>and</strong><br />

Knowledge Bases, May, Toulouse, 1997.<br />

[11] N. F. Johns<strong>on</strong>, Z. Duric <strong>and</strong> S. Jajodia: “Informati<strong>on</strong><br />

Hiding: Steganography <strong>and</strong> Watermarking – Attacks<br />

<strong>and</strong> Countermeasures”, Kluwer Academic Publishers,<br />

pp.47–76.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 328


Proceedings of ICCNS 08 , 27-28 September 2008<br />

VoIP Bluetooth Technology<br />

Mrs.F.M.Inamdar , Mrs.S.R.Rathi<br />

Abstract :<br />

Part –I c<strong>on</strong>tains Introducti<strong>on</strong> to Voice over internet protocol Here we<br />

will explain what is VoIP It’s features, How it works & it’s<br />

applicati<strong>on</strong>s.<br />

Part-II c<strong>on</strong>tains introducti<strong>on</strong> to Bluetooth technology How it works,<br />

IP over Bluetooth technology, Bluetooth devices & its applicati<strong>on</strong>s.<br />

Part-III c<strong>on</strong>tains1.C<strong>on</strong>clusi<strong>on</strong> 2.References.<br />

I. INTRODUCTION TO VOIP<br />

VoIP (Voice over Internet Protocol) is simply the transmissi<strong>on</strong><br />

of voice traffic over IP-based networks. The Internet Protocol<br />

(IP) was originally designed for data networking. The success<br />

of IP in becoming a world st<strong>and</strong>ard for data networking has<br />

led to its adapti<strong>on</strong> to voice networking. Voice over internet<br />

protocol is the fast emerging <strong>and</strong> replacement technology for<br />

the voice communicati<strong>on</strong>. Many people still want to know that<br />

how it works. Voice over internet protocol costs less than your<br />

regular ph<strong>on</strong>e service <strong>and</strong> for this reas<strong>on</strong> it’s more attractive to<br />

the c<strong>on</strong>sumers. VOIP also costs less than a mobile ph<strong>on</strong>e’s<br />

m<strong>on</strong>thly cost.<br />

II. VOIP FEATURES<br />

The biggest advantage of VoIP is that the customers can make<br />

calls from anywhere in the world where a broadb<strong>and</strong> internet<br />

c<strong>on</strong>necti<strong>on</strong> is available. The customers can take their IP<br />

ph<strong>on</strong>es or ATA's with them <strong>on</strong> nati<strong>on</strong>al <strong>and</strong> internati<strong>on</strong>al trips<br />

<strong>and</strong> still can manage to access what is essentially an<br />

individual's domestic ph<strong>on</strong>e line. Then there are the<br />

softph<strong>on</strong>es, which a software applicati<strong>on</strong> that loads the VoIP<br />

services <strong>on</strong>to the desktop or laptop. Some even simulate an<br />

interface that looks like a teleph<strong>on</strong>e, with which you can place<br />

VoIP calls to anybody around the world, through a st<strong>and</strong>ard<br />

broadb<strong>and</strong> c<strong>on</strong>necti<strong>on</strong>. Most VoIP services come with the<br />

caller id, call waiting, call transfer, repeat dialing <strong>and</strong> threeway<br />

dialing features. For additi<strong>on</strong>al features such as call<br />

filtering, forwarding a call, or sending calls directly to the<br />

voice mail, the service provider may assess an additi<strong>on</strong>al fee.<br />

Most VoIP services also allow the user to check his/her<br />

voicemail over the web or attach messages to an e-mail that is<br />

sent to his/her PDA or PC. Generally, the facilities <strong>and</strong><br />

comp<strong>on</strong>ents provided by VOIP ph<strong>on</strong>e system suppliers <strong>and</strong><br />

service operators may vary in significant ways. It is advisable<br />

to check the pros <strong>and</strong> c<strong>on</strong>s before subscribing. Make sure that<br />

you have available technical support for the possible<br />

compatibility issues that could arise between the existing <strong>and</strong><br />

new hardware comp<strong>on</strong>ents. How Does VoIP Over Internet<br />

Protocol Works Voice Over Internet Protocol also called<br />

Internet Teleph<strong>on</strong>y <strong>and</strong> internet teleph<strong>on</strong>y is the technology<br />

for future. With this technology you can make free of cost <strong>and</strong><br />

very cheap l<strong>on</strong>g distance calls all over the world. VoIP uses a<br />

broadb<strong>and</strong> Internet c<strong>on</strong>necti<strong>on</strong> for routing teleph<strong>on</strong>e calls as<br />

opposed to the switching <strong>and</strong> fiber optics. By this process the<br />

customer can get the higher efficiency <strong>and</strong> quality of service<br />

as well as low cost. One major <strong>and</strong> interesting aspect of the<br />

VoIP technology is that there is no major infrastructure is<br />

required. The VoIP infrastructure includes the broadb<strong>and</strong><br />

Internet c<strong>on</strong>necti<strong>on</strong>, regular teleph<strong>on</strong>e line <strong>and</strong> VoIP software<br />

<strong>and</strong> hardware. Some of renowned companies of the voice over<br />

internet protocol business are V<strong>on</strong>age <strong>and</strong> Skype. These both<br />

companies prove services to their US people as well as people<br />

of the other countries. Cisco systems have also a big name in<br />

providing the VoIP hardware. Applicati<strong>on</strong> Eliminating Ph<strong>on</strong>e<br />

Lines With VoIP service, you can cancel your traditi<strong>on</strong>al<br />

ph<strong>on</strong>e service through your local teleph<strong>on</strong>e company <strong>and</strong><br />

place all of your teleph<strong>on</strong>e calls over your broadb<strong>and</strong> Internet<br />

c<strong>on</strong>necti<strong>on</strong>.<br />

III. ELIMINATING LONG DISTANCE CHARGES<br />

VoIP technology can also save m<strong>on</strong>ey <strong>on</strong> l<strong>on</strong>g-distance<br />

charges. Most residential <strong>and</strong> business teleph<strong>on</strong>e customers<br />

pay per-minute fees for l<strong>on</strong>g-distance teleph<strong>on</strong>e calls. VoIP<br />

can reduce or eliminate those l<strong>on</strong>g-distance fees. This saving<br />

is especially valuable with <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> calls, where perminute<br />

charges for traditi<strong>on</strong>al teleph<strong>on</strong>e calls can be very<br />

expensive. Number Portability With VoIP service, you can<br />

take your ph<strong>on</strong>e number anywhere you go, easily. If you have<br />

a Chicago number <strong>and</strong> you move to New York, you can keep<br />

your Chicago number. This is very c<strong>on</strong>venient for friends <strong>and</strong><br />

family to keep in c<strong>on</strong>tact with you wherever you go. More<br />

than One Way to Make a Call Using VoIP technology, ph<strong>on</strong>e<br />

calls can also be made using IP ph<strong>on</strong>es between two<br />

computers. IP ph<strong>on</strong>es looks like normal st<strong>and</strong>ard h<strong>and</strong>sets, but<br />

equipped with an RJ 45 Ethernet c<strong>on</strong>nector in place of the<br />

comm<strong>on</strong> RJ 11 c<strong>on</strong>nectors. These ph<strong>on</strong>es come with all the<br />

necessary hardware <strong>and</strong> software pre-loaded, allowing the<br />

user to directly c<strong>on</strong>nect to the router bringing the new user<br />

into the cost effective world of VoIP. PC to PC calls are the<br />

easiest <strong>and</strong> most inexpensive way to make use of VoIP<br />

technology. There are many companies providing software for<br />

free or at reduced cost to encourage c<strong>on</strong>sumer<br />

experimentati<strong>on</strong> with VoIP. When calling from a PC, all the<br />

user may need is a microph<strong>on</strong>e, a suitable sound card <strong>and</strong> a<br />

reliable internet c<strong>on</strong>necti<strong>on</strong>. The service itself may be free of<br />

cost in many cases. The <strong>on</strong>ly fee the end user may have is the<br />

m<strong>on</strong>thly fee for the internet service provider <strong>and</strong> nothing<br />

additi<strong>on</strong>al for the actual calls made. Introducti<strong>on</strong> To The<br />

Bluetooth Technology “Bluetooth wireless technology is an<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 329


Proceedings of ICCNS 08 , 27-28 September 2008<br />

open specificati<strong>on</strong> for a low power, short-range radio<br />

technology for ad-hoc wireless communicati<strong>on</strong> of voice <strong>and</strong><br />

data anywhere in the world. to be used to c<strong>on</strong>nect both mobile<br />

devices <strong>and</strong> peripherals that currently require a wire.<br />

Bluetooth technology is a short range wireless technology that<br />

was developed by the collaborati<strong>on</strong> of mobile ph<strong>on</strong>es <strong>and</strong> IT<br />

companies such as Nokia, Intel, Toshiba, Ericks<strong>on</strong> <strong>and</strong> IBM<br />

IV. HOW DOES IT WORK<br />

Bluetooth is a st<strong>and</strong>ard radio frequency chips that can be<br />

plugged into your devices .These chips were designed to take<br />

all of the informati<strong>on</strong> that your wires normally send, <strong>and</strong><br />

transmit it at a special frequency to something called a<br />

receiver Bluetooth<br />

.<br />

• Each channel is divided into time slots 625 microsec<strong>on</strong>ds<br />

l<strong>on</strong>g •Packets can be up to five time slots wide Data in a<br />

packet can be up to 2,745 bits in length<br />

The master Bluetooth device can communicati<strong>on</strong> with the<br />

seven other Bluetooth enabled devices. Different devices<br />

support different st<strong>and</strong>ards of the Bluetooth technology. The<br />

research <strong>on</strong> the advanced Bluetooth is in progress for the<br />

Bluetooth versi<strong>on</strong> 3.0 to provide the high speed c<strong>on</strong>necti<strong>on</strong>s.<br />

Bluetooth technology also provides support for the VOIP<br />

technology. The Bluetooth headset provides the wireless<br />

extensi<strong>on</strong> to the Bluetooth devise. A typical Bluetooth device<br />

c<strong>on</strong>sist of RS transceiver, protocol stacks <strong>and</strong> base b<strong>and</strong>s <strong>and</strong><br />

It does not require to install the additi<strong>on</strong>al drivers to use the<br />

Bluetooth technology <strong>and</strong> it can c<strong>on</strong>nect all the office<br />

peripheral such as computer with printer, computer with<br />

scanner <strong>and</strong> computer with laptop. Am<strong>on</strong>g the other<br />

advantages of the Bluetooth technology is the automatic<br />

synchr<strong>on</strong>izati<strong>on</strong> of the desktops, mobile ph<strong>on</strong>es <strong>and</strong> other<br />

Bluetooth held devices. Another popular use of the Bluetooth<br />

is in the cars <strong>and</strong> automotives. The most comm<strong>on</strong>ly Bluetooth<br />

held devices are mob ph<strong>on</strong>es, pers<strong>on</strong>al computers, laptops,<br />

headsets, access points, car kits, speaker ph<strong>on</strong>e, streaming<br />

video, MP3 players, SIM cards, Push-2-talk, PDA <strong>and</strong> digital<br />

camera. By this technology, mobile data can be used in the<br />

different applicati<strong>on</strong>s. It provides the speed of 1-2 Mbps.<br />

Bluetooth’s small microchip can be built in the devices <strong>and</strong> it<br />

can also be used as the external adapters <strong>and</strong> used for the<br />

different network communicati<strong>on</strong> devices. Bluetooth enabled<br />

devices can change their frequency very rapidly so they can be<br />

saved from the external interference. Bluetooth enabled<br />

devices have built in security features <strong>and</strong> they use pin code<br />

<strong>and</strong> 128 encrypti<strong>on</strong>. If the two wireless devices follow the<br />

Bluetooth st<strong>and</strong>ards they can communicate with each other<br />

without any external devices or wires. The more<br />

enhancements are in progress in this technology to provide<br />

most robust, state-of-the-art, high speed <strong>and</strong> secure<br />

c<strong>on</strong>necti<strong>on</strong>s to the mobile users.<br />

Bluetooth Goals & Visi<strong>on</strong>:<br />

• Originally c<strong>on</strong>ceived as a cable replacement technology<br />

• Short-Range Wireless Soluti<strong>on</strong>s<br />

• Open Specificati<strong>on</strong><br />

• Voice <strong>and</strong> Data Capability<br />

• Worldwide Usability<br />

• Other usage models began to develop:<br />

• Pers<strong>on</strong>al Area Network (PAN)<br />

• Ad-hoc networks<br />

• Data/voice access points<br />

• Wireless telematics<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 330


Proceedings of ICCNS 08 , 27-28 September 2008<br />

4) Bluetooth-enabled Head Set<br />

V. USES<br />

Bluetooth is a st<strong>and</strong>ard <strong>and</strong> communicati<strong>on</strong>s protocol<br />

primarily designed for low power c<strong>on</strong>sumpti<strong>on</strong>, with a short<br />

range (power-class dependent: 1 meter, 10 meters, 100<br />

meters) based <strong>on</strong> low-cost transceiver microchips in each<br />

device. Bluetooth enables these devices to communicate with<br />

each other when they are in range. The devices use a radio<br />

communicati<strong>on</strong>s system, so they do not have to be in line of<br />

sight of each other, <strong>and</strong> can even be in other rooms, as l<strong>on</strong>g as<br />

the received transmissi<strong>on</strong> is powerful enough.<br />

Bluetooth Devices<br />

Bluetooth will so<strong>on</strong> be enabled in everything from:<br />

• Teleph<strong>on</strong>es ,Headsets ,<br />

<strong>Computer</strong>s ,Cameras ,Cars,Etc …<br />

Bluetooth Products<br />

1) Bluetooth-enabled PC Card<br />

• Future of Bluetooth<br />

• Success of Bluetooth depends <strong>on</strong> how well it is integrated<br />

into c<strong>on</strong>sumer products<br />

• C<strong>on</strong>sumers are more interested in applicati<strong>on</strong>s than<br />

the technology<br />

• Bluetooth must be successfully integrated into<br />

c<strong>on</strong>sumer products<br />

• Must provide benefits for c<strong>on</strong>sumer<br />

• Must not destroy current product benefits<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 331


Proceedings of ICCNS 08 , 27-28 September 2008<br />

• Key Success Factors<br />

• Interoperability<br />

• Mass Producti<strong>on</strong> at Low Cost<br />

• Ease of Use<br />

End User Experience C<strong>on</strong>clusi<strong>on</strong>: From the different<br />

applicati<strong>on</strong>s we will prove how useful VoIP over Bluetooth<br />

technology is why it is needed. Then how VoIP <strong>on</strong> internet<br />

protocol to make calls efficiently with low cost <strong>and</strong> without<br />

wires. By using Bluetooth technology user can become more<br />

interactive <strong>and</strong> user friendly with other people so that such<br />

technologies are used in mobiles computer, cameras etc.<br />

REFERENCES:<br />

1. http://www.palowireless.com/bluetooth/<br />

2. http://www.ensc.sfu.ca/~ljilja/cnl/presentati<strong>on</strong>s/jeffrey/bt<br />

presentati<strong>on</strong>/tsld005.htm<br />

3. http://www.bluetooth.com<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 332


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Cryptanalysis of RSA Using Mobile Agents<br />

. Prof .Sanjeev .S Sannakki, Prof .D. M.Choudhari & Prof. H.H.Kenchannavar<br />

, Dept. of <strong>Computer</strong> Science & Engineering<br />

Gogte Institute of Technology,Udyhambhag,<br />

Belgaum.Karnataka. PIN 590008<br />

Ph<strong>on</strong>e No.-(+91)9448853277 ,(+91)9449383002<br />

Email ID: sannakkisanjeev@yahoo.co.in<br />

Email ID: dtttry_choudhari@yahoo.co.in<br />

Email ID: harish_14@rediffmail.com<br />

ABSTRACT<br />

Public key cryptosystems led<br />

researchers all over the world to use three major<br />

approaches to cryptanalyse the algorithms: bruteforce,<br />

mathematical <strong>and</strong> implementati<strong>on</strong> attacks.<br />

Even with mathematical attacks it takes years to<br />

cryptanalyse the algorithm <strong>on</strong> a single processor.<br />

As the key length increases the time to<br />

cryptanalyse increases exp<strong>on</strong>entially. Distributed<br />

Computing, where the work is divided am<strong>on</strong>g<br />

multiple processors reduces the computati<strong>on</strong><br />

time c<strong>on</strong>siderably. In this paper we propose use<br />

of mobile agents for distributed computing. If a<br />

number of agents share the workload the time is<br />

reduced by a c<strong>on</strong>siderable factor.<br />

Mobile agent technology offers a new<br />

computing paradigm, in which a program, in the<br />

form of a software agent, can suspend its<br />

executi<strong>on</strong> <strong>on</strong> a host computer, transfer itself to<br />

another agent-enabled host <strong>on</strong> the network, <strong>and</strong><br />

resume executi<strong>on</strong> <strong>on</strong> the new host. The mobile<br />

agents can be characterized in a number of ways<br />

ranging from simple distributed objects to highly<br />

organized software with embedded intelligence.<br />

The noti<strong>on</strong> of using mobile agents for<br />

cryptanalysis forms an effective method for<br />

testing the strength of a cryptographic algorithm.<br />

Keywords: CRYPTANALYSIS, RSA,<br />

PRIVATE KEY, PUBLIC KEY, MOBILE<br />

AGENT, AGLET<br />

1. INTRODUCTION<br />

1.1 Public Key Encrypti<strong>on</strong><br />

1.1.1 Introducti<strong>on</strong> of RSA<br />

The RSA algorithm is mainly a public<br />

key based cryptosystem used widely in network<br />

communicati<strong>on</strong>s like in Virtual Private <strong>Networks</strong><br />

(VPNs). In public key encrypti<strong>on</strong> technique, a<br />

key is split into two keys <strong>and</strong> they are called as<br />

public <strong>and</strong> private keys. Public key is advertised<br />

to the world <strong>and</strong> private key is kept secret. It is<br />

extremely difficult to generate private key using<br />

the public key. So, some<strong>on</strong>e who knows the<br />

public key cannot decrypt a message after it has<br />

been encrypted using the public key.<br />

1.1.2 Descripti<strong>on</strong> of the RSA algorithm<br />

RSA algorithm is a block cipher<br />

technique in which plaintext <strong>and</strong> cipher texts are<br />

integers between ‘0’ <strong>and</strong> ‘n-1’ for some ‘n’.<br />

Select p <strong>and</strong> q where p <strong>and</strong> q are prime<br />

numbers. Calculate n = p x q<br />

Calculate φ (n) = (p-1) x (q-1)<br />

Select integer e such that gcd (φ (n),e)=1; 1


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Encrypti<strong>on</strong> process<br />

Plaintext<br />

M < n<br />

Cipher text C = M e (mod n)<br />

Fig. 1.2 ENCRYPTION PROCESS<br />

Decrypti<strong>on</strong> process<br />

Cipher text(input ) C<br />

Plaintext M = C d (mod n)<br />

Fig. 1.3 DECRYPTION PROCESS<br />

2. CRYPTANALYSIS<br />

Researchers all over the world used<br />

three major approaches to cryptanalyse the RSA<br />

algorithm: Brute-force, Mathematical <strong>and</strong><br />

Implementati<strong>on</strong> attacks. However, to this day all<br />

attempts to devise a potent methodology to break<br />

RSA have failed. This paper is an attempt to<br />

cryptanalyse RSA combining mathematical <strong>and</strong><br />

brute-force methods by mapping an equally<br />

correct but smaller in magnitude possible key<br />

space, <strong>and</strong> exhaustively searching for D', a<br />

c<strong>on</strong>gruent value to the private key D. Statistical<br />

report of the algorithm efficiency shows <strong>on</strong>ly<br />

number of attempts it takes to obtain suitable<br />

private key D’.<br />

2.1 Factorizati<strong>on</strong> Attack<br />

The difficulty of all mathematical<br />

approaches is virtually equivalent to factorizati<strong>on</strong><br />

of modulus N into its two prime factors P <strong>and</strong> Q.<br />

Once modulus factors are known, Euler functi<strong>on</strong><br />

φ (N) = (P-1) x (Q-1) could be easily c<strong>on</strong>structed<br />

<strong>and</strong> the private key value D=E -1 mod φ (N)<br />

deduced.<br />

2.2 Quadratic Sieve<br />

2.2.1 The Method<br />

If n is the number to be factored,<br />

Quadratic Sieve (QS) attempts to find two<br />

numbers x <strong>and</strong> y such that x = y (mod n) <strong>and</strong> x 2<br />

= y 2 (mod n). This would imply that (x - y)(x +<br />

y) = 0 (mod n), <strong>and</strong> we simply compute (x – y,<br />

n) using the Euclidean algorithm to see if this is<br />

a n<strong>on</strong>trivial divisor. There is at least 50% chance<br />

that the factor will be n<strong>on</strong>trivial. Our first step in<br />

doing so is to define: Q(x) = (x + └ √n ┘) ² -n = x² -<br />

n, <strong>and</strong> compute Q(x 1 ),Q(x 2 ), : : : ,Q(x k ).<br />

Determining the x i will be explained below.<br />

From the evaluati<strong>on</strong>s of Q(x), we want to pick a<br />

subset such that Q(x i1 ), Q(x i2 ), Q(x ir ) is a square,<br />

y 2 . Then note that for all x, Q(x) ≡ x 2 (mod n).<br />

So what we have then is that Q(x i1 )Q(x i2 ) : :<br />

:Q(x ir ) ≡ (x i1 x i2 : : : x ir ) 2 (mod n) <strong>and</strong> if the<br />

c<strong>on</strong>diti<strong>on</strong>s above hold, then we have factors of n.<br />

2.2.2 Setting up a Factor Base <strong>and</strong> a Sieving<br />

Interval<br />

With the basic outline of the QS in<br />

place, we need an efficient way to determine our<br />

x i , <strong>and</strong> to get a product of the Q(x i ) to be a<br />

square. Now to check to see if the product is a<br />

square, the exp<strong>on</strong>ents of the prime factors of the<br />

product need to be all-even. We will need to<br />

factor each of the Q(x i ). Therefore, we want<br />

them to be small <strong>and</strong> to factor over a fixed set of<br />

small prime numbers (including -1), which we<br />

call our factor base. To make Q(x) small, we<br />

need to select x close to 0, so we set a bound M<br />

<strong>and</strong> <strong>on</strong>ly c<strong>on</strong>sider values of x over the sieving<br />

interval [-M,M]. Now if x is in this sieving<br />

interval, <strong>and</strong> if some prime p divides Q(x), then<br />

(x + └ √n ┘) ² ≡ n (mod p). So, n is a quadratic<br />

residue (mod p). The primes in our factor base<br />

must be such that the Legendre symbol [6]<br />

A sec<strong>on</strong>d criteri<strong>on</strong> for these primes is that they<br />

should be less than some bound B, which<br />

depends <strong>on</strong> the size of n.<br />

2.2.3 Sieving<br />

Once we have a set of primes for our factor base,<br />

we begin to take numbers x from our sieving<br />

interval <strong>and</strong> calculate Q (x), <strong>and</strong> check to see if it<br />

factors completely over our factor base. If it<br />

factors, it is said to have smoothness. If it does<br />

not, we discard, <strong>and</strong> we go <strong>on</strong> to the next<br />

element of our sieving interval. If we are dealing<br />

with a large factor base, though, it is incredibly<br />

inefficient to c<strong>on</strong>sider numbers <strong>on</strong>e at a time <strong>and</strong><br />

check all the primes in the factor base for<br />

divisibility. Instead, we will work with the entire<br />

sieving interval at <strong>on</strong>ce. If we are working in<br />

parallel, each processor would work over a<br />

different subinterval. Here is how it works. If p<br />

is a prime factor of Q(x), then p ≡ Q(x + p).<br />

C<strong>on</strong>versely, if x ≡ y (mod p), then Q(x) ≡ Q(y)<br />

(mod p). So for each prime p in our factor base,<br />

we solve Q(x) = s² ≡ 0 (mod p), x ε Z p.<br />

This can be solved using the Shanks-<br />

T<strong>on</strong>elli Algorithm [5]. We will obtain two<br />

soluti<strong>on</strong>s, which we call s 1p <strong>and</strong> s 2p = p - s 1p .<br />

Then those Q(xi) with the xi in our sieving<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 334


Proceedings of ICCNS 08 , 27-28 September 2008<br />

interval are divisible by p when xi = s1p; s2p +<br />

pk for some integer k. There are a couple ways to<br />

do the sieving from here. One way is to take a<br />

subinterval (depending <strong>on</strong> the size of your<br />

memory), <strong>and</strong> put Q(xi) in an array for each x i in<br />

the subinterval. For each p, start at s1 p <strong>and</strong> s2 p<br />

<strong>and</strong> divide out the highest power of p possible<br />

for each array element in arithmetic progressi<strong>on</strong>,<br />

recording the appropriate powers (mod 2) of p in<br />

a vector. You will have <strong>on</strong>e vector for each of<br />

the factorable Q(x i ) <strong>and</strong> each entry corresp<strong>on</strong>ds<br />

to a unique prime in the factor base. Once all the<br />

primes have had their turn sieving the interval,<br />

those array elements that are now <strong>on</strong>e are those<br />

that factor completely over the factor base. The<br />

vector of powers of the primes can then be put<br />

into a matrix A. We repeat this process until we<br />

have enough entries in A to c<strong>on</strong>tinue. This is<br />

explained below.<br />

A sec<strong>on</strong>d way is less exact, but is much<br />

quicker. Instead of working with the values of Q<br />

(x) over some subinterval, record the number of<br />

bits of the Q(x i ) in an array. For every element in<br />

the particular arithmetic progressi<strong>on</strong>s for p,<br />

subtract the number of bits of p. After every<br />

prime in the factor base has had their turn, those<br />

elements with remaining bits close to 0 are likely<br />

to be completely factorable over those primes.<br />

We need to take into account round-of error <strong>and</strong><br />

the fact that many numbers are not square free.<br />

For numbers that are not square free, we can<br />

sieve over the subinterval a sec<strong>on</strong>d time picking<br />

out soluti<strong>on</strong>s to Q(x)≡0 (mod p 2 ) <strong>and</strong> so <strong>on</strong>.<br />

When all that is d<strong>on</strong>e, we set an upper bound <strong>on</strong><br />

the number of bits we will c<strong>on</strong>sider. There will<br />

likely be fully factorable numbers that slip<br />

through at this point, but the time saved will<br />

more than make up for it. The numbers that meet<br />

this threshold c<strong>on</strong>diti<strong>on</strong> will then be factored, by<br />

looking at the arithmetic progressi<strong>on</strong>s again so<br />

we can quickly nail down which primes divide<br />

which of the Q(x i ). Most implementati<strong>on</strong>s of the<br />

QS do not resieve the interval looking for powers<br />

of primes, so we will look at the sieving at a<br />

slightly deeper level. If we d<strong>on</strong>'t resieve with<br />

powers of primes, the threshold value becomes<br />

very important <strong>and</strong> powers of 2 becomes more<br />

significant. Fortunately we have a trick to deal<br />

with 2 to some extent. If Q(x) = r 2 - n, <strong>and</strong> we<br />

assume that r is odd, then 2 Q(x). We can work<br />

with n slightly so that a higher power of 2 always<br />

divides Q(x). If we want 8 to always divide Q (x)<br />

when it is even, we c<strong>on</strong>sider n (mod 8). If n ≡3,<br />

7 (mod 8), then 2kQ(x) else if n ≡ 5 (mod 8),<br />

then 4kQ(x). Finally, if n≡1 (mod 8), then 8<br />

Q(x). So to make 8 divide Q(x) every time it is<br />

even, set n = 5n if n ≡ 3 (mod 8), set n = 3n if<br />

n≡5 (mod 8), <strong>and</strong> n := 7n if n ≡ 7 (mod 8). Once<br />

the prime p = 2 is taken care of, sieve for the rest<br />

of the primes, subtracting the logarithms as<br />

above. Our threshold will then be ½ ln (n) + ln<br />

(M) – T ln(p max ) where T is some value around 2<br />

<strong>and</strong> p max is the largest prime in the factor base.<br />

2.2.4 Building the Matrix<br />

If Q(x) does completely factor, then we<br />

put the exp<strong>on</strong>ents (mod 2) of the primes in the<br />

factor base into a vector as described above. We<br />

put all these vectors into the matrix A, so the<br />

rows represent the Q(x i ), <strong>and</strong> the columns<br />

represent the exp<strong>on</strong>ents (mod 2) of the primes<br />

in the factor base. So, for example, if our factor<br />

base was {2, 3, 13, 17, 19 29} <strong>and</strong> Q(x) =<br />

2*3*17 2 *19, then the row corresp<strong>on</strong>ding to this<br />

Q(x) would be (1, 1, 0, 2, 1, 0). Remember that<br />

we want the product of these Q(x i ) to be a perfect<br />

square, so we want the sum of the exp<strong>on</strong>ents of<br />

every prime factor in the factor base to be even,<br />

<strong>and</strong> hence c<strong>on</strong>gruent to 0 (mod 2).<br />

There may be several ways to obtain a<br />

perfect square from the Q(x i ), which is good,<br />

since many of them will not give us a factor of n.<br />

So given Q(x 1 ),Q(x 2 ) : : : ,Q(x k ), then we wish to<br />

find soluti<strong>on</strong>s to Q(x 1 )e 1 + Q(x 2 )e 2 + : : : +<br />

Q(x k )e k ; where the e i are either 0 or 1. So if a i is<br />

the row of A corresp<strong>on</strong>ding to Q(xi), then we<br />

want<br />

This means that we need to solve<br />

where<br />

so via Gaussian eliminati<strong>on</strong> we find the spanning<br />

set of the soluti<strong>on</strong> space. Therefore we need to<br />

find at least as many Q(xi) as there is primes in<br />

the factor base. Each element of the spanning set<br />

corresp<strong>on</strong>ds to a subset of the Q(xi) whose<br />

product is a perfect square. Recall that at least<br />

half of the relati<strong>on</strong>s from the soluti<strong>on</strong> space will<br />

give us a proper factor. So if the factor base has<br />

B elements, <strong>and</strong> we have B + 10 values of Q(x),<br />

then we have at least a 1023/1024 probability of<br />

finding a proper factor. So we check soluti<strong>on</strong><br />

vectors to see if the corresp<strong>on</strong>ding product of the<br />

Q(x i ) <strong>and</strong> x i yields a proper factor of n by doing a<br />

GCD calculati<strong>on</strong> described at the beginning. If<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 335


Proceedings of ICCNS 08 , 27-28 September 2008<br />

not, then check the next element in the spanning<br />

set. When a proper factor is found (you actually<br />

then have two factors), test those factors for<br />

primality. If you are factoring an RSA modulus,<br />

then we know the factors are prime, so we are<br />

d<strong>on</strong>e.<br />

2.2.5 Parallel algorithm<br />

Fig. 2.1 PARALLEL IMPLEMENTATION<br />

OF ALGORITHM<br />

When c<strong>on</strong>sidering a parallel implementati<strong>on</strong> of<br />

an algorithm <strong>on</strong>e has to c<strong>on</strong>sider the time<br />

complexity for the different parts in the<br />

algorithm. Very often an algorithm has a<br />

“heavy” part <strong>and</strong> a lot of other parts where the<br />

time complexity is negligible compared to this<br />

heavy part. In the Quadratic Sieve algorithm the<br />

sieving is the heavy part. This part is ideally<br />

suited for parallel implementati<strong>on</strong>. The sieving is<br />

performed over blocks with different intervals.<br />

These blocks are easily distributed to the<br />

different processors. With this kind of<br />

implementati<strong>on</strong> the communicati<strong>on</strong> between the<br />

different processors is kept to a minimum<br />

compared to the job that is d<strong>on</strong>e by each<br />

processor. A master process collects the results<br />

from all the processors <strong>and</strong> builds the matrix.<br />

Another time c<strong>on</strong>suming part worth menti<strong>on</strong>ing<br />

is the Gaussian eliminati<strong>on</strong>. However, the time<br />

complexity for this is minor compared to the<br />

time complexity for the sieving part. Also,<br />

Gaussian eliminati<strong>on</strong> is not very well suited for<br />

parallel implementati<strong>on</strong>. Therefore the master<br />

node performs the Gaussian eliminati<strong>on</strong>. To<br />

summarize, an effective Quadratic Sieve<br />

algorithm has a master node that shares the<br />

sieving job to the slave processors. When the<br />

matrix is full, the master node performs the<br />

Gaussian eliminati<strong>on</strong> <strong>and</strong> calculates the result.<br />

An interesting parallel versi<strong>on</strong> of this idea has<br />

been c<strong>on</strong>structed by Lenstra <strong>and</strong> Manasse who<br />

distribute their program <strong>and</strong> collect the results<br />

via electr<strong>on</strong>ic mail. They used a slightly different<br />

versi<strong>on</strong> of the Quadratic Sieve that uses different<br />

polynomials. Their idea could have been equally<br />

well used for the ordinary algorithms.<br />

3. MOBILE AGENT<br />

3.1 Introducti<strong>on</strong><br />

Mobile agents are program instances<br />

that are able to migrate from <strong>on</strong>e agent platform<br />

to another, thus fulfilling tasks <strong>on</strong> behalf of a<br />

user or another entity [1]. They c<strong>on</strong>sist of three<br />

parts: code, a data state (e.g. instance variables),<br />

<strong>and</strong> an executi<strong>on</strong> state that allows them to<br />

c<strong>on</strong>tinue their program <strong>on</strong> the next platform. An<br />

agent is a computer program whose purpose is to<br />

help a user perform some task (or set of tasks).<br />

To do this, it c<strong>on</strong>tains persistent state <strong>and</strong> can<br />

communicate with its owner, other agents <strong>and</strong><br />

the envir<strong>on</strong>ment in general. Agents can do<br />

routine work for users or assist them with<br />

complicated tasks; they can also mediate<br />

between incompatible programs <strong>and</strong> thus<br />

generate new, modular <strong>and</strong> problem-oriented<br />

soluti<strong>on</strong>s, saving work.<br />

3.2 Benefits of Mobile Agents<br />

Mobile agents roam the network, seek<br />

informati<strong>on</strong>, <strong>and</strong> carry out tasks <strong>on</strong> behalf of<br />

their senders aut<strong>on</strong>omously. Up<strong>on</strong> return to their<br />

senders the agents present the results of their<br />

endeavors. Meanwhile the user is freed of the<br />

obligati<strong>on</strong> to permanently m<strong>on</strong>itor the<br />

applicati<strong>on</strong>’s progress [7]. This makes mobile<br />

agents particularly useful in mobile<br />

envir<strong>on</strong>ments (disc<strong>on</strong>nected operati<strong>on</strong>), because<br />

no permanent network c<strong>on</strong>necti<strong>on</strong> must be<br />

maintained in order to run the agent-based<br />

applicati<strong>on</strong>. Mobile agents also offer great<br />

benefits to applicati<strong>on</strong>s in “wired” networks by<br />

adding client-side intelligence <strong>and</strong> functi<strong>on</strong>ality<br />

to server-side services unified under a<br />

homogenous access paradigm [1].<br />

Furthermore, mobile agents offer<br />

c<strong>on</strong>siderable network b<strong>and</strong>width savings because<br />

they can migrate to, <strong>and</strong> process data, at the<br />

source of that data, which therefore need not be<br />

shipped back <strong>and</strong> forth across the network.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 336


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Applicati<strong>on</strong>s based <strong>on</strong> mobile agents are<br />

inherently distributed. Agents are often<br />

independent of a particular hardware or<br />

operating system, <strong>and</strong> can be deployed in<br />

heterogeneous envir<strong>on</strong>ments. Several further<br />

advantages were claimed for mobile agent in<br />

additi<strong>on</strong> to those summarized above. In order to<br />

exploit benefits such as the <strong>on</strong>es described<br />

above, mobile agent frameworks have to cope<br />

with a number of security threats. A mobile<br />

agent’s itinerary in general spans a number of<br />

servers that might be run by competing<br />

operators.<br />

Table 4.2 TIME TAKEN TO CRACK n<br />

Value of n Number<br />

of<br />

Machines<br />

16843009 1<br />

2<br />

8030434459 1<br />

2<br />

3<br />

123712084919 1<br />

2<br />

3<br />

Time Taken<br />

(sec<strong>on</strong>ds)<br />

1<br />

1<br />

10<br />

7<br />

5<br />

115<br />

74<br />

50<br />

Fig. 3.1 MOBILE AGENT CODE-DATA<br />

MOVEMENT<br />

4. Result Sheet for time taken to crack<br />

different values of n by our<br />

implementati<strong>on</strong><br />

.<br />

Table 4.1 Some primes p, q <strong>and</strong> corresp<strong>on</strong>ding n.<br />

P q n (p * q)<br />

257 65537 16843009<br />

8581 935839 8030434459<br />

71333 807151 57576502283<br />

325309 380291 123712084919<br />

41057 31669909 1300271453813<br />

Fig. 5.1 GRAPH OF THE TIME REQUIRED<br />

VS. NUMBER OF MACHINES<br />

The graph above depicts the variati<strong>on</strong> in<br />

the time required to crack the cipher as the<br />

number of machines is increased. All machines<br />

had processor speeds in the range of 1-1.6<br />

GHz. The third parameter is the cipher modulus<br />

(n) cracked. The decrease in the time is almost<br />

exp<strong>on</strong>ential as number of machines increase.<br />

Also, time depends <strong>on</strong> the length of the cipher.<br />

For small n (5-10 digits) the time required is<br />

negligibly small (~ 10 sec<strong>on</strong>d). The cracking<br />

time increases rapidly with increase in length of<br />

n . The efficiency of our implementati<strong>on</strong> is very<br />

close to the theoretical average-case efficiency of<br />

QS i.e. O(e √ ln n ln ln n ) , where n is the target<br />

modulus to be cracked. This efficiency can be<br />

improved up<strong>on</strong> for small n by increasing the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 337


Proceedings of ICCNS 08 , 27-28 September 2008<br />

.<br />

level of parallelizati<strong>on</strong>. Due to time c<strong>on</strong>straints<br />

<strong>on</strong> cracking large modulus, we cannot actually<br />

crack them but can <strong>on</strong>ly extrapolate the graph to<br />

find the time required to crack them<br />

asymptotically.<br />

5. CONCLUSION<br />

Since cryptanalysis of RSA takes a very<br />

large amount of time (order of years) even for<br />

small key values (order of 20 digits) use of a<br />

single processor is not practical. This paper<br />

proposes to overcome the limitati<strong>on</strong>s of a single<br />

system.<br />

The use of Mobile agents to distribute<br />

the workload proved to be <strong>on</strong>e of the best ways<br />

to achieve parallelizati<strong>on</strong>. As per the analysis,<br />

use of sufficient number of systems reduces the<br />

time c<strong>on</strong>siderably for checking the strength of<br />

RSA for a particular key length. We have shown<br />

that by using mobile agents to distribute the task,<br />

the RSA cryptosystem can be made vulnerable.<br />

Also, QS is appropriate <strong>on</strong>ly when n is<br />

large, its use for a number as small as say 1817<br />

(79*23), is an overkill.<br />

REFERENCES<br />

[1] Danny B. Lange <strong>and</strong> Mitsuru Oshima,<br />

“Developing Mobile Agents using Java”,<br />

Addis<strong>on</strong> Wesley.<br />

[2] Herbert Schildt, “Java TM 2 The Complete<br />

Reference Fifth Editi<strong>on</strong>”, Tata McGraw-Hill, 2002<br />

[3] William Stallings, “Cryptography <strong>and</strong> Network<br />

<strong>Security</strong> Third Editi<strong>on</strong>”, Pears<strong>on</strong> Educati<strong>on</strong>, 2003<br />

[4] E Balagurusamy, “Programming with JAVA A<br />

Primer Sec<strong>on</strong>d Editi<strong>on</strong>”, Tata McGraw-Hill, 1999<br />

[5] D. J.Guan, “Experience in Factoring Large Integers<br />

Using Quadratic Sieve”, August 30, 2003<br />

[6] PlanetMath, “PlanetMath Quadratic Sieve”,<br />

http://planetmath.org/encyclopedia<br />

/QuadraticSieve.html<br />

[7]Jerry Smith, “Aglet Communicati<strong>on</strong>”,<br />

http://www.mcs.vuw.ac.nz/courses/COMP471/2003<br />

T2/ aglets/SmithAglets/AgletCommunicati<strong>on</strong>.html<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 338


ICCNS 08<br />

Biometrics


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Biometric <strong>Security</strong><br />

Swapnaja B. More (<strong>Computer</strong> Dept.),Amol B. Ubale. (Mechanical Dept.)<br />

Overview- The principles behind biometrics are comm<strong>on</strong> <strong>and</strong> used<br />

in everyday life. People recognize family members by their faces,<br />

<strong>and</strong> individuals1 know friends by their voices <strong>and</strong> even their smell.<br />

Although human beings are excellent at doing this complex job, even<br />

they are not perfect – it may be very difficult to distinguish between<br />

identical twins, for example. The challenge for biometrics lies in the<br />

measurement <strong>and</strong> decisi<strong>on</strong> of what exactly is similar. There’s no<br />

arbitrariness in matching a password – it either matches or it doesn’t.<br />

And while biometric technology is advancing rapidly, it is not yet<br />

100% accurate in matching a previously enrolled biometric feature to<br />

a present feature. For this reas<strong>on</strong>, biometrics is still not quite as<br />

natural as human beings recognizing each other. As a field of<br />

analytic technique, biometrics uses physical <strong>and</strong> behavioral<br />

characteristics such as fingerprints, voice, face, retina, iris,<br />

h<strong>and</strong>writing <strong>and</strong> h<strong>and</strong> geometry to identify <strong>and</strong> verify authorized<br />

users. Biometrics devices use some measurable feature of an<br />

individual to authenticate their identity. The devices are built <strong>on</strong> the<br />

premise that physical human characteristics are unique <strong>and</strong> cannot be<br />

borrowed, misplaced, forged, stolen, duplicated, or forgotten. There<br />

are a number of different human characteristics that can be used in<br />

biometrics recogniti<strong>on</strong> like Fingerprints <strong>and</strong> other too. Biometrics<br />

identificati<strong>on</strong> such as fingerprint recogniti<strong>on</strong> can eliminate problems<br />

of forgotten passwords or lost cards <strong>and</strong> is currently becoming more<br />

popular for c<strong>on</strong>venient <strong>and</strong> secure authenticati<strong>on</strong>. This paper in first<br />

part shows how bio-enable security for Operating System is<br />

successfully possible <strong>and</strong> in sec<strong>on</strong>d part it explains an approach for<br />

implementing bioenable security for emails.<br />

Keywords: Bio-enable security, fingerprint authenticati<strong>on</strong> system,<br />

GINA, hackers, PWD Password<br />

3) System Boots<br />

|<br />

Winlog<strong>on</strong><br />

|<br />

Replaced GINA<br />

|<br />

Bio-enable <strong>Security</strong><br />

|<br />

CAD<br />

|<br />

System Starts<br />

I. PART I<br />

For providing bio-enable security for<br />

operating system it is necessary to study<br />

log<strong>on</strong> system. There are 3 possible ways<br />

to log<strong>on</strong> into operating system as –<br />

1) System Boots -> Winlog<strong>on</strong> -><br />

System Starts<br />

2) System Boots<br />

|<br />

Winlog<strong>on</strong><br />

|<br />

GINA<br />

|<br />

CAD<br />

|<br />

System Starts<br />

Swapnaja B. More is post graduate student of MGM college N<strong>and</strong>ed<br />

(Ph<strong>on</strong>e:9225248898;e-mail: swapnaja_2283@yahoo.co.in)<br />

Amol B. Ubale is post graduate student of Walch<strong>and</strong> college<br />

Solapur (e-mail: amol_ubale@yahoo.co.in)<br />

Code of new Gina must c<strong>on</strong>tain code for interacting with<br />

Hamster Device for fingerprint Recogniti<strong>on</strong>. For this it is<br />

needed to study all the functi<strong>on</strong>s <strong>and</strong> c<strong>on</strong>diti<strong>on</strong>s for<br />

implementing new GINA. Here when System Boots firstly it<br />

loads winlog<strong>on</strong>. Then it calls our replaced Gina <strong>and</strong> then<br />

according to our replaced Gina it will ask for pressing<br />

Ctrl+Alt+Del (CAD). And then it will ask for password<br />

if password is correct then c<strong>on</strong>trol gets transferred to Hamster<br />

Device <strong>on</strong> which are going to perform fingerprint matching. If<br />

result comes identical (threshold 95%) then <strong>on</strong>ly it allows us<br />

to access the Operating System.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 339


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Part I provide bio-enable security for Operating system which<br />

will be more secure <strong>and</strong> c<strong>on</strong>siderably free from risk of<br />

hackers[8],[3]. Main steps involved in this project are shown<br />

in figure 1.<br />

II. PART II<br />

Here idea is to implement bio-enable security for emails that<br />

means when user wants to check pers<strong>on</strong>al mail user want<br />

security for that instead of <strong>on</strong>ly passwords so that no hacker<br />

can hack user emails <strong>and</strong> read private mails. Here user is<br />

going to obtain bio-enable security to email checking in the<br />

form of fingerprint recogniti<strong>on</strong>. As normally happens in case<br />

of sites supporting mail checking at first user has to register<br />

their providing user’s name <strong>and</strong> other informati<strong>on</strong>. This<br />

informati<strong>on</strong> gets stored <strong>on</strong> server as your permanent profile.<br />

At this time user also provide username <strong>and</strong> passwords with<br />

the help of which users are going to log<strong>on</strong> to that site. After<br />

that user can send mails, read mails, <strong>and</strong> also user can do<br />

much more things here as storing your important data, keeping<br />

secret files which user d<strong>on</strong>’t want to share with others. Then<br />

for next time when any<strong>on</strong>e wants to enter into site that pers<strong>on</strong><br />

provide username <strong>and</strong> password <strong>and</strong> that username <strong>and</strong><br />

password is passed to the server. Then at the server side<br />

authenticati<strong>on</strong> is d<strong>on</strong>e based <strong>on</strong> passwords <strong>and</strong> username <strong>on</strong>ly.<br />

And if it is correct access will be given to perform various<br />

activities. But here there is no provisi<strong>on</strong> to know whether the<br />

pers<strong>on</strong> dealing with the site is same pers<strong>on</strong> previously<br />

registered or the pers<strong>on</strong> misusing mails. Again after logging<br />

out it will remain as it is as nothing has happened.<br />

user have to give c<strong>on</strong>fidential email address such that mails<br />

from that address will be hidden from hackers when bioenable<br />

security is not there used. In short when user is not<br />

using bio-enable security at that time c<strong>on</strong>fidential data of the<br />

user will not get displayed. So if any hacker is there he/she<br />

will not get important informati<strong>on</strong> from user. But for this user<br />

has to specify secure data. In the fourth opti<strong>on</strong> both security<br />

measures are necessary as passwords <strong>and</strong> fingerprints in this<br />

case. When user is unable to provide any <strong>on</strong>e it is just<br />

impossible to log <strong>on</strong> to the site. For storing <strong>and</strong> matching<br />

users fingerprint user can use Hamster Device. This device at<br />

first will scan the fingerprint <strong>and</strong> store that image <strong>on</strong> the users<br />

name. Then this image will be transferred to the server side<br />

<strong>and</strong> get stored. Then when user want to log in with sec<strong>on</strong>d,<br />

third or fourth opti<strong>on</strong> then again it scans fingerprint of the user<br />

<strong>and</strong> compare it with stored database in the server. If match is<br />

found (threshold 95%) then it will give access to the user<br />

otherwise access will be denied. One can figure out steps for<br />

fourth opti<strong>on</strong> as follows in short:<br />

III. PROPOSED PLAN<br />

For that here the plan is about providing authenticati<strong>on</strong> in<br />

form of fingerprint matching [5]. At start while registering<br />

into the site it will ask for <strong>on</strong>e choice. The choices are listed as<br />

• Password <strong>on</strong>ly<br />

• Biometric fingerprint scan <strong>on</strong>ly<br />

• User choice of fingerprint or password, or<br />

• Both fingerprint <strong>and</strong> password required<br />

After choosing <strong>on</strong>e opti<strong>on</strong> from this it will proceed for further<br />

gathering of informati<strong>on</strong>. If the first opti<strong>on</strong> is there the<br />

procedure will be same as previously explained. But if the<br />

opti<strong>on</strong> is any <strong>on</strong>e am<strong>on</strong>g last three then it has to take<br />

fingerprint image of the user [3]. In sec<strong>on</strong>d opti<strong>on</strong> <strong>on</strong>ly it will<br />

take fingerprint image <strong>and</strong> no need of other informati<strong>on</strong> as<br />

username, password etc. But for other two opti<strong>on</strong>s it will take<br />

both username <strong>and</strong> password as well as fingerprint image of<br />

the user. In sec<strong>on</strong>d choice it will <strong>on</strong>ly scan fingerprint image<br />

<strong>and</strong> further processing will be similar to the first opti<strong>on</strong>.<br />

Suppose hamster device is not available at certain time then in<br />

this case third opti<strong>on</strong> will be useful. In third opti<strong>on</strong> it will<br />

again provide opti<strong>on</strong> whether to depend <strong>on</strong> both security<br />

measures or <strong>on</strong>ly depend <strong>on</strong> <strong>on</strong>e. If device is not available<br />

then user can also rely <strong>on</strong>ly <strong>on</strong> password. But in the third case<br />

again work will increase, as here is needed two-way security.<br />

If user is not using fingerprint recogniti<strong>on</strong> at that time secure<br />

folders or mails which user listed as secure <strong>on</strong>e that is here<br />

IV. CONCLUSION<br />

Now a days also ID- Password based authenticati<strong>on</strong> system is<br />

more popular. But as users <strong>and</strong> number of sites users are going<br />

to h<strong>and</strong>le are increasing day by day it is not <strong>on</strong>ly to difficult to<br />

remember ID <strong>and</strong> passwords but also to manage such a great<br />

database for site manager. Also no <strong>on</strong>e is ready to have risk of<br />

hackers, key loggers etc. Users need more security. So here<br />

focus is <strong>on</strong> biometric security. Part I of this paper illustrate<br />

successful security mechanism for operating system using bioenable<br />

feature, for keeping operating system secure from<br />

hackers <strong>and</strong> in Part II it focuses <strong>on</strong> imposing it <strong>on</strong> email<br />

security.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 340


Proceedings of ICCNS 08 , 27-28 September 2008<br />

REFERENCES<br />

[1] Beomsoo Park “One Touch Log<strong>on</strong> Replacing Multiple<br />

Passwords with Single Fingerprint Recogniti<strong>on</strong>” The<br />

sixth IEEE <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> <strong>Computer</strong> <strong>and</strong> I.T. (CIT06) 2006<br />

[2]Stephen D. wolthusen “Distributed Multipurpose Mail<br />

Guard” in Proceedings of 2003 IEEE Workshop <strong>on</strong><br />

Informati<strong>on</strong> Assurance United States Military Academy June<br />

2003<br />

[3] Sim<strong>on</strong> Liu, Mark Silverman, "A Practical Guide to<br />

Biometric <strong>Security</strong> Technology," IT Professi<strong>on</strong>al, vol. 03, no.<br />

1, pp. 27-32, Jan/Feb, 2001<br />

[4] Lauren D. Adkins “ Biometrics: Weighing C<strong>on</strong>venience<br />

<strong>and</strong> Nati<strong>on</strong>al security against your Privacy” 13 MICH<br />

TELECOM. TECH. L. REV. 541 (2007).<br />

[5]BiometriTech Newsletter “Fingerprint Identificati<strong>on</strong><br />

Roundup” April 17, 2003.<br />

[6]Frank Graf A Capability Based Transparent Cryptographic<br />

File System CW05<br />

[7]Naomani Itoi “NI_Pluggable Authenticati<strong>on</strong> Module for<br />

Windows NT Center For I.T. Integrati<strong>on</strong>”, University of<br />

Michigan Jan. 1988<br />

[8]http://msdn.microsoft.com/msdmmag/issues/05/05/secutity<br />

briefs<br />

[9]http://en.wikipedia.org/wiki/GINA<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 341


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Comparis<strong>on</strong> of Wavelet Transform <strong>and</strong><br />

Optimal Transform [PCA] for Facial<br />

Recogniti<strong>on</strong><br />

First A. Dr. H. B. Kekre, Sec<strong>on</strong>d B. Ms.Kamal Shah<br />

Abstract—<br />

The goal of this project is to create a face detecti<strong>on</strong> system<br />

to identify a pers<strong>on</strong> from given database by applicati<strong>on</strong> of two<br />

different methodologies <strong>on</strong>e is classical approach of optimal<br />

transform (PCA) <strong>and</strong> sec<strong>on</strong>d is Wavelet Transform. In<br />

transform domain the coefficients of the database are stored<br />

<strong>and</strong> transformed coefficients of test image is checked against<br />

that for facial recogniti<strong>on</strong>. Result of the proposed method is<br />

outst<strong>and</strong>ing.<br />

better represent the data. In this paper we have tried to<br />

compare the advantages of both the transforms i.e. quickness<br />

of optimal transform <strong>and</strong> compactness of wavelet transform.<br />

1.1 Face Database Creati<strong>on</strong><br />

Keywords— PCA, Wavelet transform, Transformed<br />

coefficients, Face recogniti<strong>on</strong>.<br />

I. INTRODUCTION<br />

The human capacity to recognize particular individuals<br />

solely by observing the human face is quite remarkable. This<br />

capacity persists even through the passage of time, changes in<br />

appearance <strong>and</strong> partial occlusi<strong>on</strong>. Because of this remarkable<br />

ability to generate near perfect positive identificati<strong>on</strong>s,<br />

c<strong>on</strong>siderable attenti<strong>on</strong> has been paid to methods by which<br />

effective face recogniti<strong>on</strong> can be replicated <strong>on</strong> an electr<strong>on</strong>ic<br />

level.<br />

Many approaches to the overall face recogniti<strong>on</strong> problem<br />

have been devised over the years, <strong>on</strong>e of the accurate <strong>and</strong><br />

fastest ways to identify faces is to use optimal transform<br />

technique [PCA]. This technique uses a str<strong>on</strong>g combinati<strong>on</strong><br />

of linear algebra <strong>and</strong> statistical analysis to generate a set of the<br />

eigenfaces--against which inputs are tested.<br />

Wavelets have been successfully used in image processing.<br />

Its ability to capture localized time-frequency informati<strong>on</strong> of<br />

image motivates its use for feature extracti<strong>on</strong>. The<br />

decompositi<strong>on</strong> of the data into different frequency ranges<br />

allows us to isolate the frequency comp<strong>on</strong>ents introduced by<br />

intrinsic deformati<strong>on</strong>s due to expressi<strong>on</strong> or extrinsic factors<br />

(like illuminati<strong>on</strong>) into certain subb<strong>and</strong>s. Wavelet-based<br />

methods prune away these variable subb<strong>and</strong>s, <strong>and</strong> focus <strong>on</strong><br />

the subb<strong>and</strong>s that c<strong>on</strong>tain the most relevant informati<strong>on</strong> to<br />

Fig 1 Database1<br />

Database 1 Specificati<strong>on</strong>s<br />

Image Format: BMP<br />

Image Size: 64X64 pixels<br />

No of Images: 45<br />

No of Individuals: 9<br />

No of expressi<strong>on</strong>s of each individual: 5<br />

F. A. Dr. H. B. Kekre is Senior Professor working with MPSTME,<br />

NMIMS University, Vileparle(W), Mumbai-56. (ph<strong>on</strong>e: 9323557897; e-mail:<br />

hbkekre@yahoo.com).<br />

S. B. Ms.Kamal Shah, is Ph.D. Scholar from MPSTME, NMIMS<br />

University,<br />

Vileparle(W),Mumbai-56.(c<strong>on</strong>tacts:9820588729;<br />

shah.kamal@yahoomail.com.)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 342


Proceedings of ICCNS 08 , 27-28 September 2008<br />

2. Average Image<br />

5<br />

Iavg(x,y) = 1/5<br />

3.Zero mean Images<br />

I = Ii – Iavg<br />

Σ Ii(x,y)<br />

i=1<br />

Ia1 Ia2 Ia3 Ia4 Ia5<br />

4. C<strong>on</strong>versi<strong>on</strong> to <strong>on</strong>e dimensi<strong>on</strong><br />

Image=<br />

1<br />

Fig2 database2<br />

Database 2 Specificati<strong>on</strong>s:<br />

Image Format: JPEG<br />

Image Size: 256 X 256 pixels<br />

No of Images: 52<br />

No of Individuals: 26<br />

No of expressi<strong>on</strong>s of each individual: 2<br />

Database 3Specificati<strong>on</strong>s<br />

NXN<br />

N 2 x1 vector<br />

Thus we obtain 5 images in a vector form<br />

[Φ] =<br />

N 2 x 5<br />

Φ1 Φ2 Φ3 Φ4 Φ5<br />

Fig 3 Database3<br />

Image Format: JPEG<br />

Image Size: 128 X128 pixels<br />

No of Images: 89<br />

No of Individuals: 27<br />

5. We obtain the covariance matrix<br />

A = [Φ t * Φ ]<br />

5 x 5 5x n 2 n 2 x 5<br />

6. Thus we obtain five eigen values <strong>and</strong> eigen vectors<br />

Ax = λx<br />

Therefore, [ A – λI ] x = 0<br />

Solving this for λ we get five eigen vectors <strong>and</strong> five eigen<br />

values. Arranging vectors in descending order of the eigen<br />

value magnitudes. Each eigen vector is of size 5X1.<br />

x1 x2 x3 x4 x5<br />

No of expressi<strong>on</strong>s of each individual: 3<br />

2.Calculti<strong>on</strong> of Principle Comp<strong>on</strong>ent [1]<br />

1.Given Images (nxn)<br />

I1 I2 I3 I4 I5<br />

7. Now,<br />

[Φ] xi = fi<br />

N 2 x 5 5 x 1 N 2 x 1<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 343


Proceedings of ICCNS 08 , 27-28 September 2008<br />

8. C<strong>on</strong>vert each fi into 2 dimensi<strong>on</strong>al image by reversing the<br />

process of 2 dimensi<strong>on</strong> to 1 dimensi<strong>on</strong>.<br />

Thus we get 5 Eigen faces Fi<br />

F1 F2 F3 F4 F5<br />

These eigen faces are orthog<strong>on</strong>al<br />

9. These eigen faces are used as basis images to analyze any<br />

new face<br />

I new = Σ wi Fi + error<br />

then wi = 1/µi < I new | Fi ><br />

= 1/ µi Σ I new (x,y) Fi(x,y)<br />

Then rec<strong>on</strong>structed new image are obtained as follows<br />

F 1 F 2 F 3 F 4 F 5<br />

W 2<br />

W 3<br />

W 4<br />

W 1 W 5<br />

where J are the stages of the wavelets. The first stage is called<br />

the approximati<strong>on</strong> image, the other three are<br />

called the vertical, horiz<strong>on</strong>tal <strong>and</strong> diag<strong>on</strong>al images. The<br />

energy of the original image c<strong>on</strong>centrates within the<br />

approximati<strong>on</strong> image. All the databases are checked for<br />

various parameters <strong>on</strong> decompositi<strong>on</strong> level 1,2,3,4.<br />

4 Combinati<strong>on</strong> Algorithm [PCA+DWT] [2]<br />

For the given database the feature extracti<strong>on</strong> method used<br />

the approximati<strong>on</strong> comp<strong>on</strong>ent of the wavelet coefficients in<br />

the principal comp<strong>on</strong>ent analysis. Assuming that the<br />

approximati<strong>on</strong> is ai (_i = 1 to M) <strong>and</strong> that there are M images<br />

in the training set, then we have an image feature such that<br />

(2)<br />

where the mean image is<br />

M<br />

Imean=1/M Σ (W(i) T (a-A)) (3)<br />

i=1<br />

<strong>and</strong> w represents the eigenvectors corresp<strong>on</strong>ding to large<br />

eigenvalues of the covariance matrix as explain in<br />

topic 3.1<br />

covariance matrix= (a-A) (a-A) T (4)<br />

5. Result analysis<br />

Database are tested for all three algorithms PCA, Wavelet<br />

transform <strong>and</strong> combinati<strong>on</strong> of both PCA+DWT.<br />

Images are tested for different degree of noise as well as<br />

occlusi<strong>on</strong> as displayed in tables.<br />

Table 1 Noise V/S Algorithm<br />

Rec<strong>on</strong>structed<br />

Image<br />

3 Wavelet Transform Method<br />

Feature extracti<strong>on</strong> <strong>on</strong> the training set is performed by the<br />

method of wavelet transforms. .The wavelet transform<br />

c<strong>on</strong>centrates the energy of the image signals into a small<br />

number of wavelet coefficients. Using two dimensi<strong>on</strong>al<br />

wavelet transforms, an image f (x_y)_ can be represented as<br />

where the two dimensi<strong>on</strong>al wavelets are tensor product of the<br />

<strong>on</strong>e dimensi<strong>on</strong>al wavelets as below<br />

(1)<br />

Noise PCA DWT<br />

S1<br />

DWT<br />

S2<br />

DWT<br />

S3<br />

DWT<br />

S4<br />

Poissi<strong>on</strong> Y Y Y Y Y<br />

Salt & N Y Y N N<br />

Peeper<br />

Gaussia N Y N N N<br />

n<br />

Speckel N Y Y Y N<br />

Table 2 Time <strong>and</strong> minimum coefficients required for<br />

regenerati<strong>on</strong> for each algorithm<br />

Algorithm Time(sec) Coefficients<br />

PCA 1.6720 64x64x5*<br />

=20480<br />

DWT<br />

stage1<br />

Stage2<br />

Stage3<br />

Stage4<br />

1.8900<br />

0.7790<br />

0.7470<br />

0.7340<br />

1024<br />

256<br />

64<br />

16<br />

PCA+DWT 2.0320 20480<br />

* represents number of eigen faces required to rec<strong>on</strong>struct the<br />

image with 90% accuracy<br />

Table 3 % Occlusi<strong>on</strong> V/S Algorithm<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 344


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Algorithm<br />

%Occlusi<strong>on</strong><br />

DWT<br />

stage1<br />

Stage2<br />

Stage3<br />

Stage4<br />

100<br />

80<br />

60<br />

40<br />

20<br />

PCA 25<br />

0<br />

%Occlusi<strong>on</strong><br />

97.23<br />

95.21<br />

90.33<br />

85.44<br />

PCA+DWT 25<br />

PCA<br />

DWT S1<br />

DWT S2<br />

DWTS3<br />

DWT s 4<br />

PCA + DWT<br />

Fig 6 Graph of % Occlusi<strong>on</strong> Sustained in each algorithm<br />

Above figure shows that Wavelet transformed images can<br />

sustain the attack of occlusi<strong>on</strong> around 90%which is a str<strong>on</strong>g<br />

applicati<strong>on</strong> of algorithm in the field of surveillance.<br />

Refrences:<br />

[1] M. A. Turk <strong>and</strong> A. P. Pentl<strong>and</strong>, ”Eigenfaces For<br />

Recogniti<strong>on</strong>”, in Journal of Cognitive Neuro- science, 3(1),<br />

pp. 71–96, (1991).<br />

[2] Chi-Fa Chen1 , Yu-Shan Tseng1 <strong>and</strong><br />

chiaYenChen2”Combinati<strong>on</strong> of PCA <strong>and</strong> Wavelet Transforms<br />

for Face Recogniti<strong>on</strong> <strong>on</strong>2.5DImages’,<br />

,Image <strong>and</strong> visi<strong>on</strong> computing NZ,pp 343- 347,(2003)<br />

[3] Ognian Boumbarov, Strahil Sokolov, Georgy Gluhchev”<br />

Combined Face Recogniti<strong>on</strong> Using Wavelet Packets <strong>and</strong><br />

Radial Basis Functi<strong>on</strong> Neural Network”,<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> <strong>Computer</strong> Systems <strong>and</strong> Technologies -<br />

CompSysTech’07<br />

[4] Dao-Qing Dai <strong>and</strong> H<strong>on</strong>g Yan”, Wavelets <strong>and</strong> Face<br />

Recogniti<strong>on</strong>”, Sun Yat-Sen (Zh<strong>on</strong>gshan) University <strong>and</strong> City<br />

University of H<strong>on</strong>g K<strong>on</strong>g China<br />

[5] H. Mo<strong>on</strong>, P.J. Phillips, Computati<strong>on</strong>al <strong>and</strong> Performance<br />

aspects of PCA-based Face Recogniti<strong>on</strong> Algorithms,<br />

Percepti<strong>on</strong>, Vol. 30, 2001, pp. 303-321<br />

6] A. Kadyrov, M. Petrou, The Trace Transform <strong>and</strong> Its<br />

Applicati<strong>on</strong>s, IEEE Transacti<strong>on</strong>s <strong>on</strong> Pattern Analysis <strong>and</strong><br />

Machine Intelligence, Vol. 23, No. 8, August 2001, pp. 811-<br />

828<br />

Original image 25% 85%<br />

90% 95% 97% Occlusi<strong>on</strong><br />

Fig 7 Original image al<strong>on</strong>g with different percentage of<br />

6.C<strong>on</strong>clusi<strong>on</strong><br />

In this paper traditi<strong>on</strong>al approach of optimal transform [PCA]<br />

has been compared with suggested method of wavelet<br />

transform. Results of wavelet transform are very promising.<br />

In terms of number of coefficients required to recognize the<br />

pers<strong>on</strong> from database1 is <strong>on</strong>ly 16 whereas that for PCA is<br />

minimum 4096 (i.e. <strong>on</strong>e eigenface) but time for calculati<strong>on</strong> is<br />

slightly less for PCA as shown in table1.<br />

In terms of occlusi<strong>on</strong> wavelet transform can withst<strong>and</strong><br />

maximum occlusi<strong>on</strong> of 80% to 85% where as PCA withst<strong>and</strong><br />

<strong>on</strong>ly up to 28% to30%<br />

Different kind of noises like Gaussian noise, speckle noise,<br />

salt <strong>and</strong> pepper noise <strong>and</strong> Poiss<strong>on</strong> noise also wavelet<br />

transform method had an upper h<strong>and</strong> over PCA.<br />

So in today’s world for robustness, compactness <strong>and</strong><br />

quickness wavelet transform got a lead from optimal<br />

transform.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 345


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fingerprint Identificati<strong>on</strong> using Principle<br />

Comp<strong>on</strong>ent Analysis (PCA)<br />

First A. Dr. H. B. Kekre, Sec<strong>on</strong>d B. Ms. Tanuja K. Sarode, Jr., <strong>and</strong> Third C. Ms. Vinaya M. Rawool<br />

Abstract— The biometric technique based <strong>on</strong> face, iris <strong>and</strong><br />

fingerprints are used in order to provide str<strong>on</strong>g security. Out of<br />

which, Fingerprint identificati<strong>on</strong> effects far more positive<br />

identificati<strong>on</strong>s of pers<strong>on</strong>s worldwide than any other human<br />

identificati<strong>on</strong> procedure. Fingerprint matching can be placed into two<br />

categories: minutiae-based <strong>and</strong> correlati<strong>on</strong>-based. In minutiae-based<br />

technique, it is difficult to extract the minutiae points accurately<br />

when the fingerprint is of low quality. Also this method does not take<br />

into account the global pattern of ridges <strong>and</strong> furrows. Correlati<strong>on</strong>based<br />

techniques require the precise locati<strong>on</strong> of a registrati<strong>on</strong> point<br />

<strong>and</strong> are affected by image translati<strong>on</strong> <strong>and</strong> rotati<strong>on</strong>. The performance<br />

of correlati<strong>on</strong>-based techniques is affected by n<strong>on</strong>-linear distorti<strong>on</strong>s<br />

<strong>and</strong> noise present in the image. In this paper we propose a technique<br />

which calculates skelet<strong>on</strong> from Euclidean Distance Transform (EDT)<br />

<strong>and</strong> then apply the c<strong>on</strong>cept of Principle Comp<strong>on</strong>ent Analysis (PCA)<br />

for fingerprint identificati<strong>on</strong>. It is observed that PCA is robust. It<br />

works <strong>on</strong> various percentages of noisy, cropped, scratched images.<br />

Keywords— Biometrics, Eigen fingerprints, Euclidean Distance,<br />

Fingerprint Identificati<strong>on</strong>.<br />

W<br />

I. INTRODUCTION<br />

ith the advent of electr<strong>on</strong>ics banking, e-commerce, <strong>and</strong><br />

smart cards <strong>and</strong> an increased emphasis <strong>on</strong> the privacy<br />

<strong>and</strong> security of informati<strong>on</strong> stored in various databases,<br />

automatic pers<strong>on</strong>al identificati<strong>on</strong> has become a very important<br />

topic [1]. Accurate pers<strong>on</strong>al identificati<strong>on</strong> is now needed in<br />

wide range of civilian applicati<strong>on</strong>s involving the use of<br />

passports, cellular teleph<strong>on</strong>es, automatic teller machines, <strong>and</strong><br />

driving licenses. Traditi<strong>on</strong>al knowledge-based [password or<br />

pers<strong>on</strong>al identificati<strong>on</strong> number (PIN)] <strong>and</strong> token-based<br />

(passport, driver license, <strong>and</strong> ID card) identificati<strong>on</strong>s are pr<strong>on</strong>e<br />

to fraud because PIN’s may be forgotten or guessed by an<br />

imposter <strong>and</strong> the tokens may be lost or stolen [2].<br />

Biometrics (ancient Greek: bios ="life", metr<strong>on</strong> =<br />

"measure") is the study of automated methods for uniquely<br />

recognizing humans based up<strong>on</strong> <strong>on</strong>e or more intrinsic physical<br />

or behavioral traits. It refers to identifying an individual based<br />

<strong>on</strong> his or her physiological or behavioral characteristics <strong>and</strong><br />

has the capability to reliably distinguish between an<br />

F. A. Dr. H. B. Kekre is Senior Professor working with MPSTME,<br />

NMIMS University, Vileparle(W), Mumbai-56. (ph<strong>on</strong>e: 9323557897; e-mail:<br />

hbkekre@yahoo.com).<br />

S. B. Ms. Tanuja K. Sarode, is Ph.D. Scholar from MPSTME, NMIMS<br />

University, Vileparle(W), Mumbai-56. Assistant Professor working with<br />

Thadomal Shahani Engg. College, B<strong>and</strong>ra(W), Mumbai-50. (ph<strong>on</strong>e:<br />

9869652656; e-mail: tanuja_0123@yahoo.com).<br />

T. C. Ms. Vinaya M. Rawool is Lecturer at K. J. Somaiya College of<br />

Engineering, Vidyavihar(E), Mumbai–77 (ph<strong>on</strong>e: 9833051676; e-mail:<br />

vinayarawool@gmail.com).<br />

authorized pers<strong>on</strong> <strong>and</strong> an imposter [1]. Am<strong>on</strong>g all the<br />

biometric techniques (e.g., face, fingerprint, h<strong>and</strong> geometry,<br />

iris, retina, signature, voice print, facial thermo gram, h<strong>and</strong><br />

vein, gait, ear, odor, keystroke dynamics, etc. [3]), fingerprintbased<br />

identificati<strong>on</strong> is the <strong>on</strong>e of the most mature <strong>and</strong> proven<br />

technique, <strong>and</strong> has been extensively used by forensic experts<br />

in criminal investigati<strong>on</strong>s [4]. Am<strong>on</strong>g all the biometric<br />

indicators, fingerprints have <strong>on</strong>e of the highest levels of<br />

reliability [17,18,19]. Immutability refers to the permanent<br />

<strong>and</strong> unchanging character of the pattern <strong>on</strong> each finger.<br />

Individuals refer to the uniqueness of ridge details across<br />

individuals; including identical twins. The probability that two<br />

fingerprints are alike is as low as 0.5× 10 -15 [5].<br />

However, manual fingerprint verificati<strong>on</strong> is so tedious, time<br />

c<strong>on</strong>suming <strong>and</strong> expensive that it is incapable of meeting<br />

today’s increasing performance requirements. An automatic<br />

fingerprint identificati<strong>on</strong> system is widely adopted in many<br />

applicati<strong>on</strong>s such as building or area security <strong>and</strong> ATM<br />

machines, Electr<strong>on</strong>ic Banking, Laptop data security, Network<br />

login, Web access etc.<br />

Fingerprint matching can be placed into two categories [7]:<br />

minutiae-based <strong>and</strong> correlati<strong>on</strong>-based. Minutiae-based<br />

techniques [6] first find minutiae points <strong>and</strong> then map their<br />

relative placement <strong>on</strong> the finger. However, there are some<br />

difficulties when using this approach. It is difficult to extract<br />

the minutiae points accurately when the fingerprint is of low<br />

quality. Also this method does not take into account the global<br />

pattern of ridges <strong>and</strong> furrows. The correlati<strong>on</strong>-based<br />

techniques compare the global pattern of ridges <strong>and</strong> furrows to<br />

see if the ridges in the fingerprints align [20, 21]. It has some<br />

of its own shortcomings. Correlati<strong>on</strong>-based techniques require<br />

the precise locati<strong>on</strong> of a registrati<strong>on</strong> point <strong>and</strong> are affected by<br />

image translati<strong>on</strong> <strong>and</strong> rotati<strong>on</strong>. The performance of<br />

correlati<strong>on</strong>-based techniques is affected by n<strong>on</strong>-linear<br />

distorti<strong>on</strong>s <strong>and</strong> noise present in the image [20].<br />

We present a fingerprint identificati<strong>on</strong> system that follows<br />

following steps :<br />

Step 1 : Identify Euclidean Distance Transform (EDT)[8].<br />

Step 2 : Identify Skelet<strong>on</strong>[9].<br />

Step 3: Apply Principle Comp<strong>on</strong>ent Analysis (PCA) approach<br />

for identificati<strong>on</strong> process.<br />

This paper is divided into V parts. In secti<strong>on</strong> II, we<br />

introduce the preprocessing steps that are, Euclidean Distance<br />

Transformati<strong>on</strong> (EDT) by mathematical morphological<br />

approach <strong>and</strong> skelet<strong>on</strong> generati<strong>on</strong>. Fingerprint identificati<strong>on</strong><br />

using Principle Comp<strong>on</strong>ent Analysis (PCA) is described in<br />

secti<strong>on</strong> III. The experimental results are given in secti<strong>on</strong> IV<br />

while c<strong>on</strong>cluding remarks are given in secti<strong>on</strong> V.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 346


Proceedings of ICCNS 08 , 27-28 September 2008<br />

II. PREPROCESSING STAGE<br />

A. Euclidean Distance Transform (EDT)<br />

Distance transformati<strong>on</strong> (DT) is used to c<strong>on</strong>vert a digital<br />

binary image that c<strong>on</strong>sists of object (foreground) <strong>and</strong><br />

n<strong>on</strong>object (background) pixels into another image where each<br />

object pixel has a value corresp<strong>on</strong>ding to the minimum<br />

distance defined by a distance functi<strong>on</strong> from the background<br />

[8]. Three distance functi<strong>on</strong>s that are city-block, chessboard<br />

<strong>and</strong> Euclidean distance transformati<strong>on</strong> (EDT) are often used in<br />

digital image processing.<br />

A disadvantage of city-block <strong>and</strong> chessboard distances is<br />

that both distance measures are very sensitive to the<br />

orientati<strong>on</strong> of an object. The Euclidean distance by definiti<strong>on</strong><br />

is rotati<strong>on</strong>-invariant. Hence am<strong>on</strong>g different kinds of distance<br />

transformati<strong>on</strong>, the Euclidean distance transformati<strong>on</strong> (EDT)<br />

is often used because of its rotati<strong>on</strong>al invariance property [8].<br />

The Improved Iterative Erosi<strong>on</strong> Algorithm (IIEA) is used to<br />

calculate EDT [8]. This algorithm uses the c<strong>on</strong>cept of<br />

mathematical morphology. Mathematical morphology [4],<br />

which is based <strong>on</strong> set-theoretic c<strong>on</strong>cept, extracts the object<br />

features by choosing a suitable structuring shape as a probe.<br />

Morphological operati<strong>on</strong>s are set transformati<strong>on</strong>s that c<strong>on</strong>vert<br />

an image into a quantitative descripti<strong>on</strong> of its geometrical<br />

structure. Appropriately used, they can eliminate noises or<br />

irrelevancies while preserving the details of the original<br />

image.<br />

The Euclidean distance transformati<strong>on</strong> (EDT) has a wider<br />

range of applicati<strong>on</strong>s in image analysis. It is a basic operati<strong>on</strong><br />

in computer visi<strong>on</strong>, pattern recogniti<strong>on</strong>, <strong>and</strong> robotics.<br />

Numerous applicati<strong>on</strong>s of distance transformati<strong>on</strong>s to image<br />

analysis <strong>and</strong> pattern recogniti<strong>on</strong> have been reported <strong>and</strong> those<br />

related to medical image processing.<br />

EDT is used in skelet<strong>on</strong> extracti<strong>on</strong> [9,10], shape descripti<strong>on</strong><br />

[11], <strong>and</strong> shape decompositi<strong>on</strong> [12]. The discrete vor<strong>on</strong>oi<br />

diagram [13] <strong>on</strong> a binary image can be c<strong>on</strong>structed using EDT.<br />

B. Skelet<strong>on</strong> Generati<strong>on</strong><br />

The skelet<strong>on</strong> is an important representati<strong>on</strong> for shape<br />

analysis. A comm<strong>on</strong> approach for generating discrete<br />

skelet<strong>on</strong>s takes three steps [9]:<br />

Step 1 : Computing the distance map,<br />

Step 2 : Detecting maximal disks from the distance map, <strong>and</strong><br />

Step 3 : Linking the centers of maximal disks (CMDs) into a<br />

c<strong>on</strong>nected skelet<strong>on</strong>. Algorithms using approximate distance<br />

metrics are abundant <strong>and</strong> their theory has been well<br />

established. However, the resulting skelet<strong>on</strong>s may be<br />

inaccurate <strong>and</strong> sensitive to rotati<strong>on</strong> [9].<br />

The distance map of a binary figure is a functi<strong>on</strong> that maps<br />

each point inside the figure to its shortest distance to the<br />

background. The distance metric used to compute the maps is<br />

crucial because it directly affects the centering of the skelet<strong>on</strong><br />

<strong>and</strong> its sensitivity to rotati<strong>on</strong>. The Euclidean metric is certainly<br />

the most accurate metric.<br />

The skelet<strong>on</strong> is essential for general shape representati<strong>on</strong>. It<br />

is a useful means of shape descripti<strong>on</strong> [14] in different areas,<br />

such as c<strong>on</strong>tent-based image retrieval systems, h<strong>and</strong>written or<br />

printed character recogniti<strong>on</strong> systems, circuit board inspecti<strong>on</strong><br />

systems, biomedical imagery for shape analysis as well as<br />

fingerprint ridge patterns [15,16]. The extracted skelet<strong>on</strong> can<br />

be used as a feature to represent the original shape as it has a<br />

more compact representati<strong>on</strong>.<br />

III. PROPOSED TECHNIQUE<br />

The flow diagram of the proposed technique is as shown in<br />

Fig. 1. The sequence to be followed in our technique is as<br />

follows: (i) Preprocess the input image by identifying<br />

Euclidean Distance Transform (EDT) [8], (ii) Identify<br />

Skelet<strong>on</strong> of the resultant image [9], (iii) Apply Principle<br />

Comp<strong>on</strong>ent Analysis (PCA) approach <strong>on</strong> skelet<strong>on</strong>ized image,<br />

(iv) Search in feature vector for fingerprint identificati<strong>on</strong><br />

process.<br />

Fig. 1 Flow diagram for the proposed technique.<br />

A.. Feature vector extracti<strong>on</strong> using Principle Comp<strong>on</strong>ent<br />

Analysis (PCA)<br />

Extracti<strong>on</strong> of appropriate features is <strong>on</strong>e of most important<br />

tasks for identificati<strong>on</strong> system. The algorithm for Feature<br />

vector extracti<strong>on</strong> using Principle Comp<strong>on</strong>ent Analysis (PCA)<br />

is presented below.<br />

Step 1 : Given Images I 1 , I 2 , I 3 , I 4 , I 5 of size (n×n).<br />

Fig. 2 Given 5 images<br />

Step 2 : Find average of each image.<br />

Step 3 : Find zero mean Images. Subtract average image from<br />

each pixel of an image to find zero mean images.<br />

Fig. 3 Zero mean images<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 347


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Step 4 : C<strong>on</strong>versi<strong>on</strong> of zero mean images to <strong>on</strong>e dimensi<strong>on</strong><br />

array.<br />

Fig. 7 Eigen images with energy<br />

These eigen fingerprint are orthog<strong>on</strong>al. They form the basic<br />

coordinate system. Fig. 8 shows eigen fingerprint for few<br />

images.<br />

Fig. 4 C<strong>on</strong>versi<strong>on</strong> of image to 1D array<br />

Thus we obtain 5 images in a vector form.<br />

Fig. 8 Eigen fingerprints<br />

Step 9 : These eigen fingerprint are used as basis functi<strong>on</strong>s to<br />

analyze any new fingerprint.<br />

(7)<br />

Then<br />

(8)<br />

Fig. 5 Vector form for 5 images<br />

Step 5 : Obtain covariance matrix.<br />

Step 6 : Obtain eigen values <strong>and</strong> eigen vectors for covariance<br />

matrix.<br />

Therefore,<br />

Solving this for λ we get,<br />

Step 7 : Now<br />

Fig. 6 Eigen vector of covariance matrix<br />

Step 8 : C<strong>on</strong>vert each f i into two dimensi<strong>on</strong>al image by<br />

reversing the process of two dimensi<strong>on</strong>al to two dimensi<strong>on</strong>.<br />

Thus we get 5 eigen fingerprint F i <strong>and</strong> their energy µ i<br />

A set of w i is a feature vector of the new image. This feature<br />

vector is used for fingerprint identificati<strong>on</strong>.<br />

B. Fingerprint Matching<br />

Matching an input image with a stored template involves<br />

following steps in proposed technique.<br />

Step 1 : Start.<br />

Step 2 : Input image.<br />

Step 3 : Identify EDT of an image.<br />

Step 4 : Identify Skelet<strong>on</strong> of an image.<br />

Step 5 : Find average of an image <strong>and</strong> subtract average from<br />

each pixel of an image.<br />

Step 6 : C<strong>on</strong>versi<strong>on</strong> to <strong>on</strong>e dimensi<strong>on</strong>al image (say I).<br />

Step 7 : Load orthog<strong>on</strong>al matrix <strong>and</strong> µ , which are obtained in<br />

feature vector extracti<strong>on</strong> algorithm. Obtain I ' *<br />

Orthog<strong>on</strong>al matrix. And then divide this result by<br />

each diag<strong>on</strong>al element of µ, to obtain feature vector.<br />

Step 8 : Compare result with feature vector.<br />

Step 9 : Obtain match.<br />

Step 10 : End.<br />

IV. EXPERIMENTAL RESULT<br />

Our database c<strong>on</strong>sists of 168 gray scale fingerprint<br />

impressi<strong>on</strong>s of size 256×256. They are divided into 21 classes.<br />

We have selected two representative fingerprints from each<br />

class. Thus forming a set of 42 fingerprints. These 42<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 348


Proceedings of ICCNS 08 , 27-28 September 2008<br />

fingerprints are used to get 42 eigen fingerprints which are<br />

used as basis images. The algorithms are implemented <strong>on</strong><br />

Celer<strong>on</strong> processor 1.73 Ghz, 1 MB cache, 1 GB RAM<br />

machine to obtain results.<br />

Squared Euclidean Distance (SED) is used as a matching<br />

parameter for fingerprint identificati<strong>on</strong> process. SED between<br />

feature vector of query image <strong>and</strong> feature vectors of database<br />

images is computed <strong>and</strong> threshold kept is 0.22.<br />

Table I shows the SED values for the cropped images with<br />

varying percentage of cropped, with respect to database<br />

images. Centered cropped images are very sensitive but PCA<br />

works well <strong>on</strong> fingerprint images which are cropped at center<br />

as well. Table II shows the SED values for the scratched<br />

images with varying percentage of scratched, with respect to<br />

database images. Table III shows the SED values for the noisy<br />

images with varying percentage of noise, with respect to<br />

database images. Table IV shows the SED values for the<br />

scratched <strong>and</strong> cropped image, with respect to database images.<br />

Table V shows the SED values for the rotated images, with<br />

respect to database images. PCA works <strong>on</strong> rotated image with<br />

+6 o to -6 o . Although SED value is much larger than threshold<br />

value it is still minimum distance. Bold SED values given in<br />

tables represent selecti<strong>on</strong> criteria.<br />

TABLE I<br />

COMPARISON OF CROPPED IMAGES FOR VARIOUS PERCENTAGE OF CROPPED WITH RESPECT TO DATABASE IMAGES<br />

Images in<br />

Squared Euclidean Distance (SED)<br />

Database<br />

Center cropped Images<br />

General cropped Images<br />

1_1<br />

1_2<br />

2_1<br />

2_2<br />

3_1<br />

3_2<br />

4_1<br />

4_2<br />

5_1<br />

5_2<br />

6_1<br />

6_2<br />

7_1<br />

7_2<br />

8_1<br />

8_2<br />

9_1<br />

9_2<br />

10_1<br />

10_2<br />

11_1<br />

11_2<br />

12_1<br />

12_2<br />

13_1<br />

13_2<br />

14_1<br />

14_2<br />

15_1<br />

15_2<br />

16_1<br />

16_2<br />

17_1<br />

17_2<br />

18_1<br />

18_2<br />

19_1<br />

19_2<br />

20_1<br />

20_2<br />

21_1<br />

21_2<br />

5.4016% 10.9009% 11.5189% 17.2668% 20.7870% 26.1810%<br />

1.5081<br />

1.3784<br />

1.6268<br />

1.4793<br />

1.3668<br />

1.3189<br />

1.5028<br />

1.3788<br />

1.6277<br />

1.4535<br />

1.3528<br />

1.2993<br />

0.0865<br />

0.1498<br />

0.0440<br />

0.1086<br />

0.1706<br />

0.2004<br />

1.4873<br />

1.3621<br />

1.6362<br />

1.4538<br />

1.3385<br />

1.3102<br />

1.5010<br />

1.3790<br />

1.6340<br />

1.4550<br />

1.3703<br />

1.3307<br />

1.5099<br />

1.3812<br />

1.6168<br />

1.4470<br />

1.3257<br />

1.2849<br />

1.4771<br />

1.3589<br />

1.6247<br />

1.4525<br />

1.3447<br />

1.3093<br />

1.5032<br />

1.3808<br />

1.6219<br />

1.4521<br />

1.3363<br />

1.2964<br />

1.5081<br />

1.3844<br />

1.6465<br />

1.4676<br />

1.3596<br />

1.3105<br />

1.4920<br />

1.3782<br />

1.6263<br />

1.4571<br />

1.3575<br />

1.3181<br />

1.4898<br />

1.3597<br />

1.6339<br />

1.4459<br />

1.3369<br />

1.2948<br />

1.4864<br />

1.3572<br />

1.6191<br />

1.4421<br />

1.3323<br />

1.2985<br />

1.4811<br />

1.3572<br />

1.6137<br />

1.4418<br />

1.3392<br />

1.3000<br />

1.5064<br />

1.3821<br />

1.6156<br />

1.4436<br />

1.3337<br />

1.2948<br />

1.4722<br />

1.3504<br />

1.6245<br />

1.4563<br />

1.3527<br />

1.3148<br />

1.4912<br />

1.3586<br />

1.6267<br />

1.4558<br />

1.3506<br />

1.3062<br />

1.5014<br />

1.3757<br />

1.6256<br />

1.4592<br />

1.3434<br />

1.3091<br />

1.4882<br />

1.3675<br />

1.6140<br />

1.4346<br />

1.3203<br />

1.2858<br />

1.5059<br />

1.3867<br />

1.6225<br />

1.4498<br />

1.3371<br />

1.2979<br />

1.4932<br />

1.3734<br />

1.6324<br />

1.4540<br />

1.3409<br />

1.3067<br />

1.4925<br />

1.3721<br />

1.6394<br />

1.4502<br />

1.3406<br />

1.3080<br />

1.4937<br />

1.3723<br />

1.6118<br />

1.4276<br />

1.3223<br />

1.2861<br />

1.5163<br />

1.3892<br />

1.6475<br />

1.4675<br />

1.3529<br />

1.3217<br />

1.4916<br />

1.3799<br />

1.6265<br />

1.4529<br />

1.3475<br />

1.3209<br />

1.4941<br />

1.3573<br />

1.6299<br />

1.4531<br />

1.3354<br />

1.3090<br />

1.4822<br />

1.3590<br />

1.6462<br />

1.4584<br />

1.3471<br />

1.3034<br />

1.5066<br />

1.3721<br />

1.6316<br />

1.4411<br />

1.3379<br />

1.2999<br />

1.4971<br />

1.3826<br />

1.6035<br />

1.4335<br />

1.3298<br />

1.2901<br />

1.4947<br />

1.3752<br />

1.6334<br />

1.4570<br />

1.3360<br />

1.3014<br />

1.4947<br />

1.3628<br />

1.6342<br />

1.4622<br />

1.3479<br />

1.3188<br />

1.4846<br />

1.3587<br />

1.6206<br />

1.4527<br />

1.3494<br />

1.3089<br />

1.4863<br />

1.3605<br />

1.6276<br />

1.4493<br />

1.3360<br />

1.2923<br />

1.5172<br />

1.4060<br />

1.6142<br />

1.4283<br />

1.3125<br />

1.2752<br />

1.5186<br />

1.4117<br />

1.6221<br />

1.4535<br />

1.3513<br />

1.3049<br />

1.5288<br />

1.4061<br />

1.6172<br />

1.4164<br />

1.3248<br />

1.2674<br />

1.5148<br />

1.4034<br />

1.6139<br />

1.4258<br />

1.3295<br />

1.2844<br />

1.4908<br />

1.3731<br />

1.6149<br />

1.4401<br />

1.3327<br />

1.2992<br />

1.4931<br />

1.3726<br />

1.6275<br />

1.4416<br />

1.3327<br />

1.2913<br />

1.5070<br />

1.3826<br />

1.6343<br />

1.4534<br />

1.3512<br />

1.3096<br />

1.4956<br />

1.3941<br />

1.6203<br />

1.4361<br />

1.3286<br />

1.2915<br />

1.4910<br />

1.3741<br />

1.6173<br />

1.4488<br />

1.3592<br />

1.3072<br />

1.4988<br />

1.3804<br />

1.6110<br />

1.4203<br />

1.3173<br />

1.2690<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 349


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE II<br />

COMPARISON OF SCRATCHED IMAGES FOR VARIOUS PERCENTAGE OF SCRATCHED WITH RESPECT TO DATABASE IMAGES<br />

Images in<br />

Squared Euclidean Distance (SED)<br />

Database<br />

1_1<br />

1_2<br />

2_1<br />

2_2<br />

3_1<br />

3_2<br />

4_1<br />

4_2<br />

5_1<br />

5_2<br />

5.8823% 10.3745% 15.5670% 20.7748%<br />

1.8165<br />

1.7025<br />

1.4762<br />

1.4165<br />

1.8087<br />

1.7043<br />

1.4796<br />

1.4110<br />

0.0102<br />

0.0285<br />

0.0924<br />

0.1213<br />

1.8109<br />

1.7064<br />

1.4791<br />

1.4215<br />

1.8133<br />

1.7165<br />

1.4864<br />

1.4153<br />

1.8157<br />

1.6456<br />

1.4866<br />

1.4267<br />

1.8183<br />

1.6884<br />

1.4798<br />

1.4157<br />

1.8139<br />

1.7047<br />

1.4874<br />

1.4339<br />

1.8111<br />

1.7080<br />

1.4902<br />

1.4262<br />

1.8186<br />

1.7122<br />

1.4872<br />

1.4289<br />

And for the rest of the database images the minimum SED value is 1.3946 <strong>and</strong> maximum SED value is 1.8297 which is greater<br />

than threshold.<br />

TABLE III<br />

COMPARISON OF NOISY IMAGES FOR VARIOUS PERCENTAGE OF NOISE WITH RESPECT TO DATABASE IMAGES<br />

Images<br />

Squared Euclidean Distance (SED)<br />

in<br />

Database<br />

1_1<br />

1_2<br />

2_1<br />

2_2<br />

3_1<br />

3_2<br />

4_1<br />

4_2<br />

5_1<br />

5_2<br />

1.9638% 4.8813% 7.3837% 9.4788%<br />

1.6712<br />

1.5479<br />

1.4529<br />

1.3931<br />

1.6786<br />

1.5476<br />

1.4525<br />

1.3806<br />

0.0312<br />

0.0652<br />

0.1025<br />

0.1379<br />

1.6753<br />

1.5471<br />

1.4673<br />

1.3980<br />

1.6770<br />

1.5593<br />

1.4732<br />

1.3927<br />

1.6710<br />

1.5518<br />

1.4583<br />

1.3936<br />

1.6744<br />

1.5489<br />

1.4463<br />

1.3807<br />

1.6788<br />

1.5572<br />

1.4592<br />

1.3929<br />

1.6788<br />

1.5555<br />

1.4607<br />

1.3961<br />

1.6756<br />

1.5478<br />

1.4580<br />

1.3791<br />

And for the rest of the database images the minimum SED value is 1.3754 <strong>and</strong> maximum SED value is 1.6862 which is greater<br />

than threshold.<br />

TABLE IV<br />

COMPARISON OF SCRATCHED AND CROPPED IMAGEWITH RESPECT TO DATABASE IMAGES<br />

Images in Database<br />

1_1<br />

1_2<br />

2_1<br />

2_2<br />

3_1<br />

3_2<br />

4_1<br />

4_2<br />

5_1<br />

5_2<br />

52.2537%<br />

1.3371<br />

1.3261<br />

0.1645<br />

1.3536<br />

1.3430<br />

1.3521<br />

1.3442<br />

1.3485<br />

1.3456<br />

1.3492<br />

And for the rest of the database images the minimum SED value is 1.3101 <strong>and</strong> maximum SED value is 1.374 which is greater<br />

than threshold.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 350


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE V<br />

COMPARISON OF ROTATED IMAGES (-6 O AND +6 O )WITH RESPECT TO DATABASE IMAGES<br />

Images in<br />

Database<br />

1_1<br />

1_2<br />

2_1<br />

2_2<br />

3_1<br />

3_2<br />

4_1<br />

4_2<br />

5_1<br />

5_2<br />

+6 o -6 o<br />

0.9618<br />

1.0275<br />

0.8891<br />

1.0474<br />

0.9837<br />

0.9566<br />

0.9654<br />

0.9863<br />

0.9923<br />

0.9916<br />

And for the rest of the database images the minimum SED value is 0.906 <strong>and</strong> maximum SED value is 1.0277 which is greater<br />

than threshold<br />

V. CONCLUSION<br />

We have presented a technique which calculates skelet<strong>on</strong><br />

from EDT <strong>and</strong> then apply the c<strong>on</strong>cept of Principle Comp<strong>on</strong>ent<br />

Analysis (PCA) for fingerprint identificati<strong>on</strong>. The eigen<br />

fingerprints are used as basis images to represent all<br />

fingerprint images in database. Their weight factors are used<br />

as feature vectors for identificati<strong>on</strong>. We have tried PCA <strong>on</strong><br />

cropped images (26%), scratched images (20%), noisy images<br />

(9%), cropped <strong>and</strong> scratched images (52%) when 0.22 is used<br />

as threshold value. However for rotati<strong>on</strong> invariance (-6 o to<br />

+6 o ) the minimum Euclidean distance is taken as selecti<strong>on</strong><br />

criteria. PCA is very robust <strong>and</strong> can identify fingerprint even if<br />

there is large mutilati<strong>on</strong>. PCA over comes the disadvantage of<br />

minutiae-based techniques <strong>and</strong> correlati<strong>on</strong>-based techniques.<br />

REFERENCES<br />

[1] A. K. Jain, S. Prabhakar. L. H<strong>on</strong>g, <strong>and</strong> S. Pankanti, “Filterbank-based<br />

Fingerprint Matching,” IEEE Trans. Image Processing, Vol. 9, No. 5,<br />

pp. 846-859, May 2000.<br />

[2] Arun Ross, Sarat Dass, Anil Jain, “A deformable model for fingerprint<br />

matching,” Pattern Recogniti<strong>on</strong> Vol. 38, pp. 95-103, 2005.<br />

[3] A. K. Jain, L. H<strong>on</strong>g, Y. Kulkarni “A Multimodel Biometric System using<br />

Fingerprint, Face, <strong>and</strong> Speech,” Proc.2 nd Int’l <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Audio- <strong>and</strong><br />

Video-based Biometric Pers<strong>on</strong> Auhentificati<strong>on</strong>, Washingt<strong>on</strong> D.C., pp.<br />

182-187, 1999.<br />

[4] Federal Bureau of investigati<strong>on</strong>, The Science of Fingerprints:<br />

Classificati<strong>on</strong> <strong>and</strong> Uses, Washingt<strong>on</strong>, D.C., 1984, U.S. Government<br />

Printing office.<br />

[5] F. A. Afsar, M. Arif <strong>and</strong> M. Hussain, “Fingerprint Identificati<strong>on</strong> <strong>and</strong><br />

Verificati<strong>on</strong>,” pp. 141-146, 2004.<br />

[6] A. K. Jain, L. H<strong>on</strong>g, S. Pankanti, <strong>and</strong> R. Bolle, “An identity authenticati<strong>on</strong><br />

system using fingerprints,” Proc. IEEE, Vol. 85, pp. 1365-1388, Sept.<br />

1997.<br />

[7] Y. Kobayashi, H. Toyoda, N. Mukohzaka, N. Yoshida <strong>and</strong> T. Hara,<br />

“Fingerprint identificati<strong>on</strong> by an optical joint transform correlati<strong>on</strong>,”<br />

optical review, Vol. 3(6A), pp. 4.3-405, 1996<br />

[8] Frank Y. Shih, Senior Member, IEEE, <strong>and</strong> Yi-Ta Wu, ”The Efficient<br />

Algorithms for Achieving Euclidean Distance Transformati<strong>on</strong>,” IEEE<br />

Transacti<strong>on</strong>s <strong>on</strong> Image Processing, vol. 13, no. 8, August 2004.<br />

[9] Yaor<strong>on</strong>g Ge <strong>and</strong> J. Michael Fitzpatrick “On the Generati<strong>on</strong> of Skelet<strong>on</strong>s<br />

from Discrete Euclidean Distance Maps,” IEEE Trans. Pattern Analysis<br />

<strong>and</strong> machine Intelligence, vol. 18, No. 11, November 1996.<br />

[10] N.Sudha, S. N<strong>and</strong>i, P.K. Bora, K.Sridharan, “Efficient computati<strong>on</strong> of<br />

Euclidean Distance Transform for applicati<strong>on</strong> in Image processing,”<br />

IEEE Transacti<strong>on</strong> <strong>on</strong> Image processing, 1998.<br />

[11] P. E. Danielss<strong>on</strong>, “A new shape factor,” Comput. Graphics Image<br />

Processing, pp. 292-299, 1978.<br />

1.0111<br />

1.0214<br />

0.9046<br />

1.0180<br />

1.0025<br />

0.9833<br />

0.9813<br />

1.0119<br />

0.9791<br />

0.9981<br />

[12] I. Pitas <strong>and</strong> A. N. Venetsanopoulos, “Morphological shape<br />

decompositi<strong>on</strong>,” IEEE Trans. Pattern Anal. Machine Intell., vol. 12,<br />

no. 1, pp. 38-45, Jan. 1990.<br />

[13] C.Arcelli <strong>and</strong> G.Sanniti de Baja. “Computing Vor<strong>on</strong>oi diagrams in<br />

digital pictures,” Pattern Recogniti<strong>on</strong> Letters, pages 383-389, 1986.<br />

[14] H. Blum <strong>and</strong> R. N. Nagel, “Shape Descripti<strong>on</strong> Using Weighted<br />

Symmetric Axis Features,” Pattern Recogniti<strong>on</strong>, vol. 10, pp. 167-180,<br />

1978.<br />

[15] Wai-Pak Choi, Kin-Man Lam <strong>and</strong> Wan-Chi Siu, “ An efficient<br />

algorithm for the extracti<strong>on</strong> of Euclidean skelet<strong>on</strong>,” IEEE Transacti<strong>on</strong><br />

<strong>on</strong> Image processing, 2002.<br />

[16] Frank Y. Shih <strong>and</strong> Christopher C. Pu, “A maxima-tracking method for<br />

skelet<strong>on</strong>izati<strong>on</strong> from Euclidean distance functi<strong>on</strong>,” IEEE Transacti<strong>on</strong><br />

<strong>on</strong> Image processing, 1991.<br />

[17] Anil Jain, Arun Ross, Salil Prabhakar, “Fingerprint matching using<br />

minutiae <strong>and</strong> texture features,” Int’l c<strong>on</strong>ference <strong>on</strong> Image Processing<br />

(ICIP), pp. 282-285, Oct. 2001.<br />

[18] John Berry <strong>and</strong> David A. St<strong>on</strong>ey “The history <strong>and</strong> development of<br />

fingerprinting,” in Advances in Fingerprint Technology, Henry C. Lee<br />

<strong>and</strong> R. E. Gaensslen, Eds., pp. 1-40. CRC Press Florida, 2 nd editi<strong>on</strong>,<br />

2001.<br />

[19] Emma Newham, “The biometric report,” SJB Services, 1995.<br />

[20] Arun Ross, Anil Jain, James Reisman, “A hybrid fingerprint matcher,”<br />

Int’l c<strong>on</strong>ference <strong>on</strong> Pattern Recogniti<strong>on</strong> (ICPR), Aug 2002.<br />

[21] A. M. Bazen, G. T. B.Verwaaijen, S. H. Gerez, L. P. J. Veelenturf, <strong>and</strong><br />

B. J. van der Zwaag, “A correlati<strong>on</strong>-based fingerprint verificati<strong>on</strong><br />

system,” Proceedings of the ProRISC2000 Workshop <strong>on</strong> Circuits,<br />

Systems <strong>and</strong> Signal Processing, Veldhoven, Netherl<strong>and</strong>s, Nov 2000.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 351


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A Survey On Current Fingerprint Matching<br />

Methods<br />

Bharkad Sangita , <strong>and</strong> Manesh Kokare<br />

Abstract C<strong>on</strong>trary to popular belief, despite decades of research in<br />

fingerprints, reliable fingerprint recogniti<strong>on</strong> from large database is an<br />

open problem. Extracting features out of poor quality prints is the<br />

most challenging problem faced in this area. For that we need<br />

effective <strong>and</strong> efficient fingerprint matching algorithms that meet user<br />

requirements, to identifying similarity. This paper gives a brief<br />

survey of current fingerprint matching methods <strong>and</strong> technical<br />

achievement in this area. The survey includes a large number of<br />

papers covering the research aspects of system design <strong>and</strong><br />

applicati<strong>on</strong>s of fingerprint matching, image feature representati<strong>on</strong> <strong>and</strong><br />

extracti<strong>on</strong>. Furthermore future research directi<strong>on</strong>s are suggested.<br />

Keyword Review, fingerprint matching, feature extracti<strong>on</strong>, Gabor<br />

filter, wavelet, Euclidian distance, enrollment.<br />

I. INTRODUCTION<br />

With the advent of electr<strong>on</strong>ic banking, e-commerce, <strong>and</strong><br />

smartcards <strong>and</strong> an increased emphasis <strong>on</strong> the privacy <strong>and</strong><br />

security of informati<strong>on</strong> stored in various databases, automatic<br />

pers<strong>on</strong>al identificati<strong>on</strong> has become a very important topic.<br />

Accurate automatic pers<strong>on</strong>al identificati<strong>on</strong> is now needed in a<br />

wide range of civilian applicati<strong>on</strong>s involving the use of<br />

passports, cellular teleph<strong>on</strong>es, automatic teller machines, <strong>and</strong><br />

driver licenses. Traditi<strong>on</strong>al knowledge-based [password or<br />

pers<strong>on</strong>al identificati<strong>on</strong> number (PIN)] <strong>and</strong> token-based<br />

(passport, driver license, <strong>and</strong> ID card) identificati<strong>on</strong>s are pr<strong>on</strong>e<br />

to fraud because PIN’s may be forgotten or guessed by an<br />

imposter <strong>and</strong> the tokens may be lost or stolen. As an example,<br />

Mastercard credit card fraud al<strong>on</strong>e now amounts to more than<br />

450 milli<strong>on</strong> U.S. dollars annually [2].<br />

The fingerprints are known used since archeological dates<br />

[10]. In 1684, plant scientist is Nehemiah Grew published first<br />

ever-scientific paper <strong>on</strong> fingerprint. French Policemen:<br />

Alph<strong>on</strong>se Bertill<strong>on</strong> (1882) c<strong>on</strong>ceived <strong>and</strong> then industriously<br />

practiced the idea of using body measurements for solving<br />

crime related problems. The features like height, finger index<br />

<strong>and</strong> length of arm, leg <strong>and</strong> index finger al<strong>on</strong>g with the<br />

sketches of the subject with the different camera views were<br />

used. In 1983, Home Ministry Office, UK supported the<br />

distinctiveness of fingerprint for criminal identificati<strong>on</strong>.<br />

Subsequently the official use of fingerprint as reliable<br />

biometric came into existence. Sir Francis Galt<strong>on</strong> suggested<br />

the minutiae features for the characterizati<strong>on</strong> of FP in 1888.<br />

The paper is organized as follows. First we discuss the System<br />

Architecture <strong>and</strong> Applicati<strong>on</strong> of Fingerprint matching in<br />

secti<strong>on</strong> II. In secti<strong>on</strong> III we review various features extracti<strong>on</strong><br />

techniques to facilitate the fast search in large database<br />

C<strong>on</strong>clusi<strong>on</strong> <strong>and</strong> Future research directi<strong>on</strong>s are presented in<br />

secti<strong>on</strong> IV.<br />

II. SYSTEM ARCHITECTURE AND APPLICATIONS OF<br />

FINGERPRINT MATCHING<br />

A typical fingerprint verificati<strong>on</strong> process is shown in fig.1<br />

which works in two phases: fingerprint enrollment phase <strong>and</strong><br />

fingerprint matching phase. In the fingerprint enrollment<br />

phase, a sensor captures the fingerprint image from which the<br />

various features of fingerprint image are extracted, processed,<br />

<strong>and</strong> stored as a “master template.” In the fingerprint<br />

identificati<strong>on</strong> phase, the above process repeats, resulting in the<br />

generati<strong>on</strong> of a “live template.” The two templates are<br />

matched to determine a similarity score of the two<br />

fingerprints. Matcher finds the similarity score. Similarity<br />

score can be find out using simple <strong>and</strong> fast Euclidian distance<br />

between the features of two fingerprint image. Decisi<strong>on</strong> is<br />

taken from matching score of two-fingerprint image.<br />

Sensor<br />

Feature<br />

Extracti<strong>on</strong><br />

Reference<br />

Templates<br />

Archive<br />

Enrollment Identificati<strong>on</strong><br />

Sensor<br />

Feature<br />

Extracti<strong>on</strong><br />

Matcher<br />

Decisi<strong>on</strong><br />

Fig. 1 Block Diagram of fingerprint matching system<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 352


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Applicati<strong>on</strong>s: Following are the few applicati<strong>on</strong>s where<br />

fingerprint as a biometric is used for authenticati<strong>on</strong>.<br />

a) Access c<strong>on</strong>troller ,Door lock ,Safes ,ATM<br />

b) Pers<strong>on</strong>al computer/workstati<strong>on</strong> security<br />

c) Network/enterprise security<br />

d) Internet c<strong>on</strong>tent security<br />

e) E-commerce ,Electr<strong>on</strong>ic transacti<strong>on</strong>s<br />

f) Bank <strong>and</strong> financial systems<br />

g) Medical informati<strong>on</strong> systems<br />

h) Any password-based applicati<strong>on</strong><br />

III. VARIOUS FEATURE EXTRACTION TECHNIQUES<br />

Feature extracti<strong>on</strong> plays an important role in fingerprint<br />

matching system to support for efficient <strong>and</strong> fast matching<br />

form large databases. Significant features must first be<br />

extracted from image data. The local <strong>and</strong> global features<br />

called minutiae of fingerprint are defined as<br />

1) Core: The maximum curvature point [2], these can be<br />

at the most two in given fingerprint type [10].<br />

2) Delta: The triangular porti<strong>on</strong> formed due to the flow,<br />

at the most there can be two deltas in given FP type.<br />

3) Minutiae: Ridge ending or Bifurcati<strong>on</strong> is called as<br />

Minutiae. Above-menti<strong>on</strong>ed categories, i.e. Core,<br />

Delta are called as minutiae; a good quality<br />

fingerprint c<strong>on</strong>tains such 60 to 80 points [3].<br />

Advanced features like loops; isl<strong>and</strong>s can be formed by<br />

combinati<strong>on</strong> of all above minutiae. The input fingerprint<br />

may not be good quality (due to noise in the acquisiti<strong>on</strong><br />

system, dirty fingerprint, variati<strong>on</strong>s in pressure applied by<br />

the subject). Before going to matching, the fingerprint is<br />

corrected against these variati<strong>on</strong>s by applying simple<br />

spatial filters are discussed in [6]. The technique of<br />

revisiting at the later stages of the validati<strong>on</strong> stage [22]<br />

providing the gray scale informati<strong>on</strong> for the reexaminati<strong>on</strong><br />

of gray scale profile I the detected minutiae<br />

profile. The elastic distorti<strong>on</strong> problem in the fingerprint<br />

matching may lead to false corresp<strong>on</strong>dence. The<br />

technique of the fingerprint matching with the thin Plate<br />

Spine Modeling is discussed in [5]. This method is used<br />

al<strong>on</strong>g with the minutiae based point pattern-matching<br />

algorithm to minimize the effect of the N<strong>on</strong>-linear<br />

distorti<strong>on</strong>.<br />

Minutiae points such as ridge endings <strong>and</strong> ridge<br />

bifurcati<strong>on</strong> to distinguish two fingerprint images from<br />

different fingers are used in [16] <strong>and</strong> proved it is robust to<br />

n<strong>on</strong>linear deformati<strong>on</strong>. Genuine problem with this method<br />

is how to introduce more ridge informati<strong>on</strong> into the<br />

matching process in a simple way.<br />

Minutiae neither c<strong>on</strong>tain nor c<strong>on</strong>sider the rich<br />

discriminatory informati<strong>on</strong> available in fingerprint. On<br />

the other h<strong>and</strong>, fingerprint can be viewed as Oriented<br />

Texture as described in [3]. This paper describes the<br />

Novel Gabor Filter bank based method for fingerprint<br />

Verificati<strong>on</strong>. Authors claim this method is effective in the<br />

case of the systems where FAR requirement is high. This<br />

method gives feature vector of size 640 bytes, there by<br />

increasing the matching speed. The combinati<strong>on</strong> of the<br />

minutiae based <strong>and</strong> Orientati<strong>on</strong> based methods increases<br />

the reliability of fingerprint matching. This method can be<br />

used to classify the fingerprint images in to five classes<br />

whorl, right loop, left loop, arch, <strong>and</strong> tented arch with<br />

good accuracy by using two stage classifier [1]. The<br />

method however suffers from the difficulty of the center<br />

point locati<strong>on</strong> in case of the Noisy images shown in fig. 2.<br />

This algorithm doesn’t c<strong>on</strong>sider the N<strong>on</strong> linear<br />

deformati<strong>on</strong> due to variati<strong>on</strong>s in pressure while<br />

fingerprinting.<br />

Fig. 2 Example of images, which were rejected because a valid<br />

tessellati<strong>on</strong> could not be established<br />

To extract local <strong>and</strong> global fingerprint informati<strong>on</strong> eight<br />

Gabor filters are used in [1]. Fig. 3 shows filtered images<br />

after c<strong>on</strong>voluti<strong>on</strong> with sixteen Gabor filters which are used to<br />

capture ridge pattern informati<strong>on</strong>, which gives better matching<br />

accuracy [7].<br />

Fig. 3 (a) Filtered Images after c<strong>on</strong>voluti<strong>on</strong> with sixteen Gabor Filters of<br />

orientati<strong>on</strong>s (0, 11.25, 22.5, 33.75, 45, 56.25, 67.5, 78.75, 90, 101.25, 112.5,<br />

123.75, 135, 146.25, 157.5, 168.75 degrees) (b) Corresp<strong>on</strong>ding Feature<br />

vectors of sixteen filtered images<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 353


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fingerprint fricti<strong>on</strong> ridge details are generally described in a<br />

hierarchical order at three different levels, namely, Level 1<br />

(pattern), Level 2 (minutia points), <strong>and</strong> Level 3 (pores <strong>and</strong><br />

ridge c<strong>on</strong>tours). To capture level three features high-resoluti<strong>on</strong><br />

scanner is required because 500 dpi not capable to capture<br />

level three features. By using 1000 dpi scanner Anil K. Jain,,<br />

Yi Chen <strong>and</strong> Meltem Demirkus proposed a high resoluti<strong>on</strong><br />

fingerprint matching using level three features such as pores<br />

<strong>and</strong> ridge counters[8].<br />

Even Gabor filter is used for enhancement in all above<br />

methods, complex 2D Gabor filter is used in [9]. Results of<br />

this algorithm shown that it provides <strong>on</strong>ly marginal<br />

improvements over the real filter through the cost for using the<br />

complex filter are significant. Only a small benefit to be<br />

gained from complex filtering. Transfer functi<strong>on</strong> of even<br />

gabor filter is shown below.<br />

⎧<br />

'2<br />

'2<br />

1 x y<br />

⎫<br />

⎪<br />

⎡<br />

⎤<br />

⎪<br />

G ( x,<br />

y;<br />

f , θ ) = exp ⎨ − ⎢ + ⎥ cos ( 2πfx<br />

' ) (1)<br />

2<br />

2 ⎬<br />

2 ⎢σ<br />

' σ ' ⎥<br />

⎪⎩ ⎣ x<br />

y ⎦ ⎪⎭<br />

x<br />

'<br />

= x sin θ +<br />

y cos θ<br />

'<br />

y = x cos θ − y sin θ<br />

Fast fingerprint verificati<strong>on</strong> can be achieved by localizing the<br />

matching regi<strong>on</strong>s in captured fingerprint images [14]. The<br />

Author claims that accurate fingerprint<br />

matching can be achieved using very small bitmaps, making it<br />

possible to implement very fast fingerprint authenticati<strong>on</strong><br />

systems using the relatively slow embedding processors.<br />

In minutiae based fingerprint matching large number of<br />

spurious pairs are generated which slow downs the matching<br />

process <strong>and</strong> limits the matching efficiency. Spurious pairs can<br />

be minimized using orientati<strong>on</strong>-based ridge patterns to<br />

improve minutiae features [17]. Also it reduces the error<br />

caused by broken ridges by comparing two minutiae<br />

regardless their types. Ridge bifurcati<strong>on</strong> <strong>and</strong> its broken<br />

versi<strong>on</strong>s are shown in fig. 4.<br />

Fig. 4 Original bifurcati<strong>on</strong> (a) <strong>and</strong> the three corresp<strong>on</strong>ding broken versi<strong>on</strong>s (b,<br />

c <strong>and</strong> d)<br />

Minutiae based fingerprint matching algorithm robust to<br />

n<strong>on</strong>linear deformati<strong>on</strong> is discussed in [16]. Genuine problem<br />

with this method is how to introduce more ridge informati<strong>on</strong><br />

into the matching process in a simple way.<br />

Jain, Ross <strong>and</strong> Prabhakar presented [18] a hybrid matching<br />

algorithm that uses both minutiae (point) informati<strong>on</strong> <strong>and</strong><br />

texture (regi<strong>on</strong>) informati<strong>on</strong> for matching the fingerprints <strong>and</strong><br />

proved combinati<strong>on</strong> of the texture-based <strong>and</strong> minutiae-based<br />

matching scores leads to a substantial improvement in the<br />

overall matching performance. To enhance the speed it is<br />

required to implement the c<strong>on</strong>voluti<strong>on</strong> operati<strong>on</strong> via a<br />

dedicated DSP chip.<br />

The dedicate hardware array executing the algorithm is always<br />

said to be faster than that of the software algorithm, [20]<br />

discuss the FPGA based point pattern Minutiae Processor. The<br />

author claims the matching speed by this method will be 2.6<br />

×10 5 fingerprint matches/sec. But the paper didn’t c<strong>on</strong>sider<br />

the communicati<strong>on</strong> latency <strong>and</strong> b<strong>and</strong>width requirements.<br />

The fingerprint classificati<strong>on</strong> is the first step to the matching,<br />

[12] describes the structural Approach to the fingerprint<br />

classificati<strong>on</strong>. The method discussed is based <strong>on</strong> the inexact<br />

Graph Matching. Internally it uses the fuzzy classifier to<br />

accurately classify am<strong>on</strong>gst the classes available.<br />

The registrati<strong>on</strong> of the two-fingerprint c<strong>on</strong>taining noise is<br />

difficult to tackle. N<strong>on</strong>e of the above-menti<strong>on</strong>ed methods<br />

speaks about this problem. In [4] discuss the feature space<br />

correlati<strong>on</strong> alignment/ matching without going for the<br />

complex center point detecti<strong>on</strong> <strong>and</strong> extracti<strong>on</strong> of the minutiae<br />

points. The proposed scheme is inferior to the state of art<br />

Minutiae based matching but Author claims that combinati<strong>on</strong><br />

of the Minutiae <strong>and</strong> correlati<strong>on</strong>-based method performs well.<br />

The binarizati<strong>on</strong> of the image before going for segmentati<strong>on</strong> is<br />

generally followed steps, but automatic detecti<strong>on</strong> of the<br />

minutiae is very complex method, [11] discuss the minutiae<br />

detecti<strong>on</strong> of the minutiae from the ridge following with the<br />

gray scale image. The Author claims for the lesser<br />

computati<strong>on</strong>al complexity as for as the binarizati<strong>on</strong> <strong>and</strong><br />

thinning c<strong>on</strong>cerned. The method can be useful for high<br />

efficiency applicati<strong>on</strong>s like <strong>on</strong>line access c<strong>on</strong>trol <strong>and</strong> low cost<br />

biometrics.<br />

The Matching performance of the Fingerprint can be also<br />

addressed at the feature extracti<strong>on</strong> itself. [15] Discuss the<br />

extracti<strong>on</strong> of different global features from the input<br />

fingerprint, which then can be used as indexing mechanism of<br />

the database al<strong>on</strong>g with classifier.<br />

C<strong>on</strong>tinuing same problem of indexing of database for fast<br />

matcher, [13] gives proprietary of indexing algorithm called<br />

FLASH (Fast Look Up Algorithm for Structural Homology).<br />

It is probabilistic indexing algorithm it is achieved by the table<br />

of indices.<br />

Effective fingerprint matching can be d<strong>on</strong>e using ridge count<br />

matching <strong>and</strong> minutiae subset combinati<strong>on</strong> [19]. Matching<br />

results are improved by using orientati<strong>on</strong> based ridge patterns<br />

<strong>and</strong> counting number of ridges between every two minutiae.<br />

Minutiae points of fingerprint are summarized in following<br />

fig. 5 [8].<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 354


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 5 Minutiae points of fingerprint<br />

IV. CONCLUSION AND FUTURE WORK<br />

Most of the recent efforts in fingerprint matching system<br />

have focused <strong>on</strong> either minutiae points or texture of<br />

fingerprint image. But <strong>on</strong>ly minutiae points or texture<br />

informati<strong>on</strong> of fingerprint image give limited knowledge to<br />

fingerprint system to take correct matching decisi<strong>on</strong>. Due to<br />

this matching efficiency is affected in few percent. Very few<br />

fingerprint-matching algorithms are based <strong>on</strong> both local <strong>and</strong><br />

global informati<strong>on</strong> of fingerprint image. These hybrid<br />

algorithms give better efficiency but it c<strong>on</strong>sumes more time<br />

for matching.<br />

In hybrid algorithms bank of Gabor Filters is used for<br />

fingerprint enhancement. Many current fingerprint matching<br />

techniques uses Gabor based enhancement as compared<br />

other existing enhancement algorithms like wavelet based,<br />

knowledge based, neural network based techniques. All<br />

existing enhancement techniques can not improve the<br />

quality poor images <strong>and</strong> enhancement play a key role in<br />

fingerprint matching system. However most of the current<br />

techniques are suitable for small databases, can not produce<br />

satisfactory results for large databases. So the ways of<br />

improving matching results for large databases are urgently<br />

needed. The final difficulty limiting progress in fingerprint<br />

matching system. Unless there are reliable <strong>and</strong> widely<br />

accepted ways of measuring effectiveness of new technique,<br />

it will be impossible to judge whether they represent any<br />

advancement <strong>on</strong> existing methods.<br />

In this paper, we argue that for a fingerprint matching<br />

system to be successful we need to develop approaches<br />

robust to poor quality images, rotati<strong>on</strong> invariant <strong>and</strong> also<br />

produce good results for huge databases.<br />

REFERENCES<br />

[1] Anil K. Jain,Salil Prabhakar, <strong>and</strong> Lin H<strong>on</strong>g, “Multichannel approach to<br />

fingerprint classificati<strong>on</strong>”, IEEE Transacti<strong>on</strong> <strong>on</strong> Pattern Analysis<br />

<strong>and</strong> Machine Intelligence, Volume 21,No.4, April 1999[p1999].<br />

[ 2 ] A. K. Jain, "Bi om et ri cs", i n The World Book<br />

Encycloped i a<br />

[3] A. K. Jain , Salil Prabhakar, Lin H<strong>on</strong>g, Shath Pankanti, “Filter Bank<br />

Based Fingerprint Matching”, IEEE Transacti<strong>on</strong> <strong>on</strong> Image<br />

processing volume 9 number 5 May 2000.<br />

[4] Arun Ross, James Reinsman, A.K.Jain, “Fingerprint Matching with<br />

Feature Space Correlati<strong>on</strong>”, ECCV Workshop <strong>on</strong> Biometric<br />

Authenticati<strong>on</strong>, LNCS 2359, pp. 48 –57, Denmark, June 2002.<br />

[5] Asker M. Bazen, Sahib H. Gerez, Fingerprint Matching by thin-plate<br />

Spline Modeling of Elastic Deformati<strong>on</strong>, Pattern Recogniti<strong>on</strong><br />

Journal Volume 36, Number 8, August 2003 issue, page (1859-<br />

1867).<br />

[6] B. M. Mehtre Fingerprint Identificati<strong>on</strong>, Wiley Encyclopedia of EEE,<br />

Volume 7 (527-538).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 355


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[ 7 ] Mu h ammad Umer M u n i r <strong>and</strong> Dr. M u h ammad You n u s<br />

Javed , “ Fi n g erp rint M atchin g R i d ge Patt ern s” IEEE<br />

Transacti<strong>on</strong> 0-7803-9421-6/05 2005.<br />

[8] Anil K. Jain, Yi Chen, <strong>and</strong> Meltem Demirkus, “Pores <strong>and</strong> Ridges:<br />

High-Resoluti<strong>on</strong> Fingerprint Matching Using Level 3 Features”,<br />

IEEE Transacti<strong>on</strong> <strong>on</strong> Pattern Analysis <strong>and</strong> Machine Intelligence,<br />

Vol. 29, No. 1, January 2007<br />

[.9] M. Hort<strong>on</strong>, P. Meenen, R. Adhani, P. Cox, “ The Cost <strong>and</strong> Benefits of<br />

2D Complex Gabor Filters in a Filter Based Matching”, IEEE<br />

Transacti<strong>on</strong> 0-7803-7339-1/02 2002<br />

[10] D. Malt<strong>on</strong>i, D. Maio, A.K. Jain, S. Prabahkar, H<strong>and</strong>book of fingerprint<br />

Recogniti<strong>on</strong> Springer, New York, 2003.<br />

[11] Dairo Maio, Davide malt<strong>on</strong>i, “Direct Gary Scale mnitiae Dtecti<strong>on</strong> in<br />

fingerprint, ”, IEEE Transacti<strong>on</strong> <strong>on</strong> Pattern Analysis <strong>and</strong> Machine<br />

Intelligence, Vol 19 January 1997.<br />

[12] Dairo Maio, Davide malt<strong>on</strong>i, “Structural Approach to fingerprint<br />

Classificat<strong>on</strong>”, IEEE Proceeding of ICPR’ 96, Page (578-585).<br />

[13] Gray Taubes New Strategy for matching Game, White paper, IBM<br />

Thomas J. Wats<strong>on</strong> Research center.<br />

[14] K. C. Chan, Y. S. Mo<strong>on</strong>, <strong>and</strong> P. S. Cheng, “Fast Fingerprint<br />

Verificati<strong>on</strong> Using Sub regi<strong>on</strong>s of Fingerprint Images”, IEEE<br />

Transacti<strong>on</strong>s <strong>on</strong> Circuits <strong>and</strong> Systems for Video Technology, Vol.<br />

14, No. 1, January 2004.<br />

[15] Johan de Boer, Asker M. Bazen <strong>and</strong> Sahib H. Gerez, “Indexing<br />

Fingerprint Database <strong>on</strong> multiple Features”, ProRISC 2001<br />

Workshop <strong>on</strong> circuit system <strong>and</strong> signal processing, Veldhoven,<br />

Netherl<strong>and</strong>s, November 2002.<br />

[16] Xiping Luo, Jie Tian <strong>and</strong> Yan Wu, “A Minutia Matching Algorithm in<br />

Fingerprint Verificati<strong>on</strong>”, 0-7695-0750-6/00 IEEE Transacti<strong>on</strong>s<br />

2000.<br />

[17] Lifeng Sha <strong>and</strong> Xiaoou Tang, “Orientati<strong>on</strong>-improved Minutiae for<br />

Fingerprint Matching”, Proceedings of the 17th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Pattern Recogniti<strong>on</strong> (ICPR’04) 1051-4651/04 IEEE.<br />

[18] Ani1 Jain, Arm Ross <strong>and</strong> Salil Prabhakar, “Fingerprint matching using<br />

minutiae <strong>and</strong> texture features”, 0-7803-6725-1/01/2001 IEEE<br />

[19] Lifeng Sha, Feng Zhao, <strong>and</strong> Xiaoou Tang, “Minutiae-based<br />

Fingerprint Matching Using Subset Combinati<strong>on</strong>”, The 18th<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Pattern Recogniti<strong>on</strong> (ICPR'06) 0-7695-<br />

2521-0/06 2006<br />

[20] Ratha N.K., Jain A.K., “FPGA based computing in computer visi<strong>on</strong><br />

computer Architecture for Machine percepti<strong>on</strong>”, 1997. CAMP 97.<br />

Proceedings Fourth IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Workshop <strong>on</strong> , 20-22 Oct.<br />

1997 Pages: 128-137.<br />

[22] Salil Prabhakar, A.K. Jain, Sharath Pankanti, “Learning Fingerprint<br />

Minutiae Locati<strong>on</strong> <strong>and</strong> Type”, Pattern Recogniti<strong>on</strong> Journal Volume<br />

36, Number 8, August 2003 issue, page (1847-1857)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 356


Proceedings of ICCNS 08 , 27-28 September 2008<br />

C<strong>on</strong>sistent Key Generati<strong>on</strong> from Fingerprint<br />

Identifier with Probabilistic approach<br />

dynamically<br />

First A. Pallavi Talega<strong>on</strong>kar, Sec<strong>on</strong>d B. Dr. Aditya Abhyankar, <strong>and</strong> Third C. Prof. Abhijeet Patankar<br />

Abstract— Identificati<strong>on</strong> <strong>and</strong> authenticati<strong>on</strong> of a user is the<br />

basic need of today because of steadily increasing <strong>on</strong>line <strong>and</strong><br />

offline applicati<strong>on</strong>s, like <strong>on</strong>line banking, credit card<br />

authorizati<strong>on</strong> etc. In traditi<strong>on</strong>al cryptosystems, authenticati<strong>on</strong><br />

was d<strong>on</strong>e using passwords, PIN’s or tokens which was<br />

vulnerable to attack easily. Next was use of l<strong>on</strong>g cryptographic<br />

keys which are again not very user friendly <strong>and</strong> can be stolen<br />

or shared. Biometric identifiers make use of physiological or<br />

behavioral traits associated with the pers<strong>on</strong>. They have an edge<br />

over traditi<strong>on</strong>al security methods because they cannot be easily<br />

stolen, forgotten or shared. With the advent of applicati<strong>on</strong>s<br />

requiring transmissi<strong>on</strong> of biometric informati<strong>on</strong> using public<br />

network, for pers<strong>on</strong>al authenticati<strong>on</strong>, it has become necessary<br />

to embed str<strong>on</strong>g security in the system for protecti<strong>on</strong> of<br />

biometric template. Different cryptographic key<br />

binding/generati<strong>on</strong> algorithms have been implemented for<br />

protecti<strong>on</strong> of biometric. But still original biometric template is<br />

required for matching which has privacy <strong>and</strong> security threats.<br />

To overcome drawbacks of previous key binding/ generati<strong>on</strong><br />

techniques this paper presents a new method of generating a<br />

c<strong>on</strong>sistent key from biometric itself dynamically. This<br />

approach is purely probabilistic. For this, biometric<br />

informati<strong>on</strong> can be statistically learned <strong>and</strong> probabilistic<br />

matching will be performed to discriminate genuine from<br />

imposters. This paper deals with generating helper data/ key<br />

from a fingerprint identifier which can be used for encrypti<strong>on</strong><br />

of biometric template, as fingerprint-based identificati<strong>on</strong> is <strong>on</strong>e<br />

of the most mature, less expensive <strong>and</strong> proven technique. Main<br />

objective would be to generate a c<strong>on</strong>sistent key based <strong>on</strong><br />

probabilistic sense dynamically.<br />

Keywords—Biometric Key, Fingerprint Identifier,<br />

Probabilistic matching, Statistical test<br />

A<br />

I. INTRODUCTION<br />

A. Origin of the Research Problem<br />

uthenticati<strong>on</strong> or identificati<strong>on</strong> of a user is important<br />

in many applicati<strong>on</strong>s such as credit card<br />

authorizati<strong>on</strong>, building access c<strong>on</strong>trol <strong>and</strong> bank<br />

ATM access. Passwords, PINs, tokens are traditi<strong>on</strong>al<br />

F. A. Pallavi Talega<strong>on</strong>kar is studying in D.Y. Patil COE, Akurdi,<br />

Pune India (corresp<strong>on</strong>ding author to provide ph<strong>on</strong>e: 91-022-;<br />

e-mail: pallavi.talega<strong>on</strong>kar@ gmail.com).<br />

S. B.Aditya Abhyankar, is with VIIT, K<strong>on</strong>dhava, Pune India. He is<br />

now Head R&D with the Department of IT, Pune University, Pune ,<br />

India (e-mail: aditya1210@gmail.com).<br />

T. C. Abhijeet Patankar is with the <strong>Computer</strong> Engineering<br />

Department, University of Pune, Pune, 411044 India (e-mail:<br />

abhijitpatankarmail@gmail.com).<br />

means of identificati<strong>on</strong> <strong>and</strong> authenticati<strong>on</strong>. Short<br />

Passwords are easy to remember <strong>and</strong> use, but can be<br />

guessed easily. Whereas if they are l<strong>on</strong>g, it will be<br />

difficult to remember them, so they will be stored<br />

somewhere <strong>and</strong> so vulnerable to attack. On the other<br />

h<strong>and</strong>, if we opt to go for cryptographic keys, they also<br />

need to be stored as they are l<strong>on</strong>g <strong>and</strong> secret. Again to<br />

access them <strong>on</strong>e needs authenticati<strong>on</strong> which can be given<br />

through passwords again. So this problem is nothing but<br />

Password System Paradox.<br />

Biometrics can effectively solve this paradox because<br />

they possess ease of passwords as well as complexity of<br />

cryptographic keys. One need not remember the<br />

biometric features as they are inherent <strong>and</strong> give unique<br />

identificati<strong>on</strong>. Biometric identifiers have an edge over<br />

traditi<strong>on</strong>al security methods because they cannot be<br />

easily stolen, shared or forgotten unlike passwords. The<br />

c<strong>on</strong>sequences of an insecure authenticati<strong>on</strong> system in a<br />

corporate or enterprise envir<strong>on</strong>ment can be catastrophic,<br />

<strong>and</strong> may include loss of c<strong>on</strong>fidential informati<strong>on</strong>, denial<br />

of service, <strong>and</strong> compromised data integrity. Fortunately,<br />

automated biometrics in general, <strong>and</strong> fingerprint<br />

technology in particular, can provide a much more<br />

accurate <strong>and</strong> reliable user authenticati<strong>on</strong> method.<br />

Biometric informati<strong>on</strong> is irrevokable <strong>and</strong> hence cannot<br />

be compromised. With the advent of applicati<strong>on</strong>s<br />

requiring transmissi<strong>on</strong> of biometric informati<strong>on</strong> using<br />

public networks, for pers<strong>on</strong>al authenticati<strong>on</strong>, it has<br />

become necessary to embed str<strong>on</strong>g security in the<br />

system. This paper deals with ways to generate helper<br />

data/ keys for biometric template by using biometric<br />

informati<strong>on</strong> itself instead of using cryptographic ’keys’<br />

for security[1,2].<br />

B. Combining Biometrics with Cryptography<br />

A number of researchers have studied the interacti<strong>on</strong><br />

between biometrics <strong>and</strong> cryptography, two potentially<br />

complementary security technologies. Biometrics is<br />

about measuring unique pers<strong>on</strong>al features, such as a<br />

subject’s voice, fingerprint, or iris. It has the potential to<br />

identify individuals with a high degree of assurance,<br />

thus providing a foundati<strong>on</strong> for trust. Cryptography, <strong>on</strong><br />

the other h<strong>and</strong>, c<strong>on</strong>cerns itself with the secure<br />

transmissi<strong>on</strong> of the c<strong>on</strong>fidential informati<strong>on</strong> from sender<br />

to receiver using different encrypti<strong>on</strong> techniques. The<br />

main obstacle to algorithmic combinati<strong>on</strong> is that<br />

biometric data are noisy by nature; <strong>on</strong>ly an approximate<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 357


match can be expected to a stored template.<br />

Cryptography, <strong>on</strong> the other h<strong>and</strong>, requires that keys be<br />

exactly right, or protocols will fail. One bit change will<br />

also affect the performance.<br />

There have been a number of attempts to bridge the gap<br />

between the fuzziness of biometrics <strong>and</strong> the exactitude of<br />

cryptography, by deriving biometric keys from key<br />

stroke patterns [2], the human voice, h<strong>and</strong>written<br />

signatures, fingerprints, <strong>and</strong> facial characteristics.<br />

However, so far, these attempts have suffered from an<br />

excessive False Rejecti<strong>on</strong> Rate (FRR) – usually over<br />

20%, which is unacceptable for practical applicati<strong>on</strong>s.<br />

Sec<strong>on</strong>d, many proposals have failed to c<strong>on</strong>sider security<br />

engineering aspects, of which the most severe are the<br />

irrevocability of biometrics <strong>and</strong> their low level of secrecy<br />

[2,5]. The following issues are investigated to design<br />

robust biometric encrypti<strong>on</strong> scheme:<br />

– Design of a model to evaluate the performance in terms<br />

of ease of use, computati<strong>on</strong>al complexity, reliability,<br />

c<strong>on</strong>sistency <strong>and</strong> user’s privacy<br />

– Improve up<strong>on</strong> statistical measures for biometric<br />

representati<strong>on</strong> <strong>and</strong> design a fuzzy matcher to enhance the<br />

performance of the security system<br />

In this framework attacks are possible at two levels,<br />

namely communicati<strong>on</strong> level <strong>and</strong> database level. Also,<br />

the nature of these attacks is twofold. First stolen<br />

informati<strong>on</strong> can be used for authenticati<strong>on</strong> resulting in a<br />

security breach. '<strong>Security</strong>'threat here is referred to as<br />

threat to the applicati<strong>on</strong> (<strong>on</strong>line banking) <strong>and</strong> not the<br />

user. Sec<strong>on</strong>d, the original biometric may be regenerated<br />

from the stolen informati<strong>on</strong> resulting in a privacy threat.<br />

Classifying the vulnerability as `privacy-related' or<br />

`security'gives a method of separating the two threats<br />

<strong>and</strong> thus better assess the vulnerabilities[1]. This paper<br />

makes effort in the same directi<strong>on</strong> i.e. how a biometric<br />

key can be useful for protecti<strong>on</strong> of biometric itself. The<br />

biometric template chosen is the fingerprint identifier<br />

which is the most proven, less expensive <strong>and</strong> mature<br />

modality in biometrics. The fingerprint template of a user<br />

will be used to generate keys based <strong>on</strong> probabilistic<br />

matching i.e. in parametric sense. So main objective of<br />

this project would be to generate keys from fingerprint<br />

identifier which will be c<strong>on</strong>sistent (probabilistic sense)<br />

<strong>and</strong> will pass the stochasticity test.<br />

II. OVERVIEW OF RELATED WORK<br />

As biometric systems are an integral part of a security<br />

system, its vulnerability must be assessed. Furthermore,<br />

biometrics has an additi<strong>on</strong>al requirement to c<strong>on</strong>sider<br />

because the biometric informati<strong>on</strong> itself reveals private,<br />

pers<strong>on</strong>al details about the pers<strong>on</strong>’s physiologic or<br />

behavioral characteristics. Thus, biometric informati<strong>on</strong><br />

must not be leaked because of security <strong>and</strong> privacy<br />

c<strong>on</strong>cerns.<br />

each sessi<strong>on</strong>, i.e. dynamic, to prevent replay attacks.<br />

Existing soluti<strong>on</strong>s use key-based encrypti<strong>on</strong>, timestamp<br />

based schemes, data hiding schemes , or a modified<br />

challenge-resp<strong>on</strong>se mechanism [1,2]. St<strong>and</strong>ard<br />

encrypti<strong>on</strong> can provide the c<strong>on</strong>fidentiality <strong>and</strong> integrity<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. Use of Cryptographic keys :<br />

In all previous approaches of biometric encrypti<strong>on</strong> a PIN<br />

or cryptographic key was securely bound to a biometric<br />

<strong>and</strong> key would be retrieved <strong>on</strong> successful acquisiti<strong>on</strong> of<br />

the biometric template. Key is completely independent of<br />

biometric. Drawbacks of this technique are as follows<br />

1) it requires access to biometric templates for biometric<br />

matching <strong>and</strong><br />

2) user authenticati<strong>on</strong> <strong>and</strong> key release are completely<br />

decoupled.<br />

Because the system stores biometric template locally, the<br />

design raises c<strong>on</strong>cerns about the theft of biometric data.<br />

Another approach was to get <strong>on</strong>e-way transform which is<br />

irrevertible from biometric template <strong>and</strong> store it in the<br />

database for matching instead of actual biometric<br />

template.<br />

B. Resent Developments<br />

Previous work has shown that it is possible to perform :<br />

(1) replay attacks, i.e. resubmit a stolen template to the<br />

system to achieve authenticati<strong>on</strong>[1],<br />

(2) hill climbing attacks, i.e. with knowledge of the<br />

algorithm iteratively guess the template to improve the<br />

match score until a match is achieved , <strong>and</strong><br />

(3) rec<strong>on</strong>struct the original biometric from a stolen<br />

template.<br />

Research has begun to address these issues with the goal<br />

to achieve ”Cancelable”, ”privacy protecting”, <strong>and</strong><br />

”dynamic” biometric systems[1,5]. First, cancelable<br />

means numerous biometric templates can be generated<br />

from a single biometric <strong>and</strong> privacy protecting implies<br />

that the generated biometric passwords leak <strong>on</strong>ly<br />

negligible amount of informati<strong>on</strong>, if any, about the<br />

original template. Main principle to achieve this in<br />

existing systems is to perform a <strong>on</strong>e-way transformati<strong>on</strong><br />

of the templates. Recent results indicate that it is feasible<br />

to create cancelable (revocable) templates. For example,<br />

N. Ratha [6] proposed r<strong>and</strong>omized facial image<br />

distorti<strong>on</strong>s as the basis for template generati<strong>on</strong>. Other<br />

methods use error-correcti<strong>on</strong> codes to derive a secret<br />

from the biometric features <strong>and</strong> use self-generated data<br />

(i.e. biometric features) to perform the <strong>on</strong>e-way<br />

transformati<strong>on</strong>, termed biometric cryptosystems [1,2].<br />

Many of these systems require pre-alignment of the<br />

biometric templates before the <strong>on</strong>e-way transformati<strong>on</strong>,<br />

which is difficult to achieve in practice. Acquisiti<strong>on</strong><br />

noise in the biometric also poses a challenge to the<br />

design of a robust transformati<strong>on</strong>. Errors in the extracted<br />

biometric features due to the acquisiti<strong>on</strong> noise remain to<br />

be modeled.<br />

Sec<strong>on</strong>d, it is required that the data sent <strong>on</strong><br />

communicati<strong>on</strong> channel from template generator<br />

(client/encoder) to the matcher (server/decoder) assures<br />

the freshness of the template used for authenticati<strong>on</strong> for<br />

to the data, but do not ensure freshness of data.<br />

Encrypti<strong>on</strong> can ensure freshness by changing the key for<br />

every sessi<strong>on</strong>, but this does not guarantee the freshness<br />

of template generati<strong>on</strong>. Inclusi<strong>on</strong> of timestamps <strong>and</strong> <strong>on</strong>etime<br />

transformati<strong>on</strong>s. requires synchr<strong>on</strong>izati<strong>on</strong> of the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 358


clocks. One-time biometrics [1] is a recent proposal that<br />

attempts to combine both c<strong>on</strong>cepts of cancelable<br />

biometrics. Biometric authenticati<strong>on</strong> system using selfgenerated<br />

helper data/key has been implemented for Iris<br />

template. The system was tested using CASIA iris<br />

database.<br />

III. SYSTEM DESCRIPTION FOR KEY GENERATION FROM<br />

FINGERPRINT<br />

Fortunately, automated biometrics can provide the<br />

security advantages of l<strong>on</strong>g passwords while retaining<br />

the speed <strong>and</strong> characteristic simplicity of short passwords<br />

in authenticati<strong>on</strong> systems. Next step is to protect<br />

biometric data using biometric encrypti<strong>on</strong>, for which we<br />

have adopted the new method of generating a c<strong>on</strong>sistent<br />

key from fingerprint template dynamically. As the key is<br />

self-generated, so no need to remember or store the key<br />

or password.<br />

The current focus is to generate helper data/key from the<br />

fingerprint identifier <strong>and</strong> making it suitable to work in<br />

the encrypti<strong>on</strong> scheme with probabilistic matching.<br />

A Methodology<br />

Following is the block diagram of methodology used for<br />

key generati<strong>on</strong> from fingerprint image taken from the<br />

FVC 2004 database for testing purpose.<br />

Step 1 : Select the fingerprint image<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Right now the images will be selected which are<br />

available in the database. The fingerprint image database<br />

is downloaded from (Fingerprint Verificati<strong>on</strong> C<strong>on</strong>test)<br />

FVC 2004 which is a st<strong>and</strong>ard database of fingerprint<br />

images having 8 different images per fingerprint. At a<br />

time single fingerprint image is selected to generate its<br />

key representati<strong>on</strong>. We are h<strong>and</strong>ling all grayscale images,<br />

if it is colored image then it is c<strong>on</strong>verted into grayscale.<br />

Step 2 : Enhance the fingerprint Image<br />

A fingerprint is the pattern of ridges <strong>and</strong> valleys <strong>on</strong> the<br />

surface of a fingertip. Each individual has unique<br />

fingerprint. Uniqueness is exclusively determined by the<br />

local ridge characteristics <strong>and</strong> their relati<strong>on</strong>ships. The<br />

two most comm<strong>on</strong> ridge characteristics, called minutiae,<br />

are 1) ridge ending <strong>and</strong> 2) ridge bifurcati<strong>on</strong>.<br />

In an ideal fingerprint image, ridges <strong>and</strong> valleys alternate<br />

<strong>and</strong> flow in a locally c<strong>on</strong>stant directi<strong>on</strong> <strong>and</strong> minutiae are<br />

anomalies of ridges. Many a times acquired fingerprint<br />

images are of poor quality in which ridge structures are<br />

not well-defined. An enhancement algorithm can<br />

improve the clarity of the ridge structures in fingerprint<br />

image. Various visual clues, like ridge orientati<strong>on</strong>, ridge<br />

c<strong>on</strong>tinuity etc. are obtained to correctly identify the<br />

fingerprint by fingerprint experts.<br />

The goal of an enhancement algorithm is to improve the<br />

clarity of ridge structures of fingerprint images in<br />

recoverable regi<strong>on</strong>s <strong>and</strong> to remove unrecoverable regi<strong>on</strong>.<br />

Refer fig. 5 in [3].<br />

Fig. 1. Key Generati<strong>on</strong> Process<br />

Fig. 2. ( a) Original fingerprint image, (b) Core point <strong>on</strong> fingerprint, (c) ROI, (d)Feature Extracti<strong>on</strong> using Gabor filter in 6 directi<strong>on</strong>s<br />

e) resp<strong>on</strong>ses obtained from Gabor filter in 6 directi<strong>on</strong>s<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 359


Steps used are – 1) Normalizati<strong>on</strong>, 2) Orientati<strong>on</strong> Image<br />

estimati<strong>on</strong>, 3) Frequency Image Estimati<strong>on</strong>, 4)Regi<strong>on</strong><br />

Mask Generati<strong>on</strong> <strong>and</strong> 5) Filtering .<br />

Step 3 :Obtain reference point <strong>and</strong> Regi<strong>on</strong> of Interest<br />

Core point of a fingerprint is a reference point which<br />

gives us unique traits of the fingerprint. Regi<strong>on</strong> of<br />

Interest is the regi<strong>on</strong> of specific radius centered at<br />

reference point from which the characteristic invariant<br />

features can be extracted for smaller key size.<br />

Following parameters will be stored for each image to<br />

store the core point-<br />

(x, y) : Coordinate values of Core point for a fingerprint<br />

θ : Orientati<strong>on</strong> at reference point<br />

In order that a reference point algorithm gracefully<br />

h<strong>and</strong>le local noise in a poor quality fingerprint, the<br />

detecti<strong>on</strong> should necessarily c<strong>on</strong>sider a large<br />

neighborhood in the fingerprint. To meet these<br />

c<strong>on</strong>flicting requirements of an accurate <strong>and</strong> reliable<br />

localizati<strong>on</strong>, a new method of reference point<br />

determinati<strong>on</strong> based <strong>on</strong> multiple resoluti<strong>on</strong> analysis of<br />

the orientati<strong>on</strong> fields as discussed in [4] has been used.<br />

This method locates the reference point more precisely<br />

than the algorithm proposed in [3].<br />

Tessellate image into regi<strong>on</strong> of Interest for a fingerprint-<br />

For simplicity the ROI is taken as a rectangle around<br />

the core point in a fingerprint. Core point of a fingerprint<br />

is a reference point which gives us unique<br />

traits of the fingerprint. Regi<strong>on</strong> of Interest is the regi<strong>on</strong><br />

of specific radius centered at reference point<br />

(a)<br />

(b)<br />

Fig. 3: (a) Reference point (+), (b) Regi<strong>on</strong> Of Interest<br />

, so that we can reduce the size of key to extract this<br />

invariant features.<br />

Step 4 : Feature extracti<strong>on</strong> from ROI using Gabor<br />

filter- Features will be extracted with the help of Gabor<br />

filter.<br />

I – Regi<strong>on</strong> of Interest, Sx & Sy : Variances al<strong>on</strong>g x <strong>and</strong><br />

y-axes respectively, f : The frequency of the sinusoidal<br />

functi<strong>on</strong>, <strong>and</strong> θ : The orientati<strong>on</strong> of Gabor filter<br />

Gabor Filter - The Gabor filter is basically a Gaussian<br />

(with variances sx <strong>and</strong> sy al<strong>on</strong>g x <strong>and</strong> y-axes<br />

respectively) modulated by a complex sinusoid (with<br />

centre frequencies U <strong>and</strong> V al<strong>on</strong>g x <strong>and</strong> y-axes<br />

respectively). Gabor filterbanks are a well-known<br />

technique to capture useful informati<strong>on</strong> in specific<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

b<strong>and</strong>pass channels as well as to decompose this<br />

informati<strong>on</strong> into biorthog<strong>on</strong>al comp<strong>on</strong>ents in terms of<br />

spatial frequencies. As this filtering is based <strong>on</strong><br />

parameters, like variance, directi<strong>on</strong>(θ), <strong>and</strong> frequency of<br />

sinusoidal functi<strong>on</strong>, the parametric matching will be<br />

d<strong>on</strong>e in probabilistic sense for the key generated.<br />

Even symmetric Gabor filter can be described by the<br />

following equati<strong>on</strong> –<br />

(1)<br />

where f is the frequency of the sinusoidal plane wave<br />

al<strong>on</strong>g the directi<strong>on</strong> θ from the X -axis, <strong>and</strong> dx’, dy’are<br />

the space c<strong>on</strong>stants of the Gaussian envelope al<strong>on</strong>g x’<br />

<strong>and</strong> y’ axes, respectively[4].<br />

Step 5 : Quantizati<strong>on</strong> of resp<strong>on</strong>se to binary<br />

representati<strong>on</strong>.<br />

The output of the Gabor filter is the resp<strong>on</strong>se obtained<br />

in 6 directi<strong>on</strong>s (θ = 0 to 5pi/6 in steps of pi/6). All the<br />

resp<strong>on</strong>ses are collected together into a double matrix<br />

(6*441) whereas resp<strong>on</strong>se in single directi<strong>on</strong> gives the<br />

matrix of size 21by21 double. This whole matrix is<br />

c<strong>on</strong>verted to unsigned integer where we apply a <strong>on</strong>e way<br />

transformati<strong>on</strong>. So it is difficult to get original details<br />

back. Finally this integer matrix is c<strong>on</strong>verted to<br />

equivalent binary form <strong>and</strong> stored into a text file which<br />

is given as input to the testing suite.<br />

Step 6 : Statistical testing for c<strong>on</strong>sistency based <strong>on</strong><br />

probabilistic matching<br />

This is the last stage where key pattern generated in<br />

previous stage will be tested by NIST STS testing tool.<br />

This testing will be d<strong>on</strong>e based <strong>on</strong> probabilistic<br />

parametric sense. Total 5 parametric tests have been<br />

used to test the key in binary form. Following are the<br />

details of different tests applied.<br />

Step 7 : Comparis<strong>on</strong> with reference model<br />

In this the output of the testing is the P-value which<br />

gives the status as accept or reject the sequence(key) <strong>and</strong><br />

according to the feedback obtained from last stage i.e.<br />

+/- the parameters used for filtering <strong>and</strong> size of filter<br />

mask will be changed <strong>and</strong> repeat the process.<br />

B NIST Statistical Test Suite<br />

In this project we are developing a key generator from<br />

a biometric which should meet the requirements of<br />

cryptographic generator, so that it will be suitable for<br />

encrypti<strong>on</strong> of biometric. In particular, their output of<br />

generator must be unpredictable in the absence of<br />

knowledge of the inputs. Some criteria for characterizing<br />

<strong>and</strong> selecting appropriate generators based <strong>on</strong> parametric<br />

<strong>and</strong> n<strong>on</strong>-parametric sense is available through NIST<br />

STS.<br />

Some recommended statistical tests are provided in<br />

this test suite. These tests may be useful as a first step in<br />

determining whether or not a generator is suitable for a<br />

particular cryptographic applicati<strong>on</strong>. However, no set of<br />

statistical tests can absolutely certify a<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 360


generator as appropriate for usage in a particular<br />

applicati<strong>on</strong>, i.e., statistical testing cannot serve as a<br />

substitute for cryptanalysis. [7].<br />

Following parametric tests are applied :<br />

1. Approximate Enrtopy : Sequences with large<br />

approximate entropy must have substantial fluctuati<strong>on</strong> or<br />

irregularity. Alternatively, small values of this<br />

characteristic imply str<strong>on</strong>g regularity, or lack of<br />

r<strong>and</strong>omness, in a sequence.<br />

2. Block Frequency test : The test is based <strong>on</strong> the<br />

proporti<strong>on</strong> of zeroes <strong>and</strong> <strong>on</strong>es. Specifically, it tests the<br />

closeness of the proporti<strong>on</strong> of <strong>on</strong>es to 0.5. The<br />

frequency within a block test is a refinement that tests<br />

the proporti<strong>on</strong> of <strong>on</strong>es within M-value blocks.<br />

3. Overlapping Templates<br />

4. Serial Test<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

5. Linear Complexity test : Given a r<strong>and</strong>om binary<br />

seed, subsequent bits are generated using X-OR<br />

operator.<br />

Testing procedure: The key generated in previous step<br />

in binary form into text file is given as input to this test<br />

suite. Input mode selected is Hex digits in binary format<br />

<strong>and</strong> regenerate mode. This text file is treated as m binary<br />

sequences each of length n, where m <strong>and</strong> n values <strong>and</strong><br />

block length vary for each test.<br />

For each statistical test evaluates the sequence <strong>and</strong><br />

returns the set of P-values as output. P-values are<br />

probabilistic values which lie in the unit interval of[0,1].<br />

A sequence passes a statistical test whenever the P-value<br />

>= significance level( ). Few tests have been carried<br />

out <strong>and</strong> giving expected results.<br />

Fig 4 (a)1_3.tif original fingerprint, (b) Image with Core Point of fingerprint, (c) Regi<strong>on</strong> of Interest, (d) Gabor Filter resp<strong>on</strong>se in θ=0, pi/6, pi/3,<br />

pi/2, 2pi/3 & 5pi/6<br />

Fig. 5 (a).1_2.tif original fingerprint, (b) Image with Core Point of fingerprint, (c) Regi<strong>on</strong> of Interest, (d) Gabor Filter resp<strong>on</strong>se in θ=0, pi/6, pi/3,<br />

pi/2, 2pi/3 & 5pi/6<br />

IV. RESULTS<br />

The key generati<strong>on</strong> procedure was tested with<br />

FVC 2004 database. This database has total 8 images<br />

for each fingerprint of different quality. Here are the<br />

results of keys obtained from fingerprints of different<br />

quality starting from highest to lowest.<br />

As shown above Fig. 4 <strong>and</strong> Fig. 5 show four stages<br />

of key generati<strong>on</strong> for fingerprints of same finger.<br />

The core point is detected accurately as each image is<br />

enhanced before core point detecti<strong>on</strong>. Fig. 6 gives the<br />

resp<strong>on</strong>ses obtained for another fingerprint.<br />

The filter output obtained as shown above is<br />

c<strong>on</strong>verted to a text file having binary versi<strong>on</strong> of filter<br />

resp<strong>on</strong>se. This text file is given as input to NIST Statistical<br />

Test Suite to check this output(key pattern) in parametric<br />

sense.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 361


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE I<br />

P-VALUE OBTAINED FOR EACH PARAMETRIC TEST<br />

Sr. Parametric P-value C<strong>on</strong>clusi<strong>on</strong><br />

No. Test applied<br />

1. Approximate<br />

Entropy Test<br />

2. N<strong>on</strong>-periodic<br />

Templates Test<br />

3. Overlapping<br />

Templates Test<br />

4. Linear<br />

Complexity<br />

Test<br />

1.0000 for<br />

all the<br />

sequences<br />

generated<br />

Total 148<br />

data sets<br />

generated<br />

with p-value<br />

= 1.0000<br />

1.0000 for<br />

all the<br />

sequences<br />

generated<br />

1.0000 for<br />

all the<br />

sequences<br />

generated<br />

V. CONCLUSION<br />

Successfully<br />

passed test<br />

for<br />

r<strong>and</strong>omness<br />

Traditi<strong>on</strong>al knowledge-based password or Pers<strong>on</strong>al<br />

Identificati<strong>on</strong> number(PIN) <strong>and</strong> token-based<br />

identificati<strong>on</strong>s are pr<strong>on</strong>e to fraud because PIN’s may be<br />

forgotten or guessed by an imposter <strong>and</strong> the tokens may<br />

be lost or stolen. Biometrics which refers to identifying<br />

an individual based <strong>on</strong> his/her physiological or<br />

behavioral characteristics has the capability to reliably<br />

distinguish between an authorized pers<strong>on</strong> <strong>and</strong> an<br />

imposter. Am<strong>on</strong>g all the biometrics ( e.g. face,<br />

fingerprint, h<strong>and</strong> geometry, iris, retina, signature, voice<br />

print, ear etc.) fingerprint- based identificati<strong>on</strong> is <strong>on</strong>e of<br />

the most mature <strong>and</strong> proven technique. The project<br />

presents a new method for generating a c<strong>on</strong>sistent key<br />

dynamically from biometric identifier (fingerprint ) using<br />

stored statistical representati<strong>on</strong>s of the biometric. Key<br />

generated is being tested for Fingerprint database with<br />

probabilistic matching <strong>and</strong> statistical learning using<br />

NIST Statistical Test Suite.<br />

The advantages of this new method of key generati<strong>on</strong><br />

can thus be summarized as :<br />

1) Automatic key generati<strong>on</strong> without user interventi<strong>on</strong><br />

i.e. user need not remember any key or password, so it is<br />

user-friendly.<br />

2) Stored informati<strong>on</strong> in the database cannot be used to<br />

authenticate or obtain original biometric signal.<br />

3) We can hypothesize that matcher does not give<br />

informati<strong>on</strong> helpful in hill climbing attack.<br />

4) Generated representati<strong>on</strong>s are `dynamic', so we can<br />

hypothesize that it will prevent replay attacks.<br />

Keys generated are tested for r<strong>and</strong>omness, unique<br />

reproducibility <strong>and</strong> acceptance criteria decided. It can be<br />

used in other approaches like, Cancelable biometrics,<br />

biometric cryptosystems <strong>and</strong> <strong>on</strong>e time biometrics etc.<br />

Key generati<strong>on</strong> process is over <strong>and</strong> testing for<br />

c<strong>on</strong>sistency with different parametric tests is in progress.<br />

Results of testing for intra-class(2 images of same<br />

fingerprint) <strong>and</strong> inter-class(2 images of different<br />

fingerprints) will be analyzed for matching.<br />

REFERENCES<br />

[1] Encrypti<strong>on</strong> of Biometric Templates using Self-generated<br />

<strong>and</strong> Dynamic Helper Data by Dr. Aditya Abhyankar, Amith<br />

Vijayat, Sunil Kumar <strong>and</strong> Stephanie Schuckers - American<br />

st<strong>and</strong>ard journal central, ID #5432109, Feb 2007, pg no 405-<br />

437.<br />

[2] Biometric Encrypti<strong>on</strong> – A white paper by Alex Stoianov,<br />

Ph.D. Biometrics Scientist in March 2007.<br />

[3] Fingerprint Image enhancement : algorithm <strong>and</strong><br />

performance evaluati<strong>on</strong> – Lin H<strong>on</strong>g, Yifei Wan <strong>and</strong> Anil Jain,<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> Pattern analysis <strong>and</strong> machine<br />

intelligence.<br />

[4] Anil K. Jain, Fellow, IEEE, Salil Prabhakar, Lin H<strong>on</strong>g, <strong>and</strong><br />

Sharath Pankanti Filterbank-based Fingercode generati<strong>on</strong><br />

IEEE transacti<strong>on</strong>s <strong>on</strong> image processing, vol. 9, no. 5, May<br />

2000.<br />

[5] Combining Cryptography with biometrics effectively -<br />

Feng Hao, Ross Anders<strong>on</strong>, John Daugman in Technical Report<br />

of University of Cambridge, <strong>Computer</strong> department.<br />

[6] N. Ratha. Enhancing security <strong>and</strong> privacy in biometricsbased<br />

authenticati<strong>on</strong> systems. IBM systems journal,<br />

40:614{6134, 2001}.<br />

[7] Umut Uludag, Sharath Pankanti, Salil Prabhakar, Anil K.<br />

Jain Biometric Cryptosystems: Issues <strong>and</strong> Challenges-,<br />

Proceedings of IEEE, Vol. 92, No. 6, June 2004.<br />

[8] A Statistical Test Suite For R<strong>and</strong>om And Pseudor<strong>and</strong>om<br />

Number Generators For<br />

Cryptographic Applicati<strong>on</strong>s NIST Special Publicati<strong>on</strong> 800-22<br />

(with revisi<strong>on</strong>s dated May 15, 2001)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 362


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Multimodal Biometric system using shape <strong>and</strong> texture based Comp<strong>on</strong>ents.<br />

1st A: Mr.Deshmukh Sudarshan S, 2nd B: Prof.Thakore Devendra, 3rd C:Wathap Sapankumar Rajkumar<br />

A: Lecturer, Army Institute Of Technology, Dighi Hills, Pune University, Pune.India,<br />

B: Asst.Professor,B.V.D.U.C.O.E. ,Pune. India.<br />

C:Associate System Engg. IBM India Pvt. Ltd, M.E.(CSE-IT)Pune University, Pune.India<br />

sapan_wathap@yahoo.co.in<br />

Abstract:<br />

In this paper we propose a multimodal biometric<br />

system, which combines shape with texture. The<br />

main problem of the existing system, especially those<br />

that include texture features such as palm print, is the<br />

processing time c<strong>on</strong>sumed by the feature extracti<strong>on</strong><br />

step is very large which is not suitable for real-time<br />

applicati<strong>on</strong>s. A practical use system requires resp<strong>on</strong>se<br />

faster than <strong>on</strong>e sec<strong>on</strong>d or so. In this paper, we<br />

propose a multimodal system based <strong>on</strong> shape <strong>and</strong><br />

texture comp<strong>on</strong>ents of any image comp<strong>on</strong>ents that<br />

enhance the performance of the system <strong>and</strong> overcome<br />

the above menti<strong>on</strong>ed drawbacks. Also proposed<br />

system utilizes the shape <strong>and</strong> texture features which<br />

c<strong>on</strong>tain about 85% of image features, so extracti<strong>on</strong><br />

data is tremendously reduced without any effect <strong>on</strong><br />

matching criteria of the system. The proposed system<br />

identifies a pers<strong>on</strong> in less than a sec<strong>on</strong>d, so it is<br />

appropriate for real time applicati<strong>on</strong>s.<br />

I. Introducti<strong>on</strong>:<br />

Numerous applicati<strong>on</strong>s for pers<strong>on</strong>al identificati<strong>on</strong><br />

exist <strong>and</strong> more are emerging daily. Biometric identity<br />

verificati<strong>on</strong> is attracting a lot of people’s attenti<strong>on</strong>,<br />

because biometric traits are inherent to the pers<strong>on</strong>,<br />

which cannot be lost, stolen, shared, or forgotten [1].<br />

As a result, the area of biometrics will c<strong>on</strong>tinue to be<br />

an area of interest for many researchers [5].<br />

Unimodal biometric systems are usually affected by<br />

problems including noisy sensor data, n<strong>on</strong><br />

universality <strong>and</strong> lack of individuality of the chosen<br />

biometric trait, absence of an invariant representati<strong>on</strong><br />

for the biometric trait <strong>and</strong> susceptibility to<br />

circumventi<strong>on</strong> [2, 3]. Some of these problems can be<br />

relieved by using multimodal biometric systems,<br />

which c<strong>on</strong>solidate evidence from multiple biometric<br />

sources [4]<br />

It is generally accepted that ideally a<br />

biometric should satisfy the four criteria of<br />

universality, uniqueness, permanence, <strong>and</strong> collect<br />

ability [6].The choice of biometric identifiers has a<br />

major impact <strong>on</strong> the performance of the system.<br />

Some of the major biometric identifiers in use today<br />

are fingerprint [1, pp.43-64], h<strong>and</strong> geometry [8], iris<br />

[1, pp. 103-121], <strong>and</strong> face [1, pp. 65-86].The human<br />

h<strong>and</strong> provides the source for a number of<br />

physiological biometric features. The idea of using<br />

h<strong>and</strong> features as a means of pers<strong>on</strong>al identificati<strong>on</strong> is<br />

not new. This approach was proposed as early as the<br />

1970s [15].The features are extracted from h<strong>and</strong><br />

geometry, h<strong>and</strong> c<strong>on</strong>tour, h<strong>and</strong> palm, h<strong>and</strong> pressure<br />

profile, etc. H<strong>and</strong> geometric systems use an optical<br />

camera to capture two orthog<strong>on</strong>al two dimensi<strong>on</strong>al<br />

images of the palm <strong>and</strong> sides of the h<strong>and</strong>, offering a<br />

balance of reliability <strong>and</strong> relative ease of use. They<br />

typically collect more than 90 dimensi<strong>on</strong>al<br />

measurements, including finger width, height, <strong>and</strong><br />

length; distances between joints; <strong>and</strong> knuckle shapes<br />

[16]. H<strong>and</strong> geometry readers can functi<strong>on</strong> in extreme<br />

temperatures <strong>and</strong> are not impacted by dirty h<strong>and</strong>s (as<br />

fingerprint sensors can be) or dusty envir<strong>on</strong>ment.<br />

They are comm<strong>on</strong>ly used for access c<strong>on</strong>trol to<br />

facilities, time clocks, or c<strong>on</strong>trolled areas. The large<br />

size of the current h<strong>and</strong> geometry readers restricts<br />

their use in widespread applicati<strong>on</strong>s such as those<br />

requiring small user interfaces (e.g., home computer<br />

user, keyboard). H<strong>and</strong>-geometry readers could be<br />

appropriate where users access the system<br />

infrequently <strong>and</strong> are perhaps less disciplined in their<br />

approach to the system. A number of commercial<br />

systems which make use of these features are<br />

currently available <strong>and</strong> used in numerous applicati<strong>on</strong>s<br />

[17]. The five pairs of fingers to be compared are<br />

extracted from the c<strong>on</strong>tours <strong>and</strong> aligned separately.<br />

The Mean Alignment Error between two sets of<br />

c<strong>on</strong>tours is used to quantify the match quality. H<strong>and</strong><br />

palm based authenticati<strong>on</strong> systems have also been<br />

proposed [18]. The system acquires the h<strong>and</strong> palm<br />

image, uses the binarized image to select <strong>and</strong><br />

normalize the h<strong>and</strong> palm regi<strong>on</strong> of interest which is<br />

measured as a texture, <strong>and</strong> a Support Vector Machine<br />

is used as verifier. The combinati<strong>on</strong> of the h<strong>and</strong> palm<br />

measurements with geometric <strong>on</strong>es provides a<br />

significant improvement in the verificati<strong>on</strong> rate.<br />

II. Feature statistics of finger print, h<strong>and</strong><br />

geometry, <strong>and</strong> palm print:<br />

Quality of a image is a kay of matcher performance<br />

before a matcher algorithm. The matcher will<br />

perform not well for poor quality image [11].Two<br />

new quality indices for fingerprint images based <strong>on</strong><br />

energy c<strong>on</strong>centrati<strong>on</strong> in the frequency domain as a<br />

global feature <strong>and</strong> spatial coherence in local regi<strong>on</strong>s<br />

[12], some other researchers also addressed the<br />

importance of fingerprint image quality in AFIS<br />

[13,14]. Palm-print <strong>and</strong> fingerprint are texture<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 363


Proceedings of ICCNS 08 , 27-28 September 2008<br />

features, they are inherent possibility characters.<br />

Therefore, we extended the fingerprint image quality<br />

estimati<strong>on</strong> to palm-pint. WSQ method is employed<br />

for us to estimate the fingerprint <strong>and</strong> palm-print<br />

quality, <strong>and</strong> then we can check the biometric image<br />

quality to make a decisi<strong>on</strong> whether the given image is<br />

suit for the latter subsequent processing or select <strong>on</strong>e<br />

from multimodal biometric database. Based <strong>on</strong> the<br />

following main requirements that biometric identifier<br />

to recognize a pers<strong>on</strong> should satisfy i.<br />

e.(1)Universality ,(3) Distinctiveness (2),<br />

Performance (4), Acceptability, it is shown that<br />

fingerprint <strong>and</strong> H<strong>and</strong> Geometry have a very good<br />

balance of all desirable properties (Table-1).<br />

Biometric Identifier (1) (2) (3) (4)<br />

H<strong>and</strong><br />

Geometry(Shape)<br />

M H M H<br />

Palm (Texture) H M H H<br />

Fingerprint M M H H<br />

Face H H L L<br />

Voice M M L L<br />

Table-1: Biometric identifiers properties<br />

III. H<strong>and</strong> shape modeling by active shape<br />

modeling:<br />

A active shape model is defined to fix the two major<br />

difficulties in active shape model [10]. Its problems<br />

are the c<strong>on</strong>tour initializati<strong>on</strong> which must be close to<br />

the real form <strong>and</strong> the model c<strong>on</strong>vergence in detecti<strong>on</strong><br />

phase. Classically, the form to detect is defined by a<br />

set of points: the l<strong>and</strong>marks. In training phase, the<br />

average form <strong>and</strong> the c<strong>on</strong>tour variati<strong>on</strong>s are<br />

computed by Principal Comp<strong>on</strong>ents Analysis <strong>on</strong> an<br />

annotated h<strong>and</strong>s database by these l<strong>and</strong>marks. In<br />

segmentati<strong>on</strong> phase, the c<strong>on</strong>tour is initialized by the<br />

characteristic points of the h<strong>and</strong>: the five fingertip<br />

points <strong>and</strong> the four points located in the valley<br />

between two adjacent fingers. These points are<br />

calculated from the probabilities map by c<strong>on</strong>tour<br />

analysis. Next, two other points are automatically<br />

added close to wrist from these points. The others<br />

l<strong>and</strong>marks defining with more precisi<strong>on</strong> the h<strong>and</strong><br />

shape are disposed between those. Thus, the model X<br />

is defined by the 11 initial points <strong>and</strong> N intermediate<br />

points between those. X is obtained by<br />

X=[x(0),……,x(11+n*10-1))<br />

where X[i] is the ith l<strong>and</strong>mark. After the initializati<strong>on</strong><br />

phase, the model is deformed. To c<strong>on</strong>trol the problem<br />

of model divergence which does not follow the real<br />

h<strong>and</strong> c<strong>on</strong>tours, a weight is applied to deformati<strong>on</strong>s to<br />

limit the shape c<strong>on</strong>straints [7]. So that the gradient<br />

<strong>on</strong>ly uses the h<strong>and</strong> c<strong>on</strong>tours <strong>and</strong> thus limits the<br />

possibilities of form divergence, it is computed in<br />

skin color space by Di Zenzo algorithm [9]. Then,<br />

this gradient is balanced by the coefficient of the<br />

probabilities map pixels. The experiments show that<br />

a good compromise between the executi<strong>on</strong> time <strong>and</strong><br />

the detecti<strong>on</strong> precisi<strong>on</strong> is obtained by fixing N at 12.<br />

1) Texture Algorithm:<br />

As menti<strong>on</strong>ed before, a palm print can be represented<br />

by some line features. Different algorithms has been<br />

proposed to extract the principal lines<br />

[22][25][26][27][28]. However, these principal lines<br />

are not sufficient to represent the uniqueness of each<br />

individual's palm print because different people may<br />

have similar lines in their palm prints [29] <strong>and</strong><br />

because the lines geometry depends <strong>on</strong> the fingers<br />

spread [22]. In additi<strong>on</strong>, some palm prints images do<br />

not have clear wrinkles. As a result, we try to extract<br />

texture features from palm print images. First, we<br />

proposed a differential scheme for texture extracti<strong>on</strong><br />

in [18]. In this paper we have used a 2D Gabor phase<br />

coding scheme for palm print representati<strong>on</strong>, which<br />

has been user in [29] <strong>and</strong> for iris recogniti<strong>on</strong><br />

[30].Before applying the Gabor filter, we have to<br />

select the palm print area with scale, rotati<strong>on</strong> <strong>and</strong><br />

translati<strong>on</strong> invariance. This area is selected as<br />

follows: we calculate the centre of the circumference<br />

that minimize the square error with the 4 valleys<br />

between fingers. An example of the result can be<br />

seen in figure 6.<br />

Once obtained the centre, which is invariant to the<br />

translati<strong>on</strong>, we extract a circle with radius 200 pixels.<br />

To obtain rotati<strong>on</strong> invariance, the h<strong>and</strong> inclinati<strong>on</strong><br />

angle a is obtained as the slope of the line going from<br />

the valley between little <strong>and</strong> ring fingers to the valley<br />

between index <strong>and</strong> heart finger. The h<strong>and</strong> palm image<br />

is rotated an angle equal to 90-ac. Figure 7 shows an<br />

example of palm image with translati<strong>on</strong> <strong>and</strong> rotati<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 364


Proceedings of ICCNS 08 , 27-28 September 2008<br />

invariance. The circular Gabor filter is an effective<br />

tool for texture analysis of the palm image, <strong>and</strong> has<br />

the following general form:<br />

where i=√-1,∞ - u is the frequency of the sinusoidal<br />

wave,0 c<strong>on</strong>trols the orientati<strong>on</strong> of the functi<strong>on</strong>, <strong>and</strong> a<br />

is the<br />

st<strong>and</strong>ard deviati<strong>on</strong> of the Gaussian envelope. To<br />

make it more robust against brightness, a discrete<br />

Gabor filter G[x, y, 09 it, cr], is turned to zero<br />

average with the applicati<strong>on</strong> of the following<br />

formula:<br />

be robust the distance between the h<strong>and</strong> <strong>and</strong> the<br />

acquisiti<strong>on</strong> device. Fusi<strong>on</strong> by characteristics<br />

c<strong>on</strong>voluti<strong>on</strong> increases the h<strong>and</strong> uniqueness. It enables<br />

to distinguish people having h<strong>and</strong> shapes or palms<br />

very similar.<br />

IV. Performance Review:<br />

By comparing the existing biometrics ,Our current<br />

system that comprises shape <strong>and</strong> texture properties<br />

evolved the system performance by 87% w.r.t. time<br />

<strong>and</strong> accuracy.<br />

where (2n + 1)2 is the size of the filter. In fact, the<br />

imaginary part of the Gabor filter has zero average<br />

because of the odd symmetry. The adjusted filter is<br />

used to filter the palm print image It should be<br />

pointed out that the success of 2D Gabor phase<br />

coding scheme depends <strong>on</strong> the selecti<strong>on</strong> of Gabor<br />

filter parameters, 0, a, <strong>and</strong> u In our system, we<br />

applied a tuning process to optimize the selecti<strong>on</strong> of<br />

these three parameters. Finally, we have used a<br />

Gabor filter of size n=10, 9= 7r/4, cr=0.8 <strong>and</strong> u=0.l.<br />

Additi<strong>on</strong>al practical details: We have taken into<br />

account just the real part of the 2D Gabor filter. Once<br />

the palm print image has been filtered, it is crop to<br />

100x1O0 pixels image. We chose the central porti<strong>on</strong>.<br />

Since the filtered image is not binary <strong>and</strong> automatic<br />

thresholding procedure is applied to c<strong>on</strong>vert it to<br />

black <strong>and</strong> white image. This procedure gives a value<br />

of 1 to the 4000 pixels with the higher value, <strong>and</strong> the<br />

rest are reset to 0 values. Finally, the image is<br />

reduced to 50x50pixels. The resulting image is the<br />

texture used as feature.<br />

2) Texture <strong>and</strong> shape fusi<strong>on</strong><br />

Three combinati<strong>on</strong> methods are used in biometric<br />

systems. The combinati<strong>on</strong> can be carried out with the<br />

representati<strong>on</strong> by gathering the extracted<br />

characteristics, at the comparis<strong>on</strong> level or at the<br />

decisi<strong>on</strong> level. Our fusi<strong>on</strong> is based <strong>on</strong> the palm<br />

texture c<strong>on</strong>voluti<strong>on</strong> with the h<strong>and</strong> shape features in<br />

order to add a geometrical factor to texture. The<br />

result of this c<strong>on</strong>voluti<strong>on</strong> is binarised to limit the<br />

characteristics size <strong>and</strong> the computing times in<br />

comparis<strong>on</strong> phase. The complete process is defined<br />

by:<br />

S(x,y)= b(C(x,y)*H(x,y)) (1)<br />

Where b(x)=0 if x


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[5] A.K. Jain, R. Bolle, <strong>and</strong> S. Pankanti, Biometrics:<br />

Pers<strong>on</strong>al Identificati<strong>on</strong> in Networked Society, Kluwer<br />

Academic Publishers, 2001.<br />

[6] J.D.Woodward, N.M.Orlans, P.T.Higgins,<br />

Biometrics: Identity assurance in the informati<strong>on</strong> age,<br />

Mc Graw Hill, 2003<br />

[7] J.Doublet,O.Lepetit, M. Revenu: "H<strong>and</strong> detecti<strong>on</strong><br />

for c<strong>on</strong>tactless biometrics identificati<strong>on</strong>", Cognitive<br />

System with Interactive Sensors, Paris, 2006.<br />

[8] R. Sanchez-Reillo, C. Sanchez-Avila, A.<br />

G<strong>on</strong>zalez-Marcos,"Biometric identificati<strong>on</strong> through<br />

h<strong>and</strong> geometry measurements", in IEEE Transacti<strong>on</strong>s<br />

<strong>on</strong> Pattem Analysis <strong>and</strong> Machine Intelligence, vol.<br />

22, no. 10, pp. 1168-1171, 2000.<br />

[9] S. Di Zenzo, "A note <strong>on</strong> the gradient of a multiimage",<br />

<strong>Computer</strong> Visi<strong>on</strong>, Graphics <strong>and</strong> Image<br />

Processing, 33(1), 1986.<br />

[10] T.F.Cootes,C.J.Taylor,"Statistical models of<br />

appearance for computer visi<strong>on</strong>", Technical<br />

report,University of Manchester, UK,1999.<br />

[11]. Tabassi, E.,Wils<strong>on</strong>, C.,Wats<strong>on</strong>. Fingerprint<br />

Image Quality[C].NIST research report NISTIR7151<br />

(August,2004)<br />

[12]. Yi Chen, Sarat Dass, <strong>and</strong> Anil Jain. Fingerprint<br />

quality indices for predicting authenticati<strong>on</strong><br />

performance. In Fifth AVBPA, pages 160-170, Rye<br />

Brook. July, 2005<br />

[13]. Nalini K.Ratha <strong>and</strong> Ruud M. Bolle. Fingerprint<br />

image quality estimati<strong>on</strong>. IBM computer science<br />

research report RC21622, 1999<br />

[14]. Lim, E., et al. Fingerprint quality <strong>and</strong> validity<br />

analysis.IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> c<strong>on</strong>ference <strong>on</strong> Image<br />

Processing, 1,202-207 2002<br />

[15] Ernst, Richard H, H<strong>and</strong> 1D System, U.S.Patent<br />

No 3576537,[16] S. G<strong>on</strong>zalez, C.M. Travieso, J.B.<br />

Al<strong>on</strong>so, M.A. Ferrer,"Automatic Biometric<br />

Identificati<strong>on</strong> system by h<strong>and</strong> geometry", 37th IEEE<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Carnahan <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> <strong>Security</strong><br />

Technology, pp. 39-41, 2003.<br />

[17] D.L.Woodward, Exploiting finger surface as a<br />

biometric identifier, University of Notre Dame,<br />

Indiana, U.S.A.,December 2004.<br />

[18] M.Rafael Diaz, Carlos "Biometric System based<br />

in the feature of h<strong>and</strong> palm",in 38th IEEE<br />

Intemati<strong>on</strong>al Carnahan <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> security<br />

Technology, Albuquerque, New Mexico, pp. 136-<br />

139, October 11-14, 2004.<br />

[19] Marcos Faundez-Zany, "Data Fusi<strong>on</strong> in<br />

Biometrics", in IEEE Aerospace <strong>and</strong> Electr<strong>on</strong>ic<br />

Magazine, pp. 34-38, January 2005.<br />

[20] S. Ribarit, D.Ribaric <strong>and</strong> N. Pavesi6,<br />

"Multimodal biometric user-identificati<strong>on</strong> system for<br />

network-based applicati<strong>on</strong>s", in IEEE Proceedings <strong>on</strong><br />

Visi<strong>on</strong> Image Signal Processing, vol. 150,No. 6, pp.<br />

409-416. December 2003.<br />

[2 1]Slobodan Ribarit, Ivan Fratic, "A Biometric<br />

Identificati<strong>on</strong> System Based <strong>on</strong> EigenPalm <strong>and</strong><br />

Eigenfinger Features", in IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Pattern Analysis <strong>and</strong> Machine Intelligence, vol. 27,<br />

no. 11, pp. 1698-1709, November2005.<br />

[22] Junta Doi, Masaaki Yamanaka, "Discrete Finger<br />

<strong>and</strong> Palmar Feature Extracti<strong>on</strong> for Pers<strong>on</strong>al<br />

Authenticati<strong>on</strong>", in IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Instrumentati<strong>on</strong> <strong>and</strong> Measurement, vol. 54,no.6, pp.<br />

2213-2219, December 2005.<br />

[23] M. Faindez-Zanuy, Miguel A. Ferrer-Ballester,<br />

Carlos M.Travieso-G<strong>on</strong>zalez, Virginia Espinosa-<br />

Dur6, "H<strong>and</strong> Geometry Based Recogniti<strong>on</strong> with a<br />

MLP Classifier", in <strong>Computer</strong> Science, vol.<br />

3832/2005, pp. 721-727, ISSN:0302-9743, 2005.<br />

[24] Carlos M Travieso, J. B. Al<strong>on</strong>so, S. David,<br />

Miguel A. Ferrer,"Optimizati<strong>on</strong> of a biometric<br />

system identificati<strong>on</strong> by h<strong>and</strong> geometry" Complex<br />

systems intelligence <strong>and</strong> modern technological<br />

applicati<strong>on</strong>s, Cherbourg, France, pp. 581-586,19-22<br />

September 2004.<br />

[25] Chin-Chuan Han, Hsu-Liang Cheng, Chih-Lung<br />

Lin, Kuo-Chin Fan, "Pers<strong>on</strong>al authenticati<strong>on</strong> using<br />

palm-print features",in Pattern Recogniti<strong>on</strong>, vol. 36,<br />

pp. 371-381, 2003<br />

[26]P.A.Recobos-Rodriguez,"Biometric dentificati<strong>on</strong><br />

by dermatoglyphics", in Intemati<strong>on</strong>al c<strong>on</strong>ference <strong>on</strong><br />

Image Processing, vol. 1, pp. 319-322, 1996.<br />

[27] Xiangqian Wu, Kuanquam Wang, "A Novel<br />

Approach of Palm Line Extracti<strong>on</strong>", in Proceedings<br />

of the Third lnternati<strong>on</strong>al <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Image <strong>and</strong><br />

Graphics, pp 230-233,2004<br />

[28] Paul S. Wu, Ming Li, "Pyramid edge detecti<strong>on</strong><br />

based <strong>on</strong> stack filter", in Pattern recogniti<strong>on</strong> letters,<br />

vol 18, pp. 239-248,1997<br />

[29] David Zhang, Wai-Kin K<strong>on</strong>g, Jane You,<br />

Michael W<strong>on</strong>g,"Online Palmprint Identificati<strong>on</strong>", in<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> pattem analysis <strong>and</strong> Machine<br />

Intelligence, vol. 25,no.9,pp.1041-1050, Sept 2004.<br />

[30]J,G.daugman, "High C<strong>on</strong>fidence Visual<br />

Recogniti<strong>on</strong> of Pers<strong>on</strong>s by a Test of Statistical<br />

Independence", in IEEE<br />

Transacti<strong>on</strong> <strong>on</strong> Pattem Analysis <strong>and</strong> Machine<br />

Intelligence,vol. 15,no.11, pp. 1148-1161, November<br />

1993.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 366


Proceedings of ICCNS 08 , 27-28 September 2008<br />

DCT Applied to Column Mean <strong>and</strong> Row Mean<br />

Vectors of Image for Fingerprint Identificati<strong>on</strong><br />

First A. Dr. H. B. Kekre, Sec<strong>on</strong>d B. Ms. Tanuja K. Sarode, <strong>and</strong> Third C. Sudeep D. Thepade<br />

Abstract— The paper presents a novel approach of texture<br />

based fingerprint identificati<strong>on</strong> using DCT feature vector.<br />

Here we have avoided taking entire fingerprint image DCT.<br />

Instead, we are taking the DCT of column mean vector, row<br />

mean vector <strong>and</strong> then both column <strong>and</strong> row mean vectors for<br />

feature extracti<strong>on</strong>. These DCT feature vectors are used for<br />

fingerprint identificati<strong>on</strong>.<br />

The identificati<strong>on</strong> process becomes faster as the technique<br />

does not need any preprocessing to be dome <strong>on</strong> fingerprint<br />

images <strong>and</strong> entire image transform is avoided. The technique<br />

even works <strong>on</strong> the images with poor quality, that is with<br />

cropping, noise <strong>and</strong> scratches. The accuracy of results for<br />

verificati<strong>on</strong> is best for using both column <strong>and</strong> row mean<br />

feature vectors. The row mean vector is generated simply as a<br />

vector with averages of all rows in the fingerprint image.<br />

The advantage of using DCT over row mean <strong>and</strong> column<br />

mean vectors is that, it drastically reduces the number of<br />

computati<strong>on</strong>s in feature extracti<strong>on</strong> as compared to DCT<br />

applied over entire image. The biggest advantage of this<br />

method is ease of extensi<strong>on</strong> of fingerprint database. Adding<br />

new fingerprint in the database is simple <strong>and</strong> faster, because<br />

for every new image the DCT feature vector is computed <strong>and</strong><br />

inserted in the table of fingerprint feature vectors. This is<br />

easier <strong>and</strong> takes less time as compared to minutiae based or<br />

principal comp<strong>on</strong>ent analysis based identificati<strong>on</strong>.<br />

Keywords—<strong>Security</strong> using Biometrics, Fingerprint<br />

Verificati<strong>on</strong>, Texture Based Technique, DCT, Row mean vector,<br />

Column mean vector.<br />

N<br />

I. INTRODUCTION<br />

ow a days use of Biometric Features in security is<br />

gaining importance due to the properties like uniqueness<br />

for every individual human being <strong>and</strong> unchangability<br />

throughout the lifespan of human being. Many biometric<br />

F. A. Dr. H. B. Kekre is Senior Professor working with MPSTME,<br />

NMIMS University, Vileparle(W), Mumbai-56. (ph<strong>on</strong>e: 9323557897; e-mail:<br />

hbkekre@yahoo.com).<br />

S. B. Ms. Tanuja K. Sarode, is Ph.D. Scholar from MPSTME, NMIMS<br />

University, Vileparle(W), Mumbai-56. Assistant Professor working with<br />

Thadomal Shahani Engg. College,Mumbai(e-mail: tanuja_0123@yahoo.com)<br />

T.C. Sudeep D. Thepade is the Lecturer, IT Department, Thadomal<br />

Shahani Engineering College, Mumbai. Ph.D. Scholar from MPSTME,<br />

NMIMS University, Mumbai-56, India (ph<strong>on</strong>e: 9766258833 e-mail:<br />

sudeepthepade@gmail.com)<br />

features are used for verificati<strong>on</strong> of human being like face,<br />

signature, voice, retina, h<strong>and</strong> (palm), gesture <strong>and</strong> fingerprint.<br />

Out of these fingerprint verificati<strong>on</strong> is most widely<br />

researched. Many approaches have been proposed for<br />

fingerprint verificati<strong>on</strong> <strong>and</strong> identificati<strong>on</strong>.<br />

Here we have proposed a novel faster <strong>and</strong> better fingerprint<br />

verificati<strong>on</strong> technique which does not need preprocessing of<br />

fingerprint images <strong>and</strong> even works with poor quality of<br />

images. The extensi<strong>on</strong> of the database is not <strong>on</strong>ly faster but<br />

also comparatively easier in the proposed method.<br />

II. LITERATURE SURVEY<br />

Numerous biometric techniques [28] like face, fingerprint,<br />

h<strong>and</strong> geometry, iris, retina, signature, voice print, facial<br />

thermo gram, h<strong>and</strong> vein, gait, ear, odor, keystroke dynamics<br />

are studied <strong>and</strong> proposed by researchers. Fingerprint-based<br />

identificati<strong>on</strong> is the <strong>on</strong>e of the most mature, proven <strong>and</strong><br />

reliable [25,26,27] technique which has been most extensively<br />

used by forensic experts in criminal investigati<strong>on</strong>s [29]. The<br />

area of fingerprint verificati<strong>on</strong> <strong>and</strong> identificati<strong>on</strong> is very<br />

widely <strong>and</strong> extensively being researched. People have<br />

explored numerous techniques <strong>on</strong> feature extracti<strong>on</strong> <strong>and</strong><br />

matching algorithms, yet these are still challenging for better,<br />

easier <strong>and</strong> faster techniques. Fingerprint feature extracti<strong>on</strong> <strong>and</strong><br />

matching methods may be broadly classified into two<br />

categories: minutiae based[16] , correlati<strong>on</strong> based [30], <strong>and</strong><br />

image-texture based [16]. Even hybrid of these two is<br />

c<strong>on</strong>sidered in some techniques.<br />

Minutiae based methods [10,13] are the most popular <strong>and</strong><br />

widely used. These use a feature vector extracted from<br />

fingerprints as sets of points in a multi-dimensi<strong>on</strong>al space. The<br />

feature vector may comprise several characteristics of<br />

minutiae such as type, positi<strong>on</strong>, orientati<strong>on</strong>, etc. A typical<br />

minutiae-based method essentially searches for the best<br />

alignment between the template <strong>and</strong> the input minutiae sets.<br />

Most minutiae-based methods suffer from several<br />

shortcomings. For example, extracting minutiae from a poorquality<br />

fingerprint image may result in low matching<br />

accuracy. In additi<strong>on</strong>, these methods may not fully utilize the<br />

rich discriminatory informati<strong>on</strong> available in the fingerprints<br />

with high computati<strong>on</strong>al complexity [16]. The minutiae based<br />

approach has many short comings like it is difficult to extract<br />

the minutiae points accurately when the fingerprint is of low<br />

quality <strong>and</strong> these methods does not take into account the<br />

global pattern of ridges <strong>and</strong> furrows.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 367


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The correlati<strong>on</strong>-based techniques compare the global<br />

pattern of ridges <strong>and</strong> furrows to see if the ridges in the<br />

fingerprints align [30, 31]. It has some of its own<br />

shortcomings. Correlati<strong>on</strong>-based techniques require the<br />

precise locati<strong>on</strong> of a registrati<strong>on</strong> point <strong>and</strong> are affected by<br />

image translati<strong>on</strong> <strong>and</strong> rotati<strong>on</strong>. The performance of<br />

correlati<strong>on</strong>-based techniques is affected by n<strong>on</strong>-linear<br />

distorti<strong>on</strong>s <strong>and</strong> noise present in the image [30,31].<br />

The image-texture based methods [1,11,12,22,27,29], use<br />

features other than minutiae points from the fingerprint ridge<br />

pattern, such as local orientati<strong>on</strong> <strong>and</strong> frequency, ridge shape,<br />

<strong>and</strong> texture informati<strong>on</strong>. These methods mainly deal with<br />

feature like transforms, principal comp<strong>on</strong>ent analysis <strong>and</strong><br />

moments. These methods are more reliable than minutiae<br />

because the feature extracti<strong>on</strong> is more steadfast. They usually<br />

require less preprocessing effort than minutiae based methods<br />

using global informati<strong>on</strong> from a fingerprint, but they have<br />

limited ability to track variati<strong>on</strong>s in positi<strong>on</strong>, scale, <strong>and</strong><br />

rotati<strong>on</strong> angle of a fingerprint [27]. Invariance to an affine<br />

transform should be included for matching in order to deal<br />

with different input c<strong>on</strong>diti<strong>on</strong>s <strong>and</strong> hence to enhance<br />

matching accuracy. The texture Hybrid methods [2,17,18,21]<br />

using features from both approaches have recently been<br />

explored. These methods have mostly the same problems as<br />

the minutiae-based methods.<br />

In this paper, an image-texture based algorithm using<br />

DCT coefficients feature vector of column mean vector <strong>and</strong><br />

row mean vector is proposed. It first finds the column mean<br />

vector by taking average of intensity values of pixels in each<br />

column of fingerprint image <strong>and</strong> then DCT is applied to this<br />

column mean vector. Even the DCT coefficients of row mean<br />

vector are obtained by the same method. The DCT<br />

coefficients of column mean vector <strong>and</strong> row mean vector are<br />

c<strong>on</strong>sidered as features for fingerprint identificati<strong>on</strong>.<br />

III. PROPOSED METHOD<br />

A. Column <strong>and</strong> Row Mean Vectors<br />

The row mean vector is the set of averages of the<br />

intensity values of the respective rows. The column mean<br />

vector is the set of averages of the intensity values of the<br />

respective columns.<br />

If fig.1 is representing the fingerprint image with 4 rows<br />

<strong>and</strong> 4 columns, the row <strong>and</strong> column mean vectors for this<br />

image will be as given below.<br />

Row Mean Vector =<br />

[Avg(Row 1), Avg(Row 2), Avg(Row 3), Avg(Row 4)]<br />

Column Mean Vector =<br />

[Avg(Col. 1), Avg(Col. 2), Avg(Col. 3), Avg(Col. 4]<br />

Row<br />

1<br />

Row<br />

2<br />

.<br />

.<br />

Row<br />

n<br />

Col.<br />

1<br />

35<br />

78<br />

…<br />

68<br />

Col. ….<br />

2<br />

34 …<br />

24<br />

…<br />

76<br />

…<br />

…<br />

…<br />

Col<br />

n<br />

25<br />

68<br />

…<br />

45<br />

Fig. 1 Sample Fingerprint Image Template<br />

(with size nxn)<br />

The DCT can be applied to these vectors. The generated<br />

DCT coefficients will be playing the role of feature vectors of<br />

the fingerprint image which can further be used for fingerprint<br />

identificati<strong>on</strong> or fingerprint entry in the database. After taking<br />

DCT of row mean or column mean vector we are neglecting<br />

the first coefficient in formati<strong>on</strong> of feature vector as it will be<br />

overall average of all pixel intensity values in the image <strong>and</strong><br />

does not represents any texture informati<strong>on</strong> of the fingerprint.<br />

B. Algorithm for fingerprint identificati<strong>on</strong><br />

Compute Column<br />

Mean Vector<br />

Feature Vector part1<br />

Apply DCT to<br />

Column Mean Vector<br />

Avg(Row 1)=<br />

(35+34+..+25)/n<br />

Avg(Col. n)=(25+68+..+45)/n<br />

Input<br />

Fingerprint<br />

Image<br />

Feature Vector<br />

Part 1 + Part 2<br />

Match Feature Vector<br />

with feature database<br />

Using SED<br />

Identificati<strong>on</strong><br />

Best Match<br />

Compute Row<br />

Mean Vector<br />

Feature Vector part 2<br />

Apply DCT to<br />

Row Mean Vector<br />

Feature<br />

Database<br />

Fig. 2 Fingerprint Identificati<strong>on</strong> Using Proposed Technique<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 368


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The Block diagram of fingerprint identificati<strong>on</strong> is shown in<br />

figure 1., <strong>and</strong> steps 1 to 5 describes the algorithm with all<br />

details. Squared Euclidean Distance (SED) can be used as a<br />

matching parameter for fingerprint identificati<strong>on</strong> process. SED<br />

between feature vector of query image <strong>and</strong> feature vectors of<br />

database images should be computed <strong>and</strong> some threshold be<br />

kept.<br />

• Step 1 : To prepare column mean vector<br />

Here we take average of all intensity values of<br />

pixels in each column of fingerprint image <strong>and</strong><br />

c<strong>on</strong>struct a vector of all column means.<br />

• Step 2 : To prepare row mean vector<br />

Here we take average of all intensity values of<br />

pixels in each row of fingerprint image <strong>and</strong> c<strong>on</strong>struct<br />

a vector of all row means.<br />

• Step 3 : DCT Features of column mean vector<br />

Apply DCT <strong>on</strong> the column mean vector of<br />

fingerprint image <strong>and</strong> store the DCT coefficients as<br />

feature vector part <strong>on</strong>e.<br />

• Step 4 : DCT Features of row mean vector<br />

Apply DCT <strong>on</strong> the row mean vector of fingerprint<br />

image <strong>and</strong> store the DCT coefficients as feature<br />

vector part two.<br />

• Step 5 : Matching of DCT features<br />

The DCT features of part <strong>on</strong>e <strong>and</strong> two are matched<br />

with all entries in the database DCT features part <strong>on</strong>e<br />

<strong>and</strong> two respectively. Using minimum squared<br />

Euclidian distance the best match is found.<br />

The technique is faster than all other techniques for<br />

fingerprint identificati<strong>on</strong> because no preprocessing is d<strong>on</strong>e<br />

here. In other techniques preprocessing steps such as denoising,<br />

de-smudging, <strong>and</strong> thinning are needed as<br />

prerequisites.<br />

As no preprocessing required, the feature extracti<strong>on</strong> from<br />

fingerprint image becomes faster.<br />

C. Algorithm for adding new fingerprint in database<br />

For the image which is to be added to the fingerprint<br />

database, DCT Features of column mean vector <strong>and</strong> DCT<br />

Features of row mean vector are computed as part <strong>on</strong>e <strong>and</strong><br />

part two using the steps 1 to 4 discussed in III A.<br />

Then these DCT features of part <strong>on</strong>e <strong>and</strong> two are inserted<br />

into the table of feature vectors of the database. This<br />

completes additi<strong>on</strong> of new image into the fingerprint database.<br />

Compute Column<br />

Mean Vector<br />

Feature vector part 1<br />

Apply DCT to<br />

Column Mean Vector<br />

Input<br />

Fingerprint<br />

Image<br />

Feature Vector<br />

Part 1 + Part 2<br />

Add Feature Vector<br />

In the feature database<br />

Compute Row<br />

Mean Vector<br />

Feature Vector part 2<br />

Apply DCT to<br />

Row Mean Vector<br />

Fig. 3 New Fingerprint Entry in Database<br />

Using Proposed Technique<br />

IV. RESULTS AND DISCUSSION<br />

Feature<br />

Database<br />

The method is applied <strong>on</strong> the database of 42 fingerprint<br />

images of size 256x256. The column <strong>and</strong> row mean vectors<br />

are obtained for each image <strong>and</strong> then the feature vector is<br />

created after applying the DCT <strong>on</strong> these mean vectors. These<br />

feature vectors were stored in the database feature table.<br />

The dimensi<strong>on</strong> of DCT column feature vector is 255, as the<br />

first DCT coefficient value is not c<strong>on</strong>sidered because it<br />

represents the average intensity of the image <strong>and</strong> hence it does<br />

not c<strong>on</strong>tain any texture informati<strong>on</strong>. Similarly DCT row<br />

feature vector is obtained with size 255 by neglecting the first<br />

DCT column value.<br />

Squared Euclidean Distance (SED) is used as a matching<br />

parameter for fingerprint identificati<strong>on</strong> process. SED between<br />

feature vector of query image <strong>and</strong> feature vectors of database<br />

images is computed <strong>and</strong> threshold kept is 0.02.<br />

Table 1 shows the False Acceptance Ratio (FAR) <strong>and</strong><br />

Genuine Acceptance Ratio (GAR) for fingerprint<br />

identificati<strong>on</strong> using DCT row feature, DCT column feature<br />

<strong>and</strong> both methods for poor quality images which are shown in<br />

Fig. 2, Fig. 3, Fig. 4.<br />

With increase in noise FAR is increasing. From table 1 we<br />

can c<strong>on</strong>clude that the technique even works for the images<br />

with poor quality with respect to noise, cropping <strong>and</strong><br />

scratching.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 369


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. Robustness of Proposed Method to Cropping<br />

Fig. 1 Original Fingerprint Image<br />

2.a 11.52% 2.b 17.27% 2.c 20.79% 2.d 26.18%<br />

Fig. 2 Cropping of Fingerprint<br />

Images<br />

In table we can observe that the False Acceptance Ratio<br />

(FAR) is increasing with increase in percentage of cropping in<br />

the fingerprint image <strong>and</strong> Genuine Acceptance Ratio<br />

(GAR) is decreasing with increase in cropping percentage.<br />

FAR is directly proporti<strong>on</strong>al to the cropping percentage in<br />

the fingerprint image. <strong>and</strong> GAR is inversely proporti<strong>on</strong>al.<br />

Further the point to be noted is that FAR is higher when<br />

DCT row feature vector or DCT column feature vector are<br />

c<strong>on</strong>sidered individually. When DCT column <strong>and</strong> DCT row<br />

vectors are c<strong>on</strong>sidered together the FAR is reduced<br />

drastically.<br />

The important observati<strong>on</strong> is that even at very high<br />

cropping as high as 26 %, FAR is very low as 12 % using<br />

DCT row feature vector <strong>on</strong>ly <strong>and</strong> 24% using DCT column<br />

feature vector <strong>on</strong>ly but is improved to 2% using DCT row <strong>and</strong><br />

DCT column feature vectors together. Also the genuine<br />

image identificati<strong>on</strong> chances are 98%, even when <strong>on</strong>ly 74 %<br />

of fingerprint image is available.(26% cropped) using both<br />

DCT row <strong>and</strong> DCT column feature vectors together for<br />

identificati<strong>on</strong>. This proves that the technique proposed here is<br />

very robust against cropping of fingerprint image.<br />

Fig. 1 Original Fingerprint Image<br />

2.a 11.52% 2.b 17.27% 2.c 20.79% 2.d 26.18%<br />

Fig. 2 Cropping of Fingerprint<br />

Images<br />

B. Robustness of Proposed Method to Noise<br />

The observati<strong>on</strong>s from table 1 for Noise in the fingerprint<br />

image shows that the proposed technique gives 100 % genuine<br />

acceptance (GAR=1) of the fingerprint even if the fingerprint<br />

image is noisy up to 25%. So False Rejecti<strong>on</strong> ratio is zero<br />

even if the <strong>on</strong>e fourth of the informati<strong>on</strong> in the image is<br />

noisy.<br />

So the proposed technique is very robust to noise in<br />

fingerprint images.<br />

C. Robustness of Proposed Method to Scratching <strong>on</strong><br />

Fingerprint Images<br />

Sometimes the fingerprint images may have scratching<br />

<strong>on</strong> them. The proposed technique gives 98 % accuracy<br />

(GAR) even if scratching has as high as 20% .Thus the<br />

proposed method is also robust to high percentage of<br />

scratching in the fingerprint.<br />

4.a 5.88%<br />

4.b 10.37%<br />

D. Robustness of Proposed Method to Rotati<strong>on</strong> of<br />

Fingerprint Images (both CW <strong>and</strong> CCW)<br />

4.c 15.57%<br />

4.d 20.77%<br />

Fig. 4 Scratched Fingerprint Images<br />

The proposed method is also applied to the rotated<br />

fingerprint images <strong>and</strong> it is found that the proposed<br />

technique is robust to the clockwise (CW) <strong>and</strong> anti<br />

clockwise (CCW) rotati<strong>on</strong> of fingerprint images up to 10<br />

degrees. (i.e. in range +10 to -10 degrees).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 370


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE I<br />

FAR AND GAR FOR POOR QUALITY FINGERPRINT IMAGES<br />

Cropped<br />

Images<br />

Noisy Images<br />

Scratched<br />

Images<br />

Row Column Both<br />

%<br />

Distorti<strong>on</strong> FAR GAR FAR GAR FAR GAR<br />

Fig 2.a 11.52 0.05 0.95 0.02 0.98 0 1<br />

Fig 2.b 17.27 0.05 0.95 0.05 0.95 0 1<br />

Fig 2.c 20.79 0.05 0.95 0.07 0.93 0 1<br />

Fig 2.d 26.18 0.12 0.88 0.24 0.76 0.02 0.98<br />

Fig 3.a 5.73 0 1 0 1 0 1<br />

Fig 3.b 13.88 0 1 0 1 0 1<br />

Fig 3.c 20.28 0 1 0 1 0 1<br />

Fig 3.d 25.43 0 1 0 1 0 1<br />

Fig 4.a 5.88 0 1 0 1 0 1<br />

Fig 4.b 10.37 0 1 0 1 0 1<br />

Fig 4.c 15.57 0 1 0.07 0.93 0 1<br />

Fig 4.d 20.77 0.02 0.98 0.12 0.88 0.02 0.98<br />

KEY OBSERVATIONS :<br />

1. FAR IS LOWER WHEN DCT ROW AND DCT COLUMN FEATURE VECTORS BOTH ARE CONSIDERED TOGETHER THAT INDIVIDUAL<br />

2. FAR IS DIRECTLY PROPORTIONAL TO PERCENTAGE OF CROPPING IN FINGERPRINT IMAGE WHILE GAR IS INVERSELY PROPORTIONAL.<br />

3. EVEN AT HIGH NOISE RATES (AT 255 ) FALSE REJECTION RATE IS 0% AND GENUINE ACCEPTANCE RATE IS 100%<br />

4. GAR IS 98% AT THE SCRATCHING PERCENTAGE OF 20% WHERE FAR IS NEGLIGIBLE (ONLY 2%)<br />

[6] R.C. G<strong>on</strong>zalez, R.E. Woods, Digital Image Processing, sec<strong>on</strong>d ed.,<br />

V. CONCLUSION<br />

Prentice-Hall, 2002, pp. 672–675.<br />

[7] L. H<strong>on</strong>g, Y. Wan, A.K. Jain, Fingerprint image enhancement: algorithm<br />

<strong>and</strong> performance evaluati<strong>on</strong>, IEEE Trans. Pattern Anal. Mach. Intell. 20<br />

(1998) 777–789.<br />

[8] P. Howl<strong>and</strong>, H. Park, Generalizing discriminant analysis using the<br />

generalized singular value decompositi<strong>on</strong>, IEEE Trans. Pattern Anal.<br />

Mach. Intell. 26 (8) (2004) 995–1006.<br />

[9] M.K. Hu, Visual pattern recogniti<strong>on</strong> by moment invariants, IRE Trans.<br />

Info. Theory IT-8 (1962) 179–187.<br />

[10] A.K. Jain, L. H<strong>on</strong>g, S. Pankanti, R. Bolle, An identity—authenticati<strong>on</strong><br />

system using fingerprints, Proc. IEEE 85 (9) (1997) 1365–1388<br />

[11] A.K. Jain, S. Prabhakar, L. H<strong>on</strong>g, S. Pankanti, Filterbank-based<br />

fingerprint matching, IEEE Trans. Image Process. 9 (5) (2000) 846–<br />

859.<br />

[12] A.T.B. Jin, D.N.C. Ling, O.T. S<strong>on</strong>g, An efficient fingerprint<br />

verificati<strong>on</strong> system using integrated wavelet <strong>and</strong> Fourier-Mellin<br />

invariant transform, Image Vis. Comput. 22 (6) (2004) 503–513.<br />

REFERENCES [13] J. Liu, Z. Huang, K. Chan, Direct minutiae extracti<strong>on</strong> from gray-level<br />

fingerprint image by relati<strong>on</strong>ship examinati<strong>on</strong>, in: <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Image Processing, vol. 2, 2000, pp. 427–430.<br />

[14] M. Liu, X.D. Jiang, A. Kot, Fingerprint reference-point detecti<strong>on</strong>,<br />

We have proposed a novel faster <strong>and</strong> better fingerprint<br />

identificati<strong>on</strong> technique which does not need preprocessing of<br />

fingerprint images <strong>and</strong> even works with poor quality of<br />

images. Proposed technique is quite rugged against cropping,<br />

noise, scratches <strong>and</strong> rotati<strong>on</strong> (range +10 to -10 degrees). The<br />

feature extracti<strong>on</strong> is faster because the computati<strong>on</strong>al<br />

complexity is reduced from O(N 3 ) to O(N 2 ). Even the<br />

extensi<strong>on</strong> of the database is not <strong>on</strong>ly faster but also<br />

comparatively easier in the proposed method.<br />

[1] T. Amornraksa, S. Tachaphetpibo<strong>on</strong>, Fingerprint recogniti<strong>on</strong> using EURASIP J. Appl. Signal Process. 2005 (4) (2005) 498–509.<br />

DCT features, Electr<strong>on</strong>. Lett. 42 (9) (2006) 522–523. [15] M. Liu, X.D. Jiang, A. Kot, Fingerprint retrieval by complex filter<br />

[2] F. Benhammadi, M.N. Amirouche, H. Hentous, K.B. Beghdad, M. Resp<strong>on</strong>ses, in: <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Pattern Recogniti<strong>on</strong><br />

Aissani, Fingerprint matching from minutiae texture maps, Pattern (ICPR), H<strong>on</strong>gk<strong>on</strong>g, 2006, pp. 1042–1045.<br />

Recognit. 40 (1) (2007) 189–197. [16] D. Malt<strong>on</strong>i, D. Maio, A.K. Jain, S. Prabhakar, H<strong>and</strong>book of Fingerprint<br />

[3] S. Chikkerur, A.N. Cartwright, V. Govindaraju, Fingerprint Recogniti<strong>on</strong>, Springer, Berlin, 2003, pp. 135–137, 164-165.<br />

enhancement using STFT analysis, Pattern Recognit. 40 (1) (2007) [17] K.A. Nagaty, An adaptive hybrid energy-based fingerprint matching<br />

198–211.<br />

technique, Image Vis. Comput. 23 (2005) 491–500.<br />

[4] O. Duda, P.E. Hart, D.G. Stork, Pattern Classificati<strong>on</strong>, sec<strong>on</strong>d ed., [18] L. Nanni, A. Lumini, A hybrid wavelet-based fingerprint matcher,<br />

Wiley, 2000, pp. 107–110.<br />

Pattern Recognit. 40 (11) (2007) 3146–3151.<br />

[5] R.O. Duda, P.E. Hart, D.G. Stork, Pattern Classificati<strong>on</strong>, sec<strong>on</strong>d ed.,<br />

Wiley, 2000, pp. 157–117.<br />

[19] K. Nilss<strong>on</strong>, J. Bigun, Localizati<strong>on</strong> of corresp<strong>on</strong>ding points in<br />

fingerprints by complex filtering, Pattern Recognit. Lett. 24 (2003)<br />

2135–2144.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 371


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[20] A. Ross, A.K. Jain, J. Reisman, A hybrid fingerprint matcher, Pattern<br />

Recognit. 36 (7) (2003) 1661–1673.<br />

[21] L.F. Sha, F. Zhao, X.O. Tang, Improved fingercode for filterbank-based<br />

fingerprint matching, in: <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Image<br />

Processing, vol. 2, 2003, pp. 895–898.<br />

[22] J. Shi, A. Samal, D. Marx, How effective are l<strong>and</strong>marks <strong>and</strong> their<br />

geometry for face recogniti<strong>on</strong>, Comput. Vis. Image Underst. 102 (2006)<br />

117–133.<br />

[23] D. Tao, X. Li, S.J. Maybank, X. Wu, Human carrying status in visual<br />

surveillance, in: IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> <strong>Computer</strong> Visi<strong>on</strong><br />

<strong>and</strong> Pattern Recogniti<strong>on</strong>, vol. 2, 2006, pp. 1670–1677.<br />

[24] D. Tao, X. Li, X. Wu, S.J. Maybank, General tensor discriminant<br />

analysis <strong>and</strong> gabor features for gait recogniti<strong>on</strong>, IEEE Trans. Pattern<br />

Anal. Mach. Intell. 29 (10) (2007) 1700–1715.<br />

[25] Anil Jain, Arun Ross, Salil Prabhakar, “Fingerprint matching using<br />

minutiae <strong>and</strong> texture features,” Int’l c<strong>on</strong>ference <strong>on</strong> Image Processing<br />

(ICIP), pp. 282-285, Oct. 2001.<br />

[26] John Berry <strong>and</strong> David A. St<strong>on</strong>ey “The history <strong>and</strong> development of<br />

fingerprinting,” in Advances in Fingerprint Technology, Henry C. Lee<br />

<strong>and</strong> R. E. Gaensslen, Eds., pp. 1-40. CRC Press Florida, 2 nd editi<strong>on</strong>,<br />

2001.<br />

[27] Emma Newham, “The biometric report,” SJB Services, 1995.<br />

[28] A. K. Jain, L. H<strong>on</strong>g, Y. Kulkarni “A Multimodel Biometric System<br />

using Fingerprint, Face, <strong>and</strong> Speech,” Proc.2 nd Int’l <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Audio- <strong>and</strong> Video-based Biometric Pers<strong>on</strong> Auhentificati<strong>on</strong>, Washingt<strong>on</strong><br />

D.C., pp. 182-187, 1999.<br />

[29] Federal Bureau of investigati<strong>on</strong>, The Science of Fingerprints:<br />

Classificati<strong>on</strong> <strong>and</strong> Uses, Washingt<strong>on</strong>, D.C., 1984, U.S. Government<br />

Printing office.<br />

[30] Arun Ross, Anil Jain, James Reisman, “A hybrid fingerprint matcher,”<br />

Int’l c<strong>on</strong>ference <strong>on</strong> Pattern Recogniti<strong>on</strong> (ICPR), Aug 2002.<br />

[31] A. M. Bazen, G. T. B.Verwaaijen, S. H. Gerez, L. P. J. Veelenturf, <strong>and</strong><br />

B. J. van der Zwaag, “A correlati<strong>on</strong>-based fingerprint verificati<strong>on</strong><br />

system,” Proceedings of the ProRISC2000 Workshop <strong>on</strong> Circuits,<br />

Systems <strong>and</strong> Signal Processing, Veldhoven, Netherl<strong>and</strong>s, Nov 2000.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 372


ICCNS 08<br />

Digital<br />

Watermarking


Proceedings of ICCNS 08 , 27-28 September 2008<br />

AUDIO STEGANOGRAPHY<br />

1. S.M.Bhadkumbhe 2. M.C.Hingane 3. G.M.Bh<strong>and</strong>ari 4.S.B.Choudhari 5. S.V. Phulari<br />

Abstract<br />

Steganography is the science of hiding secret<br />

messages within an otherwise normal, innocent<br />

medium. Steganography has l<strong>on</strong>g been in use,<br />

even before the inventi<strong>on</strong> of the computer.The<br />

power of steganography is hiding the secret<br />

messages obscurity, hiding its existence in a n<strong>on</strong><br />

secret files. Now days, messages are typically<br />

hidden within digital images, video <strong>and</strong> audio.<br />

This paper focuses <strong>on</strong> <strong>on</strong>e particular popular<br />

technique, Least Significant Bit (LSB)<br />

Embedding, using digital audio as the medium.<br />

The terminology is that a message is hidden<br />

within a cover audio file to produce a stegoaudio<br />

file. First, the mp3 audio format is<br />

discussed. Then, variati<strong>on</strong>s of LSB Embedding<br />

are detailed. Finally, the advantages <strong>and</strong><br />

disadvantages of LSB Embedding are<br />

summarized. While the MPEG/audio<br />

compressi<strong>on</strong> algorithm is lossy, often it can<br />

provide transparent perceptually lossless<br />

compressi<strong>on</strong> even with compressi<strong>on</strong> factor of 6-1<br />

or more. The algorithm works by exploiting the<br />

perceptual properties of the human auditory<br />

system.<br />

Keywords: Steganography , MPEG Decoder,<br />

LSB Encoding, Binary coding<br />

1 Introducti<strong>on</strong><br />

1.1 Audio Steganography<br />

There are 2 main ways to hide informati<strong>on</strong><br />

in an audio file: binary encoding <strong>and</strong> n<strong>on</strong>binary<br />

encoding. Binary encoding involves<br />

modifying certain bits of the cover file to<br />

c<strong>on</strong>ceal the plaintext secret message while<br />

attempting to make these changes in a way<br />

that will not alter the sound file so much that<br />

the difference is audible to an observer. With<br />

binary encoding, any plaintext type can be<br />

hidden, because the scheme is not sensitive to<br />

message type <strong>and</strong> encodes arbitrary bitstreams.<br />

N<strong>on</strong>-binary encoding involves taking<br />

advantage of the properties of the sound waves<br />

themselves to hide informati<strong>on</strong>. Since we are<br />

using this scheme with audio files, it is<br />

important that the plaintext file is of a<br />

particular type. This algorithm is applied to<br />

uncompressed-audio (PCM format) WAV<br />

files, at 44,100 samples per sec<strong>on</strong>d, 16 bits per<br />

sample. A WAV file is composed of several<br />

”chunks”, starting with the format chunk, <strong>and</strong><br />

following with the data chunk. The format<br />

chunk c<strong>on</strong>tains informati<strong>on</strong> about the data<br />

chunk, such as the size of the file, the sample<br />

rate, the number of channels, <strong>and</strong> the number<br />

of bits per sample. Some of this informati<strong>on</strong> is<br />

useful to us in our schemes. The data chunk is<br />

a sequence of integers, <strong>on</strong>e per sample, whose<br />

range is specified by the sample rate. Both of<br />

our schemes involve modifying the data chunk<br />

of the file, leaving the overall file format<br />

intact.<br />

1.2 Binary MP3 Encoding<br />

There is another binary-encoding scheme in<br />

which the algorithm works by inserting a<br />

secret file, in text format, into the carrier MP3<br />

file during the compressi<strong>on</strong> process.<br />

MP3Stego is based <strong>on</strong> manipulating bits in the<br />

MP3 encoding process in order to store<br />

informati<strong>on</strong> in the final file. The paper<br />

describes uses the psychoacoustic model to<br />

determine an acceptable amount of noise in the<br />

cover file, <strong>and</strong> limits the capacity to encode<br />

data to that threshold.<br />

1.3 MPEG/audio Features <strong>and</strong> Applicati<strong>on</strong>s<br />

MPEG/audio is a generic audio compressi<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 373


Proceedings of ICCNS 08 , 27-28 September 2008<br />

st<strong>and</strong>ard. Unlike vocal-tract-model coders<br />

specially tuned for speech signals, the<br />

MPEG/audio coder gets its compressi<strong>on</strong><br />

without making assumpti<strong>on</strong>s about the nature<br />

of the audio source. Instead, the coder exploits<br />

the perceptual limitati<strong>on</strong>s of the human<br />

auditory system. Much of the compressi<strong>on</strong><br />

results from the removal of perceptually<br />

irrelevant parts of the audio signal. Removal<br />

of such parts results in inaudible distorti<strong>on</strong>s,<br />

thus MPEG/audio can compress any signal<br />

meant to be heard by the human ear. In<br />

keeping with its generic nature, MPEG/audio<br />

offers a diverse assortment of compressi<strong>on</strong><br />

modes:<br />

• The audio sampling rate can be 32kHz,<br />

44.1kHz, or 48 kHz.<br />

• The compressed bit stream can support <strong>on</strong>e<br />

or two audio channels in <strong>on</strong>e of 4 possible<br />

modes:<br />

1. a m<strong>on</strong>oph<strong>on</strong>ic mode for a single audio<br />

channel,2. a dual-m<strong>on</strong>oph<strong>on</strong>ic mode for two<br />

independent audio channels (this is<br />

functi<strong>on</strong>ally identical to the stereo mode),<br />

3. a stereo mode for stereo channels with a<br />

sharing of bits between the channels, but no<br />

joint-stereo coding, <strong>and</strong> 4. a joint-stereo mode<br />

that either takes advantage of the correlati<strong>on</strong>s<br />

between the stereo channels or the irrelevancy<br />

of the phase difference between channels, or<br />

both.<br />

• The compressed bit stream can have <strong>on</strong>e of<br />

several predefined fixed bit rates ranging from<br />

32 to 224 kbits/sec per channel. Depending <strong>on</strong><br />

the audio sampling rate, this translates to<br />

compressi<strong>on</strong> factors ranging from 2.7 to 24. In<br />

additi<strong>on</strong>, the st<strong>and</strong>ard provides a "free" bit rate<br />

mode to support fixed bit rates other than the<br />

predefined rates.<br />

• MPEG/audio offers a choice of three<br />

independent layers of compressi<strong>on</strong>. This<br />

provides a wide range of tradeoffs between<br />

codec complexity <strong>and</strong> compressed audio<br />

quality:<br />

Layer I is the simplest <strong>and</strong> is best suited for<br />

bit rates above 128 kbits/sec per channel. For<br />

example, Philips' Digital Compact Cassette<br />

(DCC) uses Layer I compressi<strong>on</strong> at 192 kbits/s<br />

per channel.<br />

Layer II has an intermediate complexity <strong>and</strong><br />

is targeted for bit rates around 128 kbits/s per<br />

channel. Possible applicati<strong>on</strong>s for this layer<br />

include the coding of audio for Digital Audio<br />

Broadcasting (DAB®), for the storage of<br />

synchr<strong>on</strong>ized video-<strong>and</strong>-audio sequences <strong>on</strong><br />

CD-ROM, <strong>and</strong> the full moti<strong>on</strong> extensi<strong>on</strong> of<br />

CD-interactive, Video CD.<br />

Layer III is the most complex but offers the<br />

best audio quality, particularly for bit rates<br />

around 64 kbits/s per channel. This layer is<br />

well suited for audio transmissi<strong>on</strong> over ISDN.<br />

All three layers are simple enough to allow<br />

single-chip, real-time decoder<br />

implementati<strong>on</strong>s.<br />

• The coded bitstream supports an opti<strong>on</strong>al<br />

Cyclic Redundancy Check (CRC) error<br />

detecti<strong>on</strong> code.<br />

• MPEG/audio provides a means of including<br />

ancillary data within the bitstream.<br />

In additi<strong>on</strong>, the MPEG/audio bitstream makes<br />

features such as r<strong>and</strong>om access, audio fast<br />

forwarding, <strong>and</strong> audio reverse possible.<br />

The key to MPEG/audio compressi<strong>on</strong> is<br />

quantizati<strong>on</strong>. Although quantizati<strong>on</strong> is lossy,<br />

this algorithm can give "transparent",<br />

perceptually lossless, compressi<strong>on</strong>. The<br />

MPEG/audio committee c<strong>on</strong>ducted extensive<br />

subjective listening tests during the<br />

development of the st<strong>and</strong>ard. The tests showed<br />

that even with a 6-to-1 compressi<strong>on</strong> ratio<br />

(stereo, 16 bits/sample, audio sampled at 48<br />

kHz compressed to 256 kbits/sec) <strong>and</strong> under<br />

optimal listening c<strong>on</strong>diti<strong>on</strong>s, expert listeners<br />

were unable to distinguish between coded <strong>and</strong><br />

original audio clips with statistical<br />

significance. Furthermore, these clips were<br />

specially chosen because they are difficult to<br />

compress. Reference 7 gives the details of the<br />

set up, procedures <strong>and</strong> results of these tests.<br />

Figure 1 shows block diagrams of the<br />

MPEG/audio encoder <strong>and</strong> decoder. The input<br />

audio stream passes through a filter bank that<br />

divides the input into multiple subb<strong>and</strong>s of<br />

frequency. The input audio stream<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 374


Proceedings of ICCNS 08 , 27-28 September 2008<br />

simultaneously passes through a<br />

psychoacoustic model that determines the ratio<br />

of the signal energy to the masking threshold<br />

for each subb<strong>and</strong>. The bit or noise allocati<strong>on</strong><br />

block uses the signal-to-mask ratios to decide<br />

how to apporti<strong>on</strong> the total number of code bits<br />

available for the quantizati<strong>on</strong> of the subb<strong>and</strong><br />

signals to minimize the audibility of the<br />

quantizati<strong>on</strong> noise. Finally, the last block takes<br />

the representati<strong>on</strong> of the quantized subb<strong>and</strong><br />

samples <strong>and</strong> formats this data <strong>and</strong> side<br />

informati<strong>on</strong> into a coded bit stream. Ancillary<br />

data not necessarily related to the audio stream<br />

can be inserted within the coded bit stream.<br />

The decoder deciphers this bit stream, restores<br />

the quantized subb<strong>and</strong> values, <strong>and</strong> rec<strong>on</strong>structs<br />

the audio signal from the subb<strong>and</strong> values.<br />

2 MP3 Decoding<br />

2.1 Decoder Structure<br />

The decoder has the following structure:<br />

Fig 2 Granule structure<br />

The frequency spectrum ranges from 0 to FS/2<br />

Hz. The subb<strong>and</strong>s divide the spectrum into 32<br />

equal parts. The subb<strong>and</strong>s each c<strong>on</strong>tain 18<br />

samples that have been transformed to the<br />

frequency domain by a modified discrete<br />

cosine transform (MDCT).<br />

The 576 frequency lines in a granule are also<br />

divided into 21 scale factor b<strong>and</strong>s that have<br />

been designed to match the critical b<strong>and</strong><br />

frequencies as closely as possible. The scale<br />

factor b<strong>and</strong>s are used primarily for the<br />

requantizati<strong>on</strong> of the samples.<br />

The frame c<strong>on</strong>sists of four parts: header, side<br />

informati<strong>on</strong>, main data, <strong>and</strong> ancillary data:<br />

Fig 1 MP3 decoder structure<br />

The different parts of the decoder are<br />

described in more detail below.<br />

2.2 Frame Format<br />

The frame is a central c<strong>on</strong>cept when decoding<br />

MP3 bitstreams. It c<strong>on</strong>sists of 1152 m<strong>on</strong>o or<br />

stereo frequency-domain samples, divided into<br />

two granules of 576 samples each. Each<br />

granule is further divided into 32 subb<strong>and</strong><br />

blocks of 18 frequency lines apiece:<br />

Fig 3 Frame structure<br />

The length of a frame is c<strong>on</strong>stant for a fixed<br />

bitrate, with the possible deviati<strong>on</strong> of <strong>on</strong>e byte<br />

to maintain an exact bitrate. There is also a<br />

variable bitrate format where the frame lengths<br />

can vary according to the momentaneous<br />

dem<strong>and</strong>s of the encoder. The main data (scale<br />

factors <strong>and</strong> Huffman coded data) are not<br />

necessarily located adjacent<br />

to the side informati<strong>on</strong>,<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 375


Proceedings of ICCNS 08 , 27-28 September 2008<br />

2.2.1 Header<br />

The header is always 4 bytes l<strong>on</strong>g <strong>and</strong> c<strong>on</strong>tains<br />

informati<strong>on</strong> about the layer, bitrate, sampling<br />

frequency <strong>and</strong> stereo mode. It also c<strong>on</strong>tains a<br />

12-bit syncword that is used to find the start of<br />

a frame in a bitstream, e.g. for broadcasting<br />

applicati<strong>on</strong>s.<br />

2.2.2 Side Informati<strong>on</strong><br />

The side informati<strong>on</strong> secti<strong>on</strong> c<strong>on</strong>tains the<br />

necessary informati<strong>on</strong> to decode the main data,<br />

such as Huffman table selecti<strong>on</strong>, scale factors,<br />

requantizati<strong>on</strong> parameters <strong>and</strong> window<br />

Selecti<strong>on</strong>. This secti<strong>on</strong> is 17 bytes l<strong>on</strong>g in<br />

single channel mode <strong>and</strong> 32 bytes in dual<br />

channel mode.<br />

Fig 4 Bit stream organizati<strong>on</strong><br />

There are two main areas of modificati<strong>on</strong><br />

which are to be c<strong>on</strong>sidered. First, the storage<br />

envir<strong>on</strong>ment, or digital representati<strong>on</strong> of the<br />

signal that will be used, <strong>and</strong> sec<strong>on</strong>d the<br />

transmissi<strong>on</strong> pathway the signal might travel.<br />

2.2.3 Main Data<br />

The main data secti<strong>on</strong> c<strong>on</strong>tains the coded scale<br />

factor values <strong>and</strong> the Huffman coded<br />

frequency lines (“main data”). The length<br />

depends <strong>on</strong> the bitrate <strong>and</strong> the length of the<br />

ancillary data. The length of the scale factor<br />

part depends <strong>on</strong> whether scale factors are<br />

reused, <strong>and</strong> also <strong>on</strong> the window length (short<br />

or l<strong>on</strong>g). The scalefactors are used in the<br />

requantizati<strong>on</strong> of the samples,<br />

The dem<strong>and</strong> for Huffman code bits varies with<br />

time during the coding process. The variable<br />

bitrate format can be used to h<strong>and</strong>le this, but a<br />

fixed bitrate is often a requirement for an<br />

applicati<strong>on</strong> (e.g. for broadcasting). Therefore<br />

there is also a bit reservoir technique defined<br />

that allows unused main data storage in <strong>on</strong>e<br />

frame to be used by up to two c<strong>on</strong>secutive<br />

frames:<br />

3 Data hiding in audio<br />

When developing a data-hiding<br />

method for audio, <strong>on</strong>e of the first<br />

c<strong>on</strong>siderati<strong>on</strong>s is the likely envir<strong>on</strong>ments<br />

the sound signal will travel between<br />

encoding <strong>and</strong> decoding.<br />

Fig 5 Data hiding<br />

There are two critical parameters to most<br />

digital audio representati<strong>on</strong>s: sample<br />

quantizati<strong>on</strong> method <strong>and</strong> temporal sampling<br />

rate. The most popular format for representing<br />

samples of high-quality digital audio is a 16-<br />

bit linear quantizati<strong>on</strong>, e.g., Windows Audio-<br />

Visual (WAV) <strong>and</strong> Audio Interchange File<br />

Format (AIFF). Another popular format for<br />

lower quality audio is the logarithmically<br />

scaled 8-bit m-law. These quantizati<strong>on</strong><br />

methods introduce some signal distorti<strong>on</strong>,<br />

somewhat more evident in the case of 8-bit m-<br />

law. Popular temporal sampling rates for audio<br />

include 8 kHz (kilohertz), 9.6 kHz, 10 kHz, 12<br />

kHz, 16 kHz, 22.05 kHz, <strong>and</strong> 44.1 kHz.<br />

Sampling rate impacts data hiding in that it<br />

puts an upper bound <strong>on</strong> the usable porti<strong>on</strong> of<br />

the frequency spectrum (if a signal is sampled<br />

at ~8 kHz, you cannot introduce modificati<strong>on</strong>s<br />

that have frequency comp<strong>on</strong>ents above 4kHz).<br />

For most data-hiding techniques we have<br />

developed, usable data space increases at least<br />

linearly with increased sampling rate. A last<br />

representati<strong>on</strong> to c<strong>on</strong>sider is that produced by<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 376


Proceedings of ICCNS 08 , 27-28 September 2008<br />

lossy, perceptual compressi<strong>on</strong> Algorithms,<br />

such as the <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> St<strong>and</strong>ards<br />

Organizati<strong>on</strong> Moti<strong>on</strong> Pictures Expert Group—<br />

Audio (ISO MPEG-AUDIO) perceptual<br />

encoding st<strong>and</strong>ard. These representati<strong>on</strong>s<br />

drastically change the statistics of the signal;<br />

they preserve <strong>on</strong>ly the characteristics that a<br />

listener perceives (i.e., it will sound similar to<br />

the original, even if the signal is completely<br />

different in a least squares sense).<br />

4 Methods of Audio Steganography<br />

This secti<strong>on</strong> presents some comm<strong>on</strong> methods<br />

used in audio steganography. Many software<br />

implementati<strong>on</strong>s of these methods are<br />

available <strong>on</strong> the Web <strong>and</strong> are listed in the<br />

Links secti<strong>on</strong>. Some of the latter methods<br />

require previous knowledge of signal<br />

processing techniques, Fourier analysis, <strong>and</strong><br />

other areas of high-level mathematics. Figures<br />

<strong>and</strong> pseudocode are used in place of exact<br />

mathematical formulas in attempts to make the<br />

theory more accessible to readers possessing<br />

just a basic knowledge of steganography.<br />

1. 1.LSB coding 2. Parity coding 3. Phase<br />

coding 4.Spread spectrum 5. Echo hiding 6.<br />

Audio Steganography Evaluati<strong>on</strong><br />

audio file. By substituting the least significant<br />

bit of each sampling point with a binary<br />

message, LSB coding allows for a large<br />

amount of data to be encoded. The following<br />

diagram illustrates how the message 'HEY' is<br />

encoded in a 16-bit CD quality sample using<br />

the LSB method. In LSB coding, the ideal<br />

data transmissi<strong>on</strong> rate is 1 kbps per 1 kHZ. In<br />

some implementati<strong>on</strong>s of LSB coding,<br />

however, the two least significant bits of a<br />

sample are replaced with two message bits.<br />

This increases the amount of data that can be<br />

encoded but also increases the amount of<br />

resulting noise in the audio file as well. Thus,<br />

<strong>on</strong>e should c<strong>on</strong>sider the signal c<strong>on</strong>tent before<br />

deciding <strong>on</strong> the LSB operati<strong>on</strong> to use. For<br />

example, a sound file that was recorded in a<br />

bustling subway stati<strong>on</strong> would mask low-bit<br />

encoding noise.<br />

4.1 The Basic Idea of LSB Embedding<br />

The c<strong>on</strong>cept of LSB Embedding is<br />

simple. It exploits the fact that the level of<br />

precisi<strong>on</strong> in many image formats is far greater<br />

than that perceivable by average human visi<strong>on</strong>.<br />

Therefore, an altered image with slight<br />

variati<strong>on</strong>s in its colors will be<br />

indistinguishable from the original by a human<br />

being, just by looking at it. By using the least<br />

significant bits of the pixels’ color data to<br />

store the hidden message, the image itself will<br />

seem unaltered.<br />

4.2 LSB Encoding<br />

Least significant bit (LSB) coding is the<br />

simplest way to embed informati<strong>on</strong> in a digital<br />

Fig 6 LSB Encoding<br />

On the other h<strong>and</strong>, the same noise would be<br />

audible in a sound file c<strong>on</strong>taining a piano solo.<br />

To extract a secret message from an LSB<br />

encoded sound file, the receiver needs access<br />

to the sequence of sample indices used in the<br />

embedding process. Normally, the length of<br />

the secret message to be encoded is smaller<br />

than the total number of samples in a sound<br />

file. One must decide then <strong>on</strong> how to choose<br />

the subset of samples that will c<strong>on</strong>tain the<br />

secret message <strong>and</strong> communicate that decisi<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 377


Proceedings of ICCNS 08 , 27-28 September 2008<br />

to the receiver. One trivial technique is to start<br />

at the beginning of the sound file <strong>and</strong> perform<br />

LSB coding until the message has been<br />

completely embedded, leaving the remaining<br />

samples unchanged. This creates a security<br />

problem, however in that the first part of the<br />

sound file will have different statistical<br />

properties than the sec<strong>on</strong>d part of the sound<br />

file that was not modified. One soluti<strong>on</strong> to this<br />

problem is to pad the secret message with<br />

r<strong>and</strong>om bits so that the length of the message<br />

is equal to the total number of samples. Yet<br />

now the embedding process ends up changing<br />

far more samples than the transmissi<strong>on</strong> of the<br />

secret required. This increases the probability<br />

that a would-be attacker will suspect secret<br />

communicati<strong>on</strong>.<br />

A more sophisticated approach is to use a<br />

pseudor<strong>and</strong>om number generator to spread the<br />

message over the sound file in a r<strong>and</strong>om<br />

manner. One popular approach is to use the<br />

r<strong>and</strong>om interval method, in which a secret key<br />

possessed by the sender is used as a seed in a<br />

pseudor<strong>and</strong>om number generator to create a<br />

r<strong>and</strong>om sequence of sample indices. The<br />

receiver also has access to the secret key <strong>and</strong><br />

knowledge of the pseudor<strong>and</strong>om number<br />

generator, allowing the r<strong>and</strong>om sequence of<br />

sample indices to be rec<strong>on</strong>structed. Checks<br />

must be put in place, however, to prevent the<br />

pseudor<strong>and</strong>om number generator from<br />

generating the same sample index twice. If this<br />

happened, a collisi<strong>on</strong> would occur where a<br />

sample already modified with part of the<br />

message is modified again. The problem of<br />

collisi<strong>on</strong>s can be overcome by keeping track of<br />

all the samples that have already been used.<br />

Another approach is to calculate the subset of<br />

samples via a pseudor<strong>and</strong>om permutati<strong>on</strong> of<br />

the entire set through the use of a secure hash<br />

functi<strong>on</strong>. This technique insures that the same<br />

index is never generated more than <strong>on</strong>ce.<br />

5 Advantages <strong>and</strong> Disadvantages of LSB<br />

Encoding<br />

LSB Embedding has the advantage that it is<br />

simple to implement. It also allows for a<br />

relatively high payload, carrying <strong>on</strong>e bit of the<br />

secret message per byte of frame data. In<br />

additi<strong>on</strong>, it is also seemingly undetectable by the<br />

average human if d<strong>on</strong>e right. However, the<br />

assumpti<strong>on</strong> has been that the stego-audio file is<br />

indistinguishable from the original cover audio<br />

file by the human ear. There have been many<br />

statistical techniques developed to determine if<br />

an audio file has been subjected to LSB<br />

Embedding. The major disadvantage of this<br />

technique is that because of its simplicity the<br />

attacker will suspect secret communicati<strong>on</strong>.<br />

Reference:<br />

[1l M. Bosi, K. Br<strong>and</strong>enburg, Sch. Quackenbush, L.<br />

Fielder, K. Akagiri, H. Fuchs, M. Dietz, J. Herre, G.<br />

Davids<strong>on</strong>, <strong>and</strong> Yoshiaki Oikawa. ISO/IEC MPEG-2<br />

Advanced Audio Coding. In Proc. of the 101st AES-<br />

C<strong>on</strong>venti<strong>on</strong>, 1996. Preprint 4382.<br />

[2] K. Br<strong>and</strong>enburg <strong>and</strong> Marina Bosi. Overview of<br />

MPEG audio: Current <strong>and</strong> future st<strong>and</strong>ards for low bitrate<br />

audio coding. J. Audio Eng. Soc., 45(1/2):4 –21,<br />

January/February 1997.<br />

[3] K. Br<strong>and</strong>enburg <strong>and</strong> G. Stoll. ISO-MPEG-1 Audio: a<br />

generic st<strong>and</strong>ard for coding of high quality digital audio.<br />

In N. Gilchrist <strong>and</strong> Ch. Grewin, editors, Collected Papers<br />

<strong>on</strong> Digial Audio Bit-Rate Reducti<strong>on</strong>, pages 31 – 42. AES,<br />

1996.<br />

[4] C. Colomes, C. Schmidmer, <strong>and</strong> W.C. Treurniet.<br />

Perceptual-quality assessment for digital audio: Peaq –<br />

the proposed itu st<strong>and</strong>ard for objective measurement of<br />

perceived audio quality. In Proceedings of the AES 17th.<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, 1999.<br />

[5] MPEG. Coding of moving pictures <strong>and</strong> associated<br />

audio for digital storage media at up to 1.5 Mbit/s, part 3:<br />

Audio. <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> St<strong>and</strong>ard IS 11172-3, ISO/IEC<br />

JTC1/SC29 WG11, 1992.<br />

[6] MPEG. Informati<strong>on</strong> technology — generic coding of<br />

moving pictures <strong>and</strong> associated audio, part 3: Audio.<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> St<strong>and</strong>ard IS 13818–3, ISO/IEC JTC1/SC29<br />

WG11, 1994. AES 17<br />

[7] MPEG. MPEG–2 advanced audio coding, AAC.<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> St<strong>and</strong>ard IS 13818–7, ISO/IEC JTC1/SC29<br />

WG11, 1997.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 378


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Imperceptible <strong>and</strong> Robust Data Hiding<br />

Suresh N. Mali, Rajesh M. Jalnekar, Mahesh R.Dube<br />

Abstract— This paper represents secured n<strong>on</strong> blind<br />

steganographic scheme for gray scale images, providing robustness<br />

against a set of attacks. The embedding is designed to achieve<br />

efficient tradeoffs am<strong>on</strong>g the three c<strong>on</strong>flicting goals of maximizing<br />

informati<strong>on</strong>-embedding rate, minimizing distorti<strong>on</strong> between the<br />

cover image <strong>and</strong> stego image <strong>and</strong> maximizing the robustness of the<br />

embedding. Though the proposed scheme is n<strong>on</strong> blind<br />

steganographic scheme, it is highly robust with minimum distorti<strong>on</strong><br />

in stego image. Experimental results show that the proposed scheme<br />

not <strong>on</strong>ly increases the perceptual <strong>and</strong> statistical properties of the<br />

stego-image but also robust against various image manipulati<strong>on</strong><br />

attacks such as image compressi<strong>on</strong>, resizing <strong>and</strong> tampering attacks.<br />

Keywords—Steganography, data hiding, embedding-rate,<br />

distorti<strong>on</strong>, cover image, stego image, robustness, attacks.<br />

T<br />

I. INTRODUCTION<br />

HERE are several techniques which have been proposed<br />

in the literature that hides informati<strong>on</strong> in images [1]–[4].<br />

Breaking a steganographic system has two stages [5]:<br />

1) The attacker can detect usage of Steganography.<br />

2) Attacker is able to read the embedded message.<br />

A steganographic system is insecure if the detecti<strong>on</strong> of<br />

steganography is possible (first stage). The three primary<br />

attributes of steganographic scheme are imperceptibility,<br />

capacity <strong>and</strong> robustness [6]-[7]. The imperceptibility is the<br />

level of c<strong>on</strong>cealment, which prevents the attacker from being<br />

distinguish between a modified (stego) image <strong>and</strong> an<br />

unmodified original (cover) image. It incorporates both<br />

minimizing the visual distorti<strong>on</strong> as well as statistical variati<strong>on</strong>s<br />

in stego image. The measure of visual distorti<strong>on</strong> <strong>and</strong> statistical<br />

variati<strong>on</strong>s indicated in this paper are the peak signal to noise<br />

ratio (PSNR) <strong>and</strong> histogram variati<strong>on</strong>.<br />

Manuscript received May 14, 2008. This work was supported by Technical<br />

Educati<strong>on</strong> Quality Improvement Program (TEQIP), a world bank assisted<br />

project.<br />

Suresh N. Mali is working as Assistant Professor in Department of<br />

<strong>Computer</strong> Engineering, Vishwakarma Institute of Technology, Pune (India).<br />

(Corresp<strong>on</strong>ding author ph<strong>on</strong>e: 9890009182; Fax: 91-20-24280926; e-mail:<br />

snmali@rediffmail.com).<br />

Rajesh M. Jalnekar is working as Professor <strong>and</strong> Dean Academics in<br />

Vishwakarma Institute of Technology, Pune (India). (e-mail: e-mail:<br />

rajesh_jalnekar@yahoo.com).<br />

Mahesh R. Dube is working as Assistant Professor in Department of<br />

<strong>Computer</strong> Engineering, Vishwakarma Institute of Technology, Pune (India) (<br />

e-mail: mahesh.dube@vit.edu).<br />

While designing image data hiding scheme to hide text<br />

informati<strong>on</strong> in an image, a critical requirement is high<br />

imperceptibility followed by high capacity. This is because the<br />

attacker must not be able to discern, or suspect the presence of<br />

any hidden informati<strong>on</strong> in an image. Robustness is important<br />

in scenarios where the attacker can modify the cover.<br />

Unfortunately, if we try to increase the capacity,<br />

imperceptibility decreases. This is because of embedding more<br />

<strong>and</strong> more informati<strong>on</strong> at the cost of cover image distorti<strong>on</strong>.<br />

The visi<strong>on</strong> for this paper is to address <strong>and</strong> solve this problem.<br />

If ASCII code is used to represent all characters of the text<br />

informati<strong>on</strong>, the binary stream to be embedded will need more<br />

number of bits. However, if we c<strong>on</strong>vert all alphabetic characters<br />

into capital characters, then coding is necessary <strong>on</strong>ly for capital<br />

characters, numeric characters <strong>and</strong> few special characters to<br />

represent text. This in tern will not <strong>on</strong>ly reduces the number of<br />

bits to represent each character but also eventually increases the<br />

data hiding capacity. Further, if we c<strong>on</strong>sider the relative<br />

frequencies of occurrence of characters in English, code can be<br />

assigned more effectively [8]-[9]. Data embedding is d<strong>on</strong>e in the<br />

transform domain using Discrete Cosine Transform (DCT), with<br />

the set of transform coefficients in the low <strong>and</strong> mid frequency<br />

b<strong>and</strong>s selected as possible c<strong>and</strong>idates for embedding (these are<br />

preserved better under compressi<strong>on</strong> attacks than high frequency<br />

coefficients). Image-adaptive criteria in additi<strong>on</strong> to statistical<br />

criteria based <strong>on</strong> informati<strong>on</strong> theory [10] have been used to limit<br />

perceivable distorti<strong>on</strong> while hiding large amounts of data. The<br />

approach is based <strong>on</strong> the idea of not disturbing the sensitive<br />

coefficients so as to achieve good image quality without<br />

compromising robustness. The number of bits hidden is<br />

determined dynamically by the scheme based <strong>on</strong> the cover<br />

image c<strong>on</strong>tent. During the process of embedding logical ‘<strong>on</strong>e’<br />

modifies the DCT coefficient by ∆ <strong>and</strong> logical ‘zero’ keeps DCT<br />

coefficient unchanged. Therefore, the character code having<br />

more number of 1’s affects the image significantly.<br />

Relative to the preceding methods, a key novelty of our<br />

approach is that the designed coding framework modifies very<br />

less number of DCT coefficients which eventually increases<br />

the perceptual <strong>and</strong> the statistical properties of a cover image.<br />

The <strong>on</strong>ly c<strong>on</strong>siderable drawback of this scheme is the<br />

requirement of original image at the receiving end which has<br />

to be provided through secured channel. However, for the<br />

applicati<strong>on</strong>s such as data hiding in medical images, fingerprint<br />

images, photograph pictures robustness is of more c<strong>on</strong>cern<br />

than that of security.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 379


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The main ingredients of the designed embedding scheme are<br />

as follows:<br />

1) The text informati<strong>on</strong> is embedded in transform domain<br />

(DCT), with a set of transform coefficients in the low<br />

<strong>and</strong> mid frequency b<strong>and</strong>s selected as possible<br />

c<strong>and</strong>idates for embedding (these are preserved better<br />

under compressi<strong>on</strong> attacks than high frequency<br />

coefficients)[10].<br />

2) A novel feature of designed scheme is the modificati<strong>on</strong><br />

of very few DCT coefficients while embedding coded<br />

bits of text characters. This will not degrade the cover<br />

heavily <strong>and</strong> in tern gives less distorti<strong>on</strong> in stego image.<br />

3) The embedding capacity is increased due to use of <strong>on</strong>ly<br />

capital letters, alphanumeric characters <strong>and</strong> few special<br />

characters reduce the number of coded bits.<br />

4) Even the receiver does not have explicit knowledge of<br />

the locati<strong>on</strong>s where the informati<strong>on</strong> is hidden. The<br />

embedding key decides various parameters <strong>and</strong><br />

receiver guess these locati<strong>on</strong>s. Therefore, the scheme is<br />

highly secured due to multiple levels of security.<br />

5) Additi<strong>on</strong> of redundancy in embedded informati<strong>on</strong> <strong>and</strong><br />

interleaving will spread the coded bits all over the<br />

image. This will increase the robustness against image<br />

tampering attacks.<br />

6) Use of JPEG quantizati<strong>on</strong> matrix while selecting the<br />

coefficient for embedding the text informati<strong>on</strong> will<br />

increase the robustness against JPEG attack.<br />

Energy thresholding (ET) scheme employed by Kaushal<br />

Solanki [10] for deciding 8 x 8 blocks for embedding text<br />

informati<strong>on</strong> have been used. However, the value of energy<br />

threshold is decided by the embedding key al<strong>on</strong>g with<br />

r<strong>and</strong>omizati<strong>on</strong>, JPEG quality factor <strong>and</strong> redundancy.<br />

The embedding key plays an important role in deciding various<br />

embedding parameters as shown in figure 1.<br />

Fig. 1 Embedding Key<br />

The parameters decided by the embedding key are as follows:<br />

1) Text Encrypti<strong>on</strong>: It assigns code to the text characters<br />

may be either ASCII code or a designed codes<br />

c<strong>on</strong>sidering frequency of occurrence of characters [8]<br />

in English text (F-code).<br />

2) Valid Block Selecti<strong>on</strong>: It computes energy threshold<br />

value w.r.t. Mean value of Energy to decide valid<br />

blocks [10].<br />

3) R<strong>and</strong>omizati<strong>on</strong>: It gives seed of r<strong>and</strong>om number<br />

generati<strong>on</strong> which in tern selects valid blocks r<strong>and</strong>omly.<br />

4) Redundancy: It selects the number of times the<br />

embedded bits repeated in embedding bit stream (<br />

1/2/3…).<br />

5) JPEG Quantizati<strong>on</strong>: It selects the Quality factor of the<br />

Stego image (1 to 100) corresp<strong>on</strong>ding quality of stego<br />

image. Here, 100 means best quality image.<br />

6) Interleaving: It selects the nature of spreading the<br />

stream of bits into the entire cover image.<br />

The rest of the paper is organized as follows:<br />

Secti<strong>on</strong> II gives an overall idea about proposed embedding<br />

scheme <strong>and</strong> how embedding key plays an important role in<br />

deciding embedding parameters. Secti<strong>on</strong> III focuses <strong>on</strong> text<br />

processing phase necessary for compressi<strong>on</strong> of code assigned<br />

to the text characters. Secti<strong>on</strong> IV is dedicated to experimental<br />

results of effect of encrypti<strong>on</strong> method adopted, perceptual<br />

transparency, effect of energy threshold, effect of JPEG<br />

quality factor <strong>and</strong> histogram variati<strong>on</strong>s in stego with respect to<br />

cover. The secti<strong>on</strong> also dem<strong>on</strong>strates performance of shame<br />

under JPEG compressi<strong>on</strong>, image resizing <strong>and</strong> image<br />

tampering attacks.<br />

II. PROPOSED EMBEDDING SCHEME<br />

The proposed data hiding scheme c<strong>on</strong>sist of two phases as<br />

shown in figure 2. Text processing phase makes the text<br />

informati<strong>on</strong> ready for embedding in the cover image whereas<br />

image processing phase actually embeds the informati<strong>on</strong><br />

provided by the text processing phase.<br />

Fig. 2 Overview of designed Embedding Scheme<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 380


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The receiver must have the decoding algorithm al<strong>on</strong>g with<br />

this embedding key <strong>and</strong> the original image to extract the<br />

embedded informati<strong>on</strong>. At the receiving end a similar<br />

image processing phase has to be carried out to determine<br />

valid blocks (VB) <strong>and</strong> valid coefficients (VC) of stego<br />

image <strong>and</strong> cover image. By comparing the VCs, we can<br />

extract the embedded bit stream. After removing the<br />

redundancy, we can extract the embedded informati<strong>on</strong> in<br />

terms of characters.<br />

III. TEXT AND IMAGE PROCESSING PHASES<br />

The frequency of characters in text messages has often<br />

been studied for use in cryptography [8]. An exact analysis<br />

of this is not feasible, as each pers<strong>on</strong> writes slightly<br />

differently. However, an approximate ordering of English<br />

characters by frequency of use is ETAOIN SHRDL<br />

UCMFG YPWBV KXJQZ as shown in the Table I.<br />

During the process of assigning the codes to text characters,<br />

significant care has been taken. Characters having more<br />

frequency of occurrence in given text must have codes (Fcode)<br />

with less number of 1’s, as it will not degrade the stego<br />

image heavily. Character analysis of text messages shows that<br />

‘space’ is most frequently occurring character than any other<br />

characters in any text<br />

TABLE I<br />

FREQUENCY OF CHARACTERS IN TEXT<br />

Cha. Freq. Cha. Freq. Cha. Freq.<br />

‘space’ 0.16635 M 0.02042 2 0.00176<br />

E 0.09439 P 0.02004 J 0.00149<br />

T 0.07065 F 0.01835 Q 0.00130<br />

A 0.05930 G 0.01551 9 0.00125<br />

O 0.05761 B 0.01308 7 0.00105<br />

I 0.05749 Y 0.01086 3 0.00103<br />

S 0.05474 W 0.01036 Z 0.00101<br />

N 0.05460 . 0.00944 0 0.00092<br />

R 0.04923 , 0.00903 4 0.00075<br />

H 0.03558 V 0.00748 8 0.00070<br />

‘CR,LF’> 0.03112 K 0.00401 5 0.00063<br />

L 0.03065 - 0.00305 6 0.00053<br />

C 0.02879 1 0.00291 / 0.00023<br />

D 0.02642 x 0.00253<br />

U 0.02147 0.00189<br />

Therefore, a code assign to a character ‘space’ should not<br />

have more number of 1’s. Table II is an example of<br />

assigning such a code during the process of encrypti<strong>on</strong>.<br />

Figure 3 shows the comparis<strong>on</strong> of code assigned to the text<br />

characters. The image processing phase is based <strong>on</strong><br />

embedding hidden data in r<strong>and</strong>omly generated sequence of<br />

middle frequency b<strong>and</strong> coefficients of cover image in DCT<br />

domain. The embedding algorithm c<strong>on</strong>sists of energy<br />

thresholding [10], quantizati<strong>on</strong> using quantizati<strong>on</strong> matrix.<br />

It can be observed that compared to ASCII if we assign F-<br />

code, the major distributi<strong>on</strong> reduces to span of 0 to 32 as<br />

shown in figure 3.<br />

TABLE II<br />

F-CODE IN ENCRYPTION PROCESS<br />

Character ASCII F-Code<br />

Space 32 0<br />

A-Z. 0-9 65-90 1-36<br />

10 & 13 37,38<br />

, 44 39<br />

. 46 40<br />

63 41<br />

‘ 39 42<br />

! 33 43<br />

( 40 44<br />

) 41 45<br />

“ 34 46<br />

: 58 47<br />

% 37 48<br />

& 38 49<br />

+ 43 50<br />

- 45 51<br />

* 42 52<br />

Fig. 3 Comparis<strong>on</strong> of code assigned to the text characters<br />

IV. EXPERIMENTATION<br />

Experimentati<strong>on</strong> is performed to check increase in data<br />

hiding capacity <strong>and</strong> robustness of the scheme under various<br />

attacks (intenti<strong>on</strong>al <strong>and</strong> unintenti<strong>on</strong>al). Peak Signal to<br />

Noise Ratio (PSNR) <strong>and</strong> histogram variati<strong>on</strong>s are used as<br />

the perceptual <strong>and</strong> statistical measure respectively to<br />

quantify the quality of the Stego image. It can be observed<br />

that increase in data hiding capacity is the result of saving<br />

the number of bits while coded the characters (F-code).<br />

Redundancy <strong>and</strong> interleaving is used to spread the<br />

informati<strong>on</strong> in entire cover which in tern increase the<br />

robustness of the embedding scheme adopted.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 381


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. Effect of effective Encrypti<strong>on</strong><br />

F-code will not degrade the stego image heavily. Table III<br />

gives experimental result of encrypti<strong>on</strong> of various text files<br />

having number of characters 1000 to 6000. It shows that<br />

the percentage number of 1’s is drastically getting reduced.<br />

TABLE III<br />

PERCENTAGE NUMBER OF 1’S IN BIT STREAM AFTER CODE ASSIGNMENT<br />

Name of<br />

the Text<br />

File<br />

# Number of<br />

Characters<br />

Percentage Number of 1s in bit<br />

stream after assigning code<br />

ASCII F- Code<br />

Text_11 1000 35.80 20.03<br />

Text_12 2000 35.65 19.78<br />

Text_13 3000 35.73 19.71<br />

Text_14 4000 35.96 20.09<br />

Text_15 5000 35.94 20.06<br />

Text_16 6000 35.97 20.07<br />

Fig. 5 (a) Original babo<strong>on</strong> image, (b) Stego babo<strong>on</strong> image<br />

The difference in fixed DCT method <strong>and</strong> proposed<br />

method is not noticeable at normal size. To visualize the<br />

difference, a small porti<strong>on</strong> of the image is zoomed out in<br />

figure 6. Noticeable distorti<strong>on</strong>s can be observed in<br />

embedding with fixed DCT coefficients as compared to<br />

distorti<strong>on</strong>s in embedding with local image-adaptive criteria.<br />

Also the number of coding bits (h ) per character must be<br />

as small as possible. The encrypted code c<strong>on</strong>sists of 6 bit<br />

per character as that of 7 bits per character in case of ASCII<br />

code. Hence, we are saving 1 bit per character. After the<br />

process of encrypti<strong>on</strong> we are adding redundancy ( r ) bits<br />

per coded bit. This is for the robust recovery of embedded<br />

informati<strong>on</strong>. Therefore, the total number of bits saved will<br />

be ( h r)<br />

. Figure 4 shows massive number of bits that are<br />

saved because of such a effective encrypti<strong>on</strong>. The saving<br />

bits are increases as we increase the redundancy which is<br />

normally the requirement for robustness attacks. Effective<br />

encrypti<strong>on</strong> will not <strong>on</strong>ly save the number of bits that are<br />

needed to be embedded but also increases the hiding<br />

capacity <strong>and</strong> also increases PSNR for the same hiding<br />

capacity.<br />

Fig. 4 Number of bits saved with effective encrypti<strong>on</strong>.<br />

B. Perceptual Transparency<br />

Figure 5 (b) shows the 512 x 512 babo<strong>on</strong> image with<br />

38,430 bits embedded using this scheme at quality factor<br />

50.<br />

Fig. 6 Noticeable distorti<strong>on</strong>s can be observed in embedding<br />

with fixed DCT coefficients<br />

Applying local image-adaptive criteria [10] is much<br />

essential while embedding text informati<strong>on</strong> in images as it<br />

avoids suspici<strong>on</strong> of attacker towards image. This in tern<br />

prevents the image from getting attacked by the attacker.<br />

Peak Signal to Noise Ratio (PSNR) is used as a perceptual<br />

measure to quantify the quality of the Stego-image. PSNR<br />

is given by an equati<strong>on</strong><br />

2<br />

⎛ 255 ⎞<br />

PSNR = 10 log<br />

⎜<br />

⎟<br />

(1)<br />

10<br />

⎝ MSE ⎠<br />

MSE st<strong>and</strong>s for average mean squared error between the<br />

original cover image <strong>and</strong> the stego image. In order to<br />

minimize the visible effect of changes to pixel values<br />

(distorti<strong>on</strong>), the value of PSNR of stego image must be as<br />

high as possible. Table IV shows the comparis<strong>on</strong> of PSNR<br />

with embedding in fixed DCT coefficients <strong>and</strong> embedding<br />

in local image-adaptive criteria with designed scheme.<br />

Fixed number of bits is embedded in all the three methods.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 382


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Image<br />

TABLE IV<br />

PSNR FOR EMBEDDING WITH F-CODE AND LOCAL IMAGE-ADPATIVE<br />

CRITERIA<br />

PSNR for Embedding with<br />

ASCII character <strong>and</strong> fixed<br />

DCT Coefficient<br />

PSNR for Embedding with<br />

F-code <strong>and</strong> local imageadaptive<br />

criteria<br />

Peppers 56.20 58.15<br />

Babo<strong>on</strong> 66.44 67.62<br />

Lena 56.21 58.00<br />

Bridge 63.01 64.00<br />

Boat 59.74 60.83<br />

Barbara 61.40 64.90<br />

C. Effect of Energy Threshold Factor (w)<br />

Energy threshold factor (w) plays an important role in<br />

deciding PSNR of stego image. Figure 7 shows variati<strong>on</strong> in<br />

PSNR with respect to energy threshold factor. As this<br />

factor decrease, more number of valid blocks <strong>and</strong> valid<br />

DCT coefficient will be available at the cost of PSNR.<br />

E. Histogram variati<strong>on</strong><br />

A histogram is often used to describe the data distributi<strong>on</strong>.<br />

The most comm<strong>on</strong> form of the image histogram is obtained<br />

by splitting the range of sample values into equal-sized<br />

bins. Then, the number of sample from the image that falls<br />

into each bin is counted. The style of histogram may be<br />

described by<br />

= { h ( i)<br />

i = 1, 2, .......256 }<br />

H (2)<br />

where H is a vector denoting the volume-level histogram<br />

F = f ( i)<br />

i = 1, 2, ....... N <strong>and</strong><br />

of intensity signal { }<br />

h ( i),<br />

h(<br />

i)<br />

≥ 0 denotes the number of samples in i<br />

th bin<br />

256<br />

<strong>and</strong> satisfy ∑ =<br />

( i)<br />

= N<br />

i<br />

1<br />

h .<br />

Figure 9 shows histogram of Cover image <strong>and</strong> Stego image<br />

<strong>and</strong> also the difference between the values while using<br />

fixed DCT coefficient method with ASCII code. Figure 10<br />

shows histogram of Cover image <strong>and</strong> Stego image <strong>and</strong> also<br />

the difference between the values while using designed<br />

embedding scheme with F-code.<br />

Fig. 7 PSNR w.r.t. energy threshold factor (w)<br />

D. Effect of Quality Factor (QF)<br />

The JPEG quality factor chosen during the process of<br />

embedding also have a impact <strong>on</strong> PSNR. Figure 8 shows<br />

variati<strong>on</strong> of PSNR with respect to energy threshold factor<br />

for various values of quality factors. One can reduce QF to<br />

get maximum JPEG compressi<strong>on</strong> that the hidden image is<br />

supposed to survive.<br />

Fig.9 Histogram variati<strong>on</strong>s using Fixed DCT coefficient<br />

method with ASCII code<br />

Fig. 8 Variati<strong>on</strong> in PSNR w.r.t. energy threshold factor (w)<br />

for various values of quality factor (QF).<br />

Fig.10 Histogram variati<strong>on</strong>s using designed scheme with<br />

F-code<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 383


Proceedings of ICCNS 08 , 27-28 September 2008<br />

F. JPEG compressi<strong>on</strong> Attack<br />

Digital images with hidden c<strong>on</strong>tent may be compressed as it<br />

changes h<strong>and</strong>s, or as it goes over a low b<strong>and</strong>width link of a<br />

wireless network. The scheme is designed to survive JPEG<br />

compressi<strong>on</strong> less than the quality factor chosen while<br />

embedding. Table V shows the performance of the scheme<br />

under JPEG compressi<strong>on</strong> attack at different quality factors.<br />

TABLE V<br />

PERFORMANCE WITH AND WITHOUT ERROR CORRECTION OF ET SCHEME<br />

UNDER JPEG ATTACK AT VARIOUS QUALITY FACTORS<br />

QF<br />

Without Redundancy<br />

Attack<br />

compressi<strong>on</strong><br />

Number of<br />

bits<br />

embedded<br />

With Redundancy=3<br />

Attack<br />

compressi<strong>on</strong><br />

Number<br />

of bits<br />

embedded<br />

25 16:1 9120 19:1 3230<br />

50 11:1 14360 13:1 4630<br />

75 6:1 18790 7:1 6310<br />

G. Image Resizing Attack<br />

In image resizing attack, image is shrunk to a smaller size<br />

<strong>and</strong> scaled back to its original size. During this process,<br />

there is possibility of loss of informati<strong>on</strong>. Table VI shows<br />

the performance under image resizing attack using bicubic<br />

interpolati<strong>on</strong> <strong>and</strong> Table VII shows the performance using<br />

nearest neighbor <strong>and</strong> bilinear interpolati<strong>on</strong>.<br />

TABLE VI<br />

PERFORMANCE OF SCHEME AT QF=25 FOR 512 X 512 LENA IMAGE UNDER<br />

RESIZING ATTACK USING BICUBIC INTERPOLATION<br />

Percentage Resizing Number of bits<br />

embedded<br />

Redundancy<br />

Required<br />

10 % 4,768 1/3<br />

15 % 4,768 1/3<br />

20 % 4,768 1/3<br />

25% 2,750 1/5<br />

30% 1,920 1/7<br />

TABLE VII<br />

PERFORMANCE OF SCHEME AT QF = 25 FOR 512 X 512 LENA IMAGE UNDER<br />

RESIZING ATTACK USING NEAREST NEIGHBOUR / BILINEAR INTERPOLATION<br />

Percent<br />

Resizing<br />

Nearest neighbor<br />

interpolati<strong>on</strong><br />

Number of Redundancy<br />

Bits<br />

Bilinear<br />

Interpolati<strong>on</strong><br />

Number of Redundancy<br />

Bits<br />

2 % 2840 1/5 1544 1/9<br />

5 % 2840 1/5 1158 1/12<br />

10 % 2008 1/7 1158 1/12<br />

H. Image Tampering<br />

The hiding scheme presented here is resilient to image<br />

tampered in various ways. The Table VIII gives the number<br />

of bits hidden in 512x512 Lena image for various values of<br />

percentage tampering. In spite of malicious tampering of<br />

the image, all the embedded bits were recovered<br />

successfully after the attack.<br />

TABLE VIII<br />

PERFORMANCE OF SCHEME AT QF = 25 FOR 512 X 512 LENA IMAGE UNDER<br />

IMAGE TAMPERING ATTACK<br />

Percentage of image Number of Redundancy<br />

tampered<br />

bits<br />

10 % 4,135 1/3<br />

20 % 2,560 1/5<br />

30 % 2,560 1/5<br />

50% 1,475 1/9<br />

VI. CONCLUSION<br />

Many attacks to security c<strong>on</strong>stitute a first step towards<br />

performing attacks to robustness. <strong>Security</strong> does not imply<br />

robustness at all. A Steganography scheme can be<br />

extremely secure, in the sense that it is (almost) impossible<br />

for an attacker to estimate the secret key(s), but this does<br />

not necessarily affect the robustness of the system. As we<br />

are using energy thresholding <strong>and</strong> JPEG quantizati<strong>on</strong><br />

matrix for qualifying the coefficients for embedding the<br />

informati<strong>on</strong>, the possibility of loss of informati<strong>on</strong> gets<br />

drastically reduced. However, as level of compressi<strong>on</strong><br />

increases, the number of valid coefficients (VCs) gets<br />

reduced which in tern reduces the data hiding capacity.<br />

Image-adaptive technique with energy thresholding, effective<br />

encrypti<strong>on</strong> to suit the DCT coefficient modulati<strong>on</strong> technique<br />

gives better perceptual <strong>and</strong> statistical results. Effective use of<br />

redundancy <strong>and</strong> interleaving enhances the robustness of the<br />

designed scheme. However, added redundancy is at the cost<br />

of data hiding capacity.<br />

REFERENCES<br />

[1] M. D. Swans<strong>on</strong>, M. Kobayashi, <strong>and</strong> A. H. Tewfik, “Multimedia data<br />

embedding <strong>and</strong> watermarking technologies,” Proc. IEEE, vol. 86, pp.<br />

1064–1087, Oct. 1998.<br />

[2] F. A. P. Petitcolas, R. J. Anders<strong>on</strong>, <strong>and</strong> M. G. Kuhn, “Informati<strong>on</strong><br />

hiding—A survey,” Proc. IEEE, vol. 87, no. 7, pp. 1062–1078, Oct. 1999.<br />

[3] R. B.Wolfgang, C. I. Podilchuk, <strong>and</strong> E. J. Delp, “Perceptual<br />

watermarks for digital images <strong>and</strong> video,” Proc. IEEE, vol. 87, pp. 1108–<br />

1126, Oct. 1999.<br />

[4] Ross J. Anders<strong>on</strong> <strong>and</strong> Fabien AP Petitcolas, “On the limits of<br />

Steganography,” IEEE Journal <strong>on</strong> Selected Areas in Communicati<strong>on</strong>s,<br />

16(4): 474–481, May 1998<br />

[5] J. Zollner, H. Federrath,, H. Klimant, A. Pfitzmann <strong>and</strong> R. Piotraschke,<br />

“Modeling the <strong>Security</strong> of Steganographic Systems,” Proceedings of the<br />

Sec<strong>on</strong>d <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Workshop <strong>on</strong> Informati<strong>on</strong> Hiding, pp.344 – 354,<br />

1998 .<br />

[6] Y. K. Lee <strong>and</strong> L.H. Chen, “ High Capacity image steganographic<br />

model,” IEE Proc.-Vis Image Signal Processing, Vol. 152, No. 6, pp. 288-<br />

294, December 2005.<br />

[7] G. Brisbane, R. Safavi-Naini <strong>and</strong> P. Ogunb<strong>on</strong>a, “High-capacity<br />

Steganography using a shared color palette,” IEE Trans. Image<br />

Processing, vol. 6, pp. 787–792, Dec. 2005.<br />

[8] H. P. Stern, “Compressi<strong>on</strong> Techniques for Mobile Data Terminal<br />

Communicati<strong>on</strong>,” IEEE Trans., pp. 429-432, 1991<br />

[9] C. E. Shann<strong>on</strong>, “Predicti<strong>on</strong> <strong>and</strong> Entropy of Printed English,” Bell<br />

System Technical Journal, pp. 50-64, January 1951.<br />

[10] Kaushal Solanki, Noah Jacobsen, Upamanyu Madhow, B. S.<br />

Manjunath <strong>and</strong> Sivkumar Ch<strong>and</strong>rasekhar, “ Robust Image-Adaptive Data<br />

Hiding Using Erasure <strong>and</strong> Error Correcti<strong>on</strong>,” IEEE Trans. Image<br />

Processing, Vol. 13, No. 12, pp. 1627-1639, Dec. 2004.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 384


Proceedings of ICCNS 08 , 27-28 September 2008<br />

SMS STEGANOGRAPHY BASED ON<br />

ALPHABETS<br />

Mrs. Shimna Balakrishnan, Mr. Pravin M. Kamde, Mrs. Kirti S. Korabu<br />

Abstract— The Short Message Service (SMS) or text messaging<br />

is the most popular <strong>and</strong> an affordable service used <strong>and</strong> adopted<br />

worldwide in mobile ph<strong>on</strong>es today. Now most of the communicati<strong>on</strong><br />

takes place in short forms through this service. It is certainly a bo<strong>on</strong><br />

to the society for easy <strong>and</strong> quick communicati<strong>on</strong>. Steganography, the<br />

latest technology can be used to hide data in SMS to send urgent,<br />

short <strong>and</strong> secret messages very quickly. There are already existing<br />

methods of hiding messages in SMS-Texting using abbreviati<strong>on</strong>s<br />

<strong>and</strong> in the OTA (Over The Air) images. SMS provides the assurance<br />

of sure delivery <strong>and</strong> is therefore a very reliable medium of<br />

communicati<strong>on</strong>. In this proposed idea, we have put forth a new<br />

method of using steganography in SMS communicati<strong>on</strong>. It is based<br />

<strong>on</strong> the English alphabets. We have identified letters with cuts <strong>and</strong><br />

crosses. Now the words using these letters will be encoded as ‘1’<br />

<strong>and</strong> words without these letters will be encoded as ‘0’. When<br />

compared to the existing methods, this method can carry more bytes<br />

of hidden data. It is more flexible <strong>and</strong> can vary depending <strong>on</strong> the<br />

user’s definiti<strong>on</strong> of the secret keys. Like in the already existing<br />

methods, a Steganography program to hide the message <strong>and</strong><br />

extractor program to extract the hidden informati<strong>on</strong> are required.<br />

One more applicati<strong>on</strong> to give flexibility to the user can be added.<br />

Keywords— SMS Steganography, SMS-Texting, OTA (Over the<br />

Air), SMS (Short Message Service)<br />

.<br />

S<br />

I.INTRODUCTION<br />

MS (Short Message Service) is a globally accepted<br />

wireless service that enables the transmissi<strong>on</strong> of<br />

alphanumeric messages between mobile subscribers <strong>and</strong><br />

external systems. SMS are text messages of unto 160<br />

characters.<br />

SMS came into existence in 1991 <strong>and</strong> GSM (Global<br />

System for Mobile Communicati<strong>on</strong>s), the European St<strong>and</strong>ard<br />

for digital wireless included short message services.<br />

SMS may be sent from <strong>on</strong>e point to another point (called<br />

SMS-PP) or to all devices within a specific geographical<br />

regi<strong>on</strong> (called SMS-CB, mainly used to broadcast<br />

informati<strong>on</strong>). SMS works <strong>on</strong> a store-<strong>and</strong>-forward basis <strong>and</strong><br />

are exchanged indirectly through a comp<strong>on</strong>ent known as<br />

SMSC(Short Message Service Center).<br />

The distinguishing characteristics of this service are:<br />

- An active mobile h<strong>and</strong>set can receive/transmit<br />

messages at any time even when a voice call is in<br />

progress.<br />

- Guaranteed message delivery even if the receiving<br />

node is not reachable or switched off.<br />

Mrs. Shimna Balakrishnan, Research Scholar, M.E. [IT] Dept. of Informati<strong>on</strong><br />

Technology, Sinhgad College of Engg, Pune – 41 ph<strong>on</strong>e: +919850488325;<br />

(e-mail: shimna.balakrishnan@rediffmail.com)<br />

Mr. Pravin M Kamde, Asst. Prof, Dept of <strong>Computer</strong> Engg, Sinhgad College<br />

of Engg, Pune-41ph<strong>on</strong>e:919423086500(e-mail: pravin_kamde@rediffmail.com)<br />

Mrs. Kirti S Korabu, Asst. Prof, Dept of Informati<strong>on</strong> Technology, Sinhgad<br />

College of Engg, Pune-41. ph<strong>on</strong>e: +919890029007<br />

- Reliable, low-cost communicati<strong>on</strong> mechanism for<br />

c<strong>on</strong>cise informati<strong>on</strong>.<br />

- E-mail integrati<strong>on</strong><br />

- Creati<strong>on</strong> of user groups<br />

- Delivery of messages to multiple subscribers at a<br />

time<br />

- Integrati<strong>on</strong> with other Internet based applicati<strong>on</strong>s<br />

- Providing various services such as e-commerce<br />

- Receive reports <strong>on</strong> the status of the SMS message or<br />

even define a validity period for the SMS message.<br />

Steganography is the art of hiding informati<strong>on</strong> by<br />

embedding messages within seemingly harmless messages.<br />

Steganography works by replacing bits of useless or unused<br />

data in regular computer files like text, HTML, images, audio<br />

with bits of different, invisible informati<strong>on</strong>. This hidden<br />

informati<strong>on</strong> can be plain/cipher text or images.<br />

An encrypted file may use steganography to hide the<br />

encrypted message. Steganography can be used where<br />

encrypti<strong>on</strong> can not be d<strong>on</strong>e or is not permitted.<br />

. Special software is needed for steganography, <strong>and</strong> there<br />

are freeware versi<strong>on</strong>s available at any good download site.<br />

Steganography (covered writing) dates back to ancient<br />

Greece, where comm<strong>on</strong> practices c<strong>on</strong>sisted of etching<br />

messages in wooden tablets <strong>and</strong> covering them with wax <strong>and</strong><br />

tattooing a shaved messenger's head, letting his hair grow<br />

back, then shaving it again when he arrived at his c<strong>on</strong>tact<br />

point.<br />

The advantage of steganography over cryptography is that<br />

messages do not attract attenti<strong>on</strong> to themselves, to<br />

messengers, or to recipients. An unhidden coded message, no<br />

matter how unbreakable it is, will arouse suspici<strong>on</strong> <strong>and</strong> may<br />

in itself be incriminating, as in countries where encrypti<strong>on</strong> is<br />

illegal. Often, steganography <strong>and</strong> cryptography are used<br />

together to ensure security of the covert message.<br />

A steganographic message (the plaintext) is often first<br />

encrypted by some traditi<strong>on</strong>al means, producing a ciphertext.<br />

Then, a covertext is modified in some way to c<strong>on</strong>tain the<br />

ciphertext, resulting in stegotext. For example, the letter size,<br />

spacing, typeface, or other characteristics of a covertext can<br />

be manipulated to carry the hidden message, it is <strong>on</strong>ly that the<br />

recipient (he must know the technique used) can recover the<br />

message <strong>and</strong> then decrypt it.<br />

Cryptography — the science of writing in secret codes ,<br />

addresses all of the elements necessary for secure<br />

communicati<strong>on</strong> over an insecure channel, namely privacy,<br />

c<strong>on</strong>fidentiality, key exchange, authenticati<strong>on</strong>, <strong>and</strong> n<strong>on</strong>repudiati<strong>on</strong><br />

but does not always provide safe communicati<strong>on</strong>.<br />

The goal of cryptography is to make data unreadable by a<br />

third party <strong>and</strong> the goal of steganography is to hide the data<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 385


Proceedings of ICCNS 08 , 27-28 September 2008<br />

from a third party. This is where steganography gains an edge<br />

over cryptography.<br />

II.OVERVIEW OF EXISTING METHODS<br />

A.TEXT STEGANOGRAPHY<br />

Text Steganography is the most difficult because there is<br />

no redundant informati<strong>on</strong> in a text file as compared with a<br />

picture or a sound file. In text documents, the structure is<br />

identical to what we see but in images, the structure of the file<br />

is different from what we see. Therefore, it is easy to hide<br />

informati<strong>on</strong> in image/sound files than in text.<br />

Text documents occupy lesser memory space,<br />

communicate more informati<strong>on</strong> <strong>and</strong> are cheaper than other<br />

file formats.<br />

a) Word Shifting Method<br />

In word-shift coding, codewords are coded into a<br />

document by shifting the horiz<strong>on</strong>tal locati<strong>on</strong>s of words within<br />

text lines, while maintaining a natural spacing appearance.<br />

This encoding can also be applied to either the format file or<br />

the page image bitmap. The method, of course, is <strong>on</strong>ly<br />

applicable to documents with variable spacing between<br />

adjacent words, such as in documents that have been textjustified.<br />

As a result of this variable spacing, it is necessary to<br />

have the original image, or to at least know the spacing<br />

between words in the not encoded document.<br />

b) Line Shifting Method<br />

In this method, text lines are vertically shifted to encode<br />

the document uniquely. Encoding <strong>and</strong> decoding can generally<br />

be applied either to the format file of a document, or the<br />

bitmap of a page image.<br />

By moving every sec<strong>on</strong>d line of document either 1/300 of<br />

an inch up or down, line-shift coding worked particularly<br />

well, <strong>and</strong> documents could still be completely decoded, even<br />

after the tenth photocopy.<br />

However, this method is probably the most visible text<br />

coding technique to the reader. Also, line-shift encoding can<br />

be defeated by manual or automatic measurement of the<br />

number of pixels between text baselines. R<strong>and</strong>om or uniform<br />

respacing of the lines can damage any attempts to decode the<br />

codeword.<br />

c) Feature Coding Method<br />

A third method of coding data into text suggested by<br />

Brassil et al. is known as feature coding. This is applied<br />

either to the bitmap image of a document, or to a format file.<br />

In feature coding, certain text features are altered, or not<br />

altered, depending <strong>on</strong> the codeword. For example, <strong>on</strong>e could<br />

encode bits into text by extending or shortening the upward,<br />

vertical end lines of letters such as b, d, h, etc. Generally,<br />

before encoding, feature r<strong>and</strong>omizati<strong>on</strong> takes place. That is,<br />

character end line lengths would be r<strong>and</strong>omly lengthened or<br />

shortened, then altered again to encode the specific data. This<br />

removes the possibility of visual decoding, as the original end<br />

line lengths would not be known. Of course, to decode, <strong>on</strong>e<br />

requires the original image, or at least a specificati<strong>on</strong> of the<br />

change in pixels at a feature.<br />

Due to the frequently high number of features in<br />

documents that can be altered, feature coding supports a high<br />

amount of data encoding. Also, feature encoding is largely<br />

indiscernible to the reader. Finally, feature encoding can be<br />

applied directly to image files, which leaves out the need for a<br />

format file.<br />

d) Semantic Method<br />

Here, the syn<strong>on</strong>ym of words replaces certain words in the<br />

text <strong>and</strong> thus hide informati<strong>on</strong>. A major advantage of this<br />

method is the protecti<strong>on</strong> of informati<strong>on</strong> in case of retyping or<br />

using OCR programs. For example, the word big might be<br />

given a value of <strong>on</strong>e, the word large a value of zero. Then,<br />

when the word big is encountered in the coded text, a value of<br />

<strong>on</strong>e can be decoded. Further syn<strong>on</strong>yms can mean greater bit<br />

encoding. However, these methods can sometimes interfere<br />

with the nuances of meaning.<br />

e) Open space method<br />

Here, extra white-spaces are added in the text. These<br />

white spaces can be placed at the end of each line, at the end<br />

of each paragraph or between the words. This method can be<br />

implemented <strong>on</strong> any arbitrary text <strong>and</strong> is not noticed by the<br />

reader. But the volume of informati<strong>on</strong> hidden in this method<br />

is very little. Moreover, some text editors automatically delete<br />

extra white-spaces <strong>and</strong> thus destroy the hidden informati<strong>on</strong>.<br />

f) Syntactic method<br />

This method utilizes punctuati<strong>on</strong> <strong>and</strong> c<strong>on</strong>tracti<strong>on</strong>s. In<br />

syntactic methods, multiple methods of punctuati<strong>on</strong> are<br />

harnessed to encode data. For example, the two phrases below<br />

are both c<strong>on</strong>sidered correct, although the first line has an<br />

extra comma: bread, butter, <strong>and</strong> milk bread, butter <strong>and</strong> milk<br />

Alternati<strong>on</strong> between these two forms of listing can be<br />

used to represent binary data. Other methods of syntactic<br />

encoding include the c<strong>on</strong>trolled use of c<strong>on</strong>tracti<strong>on</strong>s <strong>and</strong><br />

abbreviati<strong>on</strong>s. Although such syntactic encoding is very<br />

possible in the English language, the amount of data that<br />

could be encoded would be very low, somewhere in the order<br />

of a several bits per kilobyte of text.<br />

g) Persian/Arabic Text Steganography Method<br />

Here informati<strong>on</strong> is hidden in Persian <strong>and</strong> Arabic using<br />

certain specific characteristics of the language. The existence<br />

of too many points in these languages helps us in hiding data<br />

by vertical displacement of these points. Though large<br />

amount of data can be hidden in this manner this method is<br />

language-specific.<br />

h) Abbreviati<strong>on</strong> Method<br />

A list of words with the abbreviated form is made. Then<br />

the steganography text is searched for words in the list. For<br />

example, the full form of the word is used in the text to hide a<br />

0 <strong>and</strong> the abbreviated form is used to hide a 1. Like this, the<br />

intended data is hidden in the text. At the time of extracti<strong>on</strong><br />

of data, the abbreviated words are identified.<br />

If the word is present in full, it shows bit 0 <strong>and</strong> if the<br />

abbreviated form is present it shows bit 1. By c<strong>on</strong>catenating<br />

the extracted bits the hidden data is revealed.<br />

As an improvisati<strong>on</strong> to the text methods, steganography in<br />

SMS has come into existence though it is in its nascent stage,<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 386


Proceedings of ICCNS 08 , 27-28 September 2008<br />

it will certainly make way for security of informati<strong>on</strong> in the<br />

cheapest form as discussed below.<br />

B.SMS STEGANOGRAPHY<br />

SMS has almost evolved as a new medium of<br />

communicati<strong>on</strong> all over the world. SMS being cheap <strong>and</strong><br />

reliable is ideal for important communicati<strong>on</strong>s<br />

a) SMS Steganography in picture messages<br />

In this approach, we send black <strong>and</strong> white pictures through<br />

SMS. Most of the approaches till now have dealt with color<br />

pictures because B/W pictures are more sensitive to changes<br />

i.e., change in <strong>on</strong>e pixel of the picture in a white area would<br />

be quite visible while in color pictures a slight change will be<br />

hardly noticed.<br />

b) SMS-Texting Steganography<br />

In this method, abbreviati<strong>on</strong>s are used in generous amounts<br />

to save time, make typing easy etc. For example, ‘gr8’ is used<br />

instead of ‘great’. ‘c u’ is used in place of ‘see you’. ‘pls’ is<br />

used instead of ‘please’ <strong>and</strong> so <strong>on</strong>.<br />

These abbreviati<strong>on</strong>s are used in SMS-Texting because of<br />

restricted size of the SMS (160 bytes), lack of proper<br />

keyboard <strong>on</strong> mobile ph<strong>on</strong>es <strong>and</strong> to increase the typing speed<br />

in writing SMS.<br />

As seen above, SMS-Texting uses a lot of acr<strong>on</strong>yms. So the<br />

abbreviati<strong>on</strong> text steganography method can be made use of<br />

here as well. The words <strong>and</strong> phrases which are abbreviated in<br />

SMS-Texting have to be identified <strong>and</strong> the same methodology<br />

explained in abbreviati<strong>on</strong> method is employed.<br />

In this method, the SMS words do not attract any attenti<strong>on</strong><br />

since they are comm<strong>on</strong>ly in usage. The list is more enhanced<br />

since SMS-Texting has more abbreviati<strong>on</strong>s than in normal<br />

English.<br />

Next, we will see the new approach which I am putting<br />

forth through his paper which has substantially more benefits<br />

when compared to the above existing methods.<br />

III.EXPOSURE TO THE NEW APPROACH<br />

One innovative method I have designed which needs more<br />

of refining is c<strong>on</strong>sidering all alphabets in the English<br />

languages which have cuts or crosses <strong>on</strong> them.<br />

A, E, F, H, I, J, T, X are letters identified. Now the hidden<br />

message is c<strong>on</strong>verted into a collecti<strong>on</strong> of bits using encoding<br />

algorithm.<br />

For example,<br />

HI, KRISHNA PLS GIV. THE FILE.<br />

The words with the above alphabets are c<strong>on</strong>sidered as 1<br />

<strong>and</strong> the words without them are c<strong>on</strong>sidered as 0. But mostly<br />

the words c<strong>on</strong>taining A, E, I (the vowels) are more so if a dot<br />

is accompanied by the word then that represents a 0, for<br />

example “GIV.”.<br />

The coded message will be 110011.<br />

In Steganography, the main idea is to hide the fact that<br />

informati<strong>on</strong> is hidden.<br />

Now the above message looks absolutely unsuspicious <strong>and</strong><br />

attaching a dot to GIV is hardly noticeable.<br />

Just like in the above methods, a Steganography program is<br />

used to hide the message <strong>and</strong> an extractor program is used to<br />

extract the hidden informati<strong>on</strong>. This method is an<br />

enhancement of the SMS-Texting method which can be<br />

further refined by the use of smileys <strong>and</strong> the mix of Text <strong>and</strong><br />

B/W pictures.<br />

The Stealth feature can be implemented into this method<br />

by removing any ‘dots’ or extra detailing attached. As such<br />

the message is very normal <strong>and</strong> cannot be decoded by a third<br />

pers<strong>on</strong>.<br />

One more feature we are intending to add is the flexibility<br />

to the user to decide the letters to be used for coding instead<br />

of the above discussed letters. Then the list will vary<br />

according to the users <strong>and</strong> it is impossible to find the hidden<br />

message.<br />

There is no list of acr<strong>on</strong>yms stored as in the SMS-Texting<br />

method. So memory usage is minimal.<br />

The above method is in its nascent stage <strong>and</strong> can be further<br />

enhanced using combinati<strong>on</strong>s of any characters.<br />

There will be an encoder <strong>and</strong> decoder program. The<br />

encoder program gives the user the flexibility to code the<br />

letters as per his choice or retain the parent method. A hashed<br />

key is send if the user selects his own letters. The SMS is<br />

decoded at the receiver’s end <strong>and</strong> displayed <strong>on</strong> the screen.<br />

Once the receiver views the code <strong>and</strong> deletes it, the message<br />

looses its stego status <strong>and</strong> is just like any other normal<br />

message.<br />

IV.APPLICATIONS<br />

This method is very ideal for sending short, secret<br />

messages like passwords, usernames, VIP details (name,<br />

timings, places etc) etc.<br />

V.ADVANTAGES<br />

1. Larger quantity of data can be send than in the SMS-<br />

Texting method.<br />

2. The message will be more normal than in the SMS-<br />

Texting method since in this method there is<br />

restricti<strong>on</strong> that abbreviati<strong>on</strong>s have to be used which<br />

might not be possible in all cases.<br />

3. There is no list of acr<strong>on</strong>yms stored. So memory used<br />

is very less.<br />

4. Stealth feature ensures the safety of the code after the<br />

recepti<strong>on</strong> of the message<br />

5. High flexibility since user can choose his own letters<br />

for encoding<br />

6. In black/white picture messages, sensitivity is an<br />

issue. Here there is no such issue.<br />

7. It is a frills-free method.<br />

VI.DISADVANTAGES<br />

The biggest restricti<strong>on</strong> is the size of SMS messages. So<br />

amount of hidden informati<strong>on</strong> which can be send is very less.<br />

VII.CONCLUSION<br />

As said in the beginning, since SMS has become a str<strong>on</strong>g,<br />

fast <strong>and</strong> reliable medium of communicati<strong>on</strong>, certainly there is<br />

a need to find methods to send sensitive data over SMS such<br />

that it becomes an official <strong>and</strong> authenticated medium of<br />

communicati<strong>on</strong>. One great c<strong>on</strong>straint is the security feature.<br />

This paper discusses a new approach for SMS steganography<br />

using letters. It is very flexible <strong>and</strong> can be easily implemented<br />

<strong>on</strong> both higher <strong>and</strong> lower end models. Memory requirement is<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 387


Proceedings of ICCNS 08 , 27-28 September 2008<br />

very less making it very ideal for SMS communicati<strong>on</strong>. Since<br />

SMS has emerged as a very popular <strong>and</strong> str<strong>on</strong>g medium of<br />

communicati<strong>on</strong> it is very ideal to send short, secret<br />

informati<strong>on</strong> across SMS.<br />

Though these methods as of now <strong>on</strong>ly support few bytes of<br />

data, it is sure that in the l<strong>on</strong>g run these methods when<br />

further enhanced can become a str<strong>on</strong>g medium for<br />

Steganography. More computati<strong>on</strong>s <strong>and</strong> enhanced techniques<br />

as discussed in the new approaches will certainly make this<br />

new methodology a great success.<br />

ACKNOWLEDGMENT<br />

First Author thanks her husb<strong>and</strong>, Mr. Balakrishnan K, for<br />

his unstinted support, her mother, Mrs. M. Ch<strong>and</strong>rika for her<br />

c<strong>on</strong>stant encouragement <strong>and</strong> her daughter, Baby Shreenaya M<br />

for her selfless love which helped me in completing this paper<br />

successfully.<br />

First Author also thanks Mr. P. M. Kamde for his support<br />

in completing this paper.<br />

REFERENCES<br />

[1] An introducti<strong>on</strong> to Steganography by Duncan Sellars, www.totse.com<br />

[2] Y.C. Tseng <strong>and</strong> H.K. Pan, “Secure <strong>and</strong> Invisible Data Hiding in 2-Color<br />

Images”. IEEE INFOCOM 2001, pp 887-896<br />

[3] M. Shirali-Shahreza, “Stealth Steganography in SMS”, Proceedings of the<br />

third IEEE <strong>and</strong> IFIP <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Wireless <strong>and</strong> Optical<br />

Communicati<strong>on</strong>s <strong>Networks</strong>(WOCN 2006)<br />

[4]M.Shirali-Shahreza <strong>and</strong> M. H. Shirali-Shahreza, “Text Steganography in<br />

SMS”, IEEE ICCIT 2007, pp 2260-2265<br />

[5] K. Rabah, “Steganography- The Art of Hiding Data”, Informati<strong>on</strong><br />

Technology Jourrnal, vol 3, 2004, pp.245-269.<br />

[6] K. Beare, “SMS-Texting”, English as 2 nd Language, www.esl.about.com<br />

[7] M. Shirali-Shahreza, “An improved method for Steganography <strong>on</strong> Mobile<br />

Ph<strong>on</strong>e”, WSEAS Transacti<strong>on</strong>s <strong>on</strong> Systems, vol 4. Pp. 955-957.<br />

[8] Y.C. Tseng, H.K. Pan <strong>and</strong> Y.Y. Chen, “A Secure Data Hiding Scheme for<br />

Binary Images”, IEEE Tans. On Communicati<strong>on</strong>s, Vol. 50. No.8<br />

[9] Y.C. Tseng, H.K. Pan <strong>and</strong> Y.Y. Chen, “A Secure Data Hiding Scheme for<br />

Two-Color Images”, IEEE Symposium <strong>on</strong> <strong>Computer</strong>s <strong>and</strong><br />

Communicati<strong>on</strong>s, 2000,pp 887-896.<br />

[10] Digital steganography: hiding data within data Artz, D.; Internet<br />

Computing, IEEE Volume 5, Issue 3, May-June 2001 Page(s):75 - 80<br />

[11] Steganography in MMS Shirali-Shahreza, M.; Multitopic <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>,<br />

2007. INMIC 2007. IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> 28-30 Dec. 2007 Pages:1 – 4<br />

[12] A New Soluti<strong>on</strong> for Password Key Transferring in Steganography Methods<br />

by CAPTCHA through MMS Technology Shirali-Shahreza, Mohammad;<br />

Shirali-Shahreza, M. Hassan; Informati<strong>on</strong> <strong>and</strong> Emerging Technologies,<br />

2007. ICIET 2007. <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> 6-7 July 2007 Page(s):1<br />

– 6<br />

[13] Text Steganography by Changing Words Spelling Shirali-Shahreza, M.;<br />

Advanced Communicati<strong>on</strong> Technology, 2008. ICACT 2008. 10th<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Volume 3, 17-20 Feb. 2008 Page(s):1912 –<br />

1913<br />

[14] A New Syn<strong>on</strong>ym Text Steganography Shirali-Shahreza, M. Hassan;<br />

Shirali-Shahreza, Mohammad; Intelligent Informati<strong>on</strong> Hiding <strong>and</strong><br />

Multimedia Signal Processing, 2008. IIHMSP '08 <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> 15-17 Aug. 2008 Page(s):1524 – 1526<br />

[15] M. Shirali-Shahreza, "M-Quiz by SMS," Proceedings of the 6th IEEE<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Advanced Learning Technologies (ICALT<br />

2006), Kerkrade, The Netherl<strong>and</strong>s, July 5-7, 2006, pp. 726-729.<br />

[16] F. A. P. Petitcolas, R. J. Anders<strong>on</strong>, <strong>and</strong> M. G. Kuhn,"Informati<strong>on</strong> hiding-a<br />

survey," Proceedings of the IEEE, Vol. 87, Issue 7, July 1999, pp.<br />

1062-1078. [5] L. Bollen, S. Eimler, <strong>and</strong> H. U. Hoppe, "The use of mobile<br />

computing to support SMS dialogues <strong>and</strong> classroom discussi<strong>on</strong>s in a<br />

literature course," Proceedings of 2004 IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g><br />

<strong>on</strong> Advanced Learning Technologies, Joensuu, Finl<strong>and</strong>, 30 August-1<br />

September 2004, pp. 550–554.<br />

[17] A. St<strong>on</strong>e, J. Briggs <strong>and</strong> C. Smith, "SMS <strong>and</strong> interactivity some results from<br />

the field, <strong>and</strong> its implicati<strong>on</strong>s <strong>on</strong> effective uses of mobile technologies in<br />

educati<strong>on</strong>," Proceedings of 2002 IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Workshop <strong>on</strong><br />

Wireless <strong>and</strong> Mobile Technologies in Educati<strong>on</strong> (WMTE2002), Växjö,<br />

Sweden, 29-30 Aug. 2002, pp. 147-151.<br />

[18] A. Tretiakov <strong>and</strong> K. Kinshuk, "Creating a Pervasive Testing Envir<strong>on</strong>ment<br />

by Using SMS Messaging," 2005 IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Workshop <strong>on</strong><br />

Wireless <strong>and</strong> Mobile Technologies in Educati<strong>on</strong> (WMTE 2005),<br />

Tokushima, Japan, 28-30 November 2005, pp. 62-66.<br />

[19] K. Curran, K. Bailey, "An Evaluati<strong>on</strong> of Image Based Steganography<br />

Methods," <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Journal of Digital Evidence, vol. 2, issue 2, Fall<br />

2003, pp. 1-40.<br />

[20] N. Provos <strong>and</strong> P. H<strong>on</strong>eyman, "Hide <strong>and</strong> Seek: An Introducti<strong>on</strong> to<br />

Steganography," <strong>Security</strong> & Privacy Magazine, May/June 2003, pp.<br />

32-44.<br />

[21] L. M. Marvel, C. G. B<strong>on</strong>celet, Jr., <strong>and</strong> C. T. Retter, "Spread spectrum<br />

image steganography," Proceedings of the IEEE Transacti<strong>on</strong>s <strong>on</strong> Image<br />

Processing, August 1999, pp. 1075-1083.<br />

[11] K. Tanaka, Y. Nakamura, <strong>and</strong> K. Matsui, "Embedding secret informati<strong>on</strong><br />

into a dithered multi-level image", Proceedings of IEEE Military<br />

Communicati<strong>on</strong>s <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, 1990, pp. 212-220.<br />

[22] S. H. Low, N. F. Maxemchuk, J. T. Brassil, <strong>and</strong> L. O'Gorman, "Document<br />

marking <strong>and</strong> identificati<strong>on</strong> using both line <strong>and</strong> word shifting," Proceedings<br />

of the 14 th Annual Joint <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> of the IEEE <strong>Computer</strong> <strong>and</strong><br />

Communicati<strong>on</strong>s Societies, vol.2, 1995, pp. 853–860.<br />

[23] Y. C. Tseng, Y. Y. Chen, <strong>and</strong> H. K. Pan, "A Secure Data Hiding Scheme<br />

for Binary Images," IEEE Transacti<strong>on</strong> <strong>on</strong>Communicati<strong>on</strong>s, Vol. 50, No.<br />

8, Aug. 2002, pp. 1227-31<br />

[24] Y. Y. Chen, H. K. Pan, <strong>and</strong> Y. C. Tseng, "A Secure Data<br />

Hiding Scheme for Two-Color Images," Proceedings of the<br />

IEEE Symposium <strong>on</strong> <strong>Computer</strong>s <strong>and</strong> Communicati<strong>on</strong>s,2000,<br />

pp. 750-755.<br />

[25] M. Wu <strong>and</strong> B. Liu, "Data Hiding in Binary Image for<br />

Authenticati<strong>on</strong> <strong>and</strong> Annotati<strong>on</strong>," IEEE Transacti<strong>on</strong><br />

<strong>on</strong>Multimedia, vol. 6, no. 4, August 2004, pp.528-538.<br />

[26] J.C. Judge, "Steganography: Past, Present, Future", SANS white<br />

paper, November 30, 2001, last visited: 19 February 2007.<br />

[27] G. Doërr <strong>and</strong> J. Dugelay, "A guide tour of video watermarking",<br />

Signal Processing: Image Communicati<strong>on</strong>, vol. 18, no. 4, 2003,<br />

pp. 263-282.<br />

[28] K. Gopalan, "Audio steganography using bit modificati<strong>on</strong>",<br />

Proceedings of the IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Acoustics, Speech, <strong>and</strong> Signal Processing(ICASSP'03), H<strong>on</strong>g<br />

K<strong>on</strong>g, vol. 2, April 6-10, 2003, pp.421-424.<br />

[29] N. F. Maxemchuk <strong>and</strong> S. Low, "Marking Text Documents",<br />

Proceedings of the IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>. <strong>on</strong> Image<br />

Processing, Santa Barbara, CA, Oct.26-29, 1997, pp. 13-16.<br />

[30] M. Shirali-Shahreza, "Steganography in SMS,"Proceedings of<br />

the 11th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> CSI <strong>Computer</strong><str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> CSICC’2006),<br />

School of <strong>Computer</strong> Science, IPM, Tehran, Iran, 24-26 January<br />

2006, pp. 905-910, (in Persian).<br />

[23] M. Shirali-Shahreza, "Stealth Steganography in<br />

SMS,"Proceedings of the third IEEE <strong>and</strong> IFIP <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Wireless <strong>and</strong> Optical Communicati<strong>on</strong>s<strong>Networks</strong><br />

(WOCN 2006), Bangalore, India, 11-13 April 2006.<br />

[31] Nokia, "Sending C<strong>on</strong>tent over SMS to Nokia Ph<strong>on</strong>es", Versi<strong>on</strong><br />

1.0, Forum Nokia, May 2001,http://www.forum.nokia.com, last<br />

visited: 19 February 2007.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 388


Proceedings of ICCNS 08 , 27-28 September 2008<br />

CONTENT BASED IMAGE MINING APPROACH FOR TERRAIN KNOWLEDGE IN REMOTE<br />

SENSING IMAGERY<br />

J.L. Bind, Scientist ‘D’ <strong>and</strong> Rimmi Devgan, Project Trainee<br />

Defence Terrain Research Laboratory,<br />

Metcalfe House, Delhi-110054, India<br />

Email: jlbind123@yahoo.com<br />

ABSTRACT<br />

In this paper we present a c<strong>on</strong>tent based image mining approach<br />

for terrain knowledge discovery in remote sensing imagery. A<br />

feature vector is created to describe the terrain objects <strong>and</strong> features<br />

using visual as well as hidden c<strong>on</strong>tent. Feature vector comprises<br />

the c<strong>on</strong>tent, shape, size, texture <strong>and</strong> processed DN value of remote<br />

sensing to describe the objects <strong>and</strong> features. The method integrates<br />

machine learning paradigm, especially learning from example<br />

techniques. C<strong>on</strong>structi<strong>on</strong> of sufficient feature vector <strong>and</strong><br />

representati<strong>on</strong> of it, to make an efficient <strong>and</strong> intelligent machine is<br />

also discussed. This work mainly address for feature extracti<strong>on</strong><br />

from remote sensing data c<strong>on</strong>trary to traditi<strong>on</strong>al work <strong>on</strong> c<strong>on</strong>tent<br />

based image mining for image retrieval from large image database.<br />

Result is presented in the end of paper.<br />

Index Terms—Knowledge discovery, c<strong>on</strong>tent based, feature<br />

vector, similarity matching <strong>and</strong> machine learning<br />

1. INTRODUCTION<br />

There is an increasing dem<strong>and</strong> for systems that can automatically<br />

analyze images <strong>and</strong> extract semantically meaningful informati<strong>on</strong><br />

from remote sensing data. The task has become complex in nature<br />

to extract smaller terrain feature in high resoluti<strong>on</strong> imagery.<br />

Recently a number of soft computing techniques have emerged as<br />

powerful tool to accomplish such task. Image mining deals with<br />

the extracti<strong>on</strong> of knowledge, image data relati<strong>on</strong>ship, or other<br />

patterns not explicitly stored in the images. It uses methods from<br />

computer visi<strong>on</strong>, image processing, image retrieval, data mining,<br />

machine learning, database, <strong>and</strong> artificial intelligence. Image<br />

mining is an area with applicati<strong>on</strong>s in numerous domains including<br />

remote sensing images, medical images <strong>and</strong> Arial images. A lot of<br />

work has been carried out in the area of data mining <strong>on</strong> text data<br />

but very few work have been carried out in the area of image<br />

mining for terrain knowledge in high resoluti<strong>on</strong> imagery. Data<br />

mining is a part of the knowledge discovery process <strong>and</strong> is defined<br />

as the process of discovering meaningful new correlati<strong>on</strong>s, patterns<br />

<strong>and</strong> trends by sifting through large amount of stored data, using<br />

pattern recogniti<strong>on</strong> technologies <strong>and</strong> statistical <strong>and</strong> mathematical<br />

techniques. In certain literatures data mining has also been used as<br />

a syn<strong>on</strong>ym for Knowledge Discovery from Data (KDD). The<br />

outcomes of data mining are also referred to as data mining tasks<br />

or types. Data mining is typically carried out with some end goals<br />

or applicati<strong>on</strong>s. These can be broadly classified into predicti<strong>on</strong>,<br />

identificati<strong>on</strong>, optimizati<strong>on</strong> <strong>and</strong> classificati<strong>on</strong>. Here the c<strong>on</strong>cept of<br />

c<strong>on</strong>tent based image mining is extracti<strong>on</strong> of knowledge from<br />

image data. The discovered knowledge may be objects <strong>and</strong><br />

features, patterns. Knowledge discovery using c<strong>on</strong>tent based image<br />

mining technique is the extracti<strong>on</strong> of implicit, useful informati<strong>on</strong><br />

from image data. Knowledge discovery in imagery is a form of<br />

machine learning which discovers interesting knowledge from<br />

image databases <strong>and</strong> represents the knowledge in a machine<br />

intelligent system. Thus, the basic problem addressed by the image<br />

mining process is <strong>on</strong>e of mapping low level image data which are<br />

typically too voluminous to underst<strong>and</strong> <strong>and</strong> digest easily into other<br />

forms that might be more compact, more abstract. At the core of<br />

the process is the applicati<strong>on</strong> of specific image mining methods for<br />

feature discovery <strong>and</strong> extracti<strong>on</strong>. C<strong>on</strong>tent based image mining uses<br />

visual <strong>and</strong> hidden c<strong>on</strong>tents to search objects <strong>and</strong> features from<br />

large scale image database. Till date it is a challenging research to<br />

create the feature vector of terrain feature <strong>and</strong> object due to the<br />

complexity involve in it. Terrain feature <strong>and</strong> object are natural<br />

phenomena <strong>and</strong> it is very difficult to describe in the remote sensing<br />

images because it varies in all aspect. C<strong>on</strong>tent based image mining<br />

uses the visual c<strong>on</strong>tents of an image such as color, shape, texture<br />

<strong>and</strong> spatial layout to represent [3] <strong>and</strong> hidden c<strong>on</strong>tent such as DN<br />

value <strong>and</strong> its correlati<strong>on</strong>. A typical feature vector is described by<br />

multi dimensi<strong>on</strong>al feature vector of terrain object <strong>and</strong> feature. To<br />

discover the features <strong>and</strong> objects in imagery, similarity/distance<br />

measure between the feature vector <strong>and</strong> quarry image is calculated.<br />

Features <strong>and</strong> objects are identified using a threshold limit. Recent<br />

mining systems have incorporated user relevance feedback to<br />

modify the discovery process in order to generate perceptually <strong>and</strong><br />

semantically more meaningful retrieved results. In this work a new<br />

c<strong>on</strong>cept is given to c<strong>on</strong>struct the feature vector to reduce the<br />

complexity involved in terrain features <strong>and</strong> how to overcome from<br />

uncertainty associated in different objects with similar feature.<br />

2. FEATURE VECTOR OF TERRAIN OBJECTS AND<br />

FEATURES<br />

Feature vector may include visual <strong>and</strong> hidden c<strong>on</strong>tent. Visual<br />

c<strong>on</strong>tent comprises color, texture, shape, spatial resoluti<strong>on</strong>. Hidden<br />

c<strong>on</strong>tent comprises feature extracted from pre-processed image. The<br />

visual c<strong>on</strong>tents of image are extracted followed by fusi<strong>on</strong> with<br />

hidden c<strong>on</strong>tent <strong>and</strong> described by multi-dimensi<strong>on</strong>al feature vectors.<br />

The feature vectors of the images form a feature vector base. A<br />

good visual c<strong>on</strong>tent descriptor should be invariant to the accidental<br />

variance introduced by the imaging process e.g. the variati<strong>on</strong> of<br />

the illuminati<strong>on</strong> of the scene. However, there is a trade of between<br />

the invariance <strong>and</strong> the discriminative power of visual features,<br />

since a very wide class of invariance loses the ability to<br />

discriminate between essential differences [8]. Invariant<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 389


Proceedings of ICCNS 08 , 27-28 September 2008<br />

descripti<strong>on</strong> has been largely investigated in computer visi<strong>on</strong> like<br />

object recogniti<strong>on</strong>. A visual c<strong>on</strong>tent descriptor can be either global<br />

or local. A global descriptor uses the visual features of the whole<br />

object, whereas a local descriptor uses the visual feature of object<br />

in parts. To obtain the local visual descriptor, an image of object is<br />

divided into parts first. The simplest way of dividing an image of<br />

object is to use a partiti<strong>on</strong>, which cuts the image into tiles of equal<br />

size <strong>and</strong> shape. A simple partiti<strong>on</strong> does not generate perceptually<br />

meaningful regi<strong>on</strong>s but is a way of representing the global features<br />

of the image at a finer resoluti<strong>on</strong>. A better method is to divide the<br />

image of an object into homogeneous regi<strong>on</strong>s according to some<br />

criteri<strong>on</strong> using regi<strong>on</strong> segmentati<strong>on</strong> algorithms that have<br />

extensively investigated in computer visi<strong>on</strong>. Currently, automatic<br />

object segmentati<strong>on</strong> for broad domains of general image is<br />

unlikely to succeed [11]. In this secti<strong>on</strong>, we will introduce some<br />

widely used techniques for extracting color, texture, shape <strong>and</strong><br />

spatial relati<strong>on</strong>ship from images.<br />

2.1. Color<br />

Color is the most extensively used visual c<strong>on</strong>tent for image<br />

mining. Its three dimensi<strong>on</strong>al values make its discriminati<strong>on</strong><br />

potentiality superior to the single dimensi<strong>on</strong>al grey values of<br />

images. Before selecting an appropriate color descripti<strong>on</strong>, color<br />

space must be determined first.<br />

2.1.1. Color Space<br />

Each pixel of the image can be represented as a point in a 3D color<br />

space. Comm<strong>on</strong>ly used color space for image mining include<br />

RGB, Munsell, CIE L*a*b*, CIE L*u*v*, HSV (or HSL, HSB)<br />

<strong>and</strong> opp<strong>on</strong>ent color space. RGB space is a widely used color space<br />

for image display. It is composed of three color comp<strong>on</strong>ents red,<br />

green <strong>and</strong> blue [7].<br />

2.2. Texture<br />

Texture is another important property of images. Various texture<br />

representati<strong>on</strong>s have been investigated in pattern recogniti<strong>on</strong> <strong>and</strong><br />

computer visi<strong>on</strong>. Basically, texture representati<strong>on</strong> methods can be<br />

classified into two categories: structural <strong>and</strong> statistical. Structural<br />

methods, including morphological operator <strong>and</strong> adjacency graph,<br />

describe texture by identifying structural primitives <strong>and</strong> placement<br />

rules. They tend to be most effective when applied to textures that<br />

are very regular. Statistical methods, including Fourier power<br />

spectra, co-occurrence matrices, shift-invariant principal<br />

comp<strong>on</strong>ent analysis (SPCA), Tamura feature, Markov r<strong>and</strong>om<br />

field, fractal model, <strong>and</strong> multi-resoluti<strong>on</strong> filtering techniques such<br />

as Gabor <strong>and</strong> wavelet transform, characterize texture by the<br />

statistical distributi<strong>on</strong> of the image intensity [5].<br />

2.3. Shape<br />

Shape features of the objects or regi<strong>on</strong>s are usually described after<br />

images have been segmented. Since robust <strong>and</strong> accurate image<br />

segmentati<strong>on</strong> is difficult to achieve, the use of shape features has<br />

been limited to special applicati<strong>on</strong>s where objects or regi<strong>on</strong>s are<br />

readily available. The state of art methods for shape descripti<strong>on</strong><br />

can be categorized into either boundary based polyg<strong>on</strong>al<br />

approximati<strong>on</strong>, finite element models <strong>and</strong> Fourier based shape<br />

descriptors or regi<strong>on</strong> based methods. A good shape representati<strong>on</strong><br />

feature for an object should be invariant to translati<strong>on</strong>, rotati<strong>on</strong> <strong>and</strong><br />

scaling [1], [2], [7].<br />

2.4. Spatial Informati<strong>on</strong><br />

Regi<strong>on</strong>s or objects with similar color <strong>and</strong> texture properties can be<br />

easily distinguished by imposing spatial c<strong>on</strong>straints. For instance,<br />

regi<strong>on</strong>s of desert <strong>and</strong> snow may have similar color histograms, but<br />

their spatial locati<strong>on</strong>s in image are different. Therefore, the spatial<br />

locati<strong>on</strong> of regi<strong>on</strong>s (or objects) or the spatial relati<strong>on</strong>ship between<br />

multiple regi<strong>on</strong>s (or objects) in an image is very useful. In such<br />

scenario, the analysis of image to find the terrain type is required.<br />

The most widely used representati<strong>on</strong> of spatial relati<strong>on</strong>ship is the<br />

2D strings. It is c<strong>on</strong>structed by projecting images al<strong>on</strong>g the x <strong>and</strong> y<br />

directi<strong>on</strong>s. Two sets of symbols, V <strong>and</strong> A, are defined <strong>on</strong> the<br />

projecti<strong>on</strong>. Each symbol in V represents an object in the image.<br />

Each symbol in A represents a type of spatial relati<strong>on</strong>ship between<br />

objects. As its variant, the 2D G-string [4] cuts all the objects<br />

al<strong>on</strong>g their minimum bounding box <strong>and</strong> extends the spatial<br />

relati<strong>on</strong>ship into two sets of spatial operators. One defines local<br />

spatial relati<strong>on</strong>ships. The other defines the global spatial<br />

relati<strong>on</strong>ships, indicating that the projecti<strong>on</strong> of two objects are<br />

disjoint, adjoin or located at the space positi<strong>on</strong>. In additi<strong>on</strong>, 2D C-<br />

string is proposed to minimize the number of cutting objects. 2D-B<br />

string represents an object by two symbols, st<strong>and</strong>ing for the<br />

beginning <strong>and</strong> ending boundary of the object. A method based <strong>on</strong><br />

the r<strong>and</strong>om transform, which exploits the spatial distributi<strong>on</strong> of<br />

visual features without a sophisticated segmentati<strong>on</strong> can be<br />

performed.<br />

2.5. Hidden Co-relati<strong>on</strong><br />

Pre-processing operator is applied to find the co-relati<strong>on</strong> between<br />

different facets of object/feature to generate the feature vector.<br />

Histograms <strong>and</strong> arithmetic/logical operators are useful preprocessing<br />

tools may be used to create the feature vector.<br />

Depending <strong>on</strong> the co-relati<strong>on</strong> between various facets of object will<br />

lead for terrain object recogniti<strong>on</strong>.<br />

2.6. Terrain type linked Feature Vector<br />

Generally we deal with six different terrain types namely plain,<br />

desert, rann, delta, coastal <strong>and</strong> mountainous. Feature vector varies<br />

according to the terrain types. Terrain types linked feature vector<br />

base is created.<br />

3. CONTENT BASED SIMILARITY/ DISTANCE MEASURE<br />

In the c<strong>on</strong>tent based image mining system, patterns available in the<br />

image does the similarity matching from feature vector base to<br />

identify the objects/features. Similarity can be modeled by various<br />

approaches. The retrieval algorithm relies <strong>on</strong> the indices <strong>and</strong> the<br />

organizati<strong>on</strong> of the memory to direct the search to potentially<br />

useful feature vector. Given a descripti<strong>on</strong> of a feature vector, a<br />

retrieval algorithm, using the indexes in the feature vector base,<br />

should retrieve the objects/features most similar to the current<br />

pattern in the image. Accordingly, the retrieval result may not a<br />

single object but a list of objects ranked by their similarities with<br />

the query pattern [6]. Here we propose two levels: (1) distance<br />

measure of attribute between object <strong>and</strong> query pattern <strong>and</strong> (2)<br />

similarity measure between object <strong>and</strong> query pattern.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 390


Proceedings of ICCNS 08 , 27-28 September 2008<br />

3.1. Distance Measure of Attribute between Object <strong>and</strong> Query<br />

Pattern<br />

Many distance measures have been developed for image mining<br />

based <strong>on</strong> empirical estimates of the distributi<strong>on</strong> of attribute<br />

features in recent year. Distance measure is computed between<br />

attributes of object <strong>and</strong> query pattern. Some techniques for<br />

distance measure are Minkowski-Form Distance, Quadratic Form<br />

Distance, Mahalanobis Distance, Kullback-Leibler (KL)<br />

Divergence <strong>and</strong> Jeffrey-Divergence (JD). In this work we have<br />

used Kullback-Leibler Divergence <strong>and</strong> Jaffrey Divergence. We<br />

denote D(I,J) as the distance measure between the query pattern I<br />

<strong>and</strong> feature vector J in the feature vector base <strong>and</strong> ƒ i (I) as the<br />

number of pixels in i of I. The KL divergence measures how<br />

compact <strong>on</strong>e attribute/feature distributi<strong>on</strong> can be coded using the<br />

other <strong>on</strong>e as the codebook. The KL divergence between two<br />

images I <strong>and</strong> J is defined as<br />

D ( I , J ) = fi ( I ) log ( fi ( I ) / fi ( J ))<br />

∑<br />

i<br />

The KL divergence is used as similarity measure for texture. The<br />

JD divergence is defined as<br />

D( I , J ) = ∑ fi(<br />

I ) log( fi(<br />

I ) / fi)<br />

+ fi(<br />

J ) log( fi(<br />

J ) / fi)<br />

i<br />

where fi = [ fi(<br />

I)<br />

+ fi(<br />

J )]/ 2 in c<strong>on</strong>trast to KL-divergence, JD is<br />

symmetric <strong>and</strong> numerically more stable when comparing two<br />

empirical distributi<strong>on</strong>s. In the case of hidden co-relati<strong>on</strong> distance<br />

measure similar pre-processing operator is applied <strong>on</strong> query<br />

pattern. Distance is measured based <strong>on</strong> co-relati<strong>on</strong> in query pattern<br />

<strong>and</strong> feature vector.<br />

3.2. Similarity Measure between Object <strong>and</strong> Query Pattern<br />

The similarity between stored feature vectors <strong>and</strong> the new input<br />

pattern is based <strong>on</strong> matching a weighted sum of features. The<br />

similarity (that is, the proximity) of the target feature vector to a<br />

source pattern for each attribute is determined. This measure is<br />

multiplied by a weighing factor. Then the sum of similarity of all<br />

attributes is calculated. This can be represented by the equati<strong>on</strong><br />

Similarity ( T , S ) = ∑ f ( T<br />

i<br />

, S<br />

i<br />

) * W<br />

i<br />

Where T is the target object, S is the source pattern, n is the<br />

number of attributes in each attribute, i is an individual attribute<br />

from 1 to n, ƒ is a similarity functi<strong>on</strong> for attribute i in cases T <strong>and</strong><br />

S <strong>and</strong> w is the weighting of the attribute i. Similarity are usually<br />

normalized to fall within a range of 0 <strong>and</strong> 1.<br />

4. CONTENT BASED IMAGE MINING SYSTEM<br />

C<strong>on</strong>tent based image mining system for satellite images is<br />

proposed here. An example of a typical False Color Code (FCC) of<br />

satellite image is given in figure 1. Remote sensing images are<br />

composed of a matrix of picture elements, or pixels, which are the<br />

smallest units of an image. Image pixels are normally square <strong>and</strong><br />

represent a certain area <strong>on</strong> the earth surface. Each pixel comprises<br />

two informati<strong>on</strong> namely DN value <strong>and</strong> RGB value. In this<br />

proposed system, both informati<strong>on</strong> levels are exploited to extract<br />

the objects/features. If we analyses this image, then we found that<br />

visible features [4], [9] are easily identifiable but hidden feature is<br />

to be extracted. In typical c<strong>on</strong>tent based image mining systems is<br />

presented in Figure 2. In this proposed system major efforts lies in<br />

the creati<strong>on</strong> of feature vector. Input image is classified to find the<br />

various patterns. Each pattern is processed by similar operator<br />

which was used for feature vector creati<strong>on</strong> for different attribute<br />

features [10]. Distance Measure of Attribute followed by similarity<br />

measure between Object <strong>and</strong> Query Pattern is computed.<br />

Accordingly, the retrieval result may not a single object but a list<br />

of objects ranked by their similarities with the query pattern. If<br />

more than <strong>on</strong>e highest ranked object has same value, then<br />

uncertainty arises for class selecti<strong>on</strong>. To h<strong>and</strong>le such scenario, a<br />

sec<strong>on</strong>d level of image classificati<strong>on</strong> is proposed. Terrain type<br />

linked feature vector guide for possible object type.<br />

user<br />

Query<br />

Formati<strong>on</strong><br />

Pre-processing<br />

of Image Data<br />

Extracted<br />

Object <strong>and</strong> Feature<br />

Image Data<br />

for<br />

Pre-processing<br />

of Image Data<br />

Figure 1: Satellite View<br />

Input<br />

Image<br />

Hidden C<strong>on</strong>tent<br />

Descripti<strong>on</strong><br />

Visual C<strong>on</strong>tent<br />

Descripti<strong>on</strong><br />

Retrieval<br />

Visual C<strong>on</strong>tent<br />

Descripti<strong>on</strong><br />

Hidden C<strong>on</strong>tent<br />

Descripti<strong>on</strong><br />

C<strong>on</strong>tent<br />

Fusi<strong>on</strong><br />

Feature Vector<br />

Similarity<br />

Comparis<strong>on</strong><br />

Feature Vector<br />

Database<br />

C<strong>on</strong>tent Fusi<strong>on</strong><br />

Figure 2: C<strong>on</strong>tent Based image Mining System<br />

An algorithm for this proposed system is given in Table 1, which<br />

describe the development of complete system.<br />

Table 1<br />

Step 1: C<strong>on</strong>struct the visual feature vector from training image<br />

Step 2: C<strong>on</strong>struct the hidden feature vector from training image<br />

Step 3: Fusi<strong>on</strong> of visual <strong>and</strong> hidden feature vector <strong>and</strong> develop the<br />

feature vector base<br />

Step 4: Read the input image RGB <strong>and</strong> c<strong>on</strong>vert to L*a*b* image<br />

lab_img.<br />

Step 5: Classify each pixel p in lab_img using the nearest neighbor<br />

rule<br />

begin<br />

for each color_marker(i) (1 ≤ i ≤ n )<br />

do {<br />

for each pixel p(j,k) (1 ≤ j ≤ M, 1 ≤ k ≤ N ) in lab_img<br />

do { /*calculate Euclidian distance between p(j,k)’s a* b*<br />

value <strong>and</strong> color_marker (i) <strong>and</strong> store in a cell array distance */<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 391


Proceedings of ICCNS 08 , 27-28 September 2008<br />

distance(j,k,i) = √(( p(j,k) a* - color_marker(i) a* ) 2 +(<br />

p(j,k) b* - color_marker(i) b* ) 2 ) } }<br />

find the minimum distance value for each pixel am<strong>on</strong>g distances<br />

from all color_markers <strong>and</strong> label the pixel with corresp<strong>on</strong>ding<br />

color_label. end<br />

Step 6: Obtain segmented images for each regi<strong>on</strong> obtained as<br />

results of the nearest neighbor classificati<strong>on</strong><br />

Step 7: C<strong>on</strong>vert each segmented image to a binary image <strong>and</strong><br />

compute the area of the ‘<strong>on</strong>’ or white pixels<br />

Step 8: Compute the distance measure of each attribute of each<br />

pattern <strong>and</strong> feature vector<br />

Step 9: Compute the similarity measure <strong>and</strong> mark the ranking of<br />

retrieved object.<br />

Step 10: If more than <strong>on</strong>e highest ranking feature vector then<br />

search terrain linked feature vector.<br />

Step 11: Compute the over all percentage area occupied by each<br />

regi<strong>on</strong> <strong>and</strong> present as summary<br />

challenges. Applicati<strong>on</strong> of this work may be extended for Arial<br />

images <strong>and</strong> medical imaging.<br />

5. RESULTS<br />

Satellite image given in figure 1 is classified for vegetati<strong>on</strong>, built<br />

up, s<strong>and</strong> cover <strong>and</strong> water body <strong>and</strong> results are presented in figure 3<br />

to 7. IRS LISS III image is classified into vegetati<strong>on</strong>, built up area,<br />

s<strong>and</strong> cover <strong>and</strong> water body. The summary of result is presented in<br />

figure 7. The software system is developed in Metlab.<br />

Figure 3: Vegetati<strong>on</strong> covers<br />

Figure 5: S<strong>and</strong> covers<br />

6. CONCLUSIONS<br />

Figure 4: Built up area<br />

Figure 6: Water body<br />

This paper presents a c<strong>on</strong>tent based image mining approach for<br />

terrain knowledge discovery in IRS LISS III remote sensing<br />

imagery. Proposed approach for creati<strong>on</strong> of feature vector is very<br />

robust. This approach will be more useful <strong>and</strong> appropriate for high<br />

resoluti<strong>on</strong> imagery where objects <strong>and</strong> features are clearly visible.<br />

Hence proposed work will be a revoluti<strong>on</strong>ary for image processing<br />

of high resoluti<strong>on</strong> data, which will be our future task. This work<br />

will have tremendous future applicati<strong>on</strong> in unmanned vehicle/tank<br />

where real time informati<strong>on</strong> is required which is future research<br />

Figure 7: Summary report<br />

7. REFERENCES<br />

[1] K. Arbter, W. E.Snyder, H. Burkhardi <strong>and</strong> G. Hirzinger,<br />

“Applicati<strong>on</strong> of affine-invariant Fourier descriptors to recogniti<strong>on</strong><br />

of 3D objects,” IEEE Trans. Pattern Analysis <strong>and</strong> Machine<br />

Intelligence. Vol. 12, pp. 640-647, 1990.<br />

[2] E.M. Arkin, L.P.Chew, D.P.Huttenlocher, K. Keden <strong>and</strong><br />

J.B.S.Mitchell, “An efficiently computable metric for comparing<br />

polyg<strong>on</strong>al shapes,” IEEE Trans. Pattern Analysis <strong>and</strong> Machine<br />

Intelligence, vol. 13, no. 3, pp. 209-226, 1991.<br />

[3] J. Assfalg, A.D.Bimbo, <strong>and</strong> P.Pala, “Using multiplt examples<br />

for c<strong>on</strong>tent based retrieval,” Proc <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Multimedia, 2000.<br />

[4] S. K. Chang, E. Jungert <strong>and</strong> Y. Li, “Representati<strong>on</strong> <strong>and</strong><br />

retrieval of symbolic pictures using generalized 2D string,”<br />

Technical Report, University of Pittsburgh, 1988.<br />

[5] T. Chang <strong>and</strong> C.C.J. Kuo, “Texture analysis <strong>and</strong> classificati<strong>on</strong><br />

with tree-structured wavelet transform,” IEEE Trans. <strong>on</strong> Image<br />

Processing, vol.2, no.4, pp.429-441, oct. 1993.<br />

[6] C.Faloutsos et al. “Efficient <strong>and</strong> effective querying by image<br />

c<strong>on</strong>tent,” Journal of intelligent informati<strong>on</strong> system, vol.3, pp.231-<br />

262, 1994.<br />

[7] T.Gevers <strong>and</strong> A.W.M.Smeulders, “Pictoseek: Combining color<br />

<strong>and</strong> shape invariant features for image retrieval,” IEEE Trans. <strong>on</strong><br />

image processing, vol.9, no.1, pp.102-119, 2000.<br />

[8] A.K.Jain <strong>and</strong> F.Farroknia, “Unsupervised texture segmentati<strong>on</strong><br />

using Gabor filters,” Pattern Recogniti<strong>on</strong>, vo.24, no.12, pp.1167-<br />

1186, 1991.<br />

[9] J.R.Smith <strong>and</strong> S,F.Chang, “VisualSEEK: a fully automated<br />

c<strong>on</strong>tent based image query system,” ACM Multimedia 96, Bost<strong>on</strong>,<br />

MA, nov.1996.<br />

[10] A.Vailaya, M.A.G.Figueiredo, A.K.Jain <strong>and</strong> H.J.Zhang,<br />

“Image classificati<strong>on</strong> for c<strong>on</strong>tent based indexing,” IEEE Trans. <strong>on</strong><br />

Image Processing, vol.10, no.1, Jan.2001.<br />

[11] H. Voorhees <strong>and</strong> T.Poggio, “Computing texture boundaries<br />

from images,” Nature, 333:364-367, 1988.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 392


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A New Wavelet Shrinkage Method for<br />

Estimati<strong>on</strong> of Biological Signals<br />

V.V.K.D.V.Prasad, P.Siddaiah, <strong>and</strong> B.Prabhakara Rao<br />

Abstract— Wavelet shrinkage denoising methods are widely<br />

used for estimati<strong>on</strong> of biological signals from noisy envir<strong>on</strong>ment.<br />

This paper proposes shrinkage method based <strong>on</strong> a New Thresholding<br />

filter for denoising of biological signals. We applied this method to<br />

denoise EEG signal. The performance of this method is evaluated<br />

<strong>and</strong> compared with that of methods using popular Hard <strong>and</strong> Soft<br />

thresholding filters. Simulati<strong>on</strong> results revealed that this new method<br />

performs superior to Hard <strong>and</strong> Soft shrinkage methods.<br />

Keywords—denoising, EEG, thresholding filter, wavelet<br />

transform, wavelet thresholding, wavelet shrinkage<br />

I. INTRODUCTION<br />

Nowadays signals or data are collected at ever-increasing<br />

pace by using sensors or computers or instruments. During<br />

signal acquisiti<strong>on</strong> or transmissi<strong>on</strong> signals are c<strong>on</strong>taminated<br />

with noise. Before carrying out the further analysis of the<br />

signals noise must be reduced. Biological signals are no<br />

excepti<strong>on</strong> from this. The r<strong>and</strong>om noises uncorrelated with<br />

biological signals can be approximated by additive white<br />

Gaussian noise. Several techniques have been proposed for<br />

estimating biological signals from the noisy envir<strong>on</strong>ment.<br />

Shrinkage methods based <strong>on</strong> wavelets have become<br />

increasingly popular because of variable resoluti<strong>on</strong> property<br />

of wavelet transforms [1],[2],[3],[4],[5]. In this paper wavelet<br />

shrinkage method based <strong>on</strong> a New Thresholding filter is<br />

proposed. The performance of this method is evaluated by<br />

using EEG signal corrupted with additive white Gaussian<br />

noise. Mean Square Error (MSE) <strong>and</strong> Signal to Noise Ratio<br />

(SNR) are used as evaluati<strong>on</strong> criteria for denoising.<br />

II. DENOISING<br />

In the denoising of biological signals using wavelet<br />

shrinkage methods first we apply discrete wavelet transform<br />

<strong>on</strong> the noisy signal <strong>and</strong> obtain wavelet coefficients. By using a<br />

thresholding rule we fix the threshold for the coefficients.<br />

Hypothesis Testing thresholding rule [5] is c<strong>on</strong>sidered here.<br />

The noisy coefficients are thresholded by using a thresholding<br />

filter. Denoised signal is obtained by using inverse wavelet<br />

transform <strong>on</strong> the thresholded coefficients [6]. While applying<br />

wavelet transform we have to select a wavelet for forward <strong>and</strong><br />

inverse transformati<strong>on</strong>s [7],[8]. Wavelet Symmlet 8 is chosen<br />

here. By selecting different thresholding rules <strong>and</strong><br />

thresholding filters we can get different wavelet shrinkage<br />

methods. In this paper a New Thresholding filter is proposed<br />

for wavelet shrinkage denoising.<br />

A. Hypothesis Testing<br />

The thresholding rules determine the threshold levels. In<br />

this paper threshold is determined by c<strong>on</strong>sidering Hypothesis<br />

Testing rule [5]. The threshold estimati<strong>on</strong> in this method is<br />

independent of thresholding filter used. It calculates level<br />

dependant thresholds after performing wavelet transformati<strong>on</strong><br />

<strong>on</strong> the signal.<br />

Calculati<strong>on</strong> of threshold<br />

Let the wavelet coefficients ω are N s in number at a<br />

particular level <strong>and</strong> assume that they are normally distributed.<br />

2<br />

Find α -critical value, α ⎧ −1<br />

1<br />

⎫<br />

v =<br />

⎡<br />

⎨ ( 1 ) 1 2<br />

⎤<br />

⎜<br />

⎟<br />

⎞<br />

⎬<br />

⎩<br />

⎢⎣<br />

⎛ − N<br />

N φ α<br />

⎝<br />

+ s /<br />

s<br />

⎠ ⎥⎦ ⎭<br />

where α is error probability parameter. φ ( ) is cumulative<br />

distributi<strong>on</strong> functi<strong>on</strong> of st<strong>and</strong>ard normal density. Then find the<br />

largest of the squared wavelet coefficients at that level,<br />

2<br />

α<br />

denoted by ω ( N s ) <strong>and</strong> compare it to the above value v<br />

N s<br />

. If<br />

2 2 α<br />

ω( N )/ ˆ σ > v<br />

s N s<br />

where σˆ is an estimate of the st<strong>and</strong>ard<br />

deviati<strong>on</strong> of noise, ω( Ns<br />

)<br />

is retained as signal. Next repeat the<br />

process with the square of sec<strong>on</strong>d largest (in absolute value)<br />

2<br />

wavelet coefficient ω ( N s −1 ) . If<br />

2<br />

2 α<br />

ω ( N − 1 ) / ˆ σ > v<br />

s N s<br />

, the<br />

− 1<br />

procedure c<strong>on</strong>tinues until at some point the p th largest (in<br />

absolute value) coefficient satisfies<br />

2 2 α<br />

ω( p) / ˆ σ ≤ v . The<br />

p<br />

threshold at that level is then set as λ = ω ( p)<br />

. The<br />

recommended value for α is 0.05.<br />

B. Thresholding Filters<br />

The noisy wavelet coefficients are filtered by using<br />

thresholding filters. The most comm<strong>on</strong>ly known Hard <strong>and</strong><br />

Soft filters are c<strong>on</strong>sidered in this paper (Figs 1<strong>and</strong> 2).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 393


Proceedings of ICCNS 08 , 27-28 September 2008<br />

3.1. Distance Measure of Attribute between Object <strong>and</strong> Query<br />

Pattern<br />

Many distance measures have been developed for image mining<br />

based <strong>on</strong> empirical estimates of the distributi<strong>on</strong> of attribute<br />

features in recent year. Distance measure is computed between<br />

attributes of object <strong>and</strong> query pattern. Some techniques for<br />

distance measure are Minkowski-Form Distance, Quadratic Form<br />

Distance, Mahalanobis Distance, Kullback-Leibler (KL)<br />

Divergence <strong>and</strong> Jeffrey-Divergence (JD). In this work we have<br />

used Kullback-Leibler Divergence <strong>and</strong> Jaffrey Divergence. We<br />

denote D(I,J) as the distance measure between the query pattern I<br />

<strong>and</strong> feature vector J in the feature vector base <strong>and</strong> ƒ i (I) as the<br />

number of pixels in i of I. The KL divergence measures how<br />

compact <strong>on</strong>e attribute/feature distributi<strong>on</strong> can be coded using the<br />

other <strong>on</strong>e as the codebook. The KL divergence between two<br />

images I <strong>and</strong> J is defined as<br />

D ( I , J ) = fi ( I ) log ( fi ( I ) / fi ( J ))<br />

∑<br />

i<br />

The KL divergence is used as similarity measure for texture. The<br />

JD divergence is defined as<br />

D( I , J ) = ∑ fi(<br />

I ) log( fi(<br />

I ) / fi)<br />

+ fi(<br />

J ) log( fi(<br />

J ) / fi)<br />

i<br />

where fi = [ fi(<br />

I)<br />

+ fi(<br />

J )]/ 2 in c<strong>on</strong>trast to KL-divergence, JD is<br />

symmetric <strong>and</strong> numerically more stable when comparing two<br />

empirical distributi<strong>on</strong>s. In the case of hidden co-relati<strong>on</strong> distance<br />

measure similar pre-processing operator is applied <strong>on</strong> query<br />

pattern. Distance is measured based <strong>on</strong> co-relati<strong>on</strong> in query pattern<br />

<strong>and</strong> feature vector.<br />

3.2. Similarity Measure between Object <strong>and</strong> Query Pattern<br />

The similarity between stored feature vectors <strong>and</strong> the new input<br />

pattern is based <strong>on</strong> matching a weighted sum of features. The<br />

similarity (that is, the proximity) of the target feature vector to a<br />

source pattern for each attribute is determined. This measure is<br />

multiplied by a weighing factor. Then the sum of similarity of all<br />

attributes is calculated. This can be represented by the equati<strong>on</strong><br />

Similarity ( T , S ) = ∑ f ( T<br />

i<br />

, S<br />

i<br />

) * W<br />

i<br />

Where T is the target object, S is the source pattern, n is the<br />

number of attributes in each attribute, i is an individual attribute<br />

from 1 to n, ƒ is a similarity functi<strong>on</strong> for attribute i in cases T <strong>and</strong><br />

S <strong>and</strong> w is the weighting of the attribute i. Similarity are usually<br />

normalized to fall within a range of 0 <strong>and</strong> 1.<br />

4. CONTENT BASED IMAGE MINING SYSTEM<br />

C<strong>on</strong>tent based image mining system for satellite images is<br />

proposed here. An example of a typical False Color Code (FCC) of<br />

satellite image is given in figure 1. Remote sensing images are<br />

composed of a matrix of picture elements, or pixels, which are the<br />

smallest units of an image. Image pixels are normally square <strong>and</strong><br />

represent a certain area <strong>on</strong> the earth surface. Each pixel comprises<br />

two informati<strong>on</strong> namely DN value <strong>and</strong> RGB value. In this<br />

proposed system, both informati<strong>on</strong> levels are exploited to extract<br />

the objects/features. If we analyses this image, then we found that<br />

visible features [4], [9] are easily identifiable but hidden feature is<br />

to be extracted. In typical c<strong>on</strong>tent based image mining systems is<br />

presented in Figure 2. In this proposed system major efforts lies in<br />

the creati<strong>on</strong> of feature vector. Input image is classified to find the<br />

various patterns. Each pattern is processed by similar operator<br />

which was used for feature vector creati<strong>on</strong> for different attribute<br />

features [10]. Distance Measure of Attribute followed by similarity<br />

measure between Object <strong>and</strong> Query Pattern is computed.<br />

Accordingly, the retrieval result may not a single object but a list<br />

of objects ranked by their similarities with the query pattern. If<br />

more than <strong>on</strong>e highest ranked object has same value, then<br />

uncertainty arises for class selecti<strong>on</strong>. To h<strong>and</strong>le such scenario, a<br />

sec<strong>on</strong>d level of image classificati<strong>on</strong> is proposed. Terrain type<br />

linked feature vector guide for possible object type.<br />

user<br />

Query<br />

Formati<strong>on</strong><br />

Pre-processing<br />

of Image Data<br />

Extracted<br />

Object <strong>and</strong> Feature<br />

Image Data<br />

for<br />

Pre-processing<br />

of Image Data<br />

Figure 1: Satellite View<br />

Input<br />

Image<br />

Hidden C<strong>on</strong>tent<br />

Descripti<strong>on</strong><br />

Visual C<strong>on</strong>tent<br />

Descripti<strong>on</strong><br />

Retrieval<br />

Visual C<strong>on</strong>tent<br />

Descripti<strong>on</strong><br />

Hidden C<strong>on</strong>tent<br />

Descripti<strong>on</strong><br />

C<strong>on</strong>tent<br />

Fusi<strong>on</strong><br />

Feature Vector<br />

Similarity<br />

Comparis<strong>on</strong><br />

Feature Vector<br />

Database<br />

C<strong>on</strong>tent Fusi<strong>on</strong><br />

Figure 2: C<strong>on</strong>tent Based image Mining System<br />

An algorithm for this proposed system is given in Table 1, which<br />

describe the development of complete system.<br />

Table 1<br />

Step 1: C<strong>on</strong>struct the visual feature vector from training image<br />

Step 2: C<strong>on</strong>struct the hidden feature vector from training image<br />

Step 3: Fusi<strong>on</strong> of visual <strong>and</strong> hidden feature vector <strong>and</strong> develop the<br />

feature vector base<br />

Step 4: Read the input image RGB <strong>and</strong> c<strong>on</strong>vert to L*a*b* image<br />

lab_img.<br />

Step 5: Classify each pixel p in lab_img using the nearest neighbor<br />

rule<br />

begin<br />

for each color_marker(i) (1 ≤ i ≤ n )<br />

do {<br />

for each pixel p(j,k) (1 ≤ j ≤ M, 1 ≤ k ≤ N ) in lab_img<br />

do { /*calculate Euclidian distance between p(j,k)’s a* b*<br />

value <strong>and</strong> color_marker (i) <strong>and</strong> store in a cell array distance */<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 394


Proceedings of ICCNS 08 , 27-28 September 2008<br />

f ( ω, λ)<br />

N<br />

2 =30<br />

f ( ω,λ )<br />

N<br />

γ 2 =30<br />

0<br />

γ 30<br />

2 = −30<br />

γ 30<br />

γ 2 = −<br />

0<br />

γ 2 = −30<br />

γ 2 = −30<br />

γ 2 =<br />

γ 2 =30<br />

0<br />

− λ<br />

λ ω<br />

− λ 0 λ ω<br />

Fig. 3 New Thresholding Filter: γ 1 = 0<br />

Fig. 4 New Thresholding Filter: γ 1 = 1<br />

IV. RESULTS AND DISCUSSION<br />

This secti<strong>on</strong> reports the results obtained <strong>on</strong> denoising of<br />

EEG signals using Hard, Soft <strong>and</strong> New Thresholding filters.<br />

EEG signals [11] of sample size 2048 c<strong>on</strong>taminated with<br />

additive white Gaussian noise of different values of st<strong>and</strong>ard<br />

deviati<strong>on</strong> (σ) are simulated. Wavelet decompositi<strong>on</strong> of EEG<br />

signal is made up to resoluti<strong>on</strong> level of three using Symmlet 8<br />

[7],[12]. After fixing the threshold using Hypothesis Testing<br />

rule [5] the wavelet coefficients are filtered by using a<br />

thresholding filter. The inverse wavelet transform is applied<br />

<strong>on</strong> the resultant coefficients <strong>and</strong> denoised signal estimate is<br />

obtained.<br />

MSE <strong>and</strong> SNR are used as measure of denoising. They are<br />

calculated as given below<br />

1<br />

MSE =<br />

n<br />

SNR = 10 log<br />

10<br />

n<br />

∑<br />

n<br />

∑<br />

i = 1<br />

i=<br />

1<br />

n<br />

( () ()) 2<br />

X i − Xˆ i<br />

∑<br />

i = 1<br />

X<br />

( i )<br />

2<br />

2<br />

( X () i − Xˆ ( i ))<br />

n represents no. of samples, X () i original signal data,<br />

Xˆ () i denoised signal data<br />

The simulati<strong>on</strong> experiment is repeated 100 times <strong>and</strong><br />

average values of MSE <strong>and</strong> SNR are found. These<br />

experiments are c<strong>on</strong>ducted <strong>on</strong> 50 numbers of EEG signals <strong>and</strong><br />

found that the results are same. The simulati<strong>on</strong> is implemented<br />

in MATLAB envir<strong>on</strong>ment. Table I shows the denoising<br />

results of EEG signal F057 obtained using Hard <strong>and</strong> Soft<br />

dB<br />

thresholding filters for σ=10, 20 <strong>and</strong> 30. The original <strong>and</strong><br />

denoised signals F057 obtained using Hard, Soft <strong>and</strong> New<br />

Thresholding filters for σ=20 are shown in Figs 5-9.<br />

Results of denoising of EEG F057 for different parameters<br />

of New Thresholding filter are reported in Tables II-IV. For a<br />

noisy signal of σ =10, MSE of 64.47 <strong>and</strong> SNR of 17.61 are<br />

obtained <strong>on</strong> denoising using Hard thresholding filter <strong>and</strong> MSE<br />

of 121.44 <strong>and</strong> SNR of 14.86 with Soft thresholding filter<br />

(Table I). For New thresholding filter for σ =10, MSE of<br />

64.56 <strong>and</strong> SNR of 17.60 are found when γ 1 = 0 <strong>and</strong> γ 2 = 30<br />

(Table II). This indicates the New filter behaves as Hard<br />

thresholding filter at these values of γ 1 <strong>and</strong> γ 2 for σ =10. MSE<br />

of 120.22 <strong>and</strong> SNR of 14.90 for σ =10 are obtained for New<br />

filter when γ 1 = 0 <strong>and</strong> γ 2 = −30<br />

(Table II). It shows its<br />

working is close to Soft thresholding filter at these values of<br />

γ 1 <strong>and</strong> γ 2 for σ =10. The same behavior of New thresholding<br />

filter is noticed for σ =20 <strong>and</strong> 30. From the results it is<br />

observed that for EEG signals keeping γ 1 = 0 , if the values of<br />

γ 2 are increased in the positive directi<strong>on</strong> the behavior of New<br />

Thresholding filter approaches that of Hard Thresholding<br />

filter when γ 2 = 30 for σ =10 (Table II) <strong>and</strong> γ 2 = 20 for σ =<br />

20 <strong>and</strong> 30 (Tables III-IV). In the negative directi<strong>on</strong> it<br />

approaches Soft Thresholding filter when γ 2 = −30<br />

for σ<br />

=10, 20 <strong>and</strong> 30 (Tables II-IV). It comprises the features of<br />

both Hard <strong>and</strong> Soft thresholding filters. Different qualities of<br />

denoising are obtained for different values of γ 1 <strong>and</strong> γ 2 . It is<br />

noticed that when γ 1 ≠ 0 the denoising performance of the<br />

New filter superior to Hard <strong>and</strong> Soft filters is obtained. It is<br />

observed that when γ 1 = 1 this New filter gives the best<br />

performance in denoising the EEG signals (values shown<br />

italicized in tables II-IV).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 395


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE I<br />

DENOISING RESULTS OF EEG F057 USING HARD AND SOFT THRESHOLDING FILTERS<br />

σ =10 σ =20 σ =30<br />

MSE SNR MSE SNR MSE SNR<br />

Noisy Signal 99.94 15.70 399.85 9.68 901.43 6.15<br />

Hard 64.47 17.61 157.27 13.74 268.46 11.42<br />

Soft 121.44 14.86 279.47 11.25 466.16 9.02<br />

TABLE II<br />

DENOISING RESULTS OF EEG F057 USING NEW THRESHOLDING FILTER, σ =10<br />

γ -30 -20 -10 0 10 20 30<br />

2<br />

MSE 120.22 118.80 116.46 75.65 65.23 63.95 64.56<br />

γ 1 = 0<br />

SNR 14.90 14.96 15.04 16.92 17.56 17.64 17.60<br />

γ<br />

MSE 114.05 113.43 110.44 68.69 58.88 59.21 59.00<br />

1 = 0.5<br />

SNR 15.13 15.16 15.27 17.33 18.00 17.98 17.99<br />

γ<br />

MSE 108.87 108.19 105.03 64.20 54.57 53.21 53.59<br />

1 =1<br />

SNR 15.34 15.36 15.49 17.63 18.33 18.44 18.41<br />

TABLE III<br />

DENOISING RESULTS OF EEG F057 USING NEW THRESHOLDING FILTER, σ =20<br />

γ 2<br />

-30 -20 -10 0 10 20 30<br />

γ<br />

MSE 280.34 276.40 269.72 180.88 156.55 157.92 156.41<br />

1 = 0<br />

SNR 11.23 11.29 11.40 13.13 13.76 13.72 13.76<br />

γ<br />

MSE 263.34 264.67 260.90 166.59 143.96 145.16 142.58<br />

1 = 0.5<br />

SNR 11.50 11.48 11.54 13.49 14.12 14.09 14.16<br />

γ<br />

MSE 257.03 255.31 253.21 153.95 132.29 134.35 132.66<br />

1 =1<br />

SNR 11.61 11.64 11.67 13.83 14.49 14.42 14.48<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 396


Proceedings of ICCNS 08 , 27-28 September 2008<br />

TABLE IV<br />

DENOISING RESULTS OF EEG F057 USING NEW THRESHOLDING FILTER, σ =30<br />

γ 2<br />

-30 -20 -10 0 10 20 30<br />

γ 1 = 0 MSE<br />

467.78 456.53 466.60 307.41 268. 89 267.58 273.91<br />

SNR 9.01 9.11 9.02 10.83 11.41 11.43 11.33<br />

γ<br />

MSE 441.67 442.30 432.65 277.43 246.12 245.53 245.27<br />

1 = 0.5<br />

SNR 9.26 9.25 9.35 11.28 11.80 11.80 11.81<br />

γ<br />

MSE 425.21 425.22 417.23 266.40 231.20 231.88 230.57<br />

1 =1<br />

SNR 9.42 9.42 9.51 11.45 12.07 12.05 12.08<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

0 500 1000 1500 2000 2500<br />

300<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

0 500 1000 1500 2000 2500<br />

Fig. 5 Original EEG<br />

Fig.6 Noisy EEG<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

0 500 1000 1500 2000 2500<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

0 500 1000 1500 2000 2500<br />

Fig. 7 Denoised EEG using Hard Thresholding Filter<br />

Fig. 8 Denoised EEG using Soft Thresholding Filter<br />

200<br />

100<br />

0<br />

-100<br />

-200<br />

0 500 1000 1500 2000 2500<br />

Fig. 9 Denoised EEG using New Thresholding Filter γ = 1, γ 10<br />

1 =<br />

2<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 397


Proceedings of ICCNS 08 , 27-28 September 2008<br />

V. CONCLUSION<br />

Wavelet shrinkage method based <strong>on</strong> a New thresholding<br />

filter is proposed in this paper for denoising of biological<br />

signals. We evaluated the performance of this method using<br />

EEG signals. From the simulati<strong>on</strong> results it is observed that<br />

the proposed method performs superior to shrinkage methods<br />

based <strong>on</strong> Hard <strong>and</strong> Soft filters. Different qualities of denoising<br />

are obtained by varying the parameters of the filter.<br />

[12] S. G. Mallat, “A theory for multiresoluti<strong>on</strong> signal decompositi<strong>on</strong>: The<br />

Wavelet representati<strong>on</strong>,” IEEE Trans. Pattern Analysis <strong>and</strong> Machine<br />

Intelligence, vol. 11, pp 674-69,1989.<br />

REFERENCES<br />

[1] B. Vidakovic, Statistical Modeling by Wavelets, Wiley Series in<br />

Probability <strong>and</strong> Statistics, John Wiley & S<strong>on</strong>s, Inc., 1999<br />

[2] D. L. D<strong>on</strong>oho <strong>and</strong> I. M. Johnst<strong>on</strong>e, “Adapting to unknown smoothness<br />

via Wavelet Shrinkage,” Journal of the American Statistical Associati<strong>on</strong>,<br />

vol. 90, no. 432, pp 1200-1224, Dec. 1995.<br />

[3] D. L. D<strong>on</strong>oho <strong>and</strong> I. M. Johnst<strong>on</strong>e, “Ideal spatial adaptati<strong>on</strong> via<br />

Wavelet Shrinkage,” Biometrika, vol. 81, pp 425-455,1994.<br />

[4] A. Bruce <strong>and</strong> H. Gao, Applied Wavelet Analysis with S-PLUS, Springer<br />

Verlag, 1996.<br />

[5] R. T. Ogden, Essential Wavelets for Statistical Applicati<strong>on</strong>s <strong>and</strong> Data<br />

Analysis, Birkhauser, 1997.<br />

[6] Carl Taswell, “The what, how <strong>and</strong> why of wavelet shrinkage denoising,”<br />

Computing in Science <strong>and</strong> Engineering, pp 12-19, May 2000.<br />

[7] I. Daubechies, Ten lectures <strong>on</strong> Wavelets, SIAM, 1992.<br />

[8] A. Graps, “An Introducti<strong>on</strong> to wavelets,” IEEE Journal of<br />

Computati<strong>on</strong>al Science <strong>and</strong> Engineering, vol. 2, no. 2, pp 1-17, Summer<br />

1995<br />

[9] Marteen Jansen, Noise reducti<strong>on</strong> by Wavelet Thresholding, vol. 161,<br />

Springer Verlag, 2001.<br />

[10] D. L. D<strong>on</strong>oho, “Denoising by Soft Thresholding,” IEEE Trans.<br />

Informati<strong>on</strong> Theory, vol. 41, no. 3, pp 613-627, May 1995.<br />

[11] Andrzejak R.G, Lehnertz K, Rieke C, Mormann F, David P, Elger CE,<br />

2001, “Indicati<strong>on</strong>s of n<strong>on</strong>linear deterministic <strong>and</strong> finite dimensi<strong>on</strong>al<br />

structures in time series of brain electrical activity: Dependence <strong>on</strong><br />

recording regi<strong>on</strong> <strong>and</strong> brain state”, Phys.Rev.E, 64.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 398


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Speaker Identificati<strong>on</strong> for the futuristic house<br />

D. Y. Sakhare<br />

M.E. (Digital Systems)<br />

M.I.T, Pune, India<br />

P. S. Mahajani<br />

Dept of E & TC<br />

M.I.T, Pune, India<br />

P.S. Kasliwal<br />

Dept of ETX<br />

M.A.E. Pune, India<br />

Abstract<br />

This paper presents design of Automatic speaker identificati<strong>on</strong><br />

for the futuristic houses from the real-time system point of view.<br />

Speaker specific vocal tract informati<strong>on</strong> is used to separate <strong>on</strong>e<br />

speaker model from other. Al<strong>on</strong>g with that we use an approach,<br />

which combines the informati<strong>on</strong> of the glottis source i.e. pitch.<br />

The approach synchr<strong>on</strong>ously takes into account the correlati<strong>on</strong><br />

between the two sources of informati<strong>on</strong>. The speaker specific<br />

vocal tract informati<strong>on</strong> is mainly represented by Mel-frequency<br />

cepstrum coefficients (MFCCs). The pitch analysis is d<strong>on</strong>e by<br />

using HPS (harm<strong>on</strong>ic product spectrum). In order to analyze<br />

this method in practice we made appropriate software <strong>and</strong> using<br />

real data we ran several tests.<br />

KEYWORDS: Cepstrum, MFCC, Pitch, HPS, Speaker models<br />

1. Introducti<strong>on</strong><br />

The current trend is of futuristic automated home<br />

(futuristic House) where human speech is used for h<strong>and</strong>sfree,<br />

secure c<strong>on</strong>trol <strong>and</strong> sounds around the house can be<br />

m<strong>on</strong>itored for security <strong>and</strong> safety. Possible tasks include:<br />

sound-activated light switch, voice-c<strong>on</strong>trolled TV remote,<br />

security user authenticati<strong>on</strong> by voice, voice-dialing,<br />

recogniti<strong>on</strong>. In Home PC <strong>Security</strong> our home, Speaker<br />

Identificati<strong>on</strong> will make it easier for us to log into our<br />

computer, just by saying, "Log me in!" In Office PC<br />

<strong>Security</strong>, Speaker ID can add an extra level of protecti<strong>on</strong><br />

to our computer, making it even harder for some<strong>on</strong>e to<br />

break in. Not <strong>on</strong>ly will they need our password, they will<br />

have to be able to do a great job of imitating our voice. In<br />

the future when our home is electr<strong>on</strong>ic, when we say<br />

"<strong>Computer</strong>, turn ON the radio", it w<strong>on</strong>'t just turn the radio<br />

<strong>on</strong>, it will recognize who we are, <strong>and</strong> set it to our favorite<br />

stati<strong>on</strong>. When our child tells "<strong>Computer</strong>, turn the<br />

thermostat” the computer will recognize his voice, <strong>and</strong><br />

refuse to do it.<br />

In our everyday lives there are many forms of<br />

communicati<strong>on</strong>, for instance: body language, textual<br />

language, pictorial language <strong>and</strong> speech. These<br />

parameters are related to biometrics [Table1]. Am<strong>on</strong>gst<br />

those forms, speech is always regarded as the most<br />

powerful form because of its rich dimensi<strong>on</strong>s character<br />

[1]. Except for the speech text (words), the rich<br />

dimensi<strong>on</strong>s also refer as the gender, attitude, emoti<strong>on</strong>,<br />

health situati<strong>on</strong> <strong>and</strong> identity of a speaker. Such<br />

informati<strong>on</strong> is very important for an effective<br />

communicati<strong>on</strong>. From the signal processing point of view,<br />

speech can be characterized in terms of the signal<br />

carrying message informati<strong>on</strong>. The waveform could be<br />

<strong>on</strong>e of the representati<strong>on</strong>s of speech, <strong>and</strong> this kind of<br />

signal has been most useful in practical applicati<strong>on</strong>s. It<br />

could give three main kinds of informati<strong>on</strong>: Speech Text,<br />

Language <strong>and</strong> Speaker Identity [1].<br />

Table 1: Biometrics<br />

Physical<br />

Behavioral<br />

Biological<br />

Fingerprint<br />

Face<br />

H<strong>and</strong> geometry<br />

Iris<br />

Speech <strong>and</strong>, Signature<br />

DNA <strong>and</strong> Body odor<br />

The informati<strong>on</strong> c<strong>on</strong>tents extracted from the speech can<br />

lead to three recogniti<strong>on</strong> systems: speech recogniti<strong>on</strong><br />

systems, language recogniti<strong>on</strong> systems <strong>and</strong> speaker<br />

recogniti<strong>on</strong> systems [2]. This paper c<strong>on</strong>centrates <strong>on</strong><br />

speaker recogniti<strong>on</strong> systems (SRS). Speaker recogniti<strong>on</strong> is<br />

broad problem <strong>and</strong> includes both identificati<strong>on</strong> <strong>and</strong><br />

verificati<strong>on</strong>. In speaker verificati<strong>on</strong>, the user claims an<br />

identity <strong>and</strong> the claimed identity is verified. In speaker<br />

identificati<strong>on</strong> the identity of the speaker is not known.<br />

Given a sample of speech, it has to be matched with<br />

speech samples already in the database. It must be noted<br />

that the speaker the user may or may not be present in the<br />

database. The Figure 1 shows the tax<strong>on</strong>omy of speaker<br />

identificati<strong>on</strong>. Speaker identificati<strong>on</strong> can be classified as<br />

text dependent or independent. Here we implement closed<br />

set speaker identificati<strong>on</strong> system.<br />

Figure 1. Speaker Identificati<strong>on</strong> tax<strong>on</strong>omy<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 399<br />

1


Proceedings of ICCNS 08 , 27-28 September 2008<br />

2. Overview:<br />

Figure 2 shows the generic speaker identificati<strong>on</strong> system.<br />

At the time of enrollment the speech signal is acquired in<br />

a c<strong>on</strong>trolled <strong>and</strong> supervised manner. The accuracy of the<br />

system relies up<strong>on</strong> the length <strong>and</strong> the signal to noise ratio<br />

of the signal. The system then processes the speech signal<br />

for silence removal, loudness equalizati<strong>on</strong> <strong>and</strong> other<br />

operati<strong>on</strong>s. Feature extracti<strong>on</strong> is then performed <strong>on</strong> the<br />

processed signal in order to get speaker discriminatory<br />

informati<strong>on</strong> from it. The discriminatory informati<strong>on</strong><br />

forms the speaker model. This model can be stochastic,<br />

Figure 2. Features of speech signal<br />

statistical or simply template [1]. The model must have<br />

higher inter speaker variability <strong>and</strong> lower intra speaker<br />

variability. At the time of verificati<strong>on</strong> a speech sample is<br />

acquired from the user. The recogniti<strong>on</strong> system has to<br />

acquire the features from the sample,<strong>and</strong> compare it<br />

against the models already stored before h<strong>and</strong>. The<br />

process of feature extracti<strong>on</strong> <strong>and</strong> speaker modeling is<br />

discussed in following secti<strong>on</strong>s.<br />

3. Features of Speech Signal<br />

Since aim of the work is to study features of speech<br />

signals. Features are useful to separate <strong>on</strong>e speaker from<br />

other. The basic features of speech are,<br />

• Pitch<br />

• Formant frequencies<br />

Pitch: Pitch is the most distinctive difference between<br />

male <strong>and</strong> female speakers. A pers<strong>on</strong>’s pitch originates in<br />

the vocal cords/folds, <strong>and</strong> the rate at which the vocal folds<br />

vibrate is the frequency of the pitch. So, when the vocal<br />

folds oscillate at 300 times per sec<strong>on</strong>d, they are said to be<br />

producing a pitch of 300 Hz [2]. When the air passing<br />

through the vocal folds vibrates at the frequency of the<br />

pitch, harm<strong>on</strong>ics are also created. The harm<strong>on</strong>ics occur at<br />

integer multiples of the pitch <strong>and</strong> decrease in amplitude at<br />

a rate of 12 dB per octave – the measure between each<br />

harm<strong>on</strong>ic [4]. The reas<strong>on</strong> pitch differs between sexes is<br />

the size, mass, <strong>and</strong> tensi<strong>on</strong> of the laryngeal tract which<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 400<br />

includes the vocal folds <strong>and</strong> the glottis (the spaces<br />

between <strong>and</strong> behind the vocal folds).<br />

Pitch Detecti<strong>on</strong> with Harm<strong>on</strong>ic Product<br />

Spectrum: If the input signal is a musical note, then its<br />

spectrum should c<strong>on</strong>sist of a series of peaks,<br />

corresp<strong>on</strong>ding to fundamental frequency with harm<strong>on</strong>ic<br />

comp<strong>on</strong>ents at integer multiples of the fundamental<br />

frequency [5]. Hence when <strong>on</strong>e compress the spectrum a<br />

number of times (down sampling), <strong>and</strong> compare it with<br />

the original spectrum, <strong>on</strong>e can see that the str<strong>on</strong>gest<br />

harm<strong>on</strong>ic peaks line up. The method is as follows:<br />

• First divide the input signal into segments by<br />

applying a Hamming window, where the<br />

window size <strong>and</strong> hop size are given as an input.<br />

• For each window, utilize the Short-Time Fourier<br />

Transform to c<strong>on</strong>vert the input signal from the<br />

time domain to the frequency domain.<br />

• Once the input is in the frequency domain, then<br />

apply the Harm<strong>on</strong>ic Product Spectrum technique<br />

to each window.<br />

The HPS involves two steps: down sampling <strong>and</strong><br />

multiplicati<strong>on</strong>. To down sample, compressed the spectrum<br />

twice in each window by resampling: the first time,<br />

compress the original spectrum by two <strong>and</strong> the sec<strong>on</strong>d<br />

time, by three. Once this is completed, multiply the three<br />

spectra together <strong>and</strong> find the frequency that corresp<strong>on</strong>ds<br />

to the peak (maximum value). This particular frequency<br />

represents the fundamental frequency of that particular<br />

window. The pitch histogram is drown based <strong>on</strong><br />

fundamental frequency obtained from different windows<br />

Formant frequencies: When sound is emitted from the<br />

human mouth, it passes through two different systems<br />

before it takes its final form. The first system is the pitch<br />

generator, <strong>and</strong> the next system modulates the pitch<br />

harm<strong>on</strong>ics created by the first system. Scientists call the<br />

first system the laryngeal tract <strong>and</strong> the sec<strong>on</strong>d system the<br />

supralaryngeal/vocal tract. The supralaryngeal tract<br />

c<strong>on</strong>sists of structures such as the oral cavity, nasal cavity,<br />

velum, epiglottis, t<strong>on</strong>gue, etc.<br />

When air flows through the laryngeal tract, the air<br />

vibrates at the pitch frequency formed by the laryngeal<br />

tract as menti<strong>on</strong>ed above. Then the air flows through the<br />

supralaryngeal tract, which begins to reverberate at<br />

particular frequencies determined by the diameter <strong>and</strong><br />

length of the cavities in the supralaryngeal tract. These<br />

reverberati<strong>on</strong>s are called “res<strong>on</strong>ances” or “formant<br />

frequencies”. In speech, res<strong>on</strong>ances are called formants.<br />

So, those harm<strong>on</strong>ics of the pitch that are closest to the<br />

formant frequencies of the vocal tract will become<br />

amplified while the others are attenuated. [4]<br />

3.1 Speaker modeling <strong>and</strong> recogniti<strong>on</strong><br />

Speaker modeling involves the representati<strong>on</strong> of an<br />

utterance as a sequence of feature vectors. Utterances<br />

spoken by the same pers<strong>on</strong> but at different times result in<br />

2


Proceedings of ICCNS 08 , 27-28 September 2008<br />

similar yet different sequence of feature vectors,<br />

following are the Fr<strong>on</strong>t End Processing stages for speech :<br />

• Signal acquisiti<strong>on</strong> <strong>and</strong> selecti<strong>on</strong> of sampling<br />

frequency<br />

• Amplificati<strong>on</strong> <strong>and</strong> Removal of dc bias voltage if<br />

any<br />

• Rounding to reduce memory size<br />

• Removal of N<strong>on</strong>-Speech Signal Durati<strong>on</strong>s<br />

(Threshold)<br />

• Comp<strong>and</strong>ing (A or µ law) to improve SNR<br />

• Windowing <strong>and</strong> window overlapping [6].<br />

• Spectral analysis using FFT, STFT or<br />

Spectrographic Analysis.<br />

representati<strong>on</strong> of the speech spectrum provides a good<br />

representati<strong>on</strong> of the local spectral properties of the signal<br />

for the given frame analysis [6][8]. As the Mel spectrum<br />

coefficients (<strong>and</strong> so their logarithm) are real numbers,<br />

c<strong>on</strong>vert them to the time domain using the Discrete<br />

Cosine Transform (DCT). Therefore denote those mel<br />

power spectrum coefficients that are the result of the last<br />

Because of its nature, the speech signal is a slowly<br />

varying signal or quasi-stati<strong>on</strong>ary. It means that when<br />

speech is examined over a sufficiently short period of<br />

time (20-30 millisec<strong>on</strong>ds) it has quite stable acoustic<br />

characteristics [8]. It leads to the useful c<strong>on</strong>cept of<br />

describing human speech signal, called “short-term<br />

analysis”, where <strong>on</strong>ly a porti<strong>on</strong> of the signal is used to<br />

extract signal features at <strong>on</strong>e time. It works in the<br />

following way: predefined length window (usually 20-30<br />

millisec<strong>on</strong>ds) is moved al<strong>on</strong>g the signal with an<br />

overlapping (usually 30-50% of the window length)<br />

between the adjacent frames. Overlapping is needed to<br />

avoid losing of informati<strong>on</strong>. Parts of the signal formed in<br />

such away are called frames. In order to prevent an abrupt<br />

change at the end points of the frame, it is usually<br />

multiplied by a window functi<strong>on</strong>. The operati<strong>on</strong> of<br />

dividing signal into short intervals is called windowing<br />

<strong>and</strong> such segments are called windowed frames (or<br />

sometime just frames)<br />

3.2Mel-frequency cepstral coefficients processor<br />

This is speaker specific feature; efficiently dec<strong>on</strong>volve the<br />

excitati<strong>on</strong> <strong>and</strong> impulse resp<strong>on</strong>se of vocal tract system.<br />

The speech input is typically recorded at a sampling rate<br />

above 10000 Hz. This sampling frequency was chosen to<br />

minimize the effects of aliasing in the analog-to-digital<br />

c<strong>on</strong>versi<strong>on</strong>. These sampled signals can capture all<br />

frequencies up to 5 kHz, which cover most energy of<br />

sounds that are generated by humans. As been discussed<br />

previously, the main purpose of the MFCC processor is to<br />

mimic the behavior of the human ears. In additi<strong>on</strong>, rather<br />

than the speech waveforms themselves, MFCCs are<br />

shown to be less susceptible to menti<strong>on</strong>ed variati<strong>on</strong>s [8].<br />

Cepstrum: Separati<strong>on</strong> of the source <strong>and</strong> the<br />

filter parameters from the mixed output is in general<br />

difficult problem when these comp<strong>on</strong>ents are combined<br />

using not linear operati<strong>on</strong>, but there are various<br />

techniques appropriate for comp<strong>on</strong>ents combined<br />

linearly[2]. The cepstrum is representati<strong>on</strong> of the signal<br />

where these two comp<strong>on</strong>ents are resolved into two<br />

additive parts. In this final step, the log mel spectrum is<br />

c<strong>on</strong>verted back to time. The result is called the Mel<br />

frequency cepstrum coefficients (MFCC). The Cepstral<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 401<br />

Figure 4. Block diagram of MFCC processor<br />

~<br />

S k<br />

, k 1,2,...,<br />

K<br />

step are denoted as = ,<br />

K<br />

c~<br />

~ ⎡ 1<br />

n<br />

(log S<br />

k<br />

) cos n<br />

⎛<br />

k<br />

⎞ π ⎤<br />

= ∑<br />

,<br />

k 1 ⎣<br />

⎢ ⎜ − ⎟<br />

=<br />

⎝ 2 ⎠ K ⎥ ⎦ (1)<br />

Where n= 1,2,3…..K<br />

Note that the first comp<strong>on</strong>ent c ~ , is excluded from the<br />

DCT since it represents the mean value of the input<br />

signal, which carried little speaker specific informati<strong>on</strong>.<br />

Cepstral features capture the gross shape of the spectrum<br />

which characterizes the shape of the vocal tract <strong>and</strong> hence<br />

the user [6].<br />

3.3 Model Building<br />

During training, the speaker is asked to speak several<br />

sentences of unc<strong>on</strong>strained speech (3 sentences in our<br />

case). After feature extracti<strong>on</strong>, each 30ms signal frame is<br />

described using 12 cepstral coefficients. These<br />

coefficients roughly encode the descripti<strong>on</strong> of the sound<br />

c<strong>on</strong>tained in the frame. The number of features depends<br />

<strong>on</strong> the length of the speech therefore this representati<strong>on</strong> is<br />

variable in length. In order to c<strong>on</strong>vert it into fixed length<br />

representati<strong>on</strong>, <strong>on</strong>ly gross statistics of the features are<br />

stored in a lieu of the entire collecti<strong>on</strong>.<br />

3.3.1 Vector Quantizati<strong>on</strong>:<br />

After the enrollment sessi<strong>on</strong>, the acoustic vectors<br />

extracted from input speech of a speaker provide a set of<br />

training vectors. As described above, the next important<br />

step is to build a speaker-specific VQ codebook, for this<br />

speaker using those training vectors [8]. There is a wellknow<br />

algorithm, namely LBG algorithm [Linde, Buzo<br />

<strong>and</strong> Gray, 1980], for clustering a set of L training vectors<br />

into a set of M codebook vectors. Intuitively, the LBG<br />

algorithm designs an M-vector codebook in stages. It<br />

starts first by designing a 1-vector codebook, then uses a<br />

splitting technique <strong>on</strong> the code words to initialize the<br />

search for a 2-vector codebook, <strong>and</strong> c<strong>on</strong>tinues the<br />

0<br />

3


Proceedings of ICCNS 08 , 27-28 September 2008<br />

splitting process until the desired M-vector codebook is<br />

obtained. Below diagram shows the above algorithm in<br />

the flowchart form.<br />

able to identify the speaker more accurately. Pitch<br />

informati<strong>on</strong> al<strong>on</strong>e is not sufficient for identificati<strong>on</strong> when<br />

number of speakers increased (identificati<strong>on</strong> 60 – 70%)<br />

but plays excellent role in downsizing the comparis<strong>on</strong><br />

data for next stage i.e. MFCCs algorithm. Finally,<br />

combined working of pitch informati<strong>on</strong> <strong>and</strong> MFCCs<br />

shows very promising results (identificati<strong>on</strong> 81 to 87%)<br />

for text independent speaker identificati<strong>on</strong><br />

Results are very much dependent <strong>on</strong> type of fr<strong>on</strong>t end<br />

processing stages. There is improvement in result by<br />

Figure 5. Flowchart for clustering the data (LBG)<br />

The distance from a vector to the closest codeword of a<br />

codebook is called a VQ-distorti<strong>on</strong>. In the recogniti<strong>on</strong><br />

phase, an input utterance of an unknown voice is “vectorquantized”<br />

using each trained codebook <strong>and</strong> the total VQ<br />

distorti<strong>on</strong> is computed. The speaker corresp<strong>on</strong>ding to the<br />

VQ codebook with the smallest distorti<strong>on</strong> is identified [9].<br />

4. Results<br />

The results of the power spectrum of the signal are as<br />

shown if Figure 6. The power spectrum of a speech file is<br />

also computed by using different frames sizes: for<br />

example N = 128, 256<strong>and</strong> 512 . The experiments are also<br />

carried through different windows [Table2].HPS<br />

algorithm al<strong>on</strong>e itself is sufficient to separate speakers<br />

when all speakers have different pitch. However, there are<br />

situati<strong>on</strong>s when two or more speakers have close pitch<br />

shown in Figure 7. Then pitch detector will output<br />

multiple results. This problem is solved using MFCC<br />

algorithm, which efficiently separate two or more<br />

speakers with same pitch shown in Figure 9.<br />

5. C<strong>on</strong>clusi<strong>on</strong><br />

Figure 6.Plot of logarithmic power spectrum of signal<br />

rounding, removing of silence durati<strong>on</strong>s <strong>and</strong> threshold<br />

algorithm. The results also depend <strong>on</strong> clarity of speech<br />

pause between words <strong>and</strong> pr<strong>on</strong>unciati<strong>on</strong> method.<br />

Table 2. Identificati<strong>on</strong> rate with different windows<br />

For N = 128 we have a high resoluti<strong>on</strong> of time.<br />

Furthermore each frame lasts a very short period of time.<br />

For N = 256 we have a compromise between the<br />

resoluti<strong>on</strong> in time <strong>and</strong> the frequency resoluti<strong>on</strong>. For N =<br />

512 we have an excellent frequency resoluti<strong>on</strong> (256<br />

different values) but there are lesser frames, meaning that<br />

the resoluti<strong>on</strong> in time is str<strong>on</strong>gly reduced. It seems that a<br />

value of 256 for N is an acceptable compromise.<br />

Furthermore the number of frames is relatively small,<br />

which will reduce computing time.<br />

Mel Frequency Cepstral coefficients are very important<br />

feature for speaker identificati<strong>on</strong>. Sec<strong>on</strong>d, by adding in<br />

the mean pitch informati<strong>on</strong> of a pers<strong>on</strong>, the network is<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 402<br />

4


Proceedings of ICCNS 08 , 27-28 September 2008<br />

RESULTS:<br />

Figure 7. Two Speakers with same Pitch<br />

Figure 9. Two speakers with same pitch are<br />

discriminate by MFCC correlati<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 403<br />

5


Proceedings of ICCNS 08 , 27-28 September 2008<br />

REFERENCES:<br />

1. “J.R. Deller, J.H.L. Hansen, <strong>and</strong> J.G.<br />

Proakis, Discrete -Time Processing of<br />

Speech Signals, IEEE Press, 2000.<br />

2. Speaker recogniti<strong>on</strong> a tutorial<br />

Campbell, J.P., Jr. Proceedings of the<br />

IEEE Volume 85, Issue 9, Sep 1997<br />

Page(s): 1437 – 1462.<br />

3. ‘Discrete Time Speech Signal<br />

Processing Principles And Practice ’T.<br />

F. Quatieri, Pears<strong>on</strong> Educati<strong>on</strong> Signal<br />

Processing Series.<br />

4. L.R. Rabiner <strong>and</strong> B.H. Juang,<br />

Fundamentals of Speech Recogniti<strong>on</strong><br />

(Prentice-Hall, Englewood Cliffs, N.J.,<br />

1993).<br />

5. Alex<strong>and</strong>re Savard, “Overview of<br />

Homoph<strong>on</strong>ic Pitch Detecti<strong>on</strong><br />

algorithms” Schulich School of Music –<br />

McGill. University, 555 Sherbrooke St.<br />

West M<strong>on</strong>treal, QC Canada H3A 1E3,<br />

Jan 2001,pp. 121-138.<br />

6. Sir Ramamurthy <strong>and</strong> B.<br />

Yegnanarayana, “Combining evidence<br />

from Residual Phase <strong>and</strong> MFCC<br />

Features for Speaker Recogniti<strong>on</strong>”.<br />

IEEE Signal processing letters, vol .13<br />

No.1, January 2006.<br />

7. Wikipedia, “Window functi<strong>on</strong>s”,<br />

available:http://en.wikipedia.org/wiki/<br />

Window_functi<strong>on</strong> [Viewed <strong>on</strong> 25th<br />

Sept 2007].<br />

8. P. Hedelin <strong>and</strong> J. Skoglund, “Vector<br />

quantizati<strong>on</strong> based <strong>on</strong> Gaussian<br />

mixturemodels”, IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Speech <strong>and</strong> Audio Processing, Vol. 8,<br />

No 4, July2000, pp. 385-401.<br />

9. Molau, S, Pitz, M, Schluter, R, <strong>and</strong><br />

Ney, H., Mel-frequency coefficients <strong>on</strong><br />

Power Spectrum, IEEE ICASSP-2001,<br />

Vol. 1, pp 73-76, May 2001.<br />

10. R.A.COLE “Survey of the State of the<br />

Art in Human Language Technology”,<br />

Nati<strong>on</strong>al science foundati<strong>on</strong> European<br />

commissi<strong>on</strong> 1996.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 404


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Real Time Speech Scrambling <strong>and</strong> Descrambling<br />

in Time <strong>and</strong> Frequency Domain<br />

1. Sarita Rajput , 2. Khadtare M. S. , 3. Prof. A. J. Patankar, 4. Dr. M. H. Kolekar<br />

Abstract—Secure communicati<strong>on</strong> has become the most<br />

dem<strong>and</strong>ing from all types of users. The term scrambling is used<br />

to describe the speech encrypti<strong>on</strong> process to protect voice<br />

communicati<strong>on</strong>s. This paper describes different scrambling<br />

techniques implemented in frequency domain as well as in time<br />

domain & proposes new approach which has the combinati<strong>on</strong> of<br />

both time domain(TD) <strong>and</strong> frequency domain(FD). The objective<br />

behind this work is to develop software scrambler/descrambler<br />

<strong>and</strong> the scope of this work is to implement it <strong>on</strong> <strong>on</strong>e system <strong>on</strong>ly.<br />

Network communicati<strong>on</strong> is not the part of this work.<br />

Keywords— FD, MATLAB, scrambling, speech, TD.<br />

I. INTRODUCTION<br />

A rapidly growing interest in development of secure<br />

speech communicati<strong>on</strong>, introduced different scrambling<br />

techniques. With the different communicati<strong>on</strong> technology<br />

more <strong>and</strong> more people can now communicate easily at any<br />

time. However, more traffic brings about problems with<br />

cross-talk, voice privacy, etc. One soluti<strong>on</strong> to this is the<br />

spectrum (frequency) scrambling. Scrambling comes from<br />

a simple idea that is scrambling the spectrum at the<br />

transmitting end while the receiver de-scrambles to<br />

achieve the original signal. This scrambled speech is then<br />

ready to transmit over the network. Hacker or unauthorized<br />

user listening scrambled speech can not recognize the<br />

original words. At receiver side scrambled speech is first<br />

descrambled then user can listen the original speech.<br />

The speech signal is a slowly timed varying signal (it is<br />

called quasi-stati<strong>on</strong>ary). When examined over a<br />

sufficiently short period of time (between 5 <strong>and</strong> 10 msec),<br />

its characteristics are fairly stati<strong>on</strong>ary. However, over l<strong>on</strong>g<br />

periods of time (<strong>on</strong> the order of 1/5 sec<strong>on</strong>ds or more) the<br />

signal characteristic change to reflect the different speech<br />

sounds being spoken. Therefore, short-time spectral<br />

analysis is the most comm<strong>on</strong> way to characterize the<br />

speech signal. . In secti<strong>on</strong> II TD/FD scrambling with<br />

different techniques is discussed Secti<strong>on</strong> III describes<br />

. 1.Sarita Rajput is M.E. <strong>Computer</strong> student of D.Y.Patil college of<br />

Engg.,Akurdi,Pune, India. She is persuing her degree from University of<br />

Pune. (email: saritarajput@yahoo.co.in)<br />

2.Khadtare M.S. has completed M.Tech. from IIT Guwahati.(email:<br />

maheshkha@gmail.com)<br />

3.Prof. A.J. Patankar is with D.Y.Patil college of Engg.,Akurdi,Pune as<br />

Assistant Professor in computer Engineering Department.(email:<br />

abhijitpatankarmail@gmail.com)<br />

4. Dr. Maheshkumar H. Kolekar Post Doctoral fellow University of<br />

Missouri, Columbia, USA( e-mail: mkolekar@gmail.com<br />

the proposed system for speech scrambling <strong>and</strong><br />

descrambling. Finally Secti<strong>on</strong> IV describes<br />

implementati<strong>on</strong> details <strong>and</strong> results.<br />

II. TD/FD SPEECH SCRAMBLING<br />

DESCRAMBLING<br />

In time domain a signal changes over time, whereas in<br />

frequency domain the signal lies within each given<br />

frequency b<strong>and</strong> over a range of frequencies. A frequency<br />

domain representati<strong>on</strong> can also include informati<strong>on</strong> of he<br />

phase shift that must be applied to each sinusoid in order to<br />

be able to recombine the frequency comp<strong>on</strong>ents to recover<br />

the original time signal.<br />

Approach using DFT[3] in the frequency domain<br />

referred to as DFT scrambling. Because fast algorithms for<br />

doing Fourier transforms are well developed, the DFT<br />

approach simplifies the implementati<strong>on</strong> complexity<br />

significantly. LIN SHAN LEE[7] used the short time<br />

Fourier analysis synthesis technique invented by Schafer<br />

<strong>and</strong> Rabiner. In this way original speech can be correctly<br />

recovered. Chwan-Wen King have designed the periodic<br />

filter in time domain. They have introduced Unified<br />

Approach to Scrambling Filter Design [3].<br />

III. REAL TIME SCRAMBLIG DESCRAMBLING IN<br />

TD AND FD<br />

Proposed system is implemented a real time scrambling<br />

software without any hardware complexity. It combines<br />

the advantages of scrambling in frequency domain <strong>and</strong><br />

time domain, which the different authors has implemented<br />

separately.<br />

However in the proposed system, the input speech signal<br />

is passed through time domain as well as frequency<br />

domain. The input speech will first pass through the time<br />

domain where cosine pattern of input speech is generated<br />

This gives the first versi<strong>on</strong> of scrambled speech. It is then<br />

passed through frequency domain to get a another form of<br />

scrambled speech. Hence, the words of original speech can<br />

not be recognized by listening the scrambled speech.<br />

Descrambling is the reverse procedure of scrambling. The<br />

proposed system is implemented using MATLAB.<br />

It will improve the security level of various types of<br />

speech communicati<strong>on</strong>s. Fig. 1 shows the scrambling <strong>and</strong><br />

descrambling process.<br />

A multimedia microph<strong>on</strong>e captures the speaker’s voice.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 405


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig 1. Block diagram describing scrambling descrambling.<br />

A sound blaster card translates between computer’s digital<br />

informati<strong>on</strong> <strong>and</strong> outside world’s analog informati<strong>on</strong>.<br />

Scrambling <strong>and</strong> descrambling System is described in the<br />

next secti<strong>on</strong> in detail. Speakers are used to listen the<br />

scrambled speech in scrambling system. And descrambled<br />

speech after descrambling.<br />

A. Scrambling System<br />

Fig. 2 shows the detailed system design, Where input<br />

speech first passing through time domain where the first<br />

versi<strong>on</strong> of scrambling speech is generated . Output of the<br />

time domain is given as input to<br />

Fig.2 Generic model for scrambling System<br />

frequency domain when the scrambled signal passes<br />

through frequency domain sec<strong>on</strong>d versi<strong>on</strong> of scrambled<br />

speech is generated.<br />

The input speech is passing through time domain as well<br />

as frequency domain high level of security can be<br />

achieved.<br />

1. Input Speech<br />

Input for the scrambling system is taken by recording the<br />

speech. This speech is stored in .wav format. The .wav file<br />

is the input to the scrambling system. Fig.3a shows the<br />

sample input waveform.<br />

2. Time Domain<br />

Scrambling in time domain involves manipulati<strong>on</strong> of a<br />

time delimited block of the signal to be transmitted. In<br />

time domain, scrambling is d<strong>on</strong>e two methods first by<br />

generating “Cosine pattern” of the input speech or by<br />

generating <strong>and</strong> adding r<strong>and</strong>om numbers in original speech<br />

signal. The paper describes the TD scrambling using<br />

cosine pattern generati<strong>on</strong>. This c<strong>on</strong>cept is coming from the<br />

discrete cosine transform (DCT). This type of transform is<br />

<strong>on</strong>e of the real orthog<strong>on</strong>al transform is based <strong>on</strong> c<strong>on</strong>verting<br />

an arbitrary sequence into either a symmetric or an<br />

antisymmetric sequence <strong>and</strong> then extracting the real<br />

orthog<strong>on</strong>al transform coefficient from the DFT of the<br />

generated sequence with geometric symmetry. Fig 3b <strong>and</strong><br />

3c shows the waveforms for the speech scrambled in time<br />

domain <strong>and</strong> descrambled in time domain. To scramble<br />

speech cosine multiplicati<strong>on</strong> is d<strong>on</strong>e with input speech.<br />

Fig 3a is signal waveform for the original speech played.<br />

<strong>and</strong> when it is scrambled in the time domain it sounds<br />

absolutely like noise <strong>and</strong> also in the graphical<br />

representati<strong>on</strong> the difference between the original signal<br />

<strong>and</strong> its time scrambled signal is distinctly visible<br />

1<br />

0<br />

-1<br />

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5<br />

0.5<br />

0<br />

a)<br />

x 10 4<br />

-0.5<br />

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5<br />

0.5<br />

0<br />

b)<br />

x10 4<br />

-0.5<br />

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5<br />

c)<br />

Fig. 3 a)Original speech b) Time domain scrambled speech c)<br />

Speech rec<strong>on</strong>structed in time domain.<br />

x 10 4<br />

3. Frequency Domain<br />

The speech signal <strong>on</strong>ce is scrambled in the time domain<br />

becomes quite undecipherable. But the possibility for it to<br />

get deciphered is still quite high. Hence the time scrambled<br />

speech signal is further processed. It is passed <strong>on</strong> to the<br />

next module where the entire signal is c<strong>on</strong>verted to its<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 406


Proceedings of ICCNS 08 , 27-28 September 2008<br />

frequency domain equivalent. By doing frequency domain<br />

transformati<strong>on</strong>, the possibility to determine the original<br />

speech signal is reduced distinctly thereby resulting in to<br />

an absolute noise signal when the signal after the<br />

frequency domain transform is heard.<br />

There are several methods for implementing the<br />

transformati<strong>on</strong> of the time domain speech signal into<br />

frequency domain. For this implementati<strong>on</strong> transformati<strong>on</strong><br />

is d<strong>on</strong>e by Fast Fourier Transform.<br />

In frequency domain by applying Fast Fourier transform<br />

we are c<strong>on</strong>verting signal from time domain into frequency<br />

domain. The output of frequency domain it self gives the<br />

another form of scrambled speech. No separate frequency<br />

domain algorithm for scrambling is used. Output of FD is<br />

scrambled speech which is totally different from input<br />

speech <strong>and</strong> secure to transmit over the network. Fig 4b <strong>and</strong><br />

4c shows the speech scrambled descrambled waveforms in<br />

frequency domain.<br />

4. Scrambled speech<br />

At the sender side before sending the speech it is<br />

scrambled. The words of original speech can not be<br />

recognized by listening the scrambled speech.<br />

B. Descrambling system<br />

At receiver side before listing to the received speech it<br />

should be first descrambled. The scrambled signal is first<br />

descrambled in the frequency domain. In FD ifft is applied<br />

<strong>on</strong> input scrambled speech. The result of the inverse<br />

frequency transformati<strong>on</strong> is time scrambled speech signal<br />

It is given as input to time domain for descrambling where<br />

descrambling is d<strong>on</strong>e again by cosine multiplicati<strong>on</strong> with<br />

scrambled speech. Here the signal is descrambled in the<br />

time domain so as to retrieve the original speech signal.<br />

x 10<br />

Magnitude<br />

200<br />

100<br />

0<br />

0 10 20 30 40 50 60 70 80 90 100<br />

0.5<br />

a)<br />

Frequency domain rec<strong>on</strong> Speech<br />

IV. IMPLEMENTATION AND RESULTS<br />

As menti<strong>on</strong>ed in the secti<strong>on</strong> III the scrambling system is<br />

implemented in MATLAB. It is a high-performance<br />

language for technical computing. It includes high-level<br />

functi<strong>on</strong>s for two-dimensi<strong>on</strong>al <strong>and</strong> three-dimensi<strong>on</strong>al data<br />

visualizati<strong>on</strong>, image processing, signal processing,<br />

animati<strong>on</strong>, <strong>and</strong> presentati<strong>on</strong> graphics. The steps involved<br />

in scrambling process <strong>and</strong> implemented using MATLAB<br />

functi<strong>on</strong> are briefly described in TABLE I. Here the steps<br />

are the algorithmic sequence of steps at the scrambling<br />

System <strong>and</strong> its respective MATLAB functi<strong>on</strong>.. Output of<br />

scrambling System is scrambled speech.<br />

A brief discussi<strong>on</strong> of scrambling algorithm is 1 st step<br />

input speech is recorded using waveread functi<strong>on</strong> <strong>and</strong><br />

stored as in waveform format. To record the time required<br />

to scramble timer is set in step 2 using clock functi<strong>on</strong><br />

before starting the scrambling procedure. Speech is<br />

scrambled in time domain in step 3 using by generating<br />

cosine pattern of input speech using cos functi<strong>on</strong> which is<br />

described detail in secti<strong>on</strong> III. FFT of time domain<br />

scrambled speech is calculated in step 4 using FFT.<br />

Output of the 4 th step is the final scrambled speech of<br />

scrambling system. Now, the timer is stop <strong>and</strong> the time in<br />

sec<strong>on</strong>ds is displayed using clock functi<strong>on</strong>.<br />

Scrambled speech is played in step 6 using functi<strong>on</strong><br />

soundsec. Descrambling algorithm has the reverse<br />

processing steps <strong>on</strong> the scrambled speech as input. Time<br />

required for descrambling is also calculated which is given<br />

in TABLE II.<br />

Step<br />

TABLE I<br />

SCRAMBLING ALGORITHM<br />

MATLAB Functi<strong>on</strong><br />

1) Record speech(.wav file) Using waveread<br />

2) Set the timer <strong>and</strong> display<br />

current time in ms.<br />

3) Generate cosine pattern of<br />

input file in time scramble<br />

4) Apply FFT to time_ scramble<br />

speech<br />

5) Stop timer display the time in<br />

ms.<br />

Clock<br />

cos(pi*[1:m])<br />

frequency_scramble=fft<br />

(time_scramble)<br />

Clock<br />

0<br />

6) Play frequency scramble<br />

speech<br />

soundsc(fft_scram, Fs)<br />

-0.5<br />

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5<br />

x 10 4<br />

b)<br />

Fig. 4 a)FD scrambled speech b) FD descrambled speech<br />

Fig. 5 is the <strong>on</strong>e example with resultant waveform<br />

describing the scrambling <strong>and</strong> descrambling system with<br />

input speech ,scrambled speech <strong>and</strong> descrambled speech.<br />

TABLE I shows the scrambling results of different input files.<br />

The time to scramble <strong>and</strong> descramble is shown in<br />

millisec<strong>on</strong>ds. The time required is very less for scrambling<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 407


Proceedings of ICCNS 08 , 27-28 September 2008<br />

as well as descrambling. Within few millisec<strong>on</strong>ds input is<br />

ready to transmit over insecure network.<br />

1<br />

0<br />

-1<br />

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5<br />

1<br />

0<br />

Magnitude a)<br />

TimedomainSpeech<br />

x10 4<br />

-1<br />

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5<br />

200<br />

100<br />

b)<br />

Magnitude<br />

x10 4<br />

0<br />

0 10 20 30 40 50 60 70 80 90 100<br />

1<br />

0<br />

-1<br />

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5<br />

1<br />

0<br />

c)<br />

d)<br />

x 10 4<br />

-1<br />

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5<br />

e)<br />

x 10 4<br />

Fig. 5a)Original speech b)TD scramble speech c)FD scramble<br />

speech d) Speech descrambled in frequency domain e) Finally<br />

rec<strong>on</strong>structed speech in time domain.<br />

V. CONCLUSION<br />

Implementati<strong>on</strong> shows that listening the scrambled<br />

speech <strong>on</strong>e can not recognize the original speech .The<br />

scrambling system presented here draws the best features<br />

of time domain <strong>and</strong> frequency domain implementati<strong>on</strong>s.<br />

Results table shows that time required to scramble <strong>and</strong><br />

descramble is acceptable.<br />

Input Wave<br />

File<br />

TABLE II<br />

RESULT TABLE<br />

Scrambling<br />

Time (ms)<br />

Descrambling<br />

Time (ms)<br />

Input1.wav 0.460 0.1720<br />

Input2.wav 0.0160 0.0630<br />

Input3.wav 0.2970 0.5310<br />

Input4.wav 0.5780 2.8120<br />

Input5.wav 0.0320 0.0940<br />

The system is suitable for real-time civil, commercial<br />

<strong>and</strong> military applicati<strong>on</strong>s as well as other speech<br />

communicati<strong>on</strong> applicati<strong>on</strong>.<br />

This approach is best as both the TD <strong>and</strong> FD methods<br />

revealed significantly. This completely a software<br />

scrambler which is applicable in any speech<br />

communicati<strong>on</strong> method with less complexity, hardware<br />

independent , also with less time to achieve scrambled <strong>and</strong><br />

descrambled speech.<br />

VI. REFERENCES<br />

[1] “Frequency-Domain Speech Scrambling Descrambling Techniques<br />

Implementati<strong>on</strong> <strong>and</strong> Evaluati<strong>on</strong> <strong>on</strong> DSP”, Jameer,Nassar Nati<strong>on</strong>al<br />

University of Sciences <strong>and</strong> Technology, Pakistan<br />

[2] Yoshifumi Chisaki1, Haruki Morinaga1, Katsutoshi Kitajima2,<br />

Mitsuhiro Koba2 <strong>and</strong> Department of <strong>Computer</strong> Science, Faculty of<br />

Engineering, Kumamoto University, “Speech encrypti<strong>on</strong> system with a<br />

low bit rate coding algorithm for analogue transmissi<strong>on</strong> line “ Kurokami<br />

2–39–1, Kumamoto, 860–8555 Japan 2IP Square Corporati<strong>on</strong>.<br />

( Received 20 January 2005, Accepted for publicati<strong>on</strong> 21 February 2005<br />

)<br />

[3] IEEE Transacti<strong>on</strong>s On Signal Processing, Vol. 43, No. 8, August 1995<br />

1753 “A Unified Approach to Scrambling Filter Design” Chwan-Wen<br />

King <strong>and</strong> Ching-An Lin<br />

[4]“Theory <strong>and</strong> applicati<strong>on</strong>s of scrambling technique for digital light<br />

wave transmissi<strong>on</strong>” Manuscript received December 1, 1994; revised July<br />

28, 1995. B. G. Lee is with the Department of Electr<strong>on</strong>ics Engineering,<br />

Seoul<br />

[5] ”SS70A Speech Scrambler Kit Instructi<strong>on</strong> Manual” Ramsey<br />

Electr<strong>on</strong>ics publicati<strong>on</strong> No. MSS70A Revisi<strong>on</strong> 1.3, First printing:<br />

September 1995 COPYRIGHT 1995 by Ramsey Electr<strong>on</strong>ics, Inc. 590<br />

Fishers Stati<strong>on</strong> Drive,<br />

Victor, New York 14564.<br />

[6] H. Morinaga, Y. Chisaki, T. Usagawa, M. Koba <strong>and</strong> K. Kitajima,<br />

‘‘Performa nce evaluati<strong>on</strong> of encrypti<strong>on</strong> for speech signal by means of<br />

subject listening test,’’ Proc. 2003 Kyushu-Youngnam Jt. C<strong>on</strong>f.<br />

Acoustics, pp. 29–32 (2003).<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 408


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[7]LIN-SHAN LEE,MEMBER IEEE,GER-CHIH CHOU AND CHING-<br />

SUNG CHANG,Vol.COM-32,No.4 “A New Frequency Domain Speech<br />

Scrambling System Which Does Not Require Frame Synchr<strong>on</strong>izati<strong>on</strong> ”.<br />

[8] David Dorran,Robert Lawlor, “Audio Time Scale modificati<strong>on</strong> Using<br />

A Hybrid Time-Frequency Domain Approach”, IEEE Workshop,October<br />

16-19,2005,New Paltzs,NY<br />

[9]Tilendra Shishir Sinha “ Implementati<strong>on</strong> Of Speech Signal For<br />

Promoting Global Cyber <strong>Security</strong> Using Stegno graphy techniques”,<br />

IETE Technical Review,Vol 24,No.5,Sep-Oct 2005<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 409


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Steganography in MS Word Document<br />

using its In-built Features<br />

Mrs. V. S. Tidake, Prof. S. G. Pukale, Prof. M. L. Dhore<br />

Abstract— There are plenty of text resources available for text<br />

steganography. Microsoft word being a comm<strong>on</strong>ly used<br />

communicati<strong>on</strong> medium can be well utilized as a cover document to<br />

hide the data. In this paper, a new steganographic method is<br />

presented which hides data in MSword documents. It uses <strong>on</strong>e<br />

special feature of Microsoft word: change tracking. The process of<br />

data hiding is divided into two steps: message embedding <strong>and</strong><br />

message extracti<strong>on</strong>. On the sender’s side, a secret message is<br />

embedded inside a cover document to obtain a stegodocument.<br />

Depending <strong>on</strong> the data, the positi<strong>on</strong> where it should be embedded is<br />

decided. The embedded secret message is revised back again which<br />

makes the cover document look normal <strong>and</strong> also produces a<br />

stegodocument. On the receiver’s side, the hidden message is<br />

extracted back from the stegodocument. The paper shows<br />

comparis<strong>on</strong> between two encoding techniques used for message<br />

embedding, namely Huffman <strong>and</strong> block encoding.<br />

II. STEGANOGRAPHY USING CHANGE TRACKING<br />

In the proposed steganographic method, a secret message is<br />

embedded inside a cover document D using change tracking<br />

[1] to obtain a stegodocument S. The process is divided into<br />

two stages, the degenerati<strong>on</strong> stage, <strong>and</strong> the revisi<strong>on</strong> stage, as<br />

shown in fig.1.<br />

Keywords— Text steganography, cover document, change<br />

tracking, message embedding, stegodocument, message extracti<strong>on</strong>.<br />

I. INTRODUCTION<br />

Steganography is the art of sending hidden or<br />

invisible messages. The name came from the Greek word<br />

having meaning “covered writing”. While much of modern<br />

steganography focuses <strong>on</strong> images, audio signals, <strong>and</strong> other<br />

digital data, there is also a plethora of text sources in which<br />

informati<strong>on</strong> can be hidden. While there are various ways in<br />

which <strong>on</strong>e may hide informati<strong>on</strong> in text, there is a specific set<br />

of techniques that uses the linguistic structure of a text [9] as<br />

the space in which informati<strong>on</strong> is hidden.<br />

Text steganography uses text as the medium in<br />

which informati<strong>on</strong> is hidden. Text steganography can involve<br />

anything from changing the formatting of an existing text, to<br />

changing words within a text, to generating r<strong>and</strong>om character<br />

sequences or using c<strong>on</strong>text-free grammars to generate<br />

readable texts [10]. With any of these methods, the comm<strong>on</strong><br />

thing is that hidden messages are embedded in characterbased<br />

text.<br />

V. S. Tidake is with the NDMVPS’s College of Engineering, Nashik <strong>and</strong> is a<br />

student of M.E. (CSE-IT), Vishwakarma Institute of Technolgy, Pune. (e-mail:<br />

vaishalitidake@ yahoo.co.in).<br />

Prof. .S. G. Pukale is with the Vishwakarma Institute of Technolgy, Pune. (email:<br />

shraddhananad.pukale@vit.edu).<br />

Prof. M. L. Dhore is with the Vishwakarma Institute of Technolgy, Pune. (email:<br />

manikrao.dhore@vit.edu).<br />

Fig. 1 Steganography using change tracking<br />

The data embedding is d<strong>on</strong>e in such a way that the<br />

stegodocument appears to be the product of a collaborative<br />

writing effort. Text segments in the document are<br />

degenerated such that it appears to be the work of an author<br />

with inferior writing skills <strong>and</strong> the secret message is<br />

embedded in the choices of degenerati<strong>on</strong>s [1]. Then the<br />

degenerati<strong>on</strong>s are revised back using the change tracking<br />

feature of MSword, in such a way that it appears as if a expert<br />

author is correcting the mistakes. The change tracking<br />

informati<strong>on</strong> c<strong>on</strong>tained in the stegodocument allows to recover<br />

the original cover, the degenerated document, <strong>and</strong>, hence, the<br />

secret message. The extra change tracking informati<strong>on</strong> is<br />

added during message embedding so that it appears a normal<br />

collaborati<strong>on</strong> scenario.<br />

As the input data c<strong>on</strong>sists of characters, it is first<br />

c<strong>on</strong>verted to binary data. Assume that the input message is<br />

c<strong>on</strong>verted to an m-bit stream M = b 1 b 2 … b m , where each b i is<br />

a bit. It is c<strong>on</strong>verted to the following binary message:<br />

M’ = H b 1 b 2 … b m P = b 1 ’ b 2 ’…<br />

where the header H denotes length m of message <strong>and</strong> P<br />

denotes padding bits. This message M’ is embedded in the<br />

cover document D.<br />

The message bits can be embedded using different<br />

techniques. This paper c<strong>on</strong>centrates <strong>on</strong> Huffman coding <strong>and</strong><br />

block encoding. Positi<strong>on</strong> in cover doc where bits are<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 410


Proceedings of ICCNS 08 , 27-28 September 2008<br />

embedded, is called as embedding place. It is computed using<br />

the secret key K <strong>and</strong> the bit positi<strong>on</strong> in the message.<br />

III. HUFFMAN CODING<br />

This technique uses probabilities of occurrences of<br />

each word to compute its Huffman code [11]. Words having<br />

small probabilities are assigned l<strong>on</strong>ger Huffman codes <strong>and</strong><br />

those having higher probabilities are assigned smaller<br />

Huffman codes.<br />

A. Message embedding<br />

Message embedding is performed in two stages:<br />

degenerati<strong>on</strong> <strong>and</strong> revisi<strong>on</strong>. In the degenerati<strong>on</strong> stage, first a<br />

cover document D is segmented. Then some of the text<br />

segments in a cover document D are degenerated. For a text<br />

segment d, a degenerati<strong>on</strong> set R d is defined to be the ordered<br />

set of possible degenerated text segments. Let us use set of<br />

syn<strong>on</strong>yms of a word as a degenerati<strong>on</strong> database. R d (j) denotes<br />

the j th element in R d . The term Pr {R d (j)} denotes the<br />

probability of occurrence for R d (j). The probabilities of<br />

occurrences are used during message embedding so that the<br />

system prefers substituti<strong>on</strong>s that occur comm<strong>on</strong>ly <strong>and</strong>, thus,<br />

produces a more natural stegodocument.<br />

Algorithm 1: Message Embedding using Huffman coding<br />

Input: a cover document D partiti<strong>on</strong>ed into text segments d 1 ,<br />

d 2 ,…,d n ; a character message to be embedded; <strong>and</strong> a secret<br />

key K .<br />

Output: a stegodocument S.<br />

Steps:<br />

1) C<strong>on</strong>vert character message to binary as M’ = b 1 ’ b 2 ’ b 3 ’…<br />

2) Initialize the set OF embedding places P to be empty. Also<br />

define an index p to denote the positi<strong>on</strong> of the message bit b p ’<br />

which we are currently encoding. Initially p is equal to 1.<br />

3) Compute an embedding place i r<strong>and</strong>omly using K such that<br />

i is in the range of 1≤i≤n <strong>and</strong> i not in the set P. Now add i to<br />

P.<br />

4) C<strong>on</strong>struct a Huffman tree T for the text segment d i with<br />

degenerati<strong>on</strong> set R d of size c. Use Pr {R d (j)} as weight of a<br />

node initially.<br />

5) Degenerate text segment d i to be d i ’=R d (j) , where the<br />

degenerati<strong>on</strong> choice j is determined by traveling the Huffman<br />

tree T from the root to a leaf node as stated by the current bits<br />

to be embedded.<br />

6) Repeat Steps 3 to 5 until the entire message has been<br />

embedded.<br />

7) Revise each previously degenerated text segment d i ’ back<br />

to d i with the revisi<strong>on</strong>s made being tracked to yield stegotext<br />

segments S i for all i in P.<br />

B. Message Extracti<strong>on</strong><br />

The change tracking informati<strong>on</strong> included in the<br />

stegodocument S allows simple recovery of the original<br />

document D <strong>and</strong> the degenerated document D’, from both of<br />

which the embedded message can be extracted.<br />

Algorithm 2: Message Extracti<strong>on</strong><br />

Input: a stegodocument S = {s 1 , s 2 ,…s n } <strong>and</strong> a secret key K.<br />

Output: the extracted message in characters .<br />

Steps:<br />

1) Recover the original document D = {d 1 , d 2 ,…d n } <strong>and</strong> the<br />

degenerated document D’ = {d 1 ’, d 2 ’,…d n ’} from S using the<br />

change tracking informati<strong>on</strong> <strong>and</strong> the related operati<strong>on</strong>s<br />

provided by MSword.<br />

2) Initialize the set of embedding places P to be empty.<br />

3) Define an index p which denotes the positi<strong>on</strong> of the<br />

message bit b p ’ which we are currently decoding. Set initially<br />

p = 1.<br />

4) Select the same embedding place i as that in message<br />

embedding using key K <strong>and</strong> set of embedding places P.<br />

5) C<strong>on</strong>struct a Huffman tree T for the text segment d i with a<br />

degenerati<strong>on</strong> set R di of size c as described in Algorithm 1.<br />

6) Determine the choice of degenerati<strong>on</strong> j such that R d (j) =<br />

d i ’.<br />

7) Decode the message bits encoded in j by traversing the<br />

Huffman tree T from the root to the leaf node n j . Note the<br />

path traversed. It gives the bits embedded at that positi<strong>on</strong>.<br />

C<strong>on</strong>vert bits to corresp<strong>on</strong>ding characters.<br />

8) Repeat steps 4 to 7 until the entire message has been<br />

extracted.<br />

C. Illustrati<strong>on</strong> with example<br />

Working of both the algorithms is illustrated with an<br />

example in this secti<strong>on</strong>.<br />

[a] Message embedding<br />

Here the set of syn<strong>on</strong>yms is used as a degenerati<strong>on</strong><br />

set. The syn<strong>on</strong>ym database is available from different<br />

resources like WordNet database [7]. In this paper the<br />

syn<strong>on</strong>ym set is c<strong>on</strong>structed from thesaurus available in<br />

MSword itself. For example, let the text segment to be<br />

degenerated is d=“scheme”. Suppose the degenerati<strong>on</strong> set of<br />

“scheme” c<strong>on</strong>tains the eight entries scheme, system, plan,<br />

method, format, idea, proposal <strong>and</strong> design. Probabilities of<br />

their occurrences can be calculated from any related database<br />

[8]. Syn<strong>on</strong>yms of “scheme” <strong>and</strong> their respective probabilities<br />

are used to find Huffman codes as shown in fig. 2.<br />

j R d (j) Huffman Code<br />

1 Scheme 011<br />

2 System 00<br />

3 Plan 01001<br />

4 Method 10<br />

5 Format 110<br />

6 Idea 0101<br />

7 Proposal 01000<br />

8 Design 111<br />

Fig. 2 Huffman codes for syn<strong>on</strong>yms of “scheme”<br />

By using the occurrence probabilities, c<strong>on</strong>struct a<br />

Huffman tree T. Label left branch as 0 <strong>and</strong> right branch as 1.<br />

C<strong>on</strong>struct Huffman codes for all the leaf nodes, as shown in<br />

fig. 2. Let the code to be embedded at this positi<strong>on</strong> is 110…<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 411


Proceedings of ICCNS 08 , 27-28 September 2008<br />

So when the tree is traversed from root visiting the branches<br />

1, 1, 0 respectively, we will reach at a leaf node of “format”.<br />

Hence the text segment d=“scheme” is degenerated to text<br />

segment d’ = “format”. Then track changes feature of<br />

MSword is turned <strong>on</strong> <strong>and</strong> d’ = “format” is revised back to d =<br />

“scheme”. It will be shown by stegotext as<br />

S=“formatscheme”.<br />

[b] Message extracti<strong>on</strong><br />

Given a stegotext segment S = “formatscheme”, we<br />

can recover the original <strong>and</strong> the degenerated text segments to<br />

be d i = “scheme” <strong>and</strong> d i ’=“format” respectively. Again<br />

c<strong>on</strong>struct the Huffman tree T using the given probabilities to<br />

get the same Huffman codes. Since the degenerated text<br />

segment is “format”, traverse the tree from the root to a leaf<br />

node which denotes “format”. Analyze the path traveled. It<br />

will give the bits “110”. It means that the bits “110” were<br />

embedded at that positi<strong>on</strong>.<br />

IV. BLOCK ENCODING<br />

Block encoding is implemented by restricting the<br />

size of syn<strong>on</strong>ym set to integral power of 2. If size of the set is<br />

2 raise to k, then k bits are used to encode each entry in the<br />

syn<strong>on</strong>ym database uniquely [12].<br />

Algorithms for message embedding <strong>and</strong> message extracti<strong>on</strong><br />

Algorithms are very similar to those used in Huffman<br />

coding. The <strong>on</strong>ly difference is that instead of c<strong>on</strong>structing<br />

Huffman codes, the syn<strong>on</strong>yms in each set are uniquely<br />

represented using the bit sequence as shown in the following<br />

example.<br />

Illustrati<strong>on</strong> with example<br />

Again c<strong>on</strong>sider the set of syn<strong>on</strong>yms for “scheme”. As<br />

the size of the set is eight ( that is 2 raise to 3), three bits can<br />

be used to uniquely represent each entry in the set as shown<br />

in fig. 3.<br />

j R d (j) Block Code<br />

1 Scheme 000<br />

2 System 001<br />

3 Plan 010<br />

4 Method 011<br />

5 Format 100<br />

6 Idea 101<br />

7 Proposal 110<br />

8 Design 111<br />

Fig. 3 Block codes for syn<strong>on</strong>yms of “scheme”<br />

a. Message embedding<br />

Let the code to be embedded next 110… So the set is<br />

searched for block code 110 which denotes “proposal”. Hence<br />

the text segment d=“scheme” is degenerated to text segment<br />

d’ = “proposal”. Then track changes feature of MSword is<br />

turned <strong>on</strong> <strong>and</strong> d’ = “proposal” is revised back to d =<br />

“scheme”. It will be shown by stegotext as<br />

S=“proposalscheme”.<br />

b. Message extracti<strong>on</strong><br />

Given a stegotext segment S = “proposalscheme”, we<br />

can recover the original <strong>and</strong> the degenerated text segments to<br />

be d i = “scheme” <strong>and</strong> d i ’=“proposal” respectively. Again<br />

c<strong>on</strong>struct the same block codes for the same syn<strong>on</strong>ym set of<br />

“scheme”. Here the key point is that the each entry in the<br />

syn<strong>on</strong>ym set of “scheme” should be represented by same<br />

block code at the time message embedding <strong>and</strong> the extracti<strong>on</strong>.<br />

Since the degenerated text segment is “proposal”, search it in<br />

the syn<strong>on</strong>ym set of “scheme” <strong>and</strong> analyze the corresp<strong>on</strong>ding<br />

block code for “proposal”. It will give the bits “110”. It means<br />

that the bits “110” were embedded at that positi<strong>on</strong>.<br />

V. SECURITY CONSIDERATIONS AND LIMITATIONS<br />

For every steganographic system, security is very<br />

important. The following security aspects are c<strong>on</strong>sidered for<br />

the given system:<br />

1. The syn<strong>on</strong>ym database used for degenerati<strong>on</strong> <strong>and</strong> the secret<br />

key are agreed up<strong>on</strong> by the sender <strong>and</strong> receiver beforeh<strong>and</strong>.<br />

2. It is robust against statistical steganalysis [6] because of the<br />

following reas<strong>on</strong>s:<br />

a. In Huffman coding, degenerati<strong>on</strong>s are chosen according to<br />

their occurrence probabilities. So even though the adversary<br />

becomes successful to obtain the database, he can not find out<br />

occurrence frequencies because occurrence frequencies may<br />

be computed from pers<strong>on</strong>al databases owned <strong>on</strong>ly by the<br />

sender <strong>and</strong> the receiver. In block encoding, the sequence of<br />

words in the database is important to obtain block code.<br />

b. To ensure that statistical properties of the degenerati<strong>on</strong>s of<br />

a stegodocument are closer to that of a normal document, the<br />

message can be compressed or encrypted before embedding.<br />

c. To increase robustness in the Huffman coding, we can<br />

change the occurrence probability of degenerati<strong>on</strong> after it has<br />

been used <strong>on</strong>ce. So the probability of the same word getting<br />

selected decreases in future <strong>and</strong> we can achieve the desired<br />

statistical coherence with a normal document.<br />

3. The degenerati<strong>on</strong> database can be modified dynamically<br />

after embedding secret data.<br />

4. After embedding informati<strong>on</strong> in a stegodocument using the<br />

proposed method, a sender may manipulate the unused<br />

porti<strong>on</strong>s of the stegodocument.<br />

As every coin has two sides, the given system also<br />

has some limitati<strong>on</strong>s:<br />

1. The degenerati<strong>on</strong> set <strong>and</strong> the key must be known <strong>on</strong>ly to<br />

the sender <strong>and</strong> the receiver.<br />

2. The change tracking informati<strong>on</strong> used for message<br />

embedding should not be disturbed by anybody knowingly or<br />

unknowingly.<br />

3. The degenerati<strong>on</strong> database should be kept realistic.<br />

VI. IMPLEMENTATION RESULTS<br />

The system is implemented using Microsoft Word<br />

2003 <strong>and</strong> C\#. The automati<strong>on</strong> techniques of Microsoft Word<br />

are also used for implementati<strong>on</strong>. The degenerati<strong>on</strong> database<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 412


Proceedings of ICCNS 08 , 27-28 September 2008<br />

is c<strong>on</strong>structed using the thesaurus available in Microsoft<br />

Word 2003.<br />

The System is evaluated by comparing the results<br />

obtained using the three coding techniques, namely Huffman,<br />

block <strong>and</strong> arithmetic coding. The results obtained from these<br />

three techniques are compared with each other as shown in<br />

fig.4. Results show that the system gives better results if block<br />

encoding is used for message embedding instead of Huffman<br />

coding. Further if the message is compressed before<br />

embedding, then the system performance is improved <strong>and</strong> can<br />

embed more data. Here the arithmetic encoding is used as<br />

compressi<strong>on</strong> technique.<br />

[7] WordNet v2.1, a lexical database for the English<br />

language. Princet<strong>on</strong> Univ., Princet<strong>on</strong>, NJ, 2005.<br />

http://wordnet.princet<strong>on</strong>.edu/<br />

[8] Google, Google SOAP Search API (beta), [Online].<br />

Available: http://www.seochat.com/c/a/Google-Optimizati<strong>on</strong>-<br />

Help/Using-the-Google-SOAP-Search-AP<br />

[9] K. Bennett, “Linguistic steganography: Survey, analysis,<br />

<strong>and</strong> robustness c<strong>on</strong>cerns for hiding informati<strong>on</strong> in text,”<br />

Purdue Univ., West Lafayette, IN, CERIAS Tech. Rep. 2004–<br />

13, May 2004.<br />

[10] J. T. Brassil <strong>and</strong> N. F. Maxemchuk, “Copyright<br />

protecti<strong>on</strong> for the electr<strong>on</strong>ic distributi<strong>on</strong> of text Documents,”<br />

Proc. IEEE, vol. 87, no. 7, pp. 1181–1196, Jul. 1999.<br />

[11] P. Wayner, “Mimic functi<strong>on</strong>s,” Crypt., vol. XVI, no. 3,<br />

pp. 193–214, 1992.<br />

[12] M. Chapman, I. D. George, <strong>and</strong> R. Marc, “A practical<br />

<strong>and</strong> effective approach to large-scale automated linguistic<br />

steganography,” in Proc. Informati<strong>on</strong> <strong>Security</strong> C<strong>on</strong>f., Malaga,<br />

Spain, Oct. 2001, pp. 156–165.<br />

Fig. 4 Comparis<strong>on</strong> between encoding techniques<br />

VII. CONCLUSION<br />

Though the steganographic method presented in this<br />

paper focuses <strong>on</strong> Microsoft Word, the idea can be applied to<br />

some other communicati<strong>on</strong> mediums also. The robustness of<br />

the system can be increased by increasing r<strong>and</strong>omness in the<br />

input <strong>and</strong> the degenerati<strong>on</strong> database. As the work appears to<br />

be the effort of collaborative writing, is less likely to be under<br />

close scrutiny. The results obtained from the implementati<strong>on</strong><br />

show that embedding capacity of the Huffman coding is less<br />

as compared to the block encoding. Better results are obtained<br />

when a message is compressed using arithmetic encoding<br />

before embedding.<br />

REFERENCES<br />

[1] “A New Steganographic Method for Data Hiding in<br />

Microsoft Word Documents by a Change Tracking<br />

Technique”, Tsung-Yuan Liu, Student Member, IEEE, <strong>and</strong><br />

Wen-Hsiang Tsai, Senior Member, IEEE.<br />

[3] F. A. P. Petitcolas, R. J. Anders<strong>on</strong>, <strong>and</strong> M. G. Kuhn,<br />

“Informati<strong>on</strong> hiding—A survey,” Proc. IEEE, vol. 87, no. 7,<br />

pp. 1062–1078, Jul. 1999.<br />

[5] R. Stutsman, C. Grothoff, M. Attallah, <strong>and</strong> K. Grothoff,<br />

“Lost in just the translati<strong>on</strong>,” in Proc. ACM Symp. Applied<br />

Computing, 2006, pp. 338–345.<br />

[6] F. Johns<strong>on</strong> <strong>and</strong> S. Jajodia, “Steganalysis: The<br />

Investigati<strong>on</strong> of Hidden Informati<strong>on</strong>,” in Proc. IEEE<br />

Informati<strong>on</strong> Technology C<strong>on</strong>f., Syracuse, NY, Sep. 1998, pp.<br />

113–116.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 413


Proceedings of ICCNS 08 , 27-28 September 2008<br />

WAVELET BASED MEDICAL DATA COMPRESSION FOR<br />

TELEMEDICINE APPLICATION<br />

¹ Bairagi Vinayak , ² Dr A N Gaikwad<br />

¹ Lecturer, Dept. of Electr<strong>on</strong>ics Engg. Sinhgad Academy of Engg., Pune<br />

² Principal, Pune Institute of <strong>Computer</strong> Technology ,Pune<br />

India,<br />

E-mail: vbairagi@yahoo.co.in, arungaikwad@hotmail.com<br />

ABSTRACT<br />

Today the use of computers for h<strong>and</strong>ling image data in<br />

the healthcare field is growing. The CT <strong>and</strong> MR scan are the<br />

modern image generating techniques. Large amount of data is<br />

produced by these techniques. Due to the larger size, these<br />

images require a large storage space. This may be bottleneck<br />

of the system for the transmitting images over a channel with<br />

limited b<strong>and</strong>width especially for rural area. It is there for<br />

necessary to compress these medical images. Digital Imaging<br />

<strong>and</strong> Communicati<strong>on</strong>s in Medicine is the most comprehensive<br />

versi<strong>on</strong> of an imaging communicati<strong>on</strong>s st<strong>and</strong>ard which is<br />

worldwide accepted in medical field. This paper looks into the<br />

technological issues that are of prime c<strong>on</strong>cern in the growth of<br />

telemedicine services <strong>and</strong> presents <strong>on</strong>e of the efficient ways to<br />

compress the medical images.<br />

KEYWORDS: telemedicine, DICOM, SPIHT,<br />

ultrasound images, Quality measures, speckle noise.<br />

1. Introducti<strong>on</strong><br />

Telemedicine is a method, by which patients can be<br />

examined, investigated, m<strong>on</strong>itored <strong>and</strong> treated, with the<br />

patient <strong>and</strong> the doctor located in different places.<br />

Telemedicine hinges <strong>on</strong> transfer of text, reports, voice, images<br />

<strong>and</strong> video, between geographically separated locati<strong>on</strong>s.<br />

Medical data may c<strong>on</strong>tain X-ray, MRI, CT-scan, Ultra sound<br />

images, Blood slide, ECG signal, pathological reports <strong>and</strong><br />

Audio-video clippings. A block diagram representati<strong>on</strong> of a<br />

telemedicine system is shown in fig 1. Here at slave stati<strong>on</strong><br />

ultrasound device is attached to computer. The image<br />

informati<strong>on</strong> is transmitted over channel to the master stati<strong>on</strong><br />

where specialist doctors are present.<br />

The CT <strong>and</strong> MR scan are the modern image generating<br />

techniques. MR <strong>and</strong> CT produce sequences of images (image<br />

stacks) each a cross-secti<strong>on</strong> of an object. The amount of data<br />

produced by these techniques is vast.<br />

The amount of data might be a problem from a storage point<br />

of view or when the data is sent over a network. To overcome<br />

this problem image data can be compressed. Data compressi<strong>on</strong><br />

is the process of c<strong>on</strong>verting an input file into another file<br />

having smaller size.<br />

Ultrasound<br />

Device<br />

Ultrasound<br />

Specialist<br />

<strong>Computer</strong><br />

Fig1. Telemedicine system [4].<br />

For image data there exist many compressi<strong>on</strong> techniques such<br />

as JPEG, GIF <strong>and</strong> the new wavelet based JPEG2000 st<strong>and</strong>ard.<br />

Even though there are various compressi<strong>on</strong> technique are<br />

available but they are unable to compress medical image data<br />

very efficiently [2]. There is loss in image data if you want to<br />

compress the image with more compressi<strong>on</strong> factor [3].<br />

3.) Bottlenecks of existing system<br />

Communicati<strong>on</strong>:<br />

Satellite <strong>and</strong>/or Terrestrial<br />

<strong>Computer</strong><br />

Transreceiver<br />

Transreceiver<br />

a) High initial Investment: Most of the existing health care<br />

soluti<strong>on</strong>s require a huge initial investment in technology <strong>and</strong><br />

c<strong>on</strong>nectivity [8] [11] [16]. The CT <strong>and</strong> MR scan are the<br />

modern image generating techniques. MR <strong>and</strong> CT produce<br />

sequences of images (image stacks) each a cross-secti<strong>on</strong> of an<br />

object. The amount of data produced by these techniques is<br />

vast. Transmissi<strong>on</strong> of such huge data requires high b<strong>and</strong>width<br />

setup [21].<br />

b) Unsecured data: Since telemedicine is c<strong>on</strong>cerned with<br />

storage, processing <strong>and</strong> transmissi<strong>on</strong> of sensitive medical<br />

records, it is quite natural that security is of foremost c<strong>on</strong>cern<br />

in deployment <strong>and</strong> usage of such services. The issues related<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 414


Proceedings of ICCNS 08 , 27-28 September 2008<br />

to c<strong>on</strong>fidentiality, access right, <strong>and</strong> integrity of patient related<br />

informati<strong>on</strong> in electr<strong>on</strong>ic healthcare envir<strong>on</strong>ment is <strong>on</strong>e of the<br />

important aspects to be c<strong>on</strong>sidered [9] [12].<br />

c) Lack of st<strong>and</strong>ards: The available st<strong>and</strong>ards are not<br />

suitable to fulfill the requirement of the rural telemedicine<br />

[23].<br />

d) Lack of scientific evidence: The implementati<strong>on</strong> of<br />

telemedicine in routine health services is being impeded by the<br />

lack of scientific evidence for its clinical <strong>and</strong> cost<br />

effectiveness.<br />

e) Lowered Quality: The technology used in India is<br />

based <strong>on</strong> the video c<strong>on</strong>ference <strong>and</strong> teleph<strong>on</strong>e calls. But in this<br />

system accurate diagnosis is not possible. It is also observed<br />

that the present system requisite the live transmissi<strong>on</strong> <strong>and</strong><br />

recepti<strong>on</strong> of the medical data. Video-C<strong>on</strong>ferencing based<br />

systems dose not fallow any of the medical st<strong>and</strong>ard [10] [11].<br />

f) Need of Embedded medical decisi<strong>on</strong>: Special<br />

medical algorithms should be developed to integrate the<br />

medical data arriving from different sensors, to analyse<br />

multiple changes in several parameters. No such algorithms<br />

are in clinical use today at homecare or ambulatory device,<br />

although experiments are being c<strong>on</strong>ducted to discover<br />

interrelati<strong>on</strong>s between parameters, which can indicate a<br />

dangerous situati<strong>on</strong> in the patients health. The medical<br />

algorithms, usually based <strong>on</strong> fuzzy logic or neural networks<br />

models, are build up<strong>on</strong> a medical learning process, in order to<br />

c<strong>on</strong>sider all possible data combinati<strong>on</strong>s <strong>and</strong> suggest the best<br />

possible medical diagnosis leading to the timely <strong>and</strong> most<br />

appropriate medical interventi<strong>on</strong>.<br />

Apart from these, the present system require the end- users to<br />

be enough techno-savvy to use them. Also there is a need of<br />

open software so as to meet the specific requirement of the<br />

users [12]. Legal <strong>and</strong> ethical issues, Patient safety, Risk<br />

analysis- Biomedical sensors are the some more issues to be<br />

point out.<br />

From above discussi<strong>on</strong> it is clear that there is a need of new<br />

advanced Telemedicine system.<br />

DICOM st<strong>and</strong>ard<br />

DICOM (Digital Imaging <strong>and</strong> Communicati<strong>on</strong>s in<br />

Medicine) is the most comprehensive versi<strong>on</strong> of an imaging<br />

communicati<strong>on</strong>s st<strong>and</strong>ard developed by the American College<br />

of Radiology in c<strong>on</strong>juncti<strong>on</strong> with the Nati<strong>on</strong>al Electrical<br />

Manufacturers Associati<strong>on</strong>. The purpose of DICOM is to<br />

provide platform-independent methods of interc<strong>on</strong>necting all<br />

types of digital medical imaging devices by means of st<strong>and</strong>ard<br />

computer networks.<br />

DICOM offers a wide variety of functi<strong>on</strong>s for use in<br />

PACS (picture archiving <strong>and</strong> communicati<strong>on</strong> systems);<br />

These functi<strong>on</strong>s range from detailed technical <strong>and</strong><br />

demographic data to methods for generating work lists <strong>and</strong><br />

interacting with hospital informati<strong>on</strong> systems.<br />

DICOM format has a header which c<strong>on</strong>tains the informati<strong>on</strong><br />

about the image, imaging modality <strong>and</strong> informati<strong>on</strong> about<br />

patent [4]. The header also c<strong>on</strong>tains the informati<strong>on</strong> about type<br />

of media (CT, MRI, audio recording, etc.) image dimensi<strong>on</strong>s.<br />

Body of DICOM st<strong>and</strong>ard c<strong>on</strong>tains informati<strong>on</strong> objects such<br />

as medical reports, audio recordings, <strong>and</strong> images.<br />

A single DICOM file can c<strong>on</strong>tain any amount of images [4].<br />

Proposed system<br />

Image from CT scan or MRI machine is given to the<br />

system. ULTRASONIC IMAGES suffer from a special kind<br />

of noise called ‘speckle’. Speckle significantly degrades the<br />

image quality <strong>and</strong>, hence makes it more difficult for the<br />

observer to discriminate fine detail of the images in diagnostic<br />

examinati<strong>on</strong>s.<br />

Initially noise level is minimized followed by SPIHT<br />

coding. After SPIHT coding we get a bit-stream of <strong>on</strong>es <strong>and</strong><br />

zeros. Such bit stream is again compressed by RLE coding.<br />

Input<br />

image<br />

Quality<br />

Measures<br />

Noise<br />

reducti<strong>on</strong><br />

DWT<br />

SPIHT<br />

RLE<br />

Coding<br />

Transmissi<strong>on</strong><br />

Output<br />

image IDWT ISPIHT RLE<br />

Decoding<br />

Fig2: Proposed system for telemedicine<br />

At the decoder end exactly reverse procedure is carried out.<br />

And finally we apply quality measures to decoded image.<br />

In image coding system the most frequently used<br />

measures are deviati<strong>on</strong>s between original <strong>and</strong> coded image.<br />

Most popular measures are varieties of mean square error<br />

(MSE) <strong>and</strong> peak signal to noise ratio (PSNR). These measures<br />

are popular because they are simple to implement <strong>and</strong> it is<br />

easy to relatively design systems, which minimize mean<br />

square error. These measures work best when the distorti<strong>on</strong>s<br />

are due to additive noise. However these measures do not<br />

corresp<strong>on</strong>d well with all aspects of the observer’s visual<br />

percepti<strong>on</strong> of errors. The fundamental difficulty in testing any<br />

image compressi<strong>on</strong> system is to decide which image is to be<br />

used for testing purpose. The image c<strong>on</strong>tent being viewed<br />

influences the percepti<strong>on</strong> of quality. The spatial frequency<br />

measure (SFM) indicates the overall activity level in an image.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 415


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Observati<strong>on</strong>s of the proposed system.<br />

1) Choice of wavelet<br />

There are numbers of wavelets available, out of which<br />

Bi-orthog<strong>on</strong>al wavelets are giving much better results.<br />

Table1: analysis of ultrasound image (SMF=29.64)<br />

Wavelet MSE PSNR SFM<br />

'bior1.1' 3135.439 13.16782 24.6175<br />

'bior1.3' 3495.201 12.69608 26.11527<br />

' bior1.5' 3720.818 12.42442 26.10818<br />

‘bior2.2' 626.8068 20.15947 27.23261<br />

‘bior 2.4’ 749.7808 19.38146 27.54518<br />

' bior2.6' 859.3959 18.78887 27.57578<br />

' bior2.8' 903.0426 18.57372 27.9069<br />

'bior3.1' 19563.39 5.216362 28.03949<br />

'bior3.3' 14983.05 6.374802 25.05197<br />

' bior3.5' 12380.39 7.203461 25.5584<br />

' bior3.7' 10775.92 7.80626 26.1485<br />

'bior3.9' 10094.28 8.090052 26.53259<br />

'bior4.4' 124.7046 27.17198 26.72356<br />

'bior5.5' 4614.177 11.48986 19.37316<br />

' bior6.8' 185.72 25.44222 26.82061<br />

Table2: Overall system analysis @ biorthog<strong>on</strong>al 4.4 wavelet<br />

bit<br />

rate<br />

(bpp)<br />

PSNR<br />

SFM<br />

w/o<br />

specakle<br />

reducti<strong>on</strong><br />

with<br />

speckle<br />

reducti<strong>on</strong><br />

w/o<br />

specakle<br />

reducti<strong>on</strong><br />

with<br />

speckle<br />

reducti<strong>on</strong><br />

0.1 20.491901 22.054741 10.95836 11.007262<br />

0.2 23.213888 24.490816 21.283687 18.385752<br />

0.3 24.270852 25.891647 23.063306 20.244006<br />

0.4 24.999792 26.52597 25.731687 20.650775<br />

0.5 25.536343 27.16091 26.152373 21.145766<br />

0.6 25.965997 27.748545 26.670673 21.825241<br />

0.7 26.387577 28.394291 27.590172 21.232276<br />

0.8 26.737106 28.730835 26.359848 21.408151<br />

0.9 26.995525 28.994493 26.429628 21.608045<br />

1 27.234273 29.196561 26.746702 21.835758<br />

Table3: Compressi<strong>on</strong> of image (40.1kb)@various bitrates.<br />

bit rate out put bit Compressi<strong>on</strong> (%)<br />

(bpp) stream size<br />

0.1 0.92 2.2943<br />

0.2 1.48 3.6908<br />

0.3 2.16 5.3865<br />

0.4 2.8 6.9825<br />

0.5 3.34 8.3292<br />

0.6 4.16 10.374<br />

0.7 4.83 12.045<br />

0.8 5.53 13.791<br />

0.9 6.25 15.586<br />

1 6.91 17.232<br />

Original Image<br />

Decompressed Image using<br />

Biorthog<strong>on</strong>al 3.1 Biorthog<strong>on</strong>al 2.8<br />

Biorthog<strong>on</strong>al 1.3 Biorthog<strong>on</strong>al 1.5 Biorthog<strong>on</strong>al 4.4<br />

These are the some of the actual images that we have tested. As<br />

you can see here that for image obtained by using biorthog<strong>on</strong>al<br />

4.4 wavelet transform is more visually pleasant.<br />

9. C<strong>on</strong>clusi<strong>on</strong><br />

It is very clear that, the Telemedicine may turn out to<br />

be the cheapest, as well as the fastest, way to bridge the rural–<br />

urban health divide. From technological c<strong>on</strong>siderati<strong>on</strong>s, there<br />

is a need of newer system, <strong>and</strong> to support newer generati<strong>on</strong><br />

telemedicine services.<br />

Speckle noise is significant in ultras<strong>on</strong>ic images. By<br />

removing such noise quality of the image can be improved. If<br />

SPIHT algorithm is applied to such quality improved image<br />

them it will result in image with improved PSNR. One can<br />

achieve compressi<strong>on</strong> <strong>on</strong> images based <strong>on</strong> significant pixel to<br />

be taken into c<strong>on</strong>siderati<strong>on</strong>. i.e. compressi<strong>on</strong> ratio depends <strong>on</strong><br />

number of significant pixels.<br />

Compressed image using proposed system needs less<br />

storage space as that of original <strong>on</strong>e with improved SNR<br />

which is very advantageous in telemedicine applicati<strong>on</strong> where<br />

b<strong>and</strong>width of network channel is limited (specially in rural<br />

areas). As we are using less storage space, image will take less<br />

time to transmit from transmitting stati<strong>on</strong> to the receiving<br />

stati<strong>on</strong> over the network channel.<br />

The analysis of choice of particular wavelet shows<br />

that biorthog<strong>on</strong>al 4.4 wavelets are most suitable for medical<br />

imaging applicati<strong>on</strong>.<br />

Acknowledgment<br />

Authors acknowledge the help <strong>and</strong> support from<br />

1 SMT. KASHIBAI NAVALE GENERAL HOSPITAL<br />

& RESEARCH CENTER,NARHE, PUNE<br />

2 BHARATI HOSPITAL & RESEARCH CENTER,<br />

PUNE.<br />

References<br />

[1] Cécile DELGORGE,“ JPEG 2000, an adapted compressi<strong>on</strong><br />

method for ultrasound images A comparative study ”,2001<br />

[2] William A. Pearlman, Asad Islam, Nithin Nagaraj, <strong>and</strong><br />

Amir Said, “Efficient, Low-Complexity Image Coding with a<br />

Set-Partiti<strong>on</strong>ing Embedded Block Coder”,2002<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 416


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[3] R. C. G<strong>on</strong>zalez , R. E Woods, “ Digital image processing ,<br />

2 nd Editi<strong>on</strong> ” , Pears<strong>on</strong> Educati<strong>on</strong>, 2002<br />

[4] B.Ramakrishana,” Compressi<strong>on</strong> of DICOM images based<br />

<strong>on</strong> wavelets <strong>and</strong> SPIHT for telemedicine applicati<strong>on</strong>s”,2004<br />

[5] William A. Pearlman, “Medical Image Compressi<strong>on</strong><br />

Systems”, CNGV(Center for Next Generati<strong>on</strong> Video ) Dec<br />

2001<br />

[6] S. Gupta , R. C. Chauhan, S. C. Sexana ,” Wavelet-based<br />

statistical approach for speckle reducti<strong>on</strong> in medical<br />

ultrasound images”, Vol. 42,Medical & Biological<br />

Engineering & Computing, 2004<br />

[7] Amir Said, Pearlman , “ A New ,Fast <strong>and</strong> Efficient Image<br />

Codec Based <strong>on</strong> Set Partiti<strong>on</strong>ing in Hierarchical Trees ” ,IEEE<br />

transacti<strong>on</strong>s <strong>on</strong> image processing, VOL. 6, June 1996<br />

[8] Amrita Pal,, Victor W. A. Mbarika,, Fay Cobb-Payt<strong>on</strong>,<br />

Pratim Datta, <strong>and</strong> Scott McCoy, “Telemedicine Diffusi<strong>on</strong> in a<br />

Developing Country: The Case of India (March 2004)”, IEEE<br />

trans. <strong>on</strong> informati<strong>on</strong> technology in biomedicine, Vol. 9, No.<br />

1, pp 59-64, March 2005.<br />

[9] Cliodhna Ni Scanaill, Brian Ahearne, <strong>and</strong> Gerard M.<br />

Ly<strong>on</strong>s, “L<strong>on</strong>g-Term Telem<strong>on</strong>itoring of Mobility Trends of<br />

Elderly People Using SMS Messaging”, IEEE transacti<strong>on</strong>s <strong>on</strong><br />

informati<strong>on</strong> technology in biomedicine, Vol. 10, No. 2, pp<br />

412-413 April, 2006<br />

[10] Prof. A. K Jain & Dr. M, O:Sharma, “Web-based<br />

Architecture for low-cost cost versatile Telemedicine”, Indian<br />

Institute Of technology, Kharagpur , Publ IEEE , pp 505-508,<br />

,2004<br />

[11] Paritosh Kumar Srivastava, S<strong>and</strong>eep Sahu, “A Cost-<br />

Effective Soluti<strong>on</strong> For Telemedicine In Rural Health Care<br />

Using Mobile Ad Hoc <strong>Networks</strong>”, Proc IEEE-2004<br />

[12] Bengisu Tulu, Samir Chatterjee, “A Tax<strong>on</strong>omy of<br />

Telemedicine Efforts with respect to Applicati<strong>on</strong>s,<br />

Infrastructure, Delivery Tools, Type of Setting <strong>and</strong> Purpose”,<br />

Proc. of the 38th Hawaii <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> System<br />

Sciences – 2005, IEEE Pub., 2005<br />

[13] M. V. M. Figueredo1, J. S. Dias, “Mobile Telemedicine<br />

System for Home Care <strong>and</strong> Patient M<strong>on</strong>itoring”, Proc of the<br />

26th Annual <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> of the IEEE EMBS San<br />

Francisco, CA, USA , IEEE Proc.,pp 3387-3390, 2004<br />

[14] N Maglaveras, G Gogou, I Chouvarda, V Koutias, “using<br />

c<strong>on</strong>tact centers in tele-management <strong>and</strong> home care of<br />

c<strong>on</strong>gestive heart failure patients : the CHS experience”, IEEE<br />

journal <strong>on</strong> computers in cardiology, pp 281-284, 2002<br />

[15] Heather E. Huds<strong>on</strong>. , “Rural Telemedicine: Less<strong>on</strong>s from<br />

Alaska for Developing Regi<strong>on</strong>s”,Telemedicine <strong>and</strong> e-Health.<br />

2005, 11(4): 460-467. doi:10.1089/tmj.2005.11.460.<br />

[16] Alfredo I. Hernández, Fern<strong>and</strong>o Mora, Guillermo<br />

Villegas, Gianfranco Passariello, <strong>and</strong> Guy Carrault, “Real-<br />

Time ECG Transmissi<strong>on</strong> Via Internet for N<strong>on</strong>clinical<br />

Applicati<strong>on</strong>s”, IEEE trans <strong>on</strong> informati<strong>on</strong> technology in<br />

biomedicine, Vol. 5, No. 3, pp 253-567, September 2001<br />

[17] A.Marsh, “The Establishment Of A Comm<strong>on</strong> Web-Based<br />

Framework For Telemedical Interacti<strong>on</strong>”, Proceedings of the<br />

20th Annual <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> C<strong>on</strong>f of the IEEE Engineering in<br />

Medicine <strong>and</strong> Biology Society, Vol. 20, No 3, 1998<br />

[18] Nigel H. Lovell , Farah Magrabi , Branko G. Celler ,<br />

Khang Huynh , Hugh Garsden, “Web-Based Acquisiti<strong>on</strong>,<br />

Storage, <strong>and</strong> Retrieval of Biomedical Signals”, IEEE<br />

engineering in medicine <strong>and</strong> biology, pp 38-44, May/June<br />

2001<br />

[20] John Puentes, Basel Solaiman,” Telemedicine in<br />

Perspective: Trends <strong>and</strong> Challenges”,IEEE Pub.2006<br />

[21] R. C. G<strong>on</strong>zalez, R. E Woods, “Digital image processing,<br />

2nd Editi<strong>on</strong> ”, Pears<strong>on</strong> Educati<strong>on</strong>, 2002<br />

[22] Adrian Brown, Digital Archives Analyst. “Image<br />

Compressi<strong>on</strong>”, Digital Preservati<strong>on</strong> Guidance Note: 5 , 9 July<br />

2003<br />

[23] Sanjit Bagchi, “Telemedicine in Rural India”, <strong>on</strong>line<br />

journal PLoS Med. journal.pmed.0030082, 2006 March<br />

[24] Dr. K. Ganapathy, “Telemedicine in India-the Apollo<br />

experience”, <strong>on</strong>line informati<strong>on</strong> source www.thambraj.com<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 417


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Applicati<strong>on</strong> of Beamlets to Detect & Extract<br />

Lines in Noisy Images<br />

Suchitra Khoje 1 , Prof. Dr. S.D. Lokh<strong>and</strong>e 2 , Prof. M. L. Dhore 3<br />

Abstract—A linear feature extracti<strong>on</strong> is very important in image<br />

processing <strong>and</strong> computer visi<strong>on</strong>. Traditi<strong>on</strong>al linear feature detectors<br />

based <strong>on</strong> pixel level processing may fail to detect out lines in image<br />

with low SNR.. In this paper an algorithm based <strong>on</strong> beamlet<br />

transform is proposed to detect linear features in image. Beamlets<br />

can be generated by recursive dyadic partiti<strong>on</strong>ing, vertex marking<br />

<strong>and</strong> c<strong>on</strong>necting. The beamlet transform is the collecti<strong>on</strong> of line<br />

integrals formed by viewing image as a piecewise c<strong>on</strong>stant object<br />

<strong>and</strong> integrating al<strong>on</strong>g line segment in beamlet dicti<strong>on</strong>ary .The<br />

proposed method can detect lines with any orientati<strong>on</strong>, locati<strong>on</strong>, <strong>and</strong><br />

length in different scales. The scale parameter can be adaptively<br />

determined by histogram of beamlet energy functi<strong>on</strong> distributi<strong>on</strong>. We<br />

have implemented algorithm based <strong>on</strong> beamlet transform using<br />

MATLAB <strong>and</strong> present simulati<strong>on</strong> results showing the effectiveness of<br />

the proposed method even in image with low SNR.<br />

Keywords—Beamlet transform, beamlet dicti<strong>on</strong>ary, beamlet<br />

energy.<br />

F<br />

I. INTRODUCTION<br />

eature detecti<strong>on</strong> is very important in computer visi<strong>on</strong>,<br />

image segmentati<strong>on</strong> <strong>and</strong> pattern reorganizati<strong>on</strong>. Besides<br />

the pixels, there are curves <strong>and</strong> patterns in the image.<br />

Point singularities are so called zero dimensi<strong>on</strong>al singularities<br />

<strong>and</strong> linear singularities are so called <strong>on</strong>e-dimensi<strong>on</strong>al<br />

singularities <strong>and</strong> so <strong>on</strong>. So higher dimensi<strong>on</strong>al singularity<br />

exists. To extract curves <strong>and</strong> patterns higher dimensi<strong>on</strong>al<br />

singularities processing ability is dem<strong>and</strong>ed which is similar<br />

to human eye. Human eyes can recognize objects quickly <strong>and</strong><br />

accurately because they extract features such as lines or planes<br />

without distinguishing points <strong>on</strong>e by <strong>on</strong>e.<br />

Wavelet analysis has a great advantage in point feature<br />

extracti<strong>on</strong>, but it is not good at extracting linear features.<br />

Rad<strong>on</strong> transform has too much computati<strong>on</strong> burden <strong>and</strong><br />

Hough transform is sensitive to noise. All the methods<br />

menti<strong>on</strong>ed above are reported good results <strong>on</strong> selected<br />

domains of pixel level detecti<strong>on</strong>. It is still difficult to extract<br />

linear features embedded in extremely high noise or when<br />

SNR is so low that n<strong>on</strong>e of the pixel values is likely to yield<br />

significance.<br />

II. BEAMLET ANALYSIS<br />

This paper will describe an approach to multiscale<br />

image analysis, which we call beamlet analysis, which offers<br />

Author is a lecturer in computer department of Vishwakarma Institute Of<br />

Technology ( e-mail: suchiamol08@gmail.com).<br />

an interesting c<strong>on</strong>trast to wavelet analysis. While wavelets<br />

offer localized scale/locati<strong>on</strong> representati<strong>on</strong> near fixed regi<strong>on</strong><br />

of space with specified scale <strong>and</strong> locati<strong>on</strong>, Beamlets have<br />

localized scale /locati<strong>on</strong>/orientati<strong>on</strong> based <strong>on</strong> dyadically<br />

organized line segments.<br />

The beamlet framework involves 5 central<br />

comp<strong>on</strong>ents, which will be described as below.<br />

1. The beamlet dicti<strong>on</strong>ary is a dyadically organized library<br />

of line segment at a range of locati<strong>on</strong>, orientati<strong>on</strong>, <strong>and</strong> scales,<br />

which gives a multiscale approximati<strong>on</strong> to the collecti<strong>on</strong> of all<br />

line segments.<br />

2. The beamlet transform is the collecti<strong>on</strong> of all line<br />

integrals of the image al<strong>on</strong>g Beamlets in the beamlet<br />

dicti<strong>on</strong>ary.<br />

3. The beamlet pyramid is the collecti<strong>on</strong> of all beamlet<br />

transform coefficients arranged in a data structures with a<br />

hierarchical multiscale nature.<br />

4. The beamlet graph is the graph structure in which<br />

vertices corresp<strong>on</strong>d to pixel corners in the underlying image<br />

<strong>and</strong> the edges corresp<strong>on</strong>d to Beamlets joining pairs of such<br />

pixel corners.<br />

5. Beamlet algorithms extract data from the beamlet<br />

pyramid in a way driven by the structure of beamlet graph.<br />

Beamlet methods provide a fundamentally correct data<br />

structures for dealing with noisy filament detecti<strong>on</strong> <strong>and</strong><br />

boundary finding problems. The beamlet pyramid c<strong>on</strong>tains<br />

integrals of the image over line segments at all scales <strong>and</strong><br />

locati<strong>on</strong>s. In certain signal detecti<strong>on</strong> problems the usual<br />

detectors based <strong>on</strong> pixel level filtering can have very poor<br />

signal to noise ratios, <strong>and</strong> hence low detecti<strong>on</strong> probabilities,<br />

while hiding somewhere in that pyramid can be integrals with<br />

high signal to noise ratio, allowing signal detecti<strong>on</strong> which<br />

would not be possible using st<strong>and</strong>ard filtering.<br />

III. BEAMLET TRANSFORM<br />

We c<strong>on</strong>sider an image as a functi<strong>on</strong> residing <strong>on</strong> a [0, 1]<br />

x[0,1] unit square. It is a piecewise c<strong>on</strong>stant, with pixel of side<br />

1/n by 1/n, the collecti<strong>on</strong> of Beamlets is a multiscale<br />

collecti<strong>on</strong> of a line segments occurring at a full range of<br />

orientati<strong>on</strong>, positi<strong>on</strong>, <strong>and</strong> scales. It is generated as follows.<br />

i) Recursive Dyadic Partiti<strong>on</strong>ing: We divide the unit square<br />

into two by two smaller squares with equal dyadic side<br />

lengths. Each sub square is further divided into two by two<br />

smaller squares, still having equal <strong>and</strong> dyadic side lengths, this<br />

process is repeated until finest scale is reached, even we<br />

c<strong>on</strong>tinue until we have created all such dyadic sub squares of<br />

a pixel side lengths<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 418


Proceedings of ICCNS 08 , 27-28 September 2008<br />

ii) Vertex Marking. Traversing the boundary (four sides) of<br />

each square, starting from northwest corner, vertices are<br />

marked clockwise at equal distance. The inter distance of the<br />

vertices is fixed in advance, <strong>and</strong> does not vary with the side<br />

lengths of the sub square.<br />

iii) C<strong>on</strong>necting. In each subsquare, any pair of vertices <strong>on</strong> its<br />

boundary determines line segment .This line segment is called<br />

beamlet, the collecti<strong>on</strong> of Beamlets is called the beamlet<br />

dicti<strong>on</strong>ary. Four Beamlets at different scales are shown in fig<br />

1.<br />

Fig. 1. Beamlets at different scales (squares with different side length).<br />

C<strong>on</strong>tinuous beamlet transform<br />

The beamlet transform is simply the collecti<strong>on</strong> of all line<br />

integrals formed by viewing the image as a piecewise c<strong>on</strong>stant<br />

object <strong>and</strong> integrating al<strong>on</strong>g each line segment in the beamlet<br />

dicti<strong>on</strong>ary, the integrals obey a two scale relati<strong>on</strong>: data <strong>on</strong> line<br />

integrals at finer scales allows to calculate the line integrals at<br />

coarse scales.<br />

Let f(x1, x2) be a c<strong>on</strong>tinuous functi<strong>on</strong> <strong>on</strong> [0, 1] 2 . The beamlet<br />

transform of f is the collecti<strong>on</strong> of all line integrals<br />

f<br />

( b) ∫<br />

T f ( x(<br />

l))<br />

dl<br />

(1)<br />

=<br />

b<br />

The integrals being taken al<strong>on</strong>g line segments b; here x(l)<br />

traces out the beamlet b al<strong>on</strong>g a unit speed path<br />

Discrete beamlet transform<br />

The digital beamlet transform of a n×n array (f i1,i2 ) is<br />

understood to be the beamlet transform of the functi<strong>on</strong> f<br />

defined <strong>on</strong> c<strong>on</strong>tinuum by interpolati<strong>on</strong> of the values (f i1,i2 ):<br />

f ( x1 , x2)<br />

= ∑ fi<br />

1 , i<br />

φ<br />

2 i1<br />

, i<br />

( x<br />

2 1,<br />

x2)<br />

, (2)<br />

where (<br />

φ<br />

i1<br />

, i2<br />

i 1 ,i 2<br />

) is a specified family of c<strong>on</strong>tinuous<br />

interpolati<strong>on</strong> functi<strong>on</strong>s. The functi<strong>on</strong>s<br />

φi 1 ,i 2<br />

obey the c<strong>on</strong>diti<strong>on</strong>s:<br />

2<br />

n ∫ φ<br />

i1 , i<br />

( x<br />

2 1,<br />

x2)<br />

dx1dx2<br />

= δi<br />

1 , i<br />

δ<br />

1 i2<br />

, i<br />

(3)<br />

2<br />

Pixel(<br />

i1<br />

, i2<br />

)<br />

whereδ i 1 ,i 1<br />

is the Kr<strong>on</strong>ecker symbol.<br />

So the digital beamlet transform of digital image is<br />

may be chosen to<br />

Tf<br />

i i<br />

b)<br />

1, 2<br />

b i1<br />

, i2<br />

( f φ (4)<br />

= ∫ ( ∑<br />

i i i i<br />

x l dl<br />

1 , 2 1 ,<br />

( ( )) )<br />

2<br />

IV. EXTRACTION OF LINEAR FEATURE<br />

Suppose we have a noisy n-by-n image, perhaps c<strong>on</strong>tains<br />

somewhere within it a faint image of a line segment of<br />

unknown length, orientati<strong>on</strong> <strong>and</strong> positi<strong>on</strong>.<br />

We model these data as follow:<br />

yi<br />

1,<br />

i2<br />

= Aφ i1,<br />

i2<br />

+ εZ<br />

i1,<br />

i2<br />

0 < i1,i2 < n (5)<br />

Where ε is a noise level ,Z i1,i2 is white Gaussian noise ,A is<br />

unknown amplitude parameter <strong>and</strong> φ i1,i2 is the observed effect<br />

at sensor array of an unknown beamlet vov1.<br />

The problem is to test null hypothesis:<br />

H<br />

0<br />

: A = 0<br />

(6)<br />

Against the composite alternative<br />

H<br />

0<br />

: A > 0<br />

(7)<br />

This is highly composite because of the wide range of<br />

possible endpoint pairs being c<strong>on</strong>sidered.<br />

We the reject H o if beamlet coefficient exceeds a certain<br />

threshold. Fig.2 show the problem of extracti<strong>on</strong> of linear<br />

feature in a noisy picture. Fig.2(a) is the case of underlying<br />

<strong>on</strong>e line segment, Fig.2(b) is beamlet approximati<strong>on</strong> of<br />

ig.2(a), Fig.2(c) is an easy extracti<strong>on</strong> problem of Fig.2(a),<br />

Fig.2(d) is a hard extracti<strong>on</strong> problem of Fig.2(a)<br />

Fig. 2. Extracti<strong>on</strong> of a line segment in a noisy picture.<br />

V. FAST DISCRETE BEAMLET TRANSFORM<br />

Discrete beamlet transform based <strong>on</strong> interpolati<strong>on</strong> is not easy<br />

to apply in digital image directly, for it need to interpolate<br />

digital image to approach c<strong>on</strong>tinuous functi<strong>on</strong>, <strong>and</strong> then<br />

transform the c<strong>on</strong>tinuous functi<strong>on</strong>. In order to apply it to<br />

image processing c<strong>on</strong>veniently, we present a fast discrete<br />

beamlet transform algorithm. D<strong>on</strong>oho's discrete beamlet<br />

transform need to interpolate digital image to approach<br />

c<strong>on</strong>tinuous functi<strong>on</strong>, <strong>and</strong> then transform the c<strong>on</strong>tinuous<br />

functi<strong>on</strong>. In our method the interpolate procedure is left out<br />

<strong>and</strong> digital images can be transformed directly.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 419


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fast discrete beamlet transform procedure processes<br />

as follow:<br />

(1) Set the scale of beamlet squares.<br />

(2) Decompose the image into scale fixed squares<br />

(3) Transform each square as follow:<br />

a) From top left comer point in the square,<br />

mark each point as<br />

p(0), p(1), p(2)...... p(snum -1),<br />

where snum is the number of points in the<br />

boundary of the square.<br />

b) Set startPos = 0, endPos = 1, <strong>and</strong> p(0) is<br />

start point <strong>and</strong> p(1) is end point.<br />

c) A start point <strong>and</strong> an end point corresp<strong>on</strong>d to a<br />

line segment. We can locate all pixels in the<br />

line segment through Bresenham algorithm.<br />

Pixels in the line segment are<br />

d(0), d(l), d(2) ......d(num -1) respectively,<br />

where num is the number of pixels in the line<br />

segment.<br />

num<br />

d) ∑ − 1<br />

sum = GrayLevel(<br />

d(<br />

i))<br />

.<br />

i=<br />

0<br />

Here Graylevel(d) denotes the gray level of pixel d.<br />

( b) sum / 255<br />

T f<br />

=<br />

e) If startPos do not equal snum-1,<br />

endPos = endPos+1<br />

{repeat step (c), (d) shown in figure}<br />

Else<br />

{ StartPos = startPos+1<br />

If startPos = snum<br />

(procedure stop}<br />

Else<br />

(Repeat step (c), (d))<br />

}<br />

VI. ADAPTIVE LINEAR FEATURE DETECTION<br />

The potential object line in a square is relative to the<br />

beamlet coefficient. It is necessary to define a energy functi<strong>on</strong><br />

E ( b)<br />

= T ( b) / PixelCount(<br />

b)<br />

(8)<br />

<strong>and</strong> object line set<br />

B = { b | E(<br />

b)<br />

> max( E(<br />

B))<br />

×θ},<br />

s (9)<br />

b~<br />

s<br />

where, Ө is the choosing factor <strong>and</strong> 0 < Ө < 1 . PixelCount(b)<br />

denotes the number of point in the beamlet b. For clarity, we<br />

write the beamlet square in the scale known as<br />

S ( hNum,<br />

wNum).<br />

It is very important to set the choosing<br />

factor Ө. Low Ө will increase the target number <strong>and</strong> high Ө<br />

will leave out some real target. According to Bayes decisi<strong>on</strong>,<br />

the most suitable Ө should be the value of abscissa in the<br />

valley of the histogram. But due to object is less than<br />

background so much; the value of abscissa in the valley is not<br />

suitable again. For the number of object beamlets is less than<br />

the background beamlets, we know Ө will be never below 0.5,<br />

<strong>and</strong> according to our experience, θ ∈[0.6,1].<br />

We developed<br />

an adaptive method to decide the suitable <br />

Adaptive linear feature detecti<strong>on</strong> based <strong>on</strong> fast<br />

discrete beamlet transform follows:<br />

(1) Set the scale j = Jo ,<br />

(2) Partiti<strong>on</strong> Height X Width source image into<br />

HeightNum X WidthNum, pieces of beamlet squares<br />

S(0,0), S(0,1), S(0,2)…S(HeightNum - 1, WidthNum – 1)<br />

For the some area of source image has not enough size to<br />

form a beamlet squares with HeightNum X WidthNum ,<br />

they will be split into smaller scale beamlet squares,<br />

where,<br />

⎡ Height ⎤<br />

HeightNum =<br />

⎢<br />

,<br />

j<br />

⎣ 2 ⎥ ⎦<br />

⎡Width<br />

⎤<br />

WidthNum =<br />

⎢<br />

.<br />

j<br />

⎣ 2 ⎥ ⎦<br />

x denotes the biggest integer no more than x. Each<br />

⎡ ⎤<br />

beamlet square is a sub image with<br />

j<br />

2 width.<br />

j<br />

2 height <strong>and</strong><br />

(3) After applying fast discrete beamlet transforms to the<br />

image, <strong>and</strong> we get beamlet coefficients as<br />

S(0,0), S(0,1), S(0,2)………………….S(HeightNum - 1,<br />

WidthNum - 1) in scale j.<br />

(4) Compute the energy of each beamlet<br />

E ( b) = T ( b)<br />

PixelCount(<br />

b)<br />

(10)<br />

(5) Compute Ө adaptively:<br />

a. Calculate histogram of E(b).<br />

b. Calculate relative histogram additi<strong>on</strong> for all gray<br />

levels termed as remainOld<br />

c. Find rising histogram positi<strong>on</strong> <strong>and</strong> set it as fix<br />

positi<strong>on</strong><br />

d. Calculate relative histogram additi<strong>on</strong> for gray levels<br />

e. starting from fix positi<strong>on</strong> <strong>and</strong> termed as<br />

remainNew(i) & set<br />

maxVal<br />

= HistE(<br />

i + 1) − HistE(<br />

i)<br />

,set θ = i<br />

f. If (i max( E(<br />

b))<br />

×θ}<br />

s (8)<br />

b~<br />

S<br />

(7) Visualize result. For each beamlet coefficient surviving<br />

the thresholding operati<strong>on</strong>, draw a line segment depicting<br />

that beamlet.<br />

The whole procedure is structure less, since each<br />

beamlet coefficient lives or dies based <strong>on</strong> its own value, <strong>and</strong><br />

not of others.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 420


Proceedings of ICCNS 08 , 27-28 September 2008<br />

(1)<br />

VII. EXPERIMENTAL RESULTS<br />

To apply beamlet based method to detect linear features in<br />

real images, c<strong>on</strong>sider r<strong>and</strong>om noise additive image first We<br />

use SNR to embody the strength of noise.<br />

SNR = 20log10 (( σ ( f ( x,<br />

y)) / σ ( n(<br />

x,<br />

y)))<br />

(9)<br />

Where, σ(f(x, y)),σ(n(x, y)) is the st<strong>and</strong>ard deviati<strong>on</strong> of<br />

original image <strong>and</strong> noise.<br />

Experimental results are shown in fig 3,4 <strong>and</strong> 5.<br />

Fig 3 (a),4(a) <strong>and</strong> 5(a) are original image of line, doll, Lena<br />

respectively. Fig 3(b), 4(b), 5(b) are noisy images with<br />

different SNR levels <strong>and</strong> 3(c) , 4(c) <strong>and</strong> 5(c) shows result of<br />

detecti<strong>on</strong> using beamlet transform.<br />

Fig. 5 (a) original image<br />

Fig.5 (b) noisy image with SNR= -7.08db<br />

Fig 5 (c ) Denoised image using beamlets<br />

VIII. CONCLUSION<br />

Fig. 3 (a) original image<br />

Fig.3 (b) noisy image with SNR= -3.47db<br />

A method based <strong>on</strong> multiscale extracti<strong>on</strong> of linear<br />

fragments is proposed to identify linear & filamentary features<br />

in severely degraded images. Experimental results shows that<br />

beamlet based method can detect line with any length,<br />

orientati<strong>on</strong> & scale in low SNR images with less number of<br />

iterati<strong>on</strong>s. But to detect curves it takes more number of<br />

iterati<strong>on</strong>s. The fundamental idea that is embedded in the<br />

algorithmic approach could be used to generate a new efficient<br />

methods in many other situati<strong>on</strong>s where signal to noise ratio is<br />

extremely.<br />

Fig 3 (c ) Denoised image using beamlets<br />

Fig. 4 (a) original image Fig.4 (b) noisy image with SNR= -7.96db<br />

Fig 4 ( c) Denoised image using Beamlets<br />

REFERENCES<br />

[1] MEI Xiaoming, ZHANG Liang_pei,LI Ping-xiang, “An approach for<br />

Edge detecti<strong>on</strong> based <strong>on</strong> beamlet transform,” in Proceedings of the<br />

fourth <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> of the IEEE Image <strong>and</strong> Graphics<br />

(CIG), 2007.<br />

[2] David L. D<strong>on</strong>oho,Xiaoming Huo,”Beamlets <strong>and</strong> nultiscale image<br />

analysis”In Multiscale <strong>and</strong> multiresoluti<strong>on</strong> methods[A],volume 20 of<br />

lecture notes in Computati<strong>on</strong>al Science <strong>and</strong> Engineering[C],New York,<br />

Ny, USA: Springer 2002,20:149-196.<br />

[3] David L. D<strong>on</strong>oho “Beamlets pyramids: A new form of multiresolti<strong>on</strong><br />

analysis, suited for extracting lines, curves <strong>and</strong> objects from very noisy<br />

image data”[C]In proceeding of SPIE, volume 4119,July 2000.<br />

[4] Xiaoming Huo <strong>and</strong> J Chen, ”JBEAM: multiscale curve coding voa<br />

Beamlets”[J] IEEE Trasacti<strong>on</strong> Image process,2005 Nov 14(11):1665-77<br />

[5] David L. D<strong>on</strong>oho “Wedgelets:Nearly mimimax estimati<strong>on</strong> of edges[J].<br />

Annals of ststistics,1999,27(3):859-897.<br />

[6] F. Ye, G. Zh<strong>on</strong>g, J. Cheng, S. Lu, <strong>and</strong> L. Zhang, “PEAS: A Robust<br />

Energy C<strong>on</strong>serving Protocol for L<strong>on</strong>g-lived Sensor <strong>Networks</strong>,” in<br />

Proceedings of the Twenty Third <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Distributed Computing Systems, 2003.<br />

[7] Qin-Feng Shi,Yan Ning Zhang,”Adaptive linear feature detecti<strong>on</strong> based<br />

<strong>on</strong> beamlet,” in Proceedings of the third IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g><br />

<strong>on</strong> Macjine learning <strong>and</strong> cybernetics,Shanghai,26-29 August 2004<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 421


Fingerprint Based Authenticati<strong>on</strong> System using<br />

C<strong>on</strong>vex Hull: Invariant to Geometrical Translati<strong>on</strong><br />

<strong>and</strong> Rotati<strong>on</strong><br />

Jaydeep Howlader, S. Bansal, A. Kundu, Santhosh Y <strong>and</strong> B. Chakraborty<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract—In this paper, we present a fingerprint minutiae matching<br />

technique based <strong>on</strong> graph c<strong>on</strong>vex hull. Our paper is an attempt to<br />

build a system which provides authenticati<strong>on</strong> in case of fingerprint.<br />

We c<strong>on</strong>sider the feature points of the fingerprint image to be either<br />

ridge bifurcati<strong>on</strong> or ridge ending point. Firstly, we discuss the feature<br />

extracti<strong>on</strong> technique that extracts the ridge end points <strong>and</strong> ridge<br />

bifurcati<strong>on</strong> points. Sec<strong>on</strong>dly, we present a mapping from feature<br />

points to a set of c<strong>on</strong>vex hulls. A vector of c<strong>on</strong>vex hulls defines<br />

the signature of the fingerprint. The minutiae matching technique<br />

presented in this paper is invariant to rotati<strong>on</strong> <strong>and</strong> linear translati<strong>on</strong><br />

Keywords—fingerprint minutia, authenticati<strong>on</strong>, histogram, C<strong>on</strong>vex<br />

Hull, rotati<strong>on</strong>-invariant, translati<strong>on</strong>-invariant.<br />

I. INTRODUCTION<br />

FIngerprint-based identificati<strong>on</strong> has been used for a very<br />

l<strong>on</strong>g time due to its uniqueness <strong>and</strong> immutability. Today,<br />

fingerprints are the most widely used biometrics features in<br />

automatic verificati<strong>on</strong> <strong>and</strong> identificati<strong>on</strong>. Fingerprint is the<br />

pattern of ridges <strong>and</strong> valleys <strong>on</strong> the fingertip. The image of<br />

such fingertip is known as fingerprint. The fingerprint differs<br />

from <strong>on</strong>e another for each individual. The uniqueness <strong>and</strong><br />

the immutability property of fingerprint are used to develop<br />

systems for identificati<strong>on</strong>, authenticati<strong>on</strong> <strong>and</strong> verificati<strong>on</strong>.<br />

The key issue of the fingerprint recogniti<strong>on</strong> is the matching<br />

algorithm. Most of the matching algorithms that have been<br />

developed are based of fingerprint features. The feature is the<br />

orientati<strong>on</strong> of the ridges in a local area. The first scientific<br />

study <strong>on</strong> fingerprint feature classificati<strong>on</strong> was due to Francis<br />

Galt<strong>on</strong> (1822-1916), where he had described three classificati<strong>on</strong>s<br />

of fingerprint. Later <strong>on</strong>, Edward Herny [1] refined the<br />

classificati<strong>on</strong>s in more numbers (left loop, right loop, whorl,<br />

arch, tented arch, ridge end, bifurcati<strong>on</strong>, etc). The two most<br />

prominent local ridge characteristics are: ridge end point <strong>and</strong><br />

ridge bifurcati<strong>on</strong> point. These features are called minutia.<br />

Examples of minutiae are shown in Fig. 1.<br />

The minutiae based fingerprint technique broadly c<strong>on</strong>sists<br />

of two parts: the minutiae representati<strong>on</strong> or feature extracti<strong>on</strong><br />

<strong>and</strong> feature matching part. There are different techniques<br />

Jaydeep Howlader is in Informati<strong>on</strong> Technology Department, Nati<strong>on</strong>al<br />

Institute of Technology, Durgapur, India, email: howlader j123@yahoo.com<br />

S. Bansal was in Nati<strong>on</strong>al Institute of Technology, Durgapur, India, email:<br />

sbshekhar@gmail.com<br />

A. Kundu was in Nati<strong>on</strong>al Institute of Technology, Durgapur, India, email:<br />

kunduarkendu@gmail.com<br />

Santhosh Y was in Nati<strong>on</strong>al Institute of Technology, Durgapur, India, email:<br />

santhoshyathindraster@gmail.com<br />

B. Chakraborty is in Informati<strong>on</strong> Technology Department, Nati<strong>on</strong>al Institute<br />

of Technology, Durgapur, India, email: baisakhichak@yahoo.co.in<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 422<br />

Fig. 1. Minutia representing the ridge end point <strong>and</strong> ridge bifurcati<strong>on</strong> part<br />

<strong>and</strong> minutiae<br />

proposed in different literatures. Hankley <strong>and</strong> Tou [2], Moayer<br />

<strong>and</strong> Fu [3], Rao <strong>and</strong> Balck [4] described the fingerprint<br />

pattern by a set of terminal symbols <strong>and</strong> producti<strong>on</strong> rules.<br />

In their approaches, they defined a set of formal grammar<br />

for each class of fingerprint <strong>and</strong> the patterns were parsed<br />

<strong>and</strong> map to a class. Neural Network based approaches with<br />

self-organizing network [5] <strong>and</strong> multilayer percepti<strong>on</strong> [6], [7]<br />

were also proposed. Roos <strong>and</strong> Jain [8] described the fingerprint<br />

by the frequency corresp<strong>on</strong>ds to the inter-ridges spacing<br />

in a local area. The matching was d<strong>on</strong>e in the frequency<br />

domain comparing the power spectrum of the fingerprints.<br />

Affine transformati<strong>on</strong> based system was also proposed by<br />

Chang et al. [9], describing the feature point as a four tuple<br />

G(t x , t y , θ, S) where t x is the translati<strong>on</strong> al<strong>on</strong>g the X-axis,<br />

t y is the translati<strong>on</strong> al<strong>on</strong>g the Y -axis, θ is the rotati<strong>on</strong>al angle<br />

<strong>and</strong> S is the scaling factor. In their scheme the fingerprint<br />

was represented as a vector of feature points. The elements<br />

of the vector were the four tuples G i , for i = 1, 2, . . . , n<br />

with n feature points. Recently Xiaoguang et al. [10] had<br />

refined the affine transformati<strong>on</strong> based system <strong>and</strong> introduced<br />

the global characteristics of the minutiae al<strong>on</strong>g with the local<br />

characteristics. Graph based approaches were also developed.<br />

Maio <strong>and</strong> Malt<strong>on</strong>i [11] developed a graph based fingerprint<br />

representati<strong>on</strong> technique that segmented the fingerprint <strong>on</strong> the<br />

basis of the directi<strong>on</strong> of the ridges flow. Each segment was<br />

represented as a node <strong>and</strong> the graph was formed to represent<br />

the fingerprint. In this paper we are presenting a graph based<br />

approach for fingerprint representati<strong>on</strong> <strong>and</strong> recogniti<strong>on</strong>. The<br />

technique is based <strong>on</strong> minutiae that are either ridge end points


Proceedings of ICCNS 08 , 27-28 September 2008<br />

or ridge bifurcati<strong>on</strong> points. We ensure that the technique is<br />

fast <strong>and</strong> less storage space is required to store the minutiae<br />

features. The technique is invariant to geometrical transformati<strong>on</strong>.<br />

We c<strong>on</strong>sider the scaling factor is 1, as the same device<br />

is used during the fingerprint capturing phase <strong>and</strong> fingerprint<br />

recogniti<strong>on</strong> phase.<br />

In secti<strong>on</strong> II, fingerprint is described as a biometric system.<br />

In this secti<strong>on</strong> we describe how authenticati<strong>on</strong> <strong>and</strong> verificati<strong>on</strong><br />

systems are implemented using fingerprint. Secti<strong>on</strong> III<br />

describes our scheme, how the minutiae are extracted <strong>and</strong><br />

represented for further processing. The fingerprint matching<br />

technique is presented in secti<strong>on</strong> III.D. Secti<strong>on</strong> IV c<strong>on</strong>cludes<br />

the paper work.<br />

II. BIOMETRIC SYSTEM AND FINGERPRINT<br />

A biometric system is a pattern matching system that recognizes<br />

a pers<strong>on</strong> by determining the special physiological <strong>and</strong>/or<br />

behavioral characteristics which are unique <strong>and</strong> immutable<br />

for every individual. The important issue for designing a<br />

biometric system is to determine how an individual would be<br />

recognized. Depending <strong>on</strong> the applicati<strong>on</strong> a biometric system<br />

may be designed as either verificati<strong>on</strong>/authenticati<strong>on</strong> system<br />

or identificati<strong>on</strong> system:<br />

• Verificati<strong>on</strong>/Authenticati<strong>on</strong> system authenticates a pers<strong>on</strong><br />

by capturing his biometric characteristics, processing the<br />

characteristics <strong>and</strong> comparing the processed characteristics<br />

with the stored biometric templates. A verificati<strong>on</strong>/authenticati<strong>on</strong><br />

system either rejects or accepts the submitted<br />

claim.<br />

• Identificati<strong>on</strong> system recognizes the pers<strong>on</strong> by capturing<br />

his biometric characteristics, processing the characteristics<br />

<strong>and</strong> then searching the processed characteristics<br />

am<strong>on</strong>g the stored biometric templates. The Identificati<strong>on</strong><br />

system results in a possible set of identity for a given<br />

claim.<br />

It is well understood that false verificati<strong>on</strong>/authenticati<strong>on</strong> is<br />

more venerable then negative resp<strong>on</strong>se from the verificati<strong>on</strong>/authenticati<strong>on</strong><br />

system. If a pers<strong>on</strong> gets negative resp<strong>on</strong>se,<br />

he may ask for a fresh claim of his authenticity. Whereas, if<br />

a fake pers<strong>on</strong> is authenticated by the system, then it would be<br />

a huge security threat.<br />

There are different types of biometrics used in various<br />

applicati<strong>on</strong>s. Each biometric has its strengths <strong>and</strong> weaknesses<br />

depending <strong>on</strong> the applicati<strong>on</strong>s. Most of the applicati<strong>on</strong>s developed<br />

for recogniti<strong>on</strong> system based <strong>on</strong> biometrics; dem<strong>and</strong><br />

that the biometrics should have the following properties:<br />

Universality: each pers<strong>on</strong> should have the biometric.<br />

Distinctiveness: any two pers<strong>on</strong>s should have sufficient<br />

differences in terms of the biometric characteristics.<br />

Immutability: the biometric should remain unchanged for<br />

a sufficiently l<strong>on</strong>g period of time.<br />

Acceptability: indicates the extent to which people are<br />

willing to accept a particular biometric in their daily<br />

life.<br />

Performance: is the achievable recogniti<strong>on</strong> accuracy,<br />

speed, space, robustness, degree of error due to<br />

envir<strong>on</strong>mental changes etc.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 423<br />

Fingerprint recogniti<strong>on</strong> systems are the most mature biometric<br />

technologies <strong>and</strong> are suitable for a wide range of applicati<strong>on</strong>s.<br />

Fingerprint has a good balance of all the desired properties<br />

for biometric based applicati<strong>on</strong>s used for recogniti<strong>on</strong>. It is<br />

present with every pers<strong>on</strong>. The uniqueness of fingerprint is<br />

well established. It is already in use for a l<strong>on</strong>g period <strong>and</strong> many<br />

governmental/n<strong>on</strong>governmental organizati<strong>on</strong>s have accepted<br />

the fingerprint as a biometric for identificati<strong>on</strong> <strong>and</strong> verificati<strong>on</strong>.<br />

Moreover, the size of fingerprint is relatively smaller then<br />

other biometrics. It is also possible to capture good quality<br />

fingerprints using proximity devices. Now a day, there is<br />

a high dem<strong>and</strong> of automated fingerprint based recogniti<strong>on</strong><br />

systems to cope with the identity fraud in the electr<strong>on</strong>ically<br />

c<strong>on</strong>necter society. It has been realized that password, PAN<br />

or security codes; those soft keys are difficult to remember,<br />

may be stolen or be colluded. Fingerprint like biometrics are<br />

easy to use <strong>and</strong> not venerable as soft keys. In the present<br />

scenario, fingerprint is used in many applicati<strong>on</strong>s like; Forensic:<br />

criminal investigati<strong>on</strong>, terrorist identificati<strong>on</strong>; Government:<br />

nati<strong>on</strong>al ID card, driving license card, banking applicati<strong>on</strong>,<br />

rural development centers; Communicati<strong>on</strong>: computer log<strong>on</strong>,<br />

physical access c<strong>on</strong>trol mechanism, medical databases.<br />

III. PROPOSED SCHEME FOR FINGERPRINT RECOGNITION<br />

The fingerprint recogniti<strong>on</strong> scheme is divided into three<br />

phases: Image Enhancement <strong>and</strong> Binarizati<strong>on</strong>, Feature Mapping,<br />

Feature Matching.<br />

A. Enhancement <strong>and</strong> Binarizati<strong>on</strong><br />

The fingerprint enhancement algorithm takes a fingerprint<br />

image as the input <strong>and</strong> processes the image with a number of<br />

intermediate steps <strong>and</strong> the output is an enhanced fingerprint<br />

image. The objectives of the enhancement process are to<br />

improve the quality of the image, reduce or eliminate the<br />

noise, sharpen the ridge areas, recover the broken ridge lines.<br />

Lots of enhancement techniques had been developed <strong>and</strong><br />

proposed in different literatures [12]. However, with the recent<br />

development in the fingerprint capturing devices, the quality<br />

of the fingerprints are quite satisfactorily. Still some shot<br />

of enhancement is required to fit the captured fingerprint in<br />

the recogniti<strong>on</strong> process. We do the enhancement <strong>on</strong> a gray<br />

image by c<strong>on</strong>voluting the image with spatial sharpening mask<br />

followed by binarizati<strong>on</strong> of the gray image into binary image.<br />

The discrete noise are removed by erasing the small c<strong>on</strong>nectedcomp<strong>on</strong>ents<br />

in 8-neighbourhood.<br />

The sharpening is used to highlight the ridges from the<br />

valleys. A square shaped weighted mask is used for sharpening.<br />

The next step is to binarized the image. To execute the<br />

binarizati<strong>on</strong> the histogram of the fingerprint image is computed<br />

<strong>and</strong> the binary threshold T is determined from the histogram.<br />

All the pixel values those are less then the threshold T are<br />

mapped to binary 0 <strong>and</strong> those are greater or equal to T are<br />

mapped to binary 1. The binary fingerprint image may c<strong>on</strong>tain<br />

some discrete noise. To remove the noise, we compute the<br />

c<strong>on</strong>nected comp<strong>on</strong>ent. The c<strong>on</strong>nected comp<strong>on</strong>ents that are less<br />

then the minimum weight are deleted from the binary image.<br />

The schematic diagram in Fig. 2. describes the enhancement<br />

process.


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Input Image<br />

Sharpening Filter<br />

Binarizati<strong>on</strong><br />

1 0 0 0 1 0 0 0<br />

1 1 0 1<br />

0 1 1 0 1 0 1 1 0 0 1<br />

0<br />

1 0 0 1 0 1 0 0 1 0 1 0<br />

0 1 0 0 1 0 0 1 0 0 0 0<br />

0 1 1<br />

1 1 1<br />

1 1 0 1 1 1<br />

0 1 0 0 0 0 0 1 0 0 1 0<br />

Eight masks used to detect the bifercati<strong>on</strong> points<br />

C<strong>on</strong>nected Comp<strong>on</strong>ent Labeling<br />

Fig. 4.<br />

The masks used for extracting the bifurcati<strong>on</strong> points<br />

Fig. 2.<br />

Fig. 3.<br />

0<br />

Enhanced Image<br />

Fingerprint enhancement process<br />

0 0<br />

0 0<br />

0 0 0<br />

0 1 1 1 1 0 0 1 0 0<br />

0<br />

0<br />

0<br />

0 0 0<br />

1<br />

0 0 0 0 1<br />

0 1 0 0<br />

1<br />

0 0 1 0 0 1 0<br />

0<br />

0<br />

(a) horizantal ridge end<br />

detecti<strong>on</strong> masks<br />

0<br />

0<br />

1<br />

0 0<br />

1<br />

0<br />

0<br />

0<br />

0 0 0<br />

1<br />

0<br />

(b) vertical ridge end<br />

detecti<strong>on</strong> masks<br />

0 0<br />

1<br />

0<br />

0 0<br />

Masks used for extracting the ridge end points<br />

The masks used to extract the ridge end points<br />

B. Feature Extracti<strong>on</strong><br />

0<br />

0<br />

0 0<br />

After getting the binary fingerprint image, we have to extract<br />

the feature points. We c<strong>on</strong>sider the minutiae as the feature<br />

points of the fingerprint. We used two different techniques to<br />

extract the minutiae. The first <strong>on</strong>e using run-length code as<br />

proposed in [13]. The sec<strong>on</strong>d method is based <strong>on</strong> morphological<br />

operati<strong>on</strong>. The skelet<strong>on</strong> of the image is computed. The<br />

skelet<strong>on</strong> of the image depicts the fingerprint with single pixel<br />

ridge width. After then a set of masks are applied <strong>on</strong> the image<br />

to find the minutiae points. The minutiae points are either ridge<br />

end points or ridge bifurcati<strong>on</strong> points. Eight masks are applied<br />

successively to extract the ridge end points. The masks used<br />

for detecting the horiz<strong>on</strong>tal <strong>and</strong> vertical ridge ends are shown<br />

in Fig. 3(a),(b). Similarly, another eight masks are used to<br />

determine the ridge bifurcati<strong>on</strong> points. Fig. 4. describes the<br />

masks that are used to identify the ridge bifurcati<strong>on</strong> points.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 424<br />

0<br />

0<br />

0<br />

1<br />

C. Feature Mapping<br />

The performance <strong>and</strong> reliability of the biometric<br />

verificati<strong>on</strong>/authenticati<strong>on</strong> system depends <strong>on</strong> the technique<br />

used for representing the biometric feature. In this case the<br />

minutiae are stored by a graph called C<strong>on</strong>vex Hull. A set<br />

of points X in a real vector space, form a c<strong>on</strong>vex hull, iff<br />

X is in a minimum c<strong>on</strong>vex set. The term c<strong>on</strong>vex is defined as:<br />

An object in the Eucledean space is c<strong>on</strong>vex if for<br />

every points <strong>on</strong> a straight line, that joins two points<br />

X <strong>and</strong> Y within the object, are also within the<br />

object.<br />

For a set of feature points (minutiae) P 1 of a fingerprint, we<br />

c<strong>on</strong>struct a C<strong>on</strong>vex Hull C 1 . Let S 1 ⊆ P 1 , is the set of all<br />

feature points that lie <strong>on</strong> the periphery of the C<strong>on</strong>vex Hull. We<br />

compute the centroid of S 1 i.e. O 1 = (x 1c , y 1c ) as follows:<br />

x 1c = 1 n∑<br />

x i<br />

n<br />

y 1c = 1 n<br />

i=1<br />

n∑<br />

i=1<br />

where (x 1 , y 1 ), (x 2 , y 2 ), . . . , (x n , y n ) ∈ S 1 . The C<strong>on</strong>vex Hull<br />

is represented as a four tuples 〈O 1 , θ 1 , Γ 1 , δ 1 〉. The first<br />

element O 1 is the centroid of the C<strong>on</strong>vex Hull C 1 , θ 1 is<br />

the list of angles ∠v i O 1 v i+1 , where O 1 is the centroid, v i<br />

<strong>and</strong> v i+1 are the two neighboring points that are in S 1 . Γ 1<br />

is a list of Eucledean distance between the centroid <strong>and</strong> the<br />

point v i . The two lists are ordered anticlockwise. The first<br />

element of θ 1 is the angle that c<strong>on</strong>tains the positive X-axis<br />

<strong>and</strong> the first element in Γ 1 is the distance l 1 that appears first<br />

in the anticlockwise from X-axis. δ 1 is the angular offset of<br />

the first feature point v 1 from the positive X-axis al<strong>on</strong>g the<br />

anticlockwise directi<strong>on</strong>. The figure in fig. 5. describes the<br />

representati<strong>on</strong> of the first c<strong>on</strong>vex hull.<br />

The above C<strong>on</strong>vex Hull is represented as follows:<br />

C 1 = 〈O, θ = {θ 1, θ 2, θ 3, θ 4, θ 5, θ 6}, Γ = {l 1, l 2, l 3, l 4, l 5, l 6}, δ 1〉<br />

After computing the first C<strong>on</strong>vex Hull, the set of points in<br />

S 1 are deleted from P 1 . We get a new set P 2 = P 1 − S 1 .<br />

y i


Proceedings of ICCNS 08 , 27-28 September 2008<br />

v 2<br />

v<br />

1<br />

δ<br />

1<br />

θ 1<br />

Q<br />

60 o<br />

l<br />

o<br />

60<br />

o<br />

50<br />

v<br />

3<br />

l 1<br />

6<br />

O<br />

v<br />

X−axis<br />

X−axis<br />

v<br />

4<br />

v<br />

5<br />

O = (X ,Y )<br />

C C<br />

v = ( X ,Y )<br />

i<br />

i<br />

i<br />

fig. (a)<br />

60 o 20<br />

l<br />

Fig. 5. C<strong>on</strong>vex Hull of six points. O is the centroid, l 1 is the distance<br />

between O <strong>and</strong> v 1 . θ 1 is the ∠v 1 Ov 6 c<strong>on</strong>tains the positive X-axis. δ 1 is the<br />

offset of v 1 from X-axis.<br />

O<br />

o<br />

o<br />

60<br />

X−axis<br />

We c<strong>on</strong>struct the sec<strong>on</strong>d C<strong>on</strong>vex Hull with c 2 with P 2 . The<br />

C<strong>on</strong>vex Hull c 2 is represented as 〈O 2 , Γ 2 , θ 2 〉, where θ 2 <strong>and</strong><br />

Γ 2 lists are ordered anticlockwise with the angle that c<strong>on</strong>tains<br />

the positive X-axis with respect to the centroid. We apply<br />

the above process iteratively unless all the feature points are<br />

mapped to the periphery of some c<strong>on</strong>vex hull. A set of c<strong>on</strong>vex<br />

hull is generated in this process for the i th fingerprint <strong>and</strong><br />

denoted as Ψ i = {C i1 , c i2 , . . . , c ik }, where c ij covers c ik for<br />

all k < j. The fingerprint database is a collecti<strong>on</strong> of different<br />

Ψ where each Ψ i defines the i th fingerprint.<br />

fig. (b)<br />

Fig. 6. 6(a) describes a c<strong>on</strong>vex hull. The centroied of the c<strong>on</strong>vex hull is Q.<br />

6(b) describes the same c<strong>on</strong>vex hull of fig. 6(a) with different orientati<strong>on</strong>.<br />

D. Fingerprint Matching<br />

The fingerprint verificati<strong>on</strong>/authenticati<strong>on</strong> system c<strong>on</strong>tains a<br />

fingerprint database. When a verificati<strong>on</strong> request comes to the<br />

system, it first extracts the minutiae point set ¯P1 as described<br />

in secti<strong>on</strong> III.B. Then the first c<strong>on</strong>vex hull ¯C1 is computed<br />

from ¯P 1 . ¯C1 is searched in the database. The searching is d<strong>on</strong>e<br />

as follows:<br />

f o r i = 1, 2, . . .<br />

/ / C i1 ∈ Ψ i i s t h e 1 st C<strong>on</strong>vex Hull of Ψ i<br />

/ / θ i , Γ i , δ i ∈ C i1 <strong>and</strong> ¯θ, ¯Γ, ¯δ ∈ ¯C 1<br />

α = 0<br />

i f ( l e n g t h ( θ i ) = = l e n g t h ( ¯θ ) )<br />

f o r j = 1, 2, . . . , l e n g t h (θ i )<br />

i f ( θ i == theta ¯ AND Γ i == ¯Γ )<br />

α = α + δ i − ¯δ<br />

r e t u r n (SUCCESS)<br />

e l s e i f ( θ i ≠ ¯θ )<br />

α = α + ¯θ[0]<br />

C i r c u l a r R i g h t S h i f t ( ¯θ ) ;<br />

C i r c u l a r R i g h t S h i f t ( ¯Γ ) ;<br />

r e t u r n ( FAILURE)<br />

The process of searching is described in the Fig. 6. The<br />

figure 6(a) is <strong>on</strong>e c<strong>on</strong>vex hull, with centroid at Q. The c<strong>on</strong>vex<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 425<br />

hull is represented as:<br />

C = 〈Q, θ = {60 o , 60 o , 60 o , 60 o , 60 o , 60 o }, Γ = {l, l, l, l, l}, 50 o 〉<br />

Figure 6(b) is another c<strong>on</strong>vex hull, with centroid at O. The<br />

orientati<strong>on</strong> of the c<strong>on</strong>vex hull is represented as:<br />

¯C = 〈O, ¯θ = {60 o , 60 o , 60 o , 60 o , 60 o , 60 o }, ¯Γ = {l, l, l, l, l}, 20 o 〉<br />

The searching algorithm first checks that, θ i == ¯θ <strong>and</strong><br />

Γ i == ¯Γ, so the angular displacement of C is computed as<br />

α = 50 o − 20 o anticlockwise from ¯C.<br />

After getting a match of ¯C 1 with some C i1 ∈ Ψ i , let S i is the<br />

set of points that lie <strong>on</strong> the periphery of the c<strong>on</strong>vex hull ¯C1 ,<br />

we compute ¯P 2 = ¯P 1 − ¯S 1 . We apply a transformati<strong>on</strong> <strong>on</strong> ¯P 2<br />

as follows:<br />

[ ] [ ] ⎡<br />

T ¯P2 ¯P2 = ⎣ cos α, − sin α, ¯x ⎤<br />

c − ¯x ic<br />

sin α, cos α, ȳ<br />

1<br />

c − ȳ ic<br />

⎦<br />

0, 0, 1<br />

The transformati<strong>on</strong> restores the set of pixels ¯P2 equivalent<br />

to P 2 . Then we compute the successive c<strong>on</strong>vex hulls<br />

¯c 2 , ¯c 3 , . . . , ¯c k <strong>and</strong> match with c i2 , c i3 , . . . , c ik . The matching<br />

is d<strong>on</strong>e by checking whether ¯θ j == θ ij <strong>and</strong> ¯Γ j == Γ ij hold<br />

or not.


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[9] S. H. Chang, F. H. Chang, W-H. Hsu, G-Z. Wu, Fast Algorithm for Point<br />

Pattern Matching: Invariant to Translati<strong>on</strong>, Rotati<strong>on</strong> <strong>and</strong> Scale Change,<br />

Pattern Recogniti<strong>on</strong>, vol. 30, no. 2, pp. 312-320, 1997.<br />

[10] Xiaoguang He, Jie Tian, Liang Li, Yuliang He, <strong>and</strong> Xin Yang, Modeling<br />

<strong>and</strong> Analysis of Local Comprehensive Minutia Relati<strong>on</strong> for Fingerprint<br />

Matching, Trans. <strong>on</strong> System, Man, <strong>and</strong> Cybernetics, IEEE, vol. 37, no.<br />

5, 2007.<br />

[11] D. Maio <strong>and</strong> D. Malt<strong>on</strong>i, A Structural Approach to Fingerprint classificati<strong>on</strong>,<br />

in Proc. ICPR, IEEE, vol. III-7276, pp. 578, 1996.<br />

[12] Lin H<strong>on</strong>g, Y. Wan, A. Jain, Fingerprint Image Enhancement: Algorithm<br />

<strong>and</strong> Performance Evaluati<strong>on</strong>, Trans. <strong>on</strong> Pattern Analysis <strong>and</strong> Machine<br />

Intelligence, IEEE, vol. 20, no. 8, pp. 777-789, 1998.<br />

[13] J-H. Shin, H-Y. Hwang <strong>and</strong> S-I. Chien, Minutiae Extracti<strong>on</strong> from<br />

Fingerprint Image Using Run-Length Code, Trans. <strong>on</strong> ISMIS 03, LNCS-<br />

2871, pp. 577-584, 2003.<br />

[14] R.C. G<strong>on</strong>zalez <strong>and</strong> R.E. Wood, Digital Image Processing, 2 nd ed.<br />

Prentice-Hall, 2002<br />

[15] D.H. Ballard <strong>and</strong> C.M. Brown, <strong>Computer</strong> Visi<strong>on</strong>, Prentice-Hall, 1982<br />

[16] M. Berg, O. Che<strong>on</strong>g, M. Kreveld <strong>and</strong> M. Overmars, Computati<strong>on</strong>al<br />

Geometry: Algorithms <strong>and</strong> Applicati<strong>on</strong>s, 3 rd ed. Springer-Verlag, 2008<br />

Fig. 7. Fingerprints are captured from the same finger with different<br />

orientati<strong>on</strong><br />

IV. CONCLUSION<br />

In this paper we have presented a scheme for authenticati<strong>on</strong><br />

<strong>and</strong> verificati<strong>on</strong> based <strong>on</strong> fingerprint. The scheme is invariant<br />

to arbitrary translati<strong>on</strong>s <strong>and</strong> rotati<strong>on</strong>s. The scaling change is<br />

not addressed in this paper as we propose that the process of<br />

fingerprint capturing <strong>and</strong> fingerprint matching is d<strong>on</strong>e using<br />

same type of hardware. We have reduced the computati<strong>on</strong><br />

during the matching phase by first checking the outer most<br />

c<strong>on</strong>vex hull. If there is a match, then the process is matching<br />

extended further.<br />

We found some problem due to image clipping. Figure 7<br />

shows the same fingerprint with different orientati<strong>on</strong>. In the<br />

first fingerprint image, there are some extra minutiae which are<br />

clipped in the sec<strong>on</strong>d fingerprint image. This happens due to<br />

the picture frame that clips the captured image. To overcome<br />

the problem we recommend to use either circular or elliptical<br />

picture frame as shown in the Fig. 7.<br />

REFERENCES<br />

[1] E. R. Henry, Classifcati<strong>on</strong> <strong>and</strong> Uses of Finger Prints, Routledge,<br />

L<strong>on</strong>d<strong>on</strong>, (1900).<br />

[2] W. J. Hankley <strong>and</strong> J. T. Tou, Automatic Fingerprint Interpretati<strong>on</strong><br />

<strong>and</strong> Classificati<strong>on</strong> via C<strong>on</strong>textual Analysis <strong>and</strong> Topological Coding, in<br />

Pictorial Pattern Reorganizati<strong>on</strong>, pp. 411-456, 1968.<br />

[3] B. Moayer <strong>and</strong> K. S. Fu, A Syntactic Approach to Fingerprint Pattern<br />

Recogniti<strong>on</strong>, Pattern Recogniti<strong>on</strong>, vol. 7, pp. 1-23, 1975.<br />

[4] K. Rao <strong>and</strong> K. Balck, Type Classificati<strong>on</strong> of Fingerprints: A Syntactic<br />

Approach, IEEE Trans. PAMI, vol. 2, pp-223-231, 1980.<br />

[5] K. Moscinska <strong>and</strong> G. Tyma, Neural Network based Fingerprint Recogniti<strong>on</strong>,<br />

in proc. 3 rd Int. C<strong>on</strong>f. Neural Network, pp 229-232, 1993.<br />

[6] P. A. Hughes <strong>and</strong> A. D. P. Green, The use of Neural Network for<br />

Fingerprint Classificati<strong>on</strong>, in proc. 2 nd Int. C<strong>on</strong>f. Neural Network, pp.<br />

79-81 1991.<br />

[7] M. Kamijo, Classifying Fingerprint Images using Neural Network:<br />

Deriving the Classificati<strong>on</strong> State, in proc. Int. C<strong>on</strong>f. Neural Network,<br />

pp. 1923-1937, 1992.<br />

[8] A. Ross <strong>and</strong> A. Jain, A Hybrid Fingerprint Matcher, Pattern Recogniti<strong>on</strong>,<br />

vol. 36, no. 7, pp. 1661-1673, 2003.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 426


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Compact Representati<strong>on</strong> for Dynamic Texture<br />

Synthesis Using Multi Way SVD <strong>and</strong> YCbCr<br />

Color Coding<br />

Preman<strong>and</strong> P.Ghadekar 1 , Manik L. Dhore 2 , Suresh N. Mali 3 , Dr. Ashok M. Sapkal 4 .<br />

ABSTRACT: - Texture is everywhere in nature. It represents<br />

together with color <strong>and</strong> shape <strong>on</strong>e of the fundamental<br />

characteristics of object. Texture c<strong>on</strong>veys an idea of repetiti<strong>on</strong> of<br />

a certain structure, which is not limited <strong>on</strong>ly to the visual<br />

domain. In image processing, a dynamic texture is a sequence of<br />

images showing temporal stati<strong>on</strong>arity. Dynamic texture synthesis<br />

is the process of producing artificial textures starting from a<br />

given texture sample. In the case of dynamic textures, the term<br />

“compact” applied to the model size used for synthesis. We<br />

propose a dynamic texture analysis that is able to obtain a more<br />

compact model starting from the linear model of Soatto <strong>and</strong><br />

Doretto. Current methods perform a dimensi<strong>on</strong> reducti<strong>on</strong> of the<br />

data by applying the SVD to the video frames unfolded into<br />

column vectors. This permits <strong>on</strong>ly to exploit the temporal<br />

correlati<strong>on</strong>. We avoid the unfolding operati<strong>on</strong>s <strong>and</strong> decompose<br />

the signal directly using a multidimensi<strong>on</strong>al decompositi<strong>on</strong><br />

known as Multi-way SVD i.e. Higher-Order SVD (HOSVD).<br />

Chromatic comp<strong>on</strong>ents are exploited more efficiently by<br />

combining the HOSVD decompositi<strong>on</strong> with the Y CbCr color<br />

encoding for the input data. Tests show that the combined model<br />

has required five times lesser parameters than models derived<br />

with other algorithms, for the same visual quality <strong>and</strong><br />

approximately the same computati<strong>on</strong>al synthesis cost. Our<br />

technique is thus well suited to dynamic texture synthesis <strong>on</strong><br />

devices limited by memory <strong>and</strong> computati<strong>on</strong>al power; such as<br />

webcams or mobile ph<strong>on</strong>es.<br />

Keywords—Dynamic texture, synthesis, Multi-way, SVD,<br />

HOSVD, YCbCr, Tensor.<br />

I. INTRODUCTION<br />

Dynamic texture synthesis is the process of creating an<br />

artificial texture from a sample image. In this case, the term<br />

“compact” will refer to a texture model having a small number<br />

1 P.P. Ghadekar , Lecturer, <strong>Computer</strong> Engineering Department<br />

Vishwakarma Institute of Technology,Pune-37<br />

premghadekar@rediffmail.com , India<br />

2 M.L. Dhore , Head & Assistant Professor<br />

<strong>Computer</strong> Engineering Department<br />

Vishwakarma Institute of Technology, Pune-37<br />

hodcomp@vit.edu, India<br />

3 S.N.Mali, Dean & Assistant Professor<br />

<strong>Computer</strong> Engineering Department<br />

Vishwakarma Institute of Technology, Pune-37<br />

suresh.mali@vit.edu, India<br />

4 Dr. Ashok M. Sapkal , Professor, E & TC Department<br />

College of Engineering, Pune-05<br />

Ashoksapkal@rediffmail.com , India<br />

of parameters. Image-based models perform synthesis using a<br />

model built from the video sequence representing a dynamic<br />

texture <strong>and</strong> not a model of the event itself. Even though image<br />

based models are limited, these models have been extensively<br />

studied <strong>and</strong> used because they have a much smaller synthesis<br />

cost than physics-based model. This is an advantage when the<br />

dynamic texture is synthesized <strong>on</strong> a general purpose PC,<br />

especially when used in video games.<br />

In this technique parametric image, based approach is used<br />

to build a model of dynamic textures. It is more flexible, more<br />

compact in terms of memory occupati<strong>on</strong>, <strong>and</strong> usually permits<br />

<strong>on</strong>-the-fly synthesis. Recently, the parametric model proposed<br />

by Doretto et al. [10], [3] was shown to be a valid approach<br />

for analysis/synthesis of dynamic textures. Each video frame<br />

is unfolded into a column vector <strong>and</strong> c<strong>on</strong>stitutes a point that<br />

follows a trajectory as time evolves. In this model, the SVD<br />

exploits the temporal correlati<strong>on</strong> between the video frames but<br />

the unfolding operati<strong>on</strong>s prevent the possibility of exploiting<br />

spatial <strong>and</strong> chromatic correlati<strong>on</strong>s. We use the parametric<br />

approach of [3]. But perform the dynamic texture analysis<br />

with a higher order SVD, which permits to simultaneously<br />

decompose the temporal, spatial <strong>and</strong>, chromatic comp<strong>on</strong>ents<br />

of the video sequence. In the present work we have stressed<br />

the importance of the compactness of the texture<br />

representati<strong>on</strong>. This secti<strong>on</strong> presents two approaches that lead<br />

to a more compact representati<strong>on</strong> of the dynamic texture <strong>and</strong> a<br />

comparable performance in terms of visual quality <strong>and</strong><br />

computati<strong>on</strong>al cost.<br />

A. Approach 1: Separating Luminance from Chrominance.<br />

The first strategy is to use a different color encoding than<br />

RGB to represent the video sequences. As briefly suggested in<br />

Doretto’s paper [3], where it was noted that the linear model<br />

can be applied to different color encodings, we have found<br />

that a more compact model can be obtained using a color<br />

space where luminance <strong>and</strong> chrominance channels are<br />

separated, since chromatic channels can be made more<br />

compact. An example is the Y Cb Cr color encoding. This is a<br />

linear combinati<strong>on</strong> of RGB color encoding widely used in<br />

video applicati<strong>on</strong>s <strong>and</strong> usually appearing in a compressed<br />

format denoted as 4:2:0, where the chrominance channels are<br />

down sampled both horiz<strong>on</strong>tally <strong>and</strong> vertically. When Soatto-<br />

Doretto’s model is used <strong>on</strong> the Y CbCr input video in 4:2:0<br />

format, the model matrix obtained in the analysis step has half<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 427


Proceedings of ICCNS 08 , 27-28 September 2008<br />

the size of the <strong>on</strong>e obtained using RGB. Since this matrix is<br />

the major c<strong>on</strong>tributi<strong>on</strong> of the model cost in terms of model<br />

parameters, this results in a more compact model. This<br />

strategy exploits in a better way the spatial <strong>and</strong> color<br />

correlati<strong>on</strong> between pixels, <strong>and</strong> it is easy to use, since it is just<br />

necessary to c<strong>on</strong>vert the input video in a different format<br />

B. Approach 2: The Tensor Decompositi<strong>on</strong><br />

The sec<strong>on</strong>d strategy is to avoid the unfolding operati<strong>on</strong>s<br />

that precede analysis <strong>and</strong> decompose the input video in its<br />

native form, i.e., as a multidimensi<strong>on</strong>al signal (a so called<br />

tensor). There exist different techniques that decompose a<br />

tensor in its fundamental comp<strong>on</strong>ents. The natural extensi<strong>on</strong><br />

of the SVD used for matrix decompositi<strong>on</strong> to higher<br />

dimensi<strong>on</strong>s is the Multi-way SVD i.e. Higher-Order SVD<br />

(HOSVD) [6]. This decompositi<strong>on</strong> is fast to compute <strong>and</strong><br />

allows for a dimensi<strong>on</strong> reducti<strong>on</strong> by simple principal<br />

comp<strong>on</strong>ent truncati<strong>on</strong>. Although this truncati<strong>on</strong> is suboptimal<br />

from the point of view of energy compacti<strong>on</strong>, the<br />

approximati<strong>on</strong> error is bounded <strong>and</strong> not much higher than the<br />

minimum error ensured by the optimal soluti<strong>on</strong>. By avoiding<br />

the unfolding operati<strong>on</strong>s permits to better exploit the pixel<br />

correlati<strong>on</strong> in space, time, <strong>and</strong> chromatic c<strong>on</strong>tent in a single<br />

step, eventually leading to a more compact model with fewer<br />

coefficients.<br />

II. THE COMPACT MODEL USING YCBCR<br />

This secti<strong>on</strong> shows that a color encoding such as Y CbCr<br />

has two advantages with respect to RGB. First, it permits to<br />

obtain a more compact model where the chromatic channels<br />

are down sampled both horiz<strong>on</strong>tally <strong>and</strong> vertically (4:2:0<br />

format), thus better exploiting the spatial color informati<strong>on</strong>.<br />

Sec<strong>on</strong>d, it allows the design of a system where two<br />

independent models can be used to describe luminance <strong>and</strong><br />

chrominance separately. A model of order n1 can be used for<br />

the luminance <strong>and</strong> another model of order n2 for the<br />

chrominance.<br />

Figure 1 Schematic view of the different luminance-chrominance based input<br />

representati<strong>on</strong><br />

Since the chrominance channels have also a low frequency<br />

temporal behavior, the order of the sec<strong>on</strong>d system can be<br />

lower than the <strong>on</strong>e used for luminance <strong>and</strong> still ensure a good<br />

synthesis. The idea is to allow for flexibility in the choice of<br />

the model order that represents the luminance <strong>and</strong> the<br />

chrominance channels, in order to find models that are more<br />

compact <strong>and</strong> have the same or even better performance with<br />

respect to the native RGB model. Combining these two<br />

aspects, there are four different ways to employ Y CbCr color<br />

encoding within the linear model.<br />

This is shown in Figure 1 a) Full” model of order n; (b)<br />

“Full + Split” models of orders n1 <strong>and</strong> n2; (c) “Half” model of<br />

order n: the chrominance is down sampled; (d) “Half + Split”<br />

models of orders n1 <strong>and</strong> n2. Model size for four different<br />

models is given in table 1.<br />

Ka=3Ln<br />

Kc =1.5Ln<br />

Model size<br />

Kb= Ln1 + 2Ln2<br />

Kd = Ln1 + 0.5Ln2<br />

TABLE 1: NUMBER OF MODEL PARAMETERS ACCORDING TO THE<br />

CONFIGURATION OF FIGURE 1 USED.<br />

III. THE COMPACT MODEL USING TENSOR<br />

Tensors are a generalizati<strong>on</strong> of matrices for orders higher<br />

than 2; a tensor AЄR (I1×I2×...×Ip) has order p <strong>and</strong> I 1 , I 2 ... Ip are<br />

integer numbers indicating the number of elements for each<br />

dimensi<strong>on</strong>. For example, a grayscale video sequence can be<br />

c<strong>on</strong>sidered a tensor of order 3, with I 1 =N, I 2 =M, <strong>and</strong> I 3 =τ, if it<br />

is composed by τ video frames of dimensi<strong>on</strong> N×M pixels.<br />

From a tensor, it is possible to obtain a matrix by unfolding its<br />

elements al<strong>on</strong>g <strong>on</strong>e dimensi<strong>on</strong>. This is shown in Figure 2,<br />

where we show the example of unfolding a 3D tensor al<strong>on</strong>g its<br />

first dimensi<strong>on</strong>. The matrix obtained from unfolding tensor A<br />

al<strong>on</strong>g its dimensi<strong>on</strong> h is called matrix unfolding, <strong>and</strong> it is<br />

indicated as A (h). Its columns are called h-mode vectors.<br />

Figure2. Example of unfolding the 3-dimensi<strong>on</strong>al tensor A al<strong>on</strong>g the first<br />

dimensi<strong>on</strong> that produces the matrix unfolding A (1).<br />

IV. DEFINITION OF THE HOSVD<br />

As matrices can be decomposed in singular values using the<br />

SVD, there exists a similar decompositi<strong>on</strong> of tensors. The<br />

st<strong>and</strong>ard SVD is depicted schematically in Figure 3 (a). In the<br />

top half, it is formulated according to st<strong>and</strong>ard notati<strong>on</strong>, i.e.,<br />

as the matrix product between a left matrix U, a diag<strong>on</strong>al<br />

matrix S <strong>and</strong> a right matrix V H , where the symbols H denote<br />

the matrix Hermitian transpose operator. Since bi-dimensi<strong>on</strong>al<br />

matrices are a particular case of tensors of order 2, this<br />

product can be also expressed using tensor notati<strong>on</strong>. This is<br />

shown in the bottom half of Figure 3(a).The extensi<strong>on</strong> of the<br />

SVD to higher order corresp<strong>on</strong>ds to the HOSVD introduced in<br />

[6] as an extensi<strong>on</strong> of the three-way Tucker decompositi<strong>on</strong>. A<br />

p-order tensor A is decomposed as:<br />

A=S x1U (1) x 2 U (2) ……....×p U (p) ,<br />

U (1),U(2), . . . ,U(p) are orthog<strong>on</strong>al matrices that c<strong>on</strong>tain the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 428


Proceedings of ICCNS 08 , 27-28 September 2008<br />

orthog<strong>on</strong>al vectors spanning the column space of the matrix<br />

unfolding A(i) with i = 1, 2, . . . , p <strong>and</strong> S is the core tensor. It<br />

corresp<strong>on</strong>ds to the generalizati<strong>on</strong> of the diag<strong>on</strong>al matrix S of<br />

the st<strong>and</strong>ard SVD, with the difference that generally it is a<br />

n<strong>on</strong>-diag<strong>on</strong>al full tensor. An example of the decompositi<strong>on</strong> of<br />

a 3D tensor is depicted schematically in Figure 3 (b).<br />

Figure 3: St<strong>and</strong>ard <strong>and</strong> multi-way SVD<br />

V. THE HOSVD IS COMPUTED IN TWO STEPS ACCORDING TO<br />

THE FOLLOWING: ALGORITHM:<br />

1. For i=1,2,...,p, compute the unfolding matrix A(i) from A<br />

<strong>and</strong> compute its st<strong>and</strong>ard SVD: A(i)=USV H ; the orthog<strong>on</strong>al<br />

matrix U(i) is defined as U(i)=U, i.e. as the left matrix of the<br />

SVD;<br />

2. The core tensor is computed using the inversi<strong>on</strong><br />

formula:<br />

S=A×1U (1) H × 2 U (2) H ...×p U (p) H ,<br />

St<strong>and</strong>ard SVD is used as a dimensi<strong>on</strong> reducti<strong>on</strong> technique.<br />

This is schematically recalled in Figure 3 (a). The product of<br />

the first n columns or rows of the left <strong>and</strong> right matrices with<br />

the first n element of the diag<strong>on</strong>al matrix S, produces the best<br />

n-rank approximati<strong>on</strong> matrix for F.<br />

VI. PERFORMANCE EVALUATION<br />

The performance is evaluated by c<strong>on</strong>sidering the average<br />

<strong>on</strong>e step predicti<strong>on</strong> error. This is an objective measure given<br />

by the average value of the Peak Signal to Noise Ratio<br />

(PSNR) difference between original <strong>and</strong> the <strong>on</strong>e step<br />

predicti<strong>on</strong> video frames obtained from the model:<br />

τ<br />

PSNR= 1<br />

τ − 1<br />

∑ 10<br />

255 2<br />

j = 2<br />

log 10<br />

RGB<br />

MSE ( I − I ' )<br />

RGB<br />

j<br />

Where I j<br />

RGB<br />

<strong>and</strong> I’<br />

j<br />

RGB<br />

are the original <strong>and</strong> predicted video<br />

frames in RGB video format, respectively. The <strong>on</strong>e step image<br />

predicti<strong>on</strong> <strong>and</strong> the corresp<strong>on</strong>ding frame synthesis are<br />

computed as follows:<br />

ˆxj =Hxj−1<br />

j<br />

ˆZj =S× 1U<br />

(n)<br />

. . . ×t ˆxj ×t+1. . . ×n U<br />

(n)<br />

+M,<br />

Where xj−1is the (j−1)-th column of matrix X obtained in<br />

the analysis step, <strong>and</strong> frame ˆI j<br />

RGB<br />

is obtained from ˆZj by an<br />

appropriate color c<strong>on</strong>versi<strong>on</strong>.<br />

VII. PERFORMANCE PARAMETER OF WORK<br />

The parameters of the HOSVD-based model are the number<br />

of singular values retained from the tensor decompositi<strong>on</strong>.<br />

Since this decompositi<strong>on</strong> c<strong>on</strong>siders spatial (horiz<strong>on</strong>tal <strong>and</strong><br />

vertical), temporal, <strong>and</strong> chromatic comp<strong>on</strong>ents separately, this<br />

results in a number of 4 parameters in the case of the 4D-<br />

RGB(HOSVD-RGB) data representati<strong>on</strong> <strong>and</strong> 3 parameters in<br />

the case of 3D-Y CbCr(HOSVD-YCbCr). r1, r2, r3, <strong>and</strong> r4<br />

the parameters are used which are associated to vertical,<br />

horiz<strong>on</strong>tal, temporal, <strong>and</strong> color dimensi<strong>on</strong>s, respectively.<br />

This gives enough freedom to optimize the decompositi<strong>on</strong><br />

according to the characteristics of the video sequence. However,<br />

to keep the number of parameters comparable to the<br />

other methods <strong>and</strong> to limit the number of simulati<strong>on</strong>s, r1=r2 is<br />

used. Naturally, this penalizes the algorithm performance<br />

when applied to sequences having a clear spatial orientati<strong>on</strong>,<br />

such as the “Grass” video sequence, which is characterized by<br />

str<strong>on</strong>g horiz<strong>on</strong>tal frequency <strong>and</strong> low vertical frequency. Using<br />

r2>r1 would have increased the quality of the predicted<br />

frames, since the horiz<strong>on</strong>tal c<strong>on</strong>tent would have been better<br />

approximated. Moreover, in the case of 4D-RGB, we fixed<br />

r4=3, thus not compressing the color informati<strong>on</strong>.<br />

The parameters r1 varied from 5 to N with an interval of 5,<br />

r2 from 5 to M. Since N <strong>and</strong> M are in general different, r1<br />

differ from r2 when <strong>on</strong>e or the other reaches its maximum<br />

value. In all other cases, the restricti<strong>on</strong> r1=r2 is valid. The<br />

temporal parameter r3 varied from 5 to τ −5, with an interval<br />

of 5, where τ indicates the temporal length of the video<br />

sequence.<br />

Doretto’s algorithm performance varies according to <strong>on</strong>e<br />

single parameter. This is the number of singular values that<br />

are retained from the 2D-SVD in the analysis. This parameter<br />

is called as Nrgb; it is an integer ranging from 1to τ. When<br />

testing the algorithm, Nrgb is varied from 5 to τ − 5 with an<br />

interval of 5.<br />

In order to evaluate the algorithms performance, the error<br />

between original <strong>and</strong> synthetic frames is c<strong>on</strong>sidered. Two<br />

factors c<strong>on</strong>tribute to this error. The first is the error intrinsic to<br />

the low-rank approximati<strong>on</strong> given by the choice of the number<br />

of singular values. The sec<strong>on</strong>d is the error introduced when<br />

modeling the texture dynamic with an MAR (1) model. The<br />

latter is properly called predicti<strong>on</strong> error.<br />

Predicti<strong>on</strong> error is called as the total error between an<br />

original frame <strong>and</strong> its predicti<strong>on</strong> obtained by the models in<br />

final RGB color encoding that is used for display purposes to<br />

evaluate the algorithms performance, c<strong>on</strong>sider Predicti<strong>on</strong><br />

Error Vs Model Size Graph i.e. Predicti<strong>on</strong> Average PSNR<br />

(dB) VS Number of Coefficient. Figure 4 shows graph<br />

(predicti<strong>on</strong> error vs. model size) an example of the algorithms<br />

performance obtained by the proposed HOSVD-RGB &<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 429


Proceedings of ICCNS 08 , 27-28 September 2008<br />

HOSVD-YCBCR algorithm.<br />

The dots indicate simulati<strong>on</strong> results, while the c<strong>on</strong>tinuous<br />

lines indicate their interpolati<strong>on</strong>. The dashed line corresp<strong>on</strong>ds<br />

to the best performance obtained by the algorithm for this<br />

video sequence.<br />

Compared to algorithms were the unfolding operati<strong>on</strong>s are<br />

performed in 2D ,this method results in models with <strong>on</strong><br />

average five times less coefficients, still ensuring the same<br />

visual quality.<br />

(a)<br />

(a)<br />

(b)<br />

Figure 4. Example of the performance (predicti<strong>on</strong> error vs. model size)<br />

(a) HOSVD-RGB (b) HOSVD-YCBCR algorithm.<br />

Despite being a suboptimal soluti<strong>on</strong> for the tensor decompositi<strong>on</strong>,<br />

the HOSVD ensures close-to-optimal energy compacti<strong>on</strong><br />

<strong>and</strong> approximati<strong>on</strong> error. The sub optimality derives<br />

from the fact that the HOSVD is computed directly from the<br />

SVD, without using expensive iterative algorithms, such as<br />

d<strong>on</strong>e for the optimal soluti<strong>on</strong>. This is an advantage, since the<br />

analysis can be d<strong>on</strong>e faster <strong>and</strong> with less computati<strong>on</strong>al<br />

power. Figure 5 shows comparis<strong>on</strong> graph (predicti<strong>on</strong> error vs.<br />

model size) for algorithm SVD-RGB, SVD-YCbCr, HOSVD-<br />

RGB, HOSVD-YCbCr & graph for Gain factor vs. Predicti<strong>on</strong><br />

Average PSNR.<br />

(b)<br />

Figure 5 Comparis<strong>on</strong> graph (Tides)<br />

(a) No. Model Coefficient vs. PSNR (b) PSNR vs. Gain Factor<br />

Figure 6.1-2 shows comparis<strong>on</strong> graphs left part is original<br />

dynamic texture, middle part is dynamic texture created<br />

artificially by using HOSVD, <strong>and</strong> right part of image is<br />

dynamic texture created by using SVD. Following values are<br />

calculated by using SVD-RGB & HOSVD-RGB algorithm.<br />

PSNR SVD value is - 28.908 (n = 35)<br />

PSNR HOSVD value is - 27.1518<br />

Cost SVD value is -2739182<br />

Cost HOSVD value is- 896889<br />

Cost SVD / Cost HOSVD-3.0541<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 430


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Moreover, the very small memory occupancy favors the use of<br />

the HOSVD based model in architectures characterized by<br />

c<strong>on</strong>straints in memory <strong>and</strong> computati<strong>on</strong>al power complexity,<br />

such as PDAs or mobile ph<strong>on</strong>es.<br />

(a) Original (Tides) (b) HOSVD RGB<br />

Figure 6.1 Comparis<strong>on</strong> video (Tides)<br />

(c) SVD RGB<br />

Following values are calculated by using SVD-YCbCr &<br />

HOSVD-YCbCr algorithm.<br />

PSNR SVD YCbCr value is -28.8706 (n = 35)<br />

PSNR HOSVD YCbCr value is- 26.6957<br />

Cost SVDYCbCr value is -1370606<br />

Cost HOSVD YCbCr value is- 288225<br />

Cost SVD / Cost HOSVD Value is- 4.7553<br />

REFERENCES<br />

[1] B. Abraham, O. I. Camps, <strong>and</strong> M. Sznaier, “Dynamic Texture with<br />

Fourier Descriptors,” Proc. of the 4th <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Workshop <strong>on</strong> Texture<br />

Analysis <strong>and</strong> Synthesis, pp. 53–58, 2005.<br />

[2] B. W. Bader <strong>and</strong> T. G. Kolda, “MATLAB Tensor Classes for Fast<br />

Algorithm Prototyping,” Proc. of ACM Trans. <strong>on</strong> Mathematical Software, vol.<br />

32, no. 4, 2006.<br />

[3] G. Doretto, A. Chiuso, Y. Wu, <strong>and</strong> S. Soatto, “Dynamic textures,” Int.<br />

Journal of <strong>Computer</strong> Visi<strong>on</strong>, vol. 51, no. 2, pp. 91–109, 2003.<br />

[4] G. Doretto, D. Cremers, P. Favaro, <strong>and</strong> S. Soatto, “Dynamic Texture<br />

Segmentati<strong>on</strong>,” Proc. of IEEE ICIP 2003, pp. 1236–1242.<br />

[5] G. Doretto <strong>and</strong> S. Soatto, “Editable Dynamic Textures,” Proc. of IEEE<br />

CVPR 2003, vol. 2, pp. 137–142.<br />

[6] L. De Lathauwer, B. De Moor, <strong>and</strong> J. V<strong>and</strong>ewalle, “A Multilinear<br />

Singular Value Decompositi<strong>on</strong>,” Siam J. Matrix Anal. Appl., vol. 21, no. 43,<br />

pp. 1253–1278, 2000.<br />

[7] M. A. O. Vasilescu <strong>and</strong> D. Terzopoulos, “TensorTextures: Multilinear<br />

Image-Based Rendering,”Proc. Of ACM SIGGRAPH 2004, pp. 336–342.<br />

[8] P. Saisan, G. Doretto, Y. N. Wu, <strong>and</strong> S. Soatto, “Dynamic Texture<br />

Recogniti<strong>on</strong>,” Proc. of IEEE CVPR 2001, vol. 2, pp. 58–63.<br />

[9] R. Costantini, L. Sbaiz, <strong>and</strong> S. S¨usstrunk, “Dynamic Texture Analysis<br />

<strong>and</strong> Synthesis using Tensor Decompositi<strong>on</strong>,” Lecture Notes in <strong>Computer</strong><br />

Science, vol. 4292, pp. 1161–1170, 2006.<br />

[10] S. Soatto, G. Doretto, <strong>and</strong> Y. N. Wu, “Dynamic Textures,” Proc. of<br />

IEEE ICCV 2001, vol. 2, pp. 43<br />

(a) Original (Tides) (b) HOSVD YCbCr (c) SVD YCbCr<br />

Figure 6.2 Comparis<strong>on</strong> video (Tides)<br />

VIII. CONCLUSIONS<br />

Existing models for dynamic texture synthesis can be made<br />

more compact by exploiting in a more efficient way the<br />

correlati<strong>on</strong> between the pixels of the video. This can be d<strong>on</strong>e<br />

both using a more compact color encoding than the native<br />

RGB, such as Y CbCr, where luminance <strong>and</strong> chrominance<br />

channels are separated <strong>and</strong> chrominance can be down<br />

sampled. Moreover, model compactness can derive from the<br />

use of a direct decompositi<strong>on</strong> of the dynamic texture video<br />

c<strong>on</strong>sidered as a multidimensi<strong>on</strong>al signal, thus avoiding the<br />

unfolding operati<strong>on</strong>s that shape it into a matrix. Tensor<br />

decompositi<strong>on</strong> offers a soluti<strong>on</strong> where spatial, chromatic, <strong>and</strong><br />

temporal informati<strong>on</strong> can be modeled at <strong>on</strong>ce. The few model<br />

parameters permit to perform synthesis in real-time.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 431


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Design Of Optimal MLP Neural Network Classifier For<br />

Intelligent Iris Recogniti<strong>on</strong> System For Pers<strong>on</strong><br />

Identificati<strong>on</strong><br />

Sanjay R. Ganorkar<br />

Dr.Ashok A.Ghatol<br />

Abstract-- Design <strong>and</strong> evaluati<strong>on</strong> of Iris recogniti<strong>on</strong> system for<br />

pers<strong>on</strong> identificati<strong>on</strong> is discussed in this paper. As technology<br />

advances informati<strong>on</strong> <strong>and</strong> intellectual properties are wanted by many<br />

unauthorized pers<strong>on</strong>nel. As a result many organizati<strong>on</strong>s are searching<br />

ways for more secure authenticati<strong>on</strong> methods for the user access. In<br />

network security there is a vital emphasis <strong>on</strong> the automatic pers<strong>on</strong>al<br />

identificati<strong>on</strong>. Due to its inherent advantages biometric based<br />

verificati<strong>on</strong> especially iris identificati<strong>on</strong> is gaining a lot of attenti<strong>on</strong>.<br />

Iris recogniti<strong>on</strong> uses iris patterns for pers<strong>on</strong>nel identificati<strong>on</strong>. The<br />

system steps are capturing iris image, localizing iris <strong>and</strong> the iris<br />

pattern recogniti<strong>on</strong>. The iris is extracted from the eye image. Due to<br />

the high degree of freedom in iris pattern <strong>on</strong>ly part of the iris<br />

structure is selected for recogniti<strong>on</strong>. The proposed method is based<br />

<strong>on</strong> Discrete Cosine Transform (DCT) coefficient technique that<br />

extracts important features using transformed coefficients. Obtained<br />

features are fed to multiplayer perceptr<strong>on</strong> neural network with<br />

different learning rules <strong>and</strong> activati<strong>on</strong> functi<strong>on</strong>s for pers<strong>on</strong><br />

identificati<strong>on</strong>. Experimental results show that the Discrete Cosine<br />

Transform (DCT) based feature extracti<strong>on</strong> technique has an<br />

encouraging performance.<br />

Keywords-- ANN, Biometrics, DCT, Iris recogniti<strong>on</strong>, MLP,<br />

Pers<strong>on</strong>al identificati<strong>on</strong>.<br />

I. INTRODUCTION<br />

The term “Biometrics” refers to a science involving statistical<br />

analysis of <strong>on</strong>e or more physiological or behavioral<br />

characteristics [1]. An individual’s behavioral or physiological<br />

characteristics have the capability to reliably distinguish<br />

between an authorized pers<strong>on</strong> <strong>and</strong> an imposter. Since<br />

biometric characteristics are distinctive, cannot be forgotten or<br />

lost, <strong>and</strong> the pers<strong>on</strong> to be authenticated needs to be physically<br />

present at the point of identificati<strong>on</strong> Biometric is inherently<br />

more reliable <strong>and</strong> are capable than traditi<strong>on</strong>al methods..<br />

Traditi<strong>on</strong>al methods for pers<strong>on</strong>al identificati<strong>on</strong> are I) Token<br />

based approach uses something you have to make<br />

identificati<strong>on</strong>, such as passport, driver’s licence, an ID card, a<br />

credit card, or keys. II) Knowledge based approach such as<br />

something you know to make identificati<strong>on</strong> such as a<br />

password or a Pers<strong>on</strong> Identificati<strong>on</strong> Number (PIN).<br />

Sanjay R. Ganorkar, Assistant Professor, Sinhgad College of Engineering,<br />

Pune. C1-203, Shivsagar City, Phase –I, Sun City Road, An<strong>and</strong> Nagar,<br />

Sinhgad Road, PUNE, Pin- 411051, Maharashtra, India. emailsrgomom@rediffmail.com,<br />

Cell No. 9422514726, Fax 02024357243.<br />

Dr.Ashok A.Ghatol, Vice-Chancellor, Dr. Babasaheb Ambedkar<br />

Technological University, L<strong>on</strong>ere, Dist. Raigad, Maharashtra, Pin-402103,<br />

India. email-ashok.ghatol@gmail.com, Cell No.9422494101, Fax<br />

02140275040<br />

Since these traditi<strong>on</strong>al approaches are not based <strong>on</strong> any<br />

inherent attributes of an individual to make identificati<strong>on</strong>, they<br />

suffer from disadvantages like (i) Token may be lost, stolen,<br />

forgotten, or misplaced, <strong>and</strong> (ii) PIN may be forgotten by a<br />

valid user or guessed by an imposter. Knowledge based <strong>and</strong><br />

token-based approaches cannot differentiate between<br />

authorized pers<strong>on</strong> <strong>and</strong> imposter who fraudulently acquire the<br />

token or knowledge of the authorized pers<strong>on</strong>. Hence they are<br />

unsatisfactory mean of achieving the security requirement of<br />

electr<strong>on</strong>ically inter c<strong>on</strong>nected society. In recent years<br />

biometric pers<strong>on</strong>al identificati<strong>on</strong> is receiving growing interests<br />

from both academia <strong>and</strong> industry [2]. Biometrics includes<br />

fingerprints, retina, iris, voice, signatures, facial thermogram<br />

h<strong>and</strong> geometry, etc. Am<strong>on</strong>g all biometrics iris recogniti<strong>on</strong> has<br />

attracted a lot of attenti<strong>on</strong> because it has various advantages<br />

factors like greater speed, simplicity, <strong>and</strong> accuracy as<br />

compared to other biometric techniques. Iris recogniti<strong>on</strong> relies<br />

<strong>on</strong> the unique patterns of the human iris to identify or verify<br />

an individual. Because the r<strong>and</strong>omness of iris patterns has<br />

very high dimensi<strong>on</strong>ality, recogniti<strong>on</strong> decisi<strong>on</strong>s are made with<br />

c<strong>on</strong>fidence levels high enough to support rapid <strong>and</strong> reliable<br />

exhaustive searches through nati<strong>on</strong>al-sized databases [1, 2].<br />

Artificial Neural <strong>Networks</strong> (ANNs) are programs designed to<br />

simulate the way a simple biological nervous system is<br />

believed to operate. They are based <strong>on</strong> simulated nerve cells or<br />

neur<strong>on</strong>s, which are joined together in a variety of ways to<br />

form networks. These networks have the capacity to learn,<br />

memorize <strong>and</strong> create relati<strong>on</strong>ships am<strong>on</strong>gst data. ANN is an<br />

informati<strong>on</strong>-processing paradigm, implemented in hardware or<br />

software that is modeled after the biological processes of the<br />

brain. An ANN is made up of a collecti<strong>on</strong> of highly<br />

interc<strong>on</strong>nected nodes, called neur<strong>on</strong>s or processing elements.<br />

A node receives weighted inputs from other nodes, sums these<br />

inputs, <strong>and</strong> propagates this sum through a functi<strong>on</strong> to other<br />

nodes. This process is analogous to the acti<strong>on</strong>s of a biological<br />

neur<strong>on</strong>. An ANN learns by example. Pattern recogniti<strong>on</strong> <strong>and</strong><br />

classificati<strong>on</strong> are examples of problems that are well suited for<br />

ANN applicati<strong>on</strong> [3]. In this paper DCT based techniques are<br />

used to extract unique <strong>and</strong> relevant features of iris structure.<br />

Obtained features are fed to neural network classifier for<br />

identificati<strong>on</strong>.<br />

OUTLINE<br />

This paper is organized as follows. The next secti<strong>on</strong><br />

introduces iris as a biometric. Various methods in iris<br />

recogniti<strong>on</strong> are discussed in third secti<strong>on</strong>.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 432<br />

1


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The fourth secti<strong>on</strong> shows the results of the implemented<br />

algorithms. Last secti<strong>on</strong> is the discussi<strong>on</strong>s.<br />

II. IRIS AS A BIOMETRIC<br />

The iris is the <strong>on</strong>ly internal organ of the body, which is<br />

normally externally visible. These visible patterns are unique<br />

to all individuals <strong>and</strong> it has been found that the probability of<br />

finding two individuals with identical iris patterns is almost<br />

zero. It is the colored part of the eye behind the eyelids, <strong>and</strong> in<br />

fr<strong>on</strong>t of the lens. Although the human eye is slightly<br />

asymmetrical <strong>and</strong> the pupil is slightly off the center [4] for the<br />

most practical cases we think of the human eye is symmetrical<br />

with respect to line of sight. The iris c<strong>on</strong>trols the amount of<br />

light that reaches the retina. Due to heavy pigmentati<strong>on</strong>, light<br />

<strong>on</strong>ly pass through the iris via pupil, which c<strong>on</strong>tracts <strong>and</strong><br />

dilates according to the amount of available light. Iris<br />

dimensi<strong>on</strong>s vary slightly between the individuals. Its shape is<br />

c<strong>on</strong>ical with the papillary margin located more interiorly than<br />

the root. A thickened regi<strong>on</strong> called the collarete divides the<br />

anterior surface into the ciliary <strong>and</strong> pupil z<strong>on</strong>es. Iris is made<br />

up of four different layers. The back layer is heavily<br />

pigmented <strong>and</strong> makes iris opaque so that light <strong>on</strong>ly reaches the<br />

eye through the pupil. The next layer c<strong>on</strong>tains the sphincter<br />

<strong>and</strong> the dilator muscles that allows for c<strong>on</strong>tracti<strong>on</strong> <strong>and</strong><br />

dilati<strong>on</strong>. The third layer is the stroma, which is loosely<br />

c<strong>on</strong>nected tissue c<strong>on</strong>taining collagen, melanocytes, most cells<br />

<strong>and</strong> macrophases. The exterior layer is called the anterior<br />

border layer <strong>and</strong> is denser than the previous layer with more<br />

pigmentati<strong>on</strong>. The color of the iris is created by different<br />

levels of light absorpti<strong>on</strong> in the anterior border layers, little<br />

pigmentati<strong>on</strong> in this layer results in a blue appearance because<br />

light reflects from the back layer of the iris. The more<br />

pigmentati<strong>on</strong> a pers<strong>on</strong> has in the anterior border layer, the<br />

darker is the iris. The original eye image is shown in Figure1.<br />

Because is that a grey iris image can provided enough<br />

informati<strong>on</strong> to identify different individuals. The block<br />

diagram of proposed iris recogniti<strong>on</strong> system is as shown in the<br />

fig 2.<br />

Image<br />

Processing<br />

Neural<br />

Network<br />

Data Bank<br />

Output<br />

Result<br />

Fig. 2 The block diagram of iris recogniti<strong>on</strong> system<br />

In proposed method an efficient iris recogniti<strong>on</strong> system for<br />

security purpose is implemented by using the appropriate<br />

characteristics of artificial neural network [8]. The iris<br />

identificati<strong>on</strong> is basically divided in four steps.<br />

1. Capturing the image <strong>and</strong> localizati<strong>on</strong> <strong>and</strong> segmentati<strong>on</strong> of<br />

an iris image<br />

2. Features extracti<strong>on</strong> using DCT<br />

3. Training of artificial neural network by using obtained<br />

feature vectors.<br />

4. Implementing recogniti<strong>on</strong> process by processing proper<br />

<strong>and</strong> distorted test data.<br />

A. Capturing the Image<br />

A good <strong>and</strong> clear image eliminates the process of noise<br />

removal <strong>and</strong> also helps in avoiding errors in calculati<strong>on</strong>. In<br />

practical applicati<strong>on</strong>s of a workable system an image of the<br />

eye to be analyzed must be acquired first in digital form<br />

suitable for analysis. Here we have used the Chinese academy<br />

of sciences-Institute of automati<strong>on</strong> (CASIA) [9] iris image<br />

database available in the public domain. The experiments have<br />

been performed <strong>on</strong> 10 pers<strong>on</strong>s. For each pers<strong>on</strong> 7 images were<br />

acquired under different c<strong>on</strong>diti<strong>on</strong>s. This makes a total of 70<br />

experimental iris samples. Iris image is as shown in Figure 3.<br />

Fig.1 Original eye image<br />

III. ALGORITHMS<br />

Many researchers have worked <strong>on</strong> various algorithms for<br />

iris recogniti<strong>on</strong>. Daugman [1, 4, 5] presented a system based<br />

<strong>on</strong> phase code using Gabor filters for iris recogniti<strong>on</strong> <strong>and</strong><br />

reported that it has excellent performance <strong>on</strong> a diverse<br />

database of many images. Wildes [6] described a system for<br />

pers<strong>on</strong>al verificati<strong>on</strong> based <strong>on</strong> automatic iris recogniti<strong>on</strong>. It<br />

relies <strong>on</strong> image registrati<strong>on</strong> <strong>and</strong> image matching, which is<br />

computati<strong>on</strong>ally very dem<strong>and</strong>ing. Boles et al. [7] proposed an<br />

algorithm for iris feature extracti<strong>on</strong> using zero crossing<br />

representati<strong>on</strong> of 1-D wavelet transform. All these algorithms<br />

are based <strong>on</strong> grey image, <strong>and</strong> color informati<strong>on</strong> was not used.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 433<br />

2<br />

Fig. 3 Iris image<br />

B. Iris Localizati<strong>on</strong> <strong>and</strong> Segmentati<strong>on</strong><br />

Iris localizati<strong>on</strong> is d<strong>on</strong>e by using “Adobe Photoshop” <strong>and</strong><br />

digitally stored into the memory in the form of 011.1.1C.bmp,<br />

012.1.1C.bmp,…,<strong>and</strong> 020.1.1C.bmp…as shown in the Figure<br />

4. The localized iris image is then segmented into16X16<br />

matrix by using blocks processing technique as shown in the<br />

Figure 5.


Proceedings of ICCNS 08 , 27-28 September 2008<br />

D. Training of Artificial Neural Network<br />

Fig. 4 Crop iris image<br />

Fig. 5 Segmented iris image<br />

C. Feature Extracti<strong>on</strong> Using DCT<br />

This system exploits features extracti<strong>on</strong> capabilities of the<br />

discrete cosine transform (DCT) that can be calculated very<br />

fast. The DCT is closely related to the discrete Fourier<br />

transform. It is a loss-less <strong>and</strong> reversible mathematical<br />

transformati<strong>on</strong> that c<strong>on</strong>verts a spatial amplitude representati<strong>on</strong><br />

of data into a spatial frequency representati<strong>on</strong>. It is a separable<br />

linear transformati<strong>on</strong>; that is, the two-dimensi<strong>on</strong>al transform is<br />

equivalent to a <strong>on</strong>e-dimensi<strong>on</strong>al DCT performed al<strong>on</strong>g a<br />

single dimensi<strong>on</strong> followed by a <strong>on</strong>e-dimensi<strong>on</strong>al DCT in the<br />

other dimensi<strong>on</strong>. One of the advantages of the DCT is its<br />

energy compacti<strong>on</strong> property, that is, the signal energy is<br />

c<strong>on</strong>centrated <strong>on</strong> a few comp<strong>on</strong>ents while most other<br />

comp<strong>on</strong>ents are zero or are negligibly small. The twodimensi<strong>on</strong>al<br />

DCT of an M-by-N image is defined as<br />

π(2m+<br />

1) p π(2n<br />

+ 1) q<br />

cos cos<br />

2M<br />

2<br />

M 1N<br />

1<br />

pq<br />

=<br />

p q∑∑<br />

− −<br />

β α α Amn<br />

m=<br />

0 n=<br />

0 N<br />

0 ≤ p ≤ M − 1<br />

0 ≤ q ≤ N − 1<br />

⎪⎧<br />

p = 0<br />

1 / M ,<br />

α<br />

p<br />

= ⎨<br />

1 ≤ p ≤ M − 1<br />

⎪⎩ 2 / M ,<br />

follows ,<br />

α<br />

q<br />

=<br />

⎪⎧<br />

1 /<br />

⎨<br />

⎪⎩ 2<br />

/<br />

N<br />

N<br />

,<br />

,<br />

q<br />

=<br />

0<br />

1 ≤ q<br />

≤<br />

N − 1<br />

The values B pq are called the DCT coefficients of image. The<br />

two-dimensi<strong>on</strong>al DCT uses the fundamental operati<strong>on</strong> of <strong>on</strong>edimensi<strong>on</strong>al<br />

DCT; it assumes 8x8 arrays of pixels are eight<br />

rows of eight pixels. Thus <strong>on</strong>e-dimensi<strong>on</strong>al DCT is applied<br />

separately to each row of eight pixels; the result will be eight<br />

rows of frequency coefficients. These eight coefficients are<br />

then taken as eight columns, the first column will c<strong>on</strong>tain all<br />

DC coefficients, <strong>and</strong> the sec<strong>on</strong>d column will c<strong>on</strong>tain the first<br />

AC coefficient from each row, <strong>and</strong> so <strong>on</strong>. The length of<br />

obtained feature vector is 128 [10, 11].<br />

Multilayer Perceptr<strong>on</strong> neural network is chosen for training of<br />

artificial neural network. MLP is <strong>on</strong>e of the most widely<br />

implemented neural network topologies. The article by<br />

Lippman [12] is probably <strong>on</strong>e of the best references for the<br />

computati<strong>on</strong>al capabilities of MLPs. Generally speaking, for<br />

static pattern classificati<strong>on</strong>, the MLP with two hidden layers is<br />

a universal pattern classifier. Moreover, when the weights are<br />

properly normalized <strong>and</strong> the output classes are normalized to<br />

0/1, the MLP achieves the performance of the maximum a<br />

posteriori receiver, which is optimal from a classificati<strong>on</strong> point<br />

of view [13]. In terms of mapping abilities, the MLP is<br />

believed to be capable of approximating arbitrary functi<strong>on</strong>s.<br />

This has been important in the study of n<strong>on</strong>linear dynamics<br />

[14], <strong>and</strong> other functi<strong>on</strong> mapping problems. MLPs are<br />

normally trained with the back propagati<strong>on</strong> algorithm [13].<br />

Figure 6 illustrates architecture of MLP. The circles are the<br />

PEs arranged in layers. A special class of feed forward<br />

networks is the layered class, which is called the MLP. The<br />

layers without direct access to the external world, i.e.<br />

c<strong>on</strong>nected to the input or output, are called hidden layers.<br />

Layers that receive the input from the external world are<br />

called the input layers. Layers in c<strong>on</strong>tact with the outside<br />

Inputs<br />

X1<br />

X2<br />

Xn<br />

Fig. 6: A multilayer perceptr<strong>on</strong><br />

world are called output layers. The lines represent weighted<br />

c<strong>on</strong>necti<strong>on</strong>s (i.e., a scaling factor) between PEs. By adapting<br />

its weights, the neural network works towards an optimal<br />

soluti<strong>on</strong> based <strong>on</strong> a measurement of its performance. For<br />

supervised learning, the performance is explicitly measured in<br />

terms of a desired signal <strong>and</strong> an error criteri<strong>on</strong>. For the<br />

unsupervised case, the performance is implicitly measured in<br />

terms of a learning rule <strong>and</strong> topology c<strong>on</strong>straints [14-16].<br />

E. Performance Measures<br />

The Performance Measures access point of the error criteri<strong>on</strong><br />

comp<strong>on</strong>ent provides the values that can be used to measure the<br />

performance of the network for a particular data set.<br />

Following performance measures are used to decide the<br />

performance of the networks.<br />

1 Mean Squared Error (MSE)<br />

2 Percentage Error (% Error)<br />

F. Implementing Recogniti<strong>on</strong> Process<br />

Software was developed in Matlab 7. 70 input images of 10<br />

pers<strong>on</strong>s were used for preparing data set. A computer with<br />

Pentium 4, dual core processor was used. Neuro soluti<strong>on</strong> 5 is<br />

used for experimentati<strong>on</strong>.<br />

Y<br />

Output<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 434<br />

3


Proceedings of ICCNS 08 , 27-28 September 2008<br />

EXPERIMENTATION<br />

Procedure for experimentati<strong>on</strong> is as follow;<br />

Prepared data sets was used for training <strong>and</strong> testing,<br />

Select the columns to be used as input, <strong>and</strong> desired output.<br />

Select the percentage of number of rows for testing <strong>and</strong><br />

training.<br />

Select the topology as multilayer perceptr<strong>on</strong>.<br />

Select the number of hidden layers, <strong>and</strong> processing elements<br />

in each layer, transfer functi<strong>on</strong> (tanh, linear tanh, sigmoid,<br />

linear sigmoid, <strong>and</strong> softmax), <strong>and</strong> then select the training<br />

cycle. Select the momentum <strong>and</strong> step size.<br />

Once the neural network is trained, it is used for testing.<br />

The key performance measures are classificati<strong>on</strong> accuracy <strong>and</strong><br />

Mean Square Error (MSE).<br />

If the results are not satisfactory i.e. if the error is more than<br />

expectati<strong>on</strong> then parameters needs to be changed.<br />

IV. RESULTS AND DISCUSSIONS<br />

The results obtained are very promising, which are presented<br />

below<br />

Selecti<strong>on</strong> of Optimal Number of Transformed Coefficients<br />

In order to find the optimal number of coefficients, neural<br />

network is trained using various number of feature vectors<br />

including the statistical parameters such as average, st<strong>and</strong>ard<br />

deviati<strong>on</strong>, c<strong>on</strong>trast, correlati<strong>on</strong>, energy, entropy <strong>and</strong><br />

homogeneity of the iris image.A graph in figure 7 indicates the<br />

average classificati<strong>on</strong> accuracy <strong>on</strong> test data for various number<br />

of DCT coefficients. It is observed that the average<br />

classificati<strong>on</strong> accuracy is 100% for 8, 16 <strong>and</strong> 32 numbers of<br />

transformed coefficients. In figure8 the average MSE <strong>on</strong> test<br />

data for various number of DCT coefficients is shown. Hence<br />

optimal numbers of transformed coefficients selected are 8.<br />

Fig.7 Average classificati<strong>on</strong> accuracy for optimal number of<br />

transformed coefficients using DCT feature extracti<strong>on</strong><br />

technique<br />

Fig.8 Average MSE for optimal number of transformed<br />

coefficients using DCT feature extracti<strong>on</strong> technique<br />

Classificati<strong>on</strong> Accuracy <strong>and</strong> MSE<br />

The most important performance measures so far as the<br />

classifier c<strong>on</strong>cerned are classificati<strong>on</strong> accuracy <strong>and</strong> Mean<br />

Square Error (MSE). The values of these measures are shown<br />

for each pers<strong>on</strong> when the trained neural network was tested <strong>on</strong><br />

the testing data set. Multilayer perceptr<strong>on</strong> neural network with<br />

two hidden layer has been c<strong>on</strong>figured as a classifier; the<br />

activati<strong>on</strong> functi<strong>on</strong> used in hidden layers as well as the output<br />

layer was sigmoid. It can be inferred from Table 1 that MLP<br />

neural network with sigmoid activati<strong>on</strong> functi<strong>on</strong> is able to<br />

estimate the decisi<strong>on</strong> boundaries for the given classificati<strong>on</strong><br />

problem very accurately. It is also observed that average<br />

classificati<strong>on</strong> accuracy is 100%, <strong>and</strong> average MSE for sigmoid<br />

is 0.015273718.<br />

Table 1 Performance measures of multilayer perceptr<strong>on</strong> neural<br />

network classifier with learning rule delta bar delta with<br />

activati<strong>on</strong> functi<strong>on</strong> sigmoid using DCT feature extracti<strong>on</strong><br />

technique<br />

Pers<strong>on</strong><br />

Performance measures<br />

Classificati<strong>on</strong><br />

Accuracy in<br />

Percentage<br />

Mean Square Error<br />

(MSE)<br />

P11 100 0.001187669<br />

P12 100 0.004748337<br />

P13 100 0.008546251<br />

P14 100 0.001572649<br />

P15 100 0.010276187<br />

P16 100 0.038770169<br />

P17 100 0.041400287<br />

P18 100 0.030633491<br />

P19 100 0.010697139<br />

P20 100 0.004905001<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 435<br />

4<br />

C. The Plot of Average of Minimum MSE<br />

In order to decide number of neur<strong>on</strong>s in the hidden layer<br />

computer simulati<strong>on</strong> experiment is designed. Following is the<br />

procedure of selecti<strong>on</strong> of number of neur<strong>on</strong>s in the hidden<br />

layer <strong>on</strong>e <strong>and</strong> two for Discrete Cosine Transform feature<br />

extracti<strong>on</strong> technique using MLP neural network.


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Number of neur<strong>on</strong> is gradually increased from 1 to 30 at the<br />

increment of <strong>on</strong>e. For each setting neural network is retrained<br />

three times with different r<strong>and</strong>om initializati<strong>on</strong> of initial<br />

weight. These experiments are performed separately for the<br />

choice of neur<strong>on</strong>s in hidden layer <strong>on</strong>e <strong>and</strong> hidden layer two. It<br />

is also observed from Figure 9 that when number of neur<strong>on</strong> is<br />

increased, initially MSE start decreasing, this trend c<strong>on</strong>tinues<br />

up to 28 neur<strong>on</strong>s because for these neur<strong>on</strong>s MSE is<br />

0.00043915, which is the lowest, <strong>and</strong> the number of epochs<br />

are 1000. If we c<strong>on</strong>tinue to increase the neur<strong>on</strong>s bey<strong>on</strong>d this,<br />

MSE start increasing therefore the number of neur<strong>on</strong>s selected<br />

in the hidden layer <strong>on</strong>e should be 28.<br />

The sample of iris images for different pers<strong>on</strong>s labeled as<br />

P11,P12,….P20 are given in figure 11.<br />

Iris image of pers<strong>on</strong> P11 Iris image of pers<strong>on</strong> P12<br />

Iris image of pers<strong>on</strong> P13 Iris image of pers<strong>on</strong> P14<br />

Figure 9 The plot of average of minimum MSE for DCT<br />

based MLP using learning rule deltabardelta with <strong>and</strong><br />

activati<strong>on</strong> functi<strong>on</strong> sigmoid, hidden layer <strong>on</strong>e, 1000 epoch,<br />

<strong>and</strong> 3 runs<br />

For hidden layer two, it is also observed from Figure 10 that<br />

when number of neur<strong>on</strong> is increased, initially MSE start<br />

decreasing, this trend c<strong>on</strong>tinues up to 28 neur<strong>on</strong>s because for<br />

these neur<strong>on</strong>s MSE is 0.000408375, which is the lowest, <strong>and</strong><br />

the number of epochs are 1000. If we c<strong>on</strong>tinue to increase the<br />

neur<strong>on</strong>s bey<strong>on</strong>d this, MSE start increasing therefore the<br />

number of neur<strong>on</strong>s selected in the hidden layer <strong>on</strong>e should be<br />

28.<br />

Iris image of pers<strong>on</strong> P15<br />

Iris image of pers<strong>on</strong> P16<br />

Iris image of pers<strong>on</strong> P17<br />

Iris image of pers<strong>on</strong> P18<br />

Figure 10 The plot of average of minimum MSE for DCT<br />

based MLP using learning rule deltabardelta with <strong>and</strong><br />

activati<strong>on</strong> functi<strong>on</strong> sigmoid , hidden layer two, 1000 epoch,<br />

<strong>and</strong> 3 runs<br />

Iris image of pers<strong>on</strong> P19<br />

Iris image of pers<strong>on</strong> P20<br />

Fig.11 The sample of iris images for different pers<strong>on</strong>s labeled<br />

as P11,P12,….P20 .<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 436<br />

5


Proceedings of ICCNS 08 , 27-28 September 2008<br />

CONCLUSION<br />

In this paper efficient techniques are described for iris<br />

recogniti<strong>on</strong> system with high performance. The iris<br />

recogniti<strong>on</strong> system is tested using benchmark CASIA image<br />

database. A series of trials were made for determining the<br />

atchitecture of network, appropriate number of neur<strong>on</strong>s in<br />

hidden layers, learning rules <strong>and</strong> transfer functi<strong>on</strong>. For DCT<br />

based feature extracti<strong>on</strong> technique MLP neural network with<br />

sigmoid activati<strong>on</strong> functi<strong>on</strong> is able to estimate the decisi<strong>on</strong><br />

boundaries for the given classificati<strong>on</strong> problem very<br />

accurately. It is also observed that average classificati<strong>on</strong><br />

accuracy is 100%, <strong>and</strong> average MSE for sigmoid activati<strong>on</strong><br />

functi<strong>on</strong> is 0.015273718. It is obvious from the exhibited<br />

results that iris features when extracted using DCT approach<br />

should form the basis of the optimal feature vectors. It is also<br />

seen that the<br />

MLP neural network with sigmoidal activati<strong>on</strong> functi<strong>on</strong><br />

having two hidden layer works as an elegant classifier for the<br />

iris recogniti<strong>on</strong> for pers<strong>on</strong> identificati<strong>on</strong>. Further development<br />

of this method is under way <strong>and</strong> the results will be reported in<br />

the near future. Judging by the clear distinctiveness of the iris<br />

patterns we can expect iris recogniti<strong>on</strong> system to become the<br />

leading technology in identity verificati<strong>on</strong>.<br />

ACKNOWLEDGEMENTS<br />

Principal author acknowledges his profound gratitude to<br />

H<strong>on</strong>’ble Prof. M.N.Navale, Founder President, Sinhgad<br />

Technical Educati<strong>on</strong> Society, Pune, <strong>and</strong> Mrs. (Dr.) S. M.<br />

Navale, Secretary, Sinhgad Technical Educati<strong>on</strong> Society, Pune<br />

for extending all support <strong>and</strong> facilities without which this<br />

research work would not have been completed. Principal<br />

author would like to express his gratitude to Chinese Academy<br />

of Sciences <strong>and</strong> Institute of Automati<strong>on</strong> for providing the iris<br />

images database. Principal author would like to express his<br />

gratitude to University of Pune for providing financial<br />

assistance required for research work.<br />

[7]. W. W. Boles, B. Bolash, “A human identificati<strong>on</strong><br />

technique using images of the iris <strong>and</strong> wavelet transform,”<br />

IEEE Transacti<strong>on</strong>s <strong>on</strong> Signal Processing, vol. 46, no.4, April<br />

1998, pp11.85-1188.<br />

[8]. Lye Will Liam, Ali Chekima, “Iris recogniti<strong>on</strong> using selforganizing<br />

neural network,” Proceedings of The Student<br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Research <strong>and</strong> Development, Shah Alam,<br />

Malaysia, 2002, pp169-172.<br />

Chinese Academy of Sciences – Institute of automati<strong>on</strong>.<br />

Database of 756 greyscale eye images. http://www.<br />

sinobiometrics.com, Versi<strong>on</strong> 1.0.<br />

[9]. G<strong>on</strong>zalez, Woods, Eddins, “Digital image processing<br />

using matlab,” Pears<strong>on</strong> Educati<strong>on</strong> 2005.<br />

[10]. Proakis Manolakis, “Digital signal processing principles,<br />

algorithms <strong>and</strong> applicati<strong>on</strong>,” Prentice-Hall India 2006.<br />

[11]. Lippmann R., “An introducti<strong>on</strong> to computiq with neural<br />

nets,” IEEE ASSP Magazine, vol. 4, no. 2, April 1987, pp 4-<br />

22. Neuro-Soluti<strong>on</strong>s H<strong>and</strong>book, 2005.<br />

[12]. Zurada J. M, “Introducti<strong>on</strong> to artificial neural systems,”<br />

West Publishing Company, 1992.<br />

[13]. Martin T. Haggn, H. Demuth <strong>and</strong> M. Beale, “Neural<br />

network design,” PWS Publishing, 1996.<br />

[14]. Haykin S. Neural Network, “A comprehensive<br />

foundati<strong>on</strong>,” Prentice Hall, Englewood Clifts, NJ. 1999.<br />

[15]. S.R.Ganorkar, A.A.Ghatol, “Pers<strong>on</strong> identificati<strong>on</strong> based<br />

<strong>on</strong> iris image analysis,” <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Journal, WSEAS<br />

transacti<strong>on</strong> <strong>on</strong> signal processing, Issue 2, vol.3, February<br />

2007, pp 220-225 (ISSN 1790-5022).<br />

REFERENCES<br />

[1]. J. Daugman, “High c<strong>on</strong>fidence recogniti<strong>on</strong> of pers<strong>on</strong>s by a<br />

test of statistical independence,” IEEE Trans. <strong>on</strong> PAMI, vol.<br />

15, no. 11, 1993, pp 1148-1161.<br />

[2]. J. Daugman, “The importance of being r<strong>and</strong>om statistical<br />

principles of iris recogniti<strong>on</strong>,” Pattern Recogniti<strong>on</strong>, vol. 36,<br />

no. 2, 2003, pp 279-291.<br />

[3]. Y. Ozbay <strong>and</strong> B. Karlik, “A fast training back-propagati<strong>on</strong><br />

algorithm <strong>on</strong> windows,” Proceedings of the Third<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Symposium <strong>on</strong> Mathematical <strong>and</strong> Computati<strong>on</strong>al<br />

Applicati<strong>on</strong>s, Turkey, 4-6 September 2002, pp. 204-210.<br />

[4]. Daugman. “How iris recogniti<strong>on</strong> works,” Proceedings of<br />

2002 <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Image Processing, vol. 1,<br />

2002.<br />

[5]. Daugman, “Recognizing pers<strong>on</strong>s by their iris patterns in<br />

biometrics,” Pers<strong>on</strong>al Identificati<strong>on</strong> in Networked Society,<br />

Kluwer, 1998, pp103-121.<br />

[6]. R. Wildes, “Iris recogniti<strong>on</strong>: an emerging biometric<br />

technology”, Proceedings of the IEEE, vol. 85, no. 9,<br />

September 1997.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 437<br />

6


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Entropy Based Fast Fractal Image Compressi<strong>on</strong><br />

Mrs. Pradnya Kulkarni. , Prof.S.N.Mali. And Prof.M.V.Kulkarni<br />

Abstract— there are different methods of fractal image<br />

compressi<strong>on</strong> like Fixed Partiti<strong>on</strong>ing, Quadtree Partiti<strong>on</strong>ing, HV<br />

partiti<strong>on</strong>ing <strong>and</strong> Triangular Partiti<strong>on</strong>ing. In this paper Quadtree<br />

Partiti<strong>on</strong>ing Method is used as it gives high compressi<strong>on</strong> ratio at<br />

good decompressi<strong>on</strong> quality <strong>and</strong> has fast decompressi<strong>on</strong>. The Fractal<br />

Image Compressi<strong>on</strong> gives many desirable properties like resoluti<strong>on</strong><br />

independence <strong>and</strong> fast decoding time. But it still suffers from a high<br />

encoding time. Therefore the Entropy Based Fractal Image<br />

Compressi<strong>on</strong> algorithm is used to reduce the encoding time. This<br />

Algorithm reduces the size of the domain pool based <strong>on</strong> the Entropy<br />

value of each domain block, <strong>and</strong> also trys to get superior<br />

performance over c<strong>on</strong>venti<strong>on</strong>al fractal encoding. As the size of the<br />

domain pool increases by choosing the spacing between domains by<br />

<strong>on</strong>e pixel width, we can get best possible image quality. Therefore<br />

the reducti<strong>on</strong> in Encoding time is very important which is the main<br />

focus of this work. Experimental work used in this project tests the<br />

results of encoding time, compressi<strong>on</strong> ratio <strong>and</strong> Peak Signal To<br />

Noise Ratio (PSNR) for Fixed Partiti<strong>on</strong>ing, Quadtree Partiti<strong>on</strong>ing<br />

<strong>and</strong> Entropy Based Technique.<br />

Keywords— Fractal Image Compressi<strong>on</strong>, Complexity Reducti<strong>on</strong>,<br />

Entropy.<br />

I.INTRODUCTION<br />

With the ever increasing dem<strong>and</strong> for images, sound, video<br />

sequences, computer animati<strong>on</strong>s <strong>and</strong> volume visualizati<strong>on</strong>, data<br />

compressi<strong>on</strong> remains a critical issue regarding the cost of data<br />

storage <strong>and</strong> transmissi<strong>on</strong> times. Fractal [3] Image Compressi<strong>on</strong> is<br />

<strong>on</strong>e of them [2, 5]. It has generated much interest due its promise of<br />

high compressi<strong>on</strong> ratios at good decompressi<strong>on</strong>. It has <strong>on</strong>e more<br />

Advantage of multiresoluti<strong>on</strong> property i.e. image can be decoded at<br />

higher or lower resoluti<strong>on</strong>s than the original. Because of these<br />

properties Fractal Image Compressi<strong>on</strong> is widely used in multimedia<br />

[7].<br />

Despite of all the above properties of Fractal Image<br />

Compressi<strong>on</strong>, the l<strong>on</strong>g computing time in the encoding step still<br />

remains the main drawback of this technique. So this paper presents<br />

a method to reduce the encoding time of this technique by reducing<br />

the size of the domain block.<br />

Several methods have been proposed to overcome this problem<br />

[1].One of the approaches for reducing the computati<strong>on</strong>al complexity<br />

is the classificati<strong>on</strong> scheme. In this scheme range <strong>and</strong> domain blocks<br />

are grouped in classed according to their comm<strong>on</strong> characteristics. In<br />

the encoding phase <strong>on</strong>ly blocks bel<strong>on</strong>ging to the same class are<br />

compared, thus saving the encoding time. Jacquin [[6]] proposed a<br />

discrete feature classificati<strong>on</strong> scheme. The domain blocks are<br />

classified according to their perceptual geometric features. Only<br />

three major types of block are differentiated: shade blocks, edge<br />

blocks <strong>and</strong> midrange blocks. In the Fisher’s classificati<strong>on</strong> method<br />

[2], a given image block is divided into four quadrants. For each<br />

quadrant, the average <strong>and</strong> the variance are computed. According to<br />

certain combinati<strong>on</strong> of these values, 72 classes are c<strong>on</strong>structed. This<br />

method reduces the searching space efficiently. However, it required<br />

large amount of computati<strong>on</strong>s <strong>and</strong> the arrangement of these 72<br />

classes are complicated.<br />

In this paper a new method to reduce the encoding time of<br />

Fractal Image Compressi<strong>on</strong> is used [1]. This method is based <strong>on</strong><br />

removing the high entropy,∈ domain blocks from the domain pool.<br />

In this way all the useless domains will be removed from the domain<br />

pool achieving a more productive domain pool.<br />

The rest of this paper is organized as follows. Secti<strong>on</strong> II, describes<br />

fractal image encoding <strong>and</strong> the baseline algorithm. In secti<strong>on</strong> III<br />

definiti<strong>on</strong>s of entropy <strong>and</strong> using in the proposed method followed by<br />

experimental results <strong>and</strong> discussi<strong>on</strong> in secti<strong>on</strong> IV.The c<strong>on</strong>clusi<strong>on</strong> is<br />

in secti<strong>on</strong> V.<br />

II FRACTAL IMAGE CODING<br />

A.Principle of Fractal Coding<br />

In the encoding, the image of size N x N is partiti<strong>on</strong>ed into n<strong>on</strong>overlapping<br />

range blocks R i , of a predefined size B x B. Then a<br />

domain pool Ω is created from the image taking all the square<br />

blocks D j of size 2B x 2B.The range-domain matching process<br />

c<strong>on</strong>sists of a shrinking operati<strong>on</strong> in each domain block that averages<br />

its pixel intensities forming a block of size B X B [2].<br />

For a given range R i , the encoder must search the domain pool Ω<br />

for best affine transformati<strong>on</strong> w i , which minimizes the distance<br />

between the image R i <strong>and</strong> the image w i (D I). The Root Mean<br />

Square RMS metric is used for computati<strong>on</strong>. For a range block with<br />

n pixels, each with intensity r i <strong>and</strong> a decimated block with n<br />

pixels,each with intensity d i the objective is to minimize the quality<br />

=∑<br />

n<br />

2<br />

E( Ri,<br />

Di)<br />

( s ⋅di<br />

+ o − ri<br />

)<br />

i=<br />

1<br />

which occurs when the partial derivatives with respect to s <strong>and</strong> o are<br />

zero. Solving the resulting equati<strong>on</strong>s will give the best coefficients s<br />

<strong>and</strong> o.<br />

With s <strong>and</strong> o given the square error is<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 438


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Where si <strong>and</strong> o i are domain index <strong>and</strong> rotati<strong>on</strong> index<br />

respectively. The coefficients s i represents a c<strong>on</strong>trast factor,<br />

with | s i | ≤ 1.0 while the coefficients o i represents brightness<br />

offset.<br />

B. Baseline encoding algorithm<br />

The encoding algorithm of fractal image compressi<strong>on</strong> based<br />

<strong>on</strong> qudatree partiti<strong>on</strong> is as follows:<br />

Step 1: Initializati<strong>on</strong> (domain pool c<strong>on</strong>structi<strong>on</strong>)<br />

Divide the input image into N domains, D j<br />

For (j=1; j ≤ N; j++)<br />

Push D j <strong>on</strong>to domain pool stack Ώ<br />

Step 2: Choose a tolerance level l c;<br />

Step 3: Search for best matches between range <strong>and</strong> domain<br />

Blocks<br />

For(i=1;i ≤ num_range;i++)<br />

Min_error= l c;<br />

For (j=1;j ≤ num_domain;j++) {<br />

Compute s,o;<br />

If ( 0 ≤ s ≤ 1.0 )<br />

If ( E( R i,D j ) < min_error) {<br />

Min_error = E (Ri, Dj );<br />

Best_domain[i] = j ;}<br />

}<br />

If (min_error = = l c)<br />

Set R i uncovered <strong>and</strong> partiti<strong>on</strong> it into 4 smaller blocks;<br />

Else<br />

Save_coefficients(best_domain,s,o);<br />

}<br />

III.ENTROPY BASED FRACTAL IMAGE COMPRESSION<br />

A.Entropy<br />

Assume that there exists a set of events S ={x1, x2,…,xn},<br />

with the probability of occurrence of each event p(x i) = p i.<br />

These probabilities, P = {p1, p2,…,pn} , are such that each<br />

p i ≥ 0, <strong>and</strong> ∑ n i=1 pi =1. The functi<strong>on</strong><br />

0=H(1,0,0,0…0) ≤ H(p1,p2,…,pn) ≤ H(1/n,1/n,…,1/n) = logn<br />

Entropy is nothing but minimum number of bits of informati<strong>on</strong><br />

needed to encode the classificati<strong>on</strong> of an arbitrary member of set of<br />

events.<br />

It is the impurity of arbitrary collecti<strong>on</strong> of examples.<br />

B.Entropy Based Algorithm<br />

Full search problem as menti<strong>on</strong>ed previously is computati<strong>on</strong>ally<br />

intensive [1]. One of the simplest ways to decrease encoding time of<br />

this full search problem is to decrease the size of the domain pool in<br />

order to decrease the number of domains to be searched. This<br />

method reduces the encoding time of fractal image compressi<strong>on</strong> by<br />

performing less searches as opposed to doing a faster search, by<br />

excluding many of domain blocks from the domain pool. This idea is<br />

based <strong>on</strong> the observati<strong>on</strong> that many domains are never used in a<br />

typical fractal encoding, <strong>and</strong> <strong>on</strong>ly a fracti<strong>on</strong> of this large domain<br />

pool is actually used in the fractal coding. The collecti<strong>on</strong> of used<br />

domains is localized in regi<strong>on</strong>s with high degree of structure .Fig.<br />

3.1 shows the domain blocks of size 8x8 that are actually used in the<br />

fractal code of Lena image. As expected the indicated domains are<br />

located mostly al<strong>on</strong>g edges <strong>and</strong> in the regi<strong>on</strong>s of high c<strong>on</strong>trast of the<br />

image [1].Analyzing the domain pool, there is a very large set of<br />

domain blocks in the pool with high entropy, which are not used in<br />

the fractal code. Thus, it is possible to reduce the search time by<br />

discarding a large fracti<strong>on</strong> of high entropy blocks [1], which affect<br />

<strong>on</strong>ly a few ranges. For these ranges sub-optimal domains with<br />

smaller entropy may be found. In this way, the domain pool is<br />

c<strong>on</strong>structed from blocks with the lowest entropy instead of all<br />

domains. In this case, the encoding time is heavily reduced by a<br />

priori discarding those domains from the pool, which are unlikely to<br />

be chosen for the fractal coding. Entropy value for each domain<br />

block is calculated by using equati<strong>on</strong> 3.1. According to this value a<br />

decisi<strong>on</strong> is taken to determine if this domain can become a part of<br />

the domain pool or not. A parameter 2 will c<strong>on</strong>trol the domain<br />

entropy value in the implementati<strong>on</strong>, with 2 being a quality<br />

parameter since it determines the size of the domain pool [1]. This<br />

method can <strong>on</strong>ly reduce the factor of proporti<strong>on</strong>ality in the O (N)<br />

complexity, where N is the domain pool size. The baseline<br />

algorithm menti<strong>on</strong>ed above is modified in such a way that the<br />

domain pool c<strong>on</strong>tains <strong>on</strong>ly domain blocks which have<br />

I (Xi)=-log(P i)<br />

is called the amount of self-informati<strong>on</strong> associated with event xi .<br />

This functi<strong>on</strong> is a measure of occurrence of the event xi. The<br />

functi<strong>on</strong> I focuses <strong>on</strong> <strong>on</strong>e event at a time.In most situati<strong>on</strong>s,<br />

however, <strong>and</strong> certainly in the c<strong>on</strong>text of data compressi<strong>on</strong>, <strong>on</strong>e has<br />

to look at the entire set of all possible events to measure c<strong>on</strong>tent<br />

over the entire set. An important c<strong>on</strong>cept introduced by Shann<strong>on</strong> is<br />

entropy [13] associated with a set of events, which takes the form:<br />

n<br />

H ( p1,<br />

p2,...<br />

pn)<br />

= H ( s)<br />

=−∑p<br />

i<br />

logi<br />

i=<br />

1<br />

Entropy [4] can be defined as the average self-informati<strong>on</strong> that is,<br />

the mean (expected or average) amount of informati<strong>on</strong> for an<br />

occurrence of an event xi. In the c<strong>on</strong>text of coding a message,<br />

entropy represents the lower bound <strong>on</strong> the average number of bits<br />

per input value. The functi<strong>on</strong> H has the following lower <strong>and</strong> the<br />

upper limits:<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 439


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 3.1 Domains of size 8 X 8 that used for fractal coding of<br />

512 X 512 Lena are shown in black<br />

a certain entropy value. The main steps of the modified encoder<br />

algorithm of fractal image compressi<strong>on</strong> can be summarized as<br />

follows:<br />

Step 1: Initializati<strong>on</strong> (domain pool c<strong>on</strong>structi<strong>on</strong>)<br />

Choose parameter є;<br />

Divide the input image into N domains, D j<br />

For (j=1; j ≤ N; j++) {<br />

Ent = entropy (Dj);<br />

If ( Ent ≤ є )<br />

Push D j <strong>on</strong>to domain pool stack Ώ }<br />

Step 2: Choose a tolerance level l c;<br />

Step 3: Search for best matches between range <strong>and</strong> domain<br />

Blocks<br />

For (i=1; i ≤ num_range;i++) {<br />

Min_error= l c;<br />

For (j=1;j ≤ num_domain;j++) {<br />

Compute s,o;<br />

If ( 0 ≤ s ≤ 1.0 )<br />

If ( E( R i,D j ) < min_error) {<br />

Min_error = E (Ri, Dj );<br />

Best_domain[i] = j ; }<br />

}<br />

If (min_error = = l c)<br />

Set R i uncovered <strong>and</strong> partiti<strong>on</strong> it into 4 smaller blocks;<br />

Else<br />

Save_coefficients (best_domain,s,o);<br />

}<br />

IV. EXPERIMENTS AND RESULTS<br />

This secti<strong>on</strong> presents experimental results showing the efficiency<br />

of the method described in secti<strong>on</strong> III. The performance tests carried<br />

out for a diverse set of well-known images of 32 x 32, 64 x 64,128 x<br />

128,256 x 256 <strong>and</strong> 512 x 512 gray levels with 8 bits per pixels, <strong>on</strong> a<br />

PC with Intel Pentium IV 750 MHz CPU <strong>and</strong> 256 MB memory<br />

under windows XP operating system using Visual C++6.0 as a<br />

programming language <strong>and</strong> the time is measured in millisec<strong>on</strong>ds.<br />

The scaling coefficient (c<strong>on</strong>trast) restricted to values between 0 <strong>and</strong><br />

1 in order to avoid searching domain pool twice (i.e. allowed <strong>on</strong>ly<br />

positive scaling factors in the gray level transformati<strong>on</strong>). To ensure a<br />

compact encoding of the affine transformati<strong>on</strong> [2], the value of<br />

c<strong>on</strong>trast <strong>and</strong> brightness are quantized using 4 <strong>and</strong> 6 bits for c<strong>on</strong>trast<br />

<strong>and</strong> brightness, respectively. This study focuses <strong>on</strong> the<br />

implementati<strong>on</strong> issues <strong>and</strong> presents the first empirical experiments<br />

analyzing the performance of benefits of entropy approach to fractal<br />

image compressi<strong>on</strong>. The size of the range block [1] is set to be 8x8<br />

pixel, <strong>and</strong> hence the domain size is 16x16, with domains<br />

overlapping i.e. the domain step L (distance between two<br />

c<strong>on</strong>secutive domains) is divided by 4, And then using quadtree<br />

method [2] the results are noted. <strong>and</strong> shown in the tables below.<br />

A.Results of quadtree <strong>and</strong> entropy methods<br />

In the table 5.1 I have shown the results which compare the<br />

encoding time, compressi<strong>on</strong> ratio <strong>and</strong> PSNR using Quadtree<br />

Partiti<strong>on</strong>ing technique [2] <strong>and</strong> Entropy Based Technique [1]. This<br />

table shows that using Entropy based technique encoding time is<br />

reduced as compared with Quadtree Technique. But it also shows<br />

that image quality is degraded which is the drawback of used<br />

technique. The used method is applicable in situati<strong>on</strong>s where<br />

extremely fast encodings are desired <strong>and</strong> some quality degradati<strong>on</strong><br />

can be tolerated. I have taken 45 different images to analyze the<br />

result. In the following table 5.1 compressi<strong>on</strong> ratio1 (CR1),<br />

Encoding time1 (T1) <strong>and</strong> PSNR1 are for Quadtree <strong>and</strong> Compressi<strong>on</strong><br />

ratio2 (CR2), Encoding time2 (T2) <strong>and</strong> PSNR2 are for Entropy<br />

methods.<br />

Table 5.1: Performance of Quadtree partiti<strong>on</strong> <strong>and</strong> Entropy coding of<br />

Different Images<br />

Img Size CR<br />

1<br />

T1 PSN<br />

R1<br />

CR2 T2 PSN<br />

R2<br />

Abe 32x32 1.18 47 15.6 0.82 16 9.40<br />

Abe 64x64 1.13 141 23.9 1.21 78 18.27<br />

Azumi 64x64 1.25 219 19.9 1.08 94 14.20<br />

Abe 128x128 4.96 265 34.1 3.84 218 33.69<br />

Azumi 128x128 3.21 296 32.1 2.63 234 31.56<br />

Collie 256x256 13.4 906 36.0 12.3 812 34.87<br />

Hara 512x512 47.8 3485 30.8 45.8 3250 31.11<br />

B.Results of PSNR <strong>and</strong> Number of decoding steps using Quadtree<br />

Table 5.2 shows the results of PSNR <strong>and</strong> number of decoding<br />

steps using Quadtree that is it shows different iterati<strong>on</strong>s here 10<br />

iterati<strong>on</strong>s for the analysis. After 7th iterati<strong>on</strong> the PSNR remains<br />

same it will not change for Azumi image of size 128 * 128.Its<br />

Graphical representati<strong>on</strong> is also shown. The fig.5.1 shows the graph,<br />

that after 7th iterati<strong>on</strong> the PSNR remains same. In table 5.3 the<br />

same analysis for other image named Abe of size 256 * 256 is<br />

shown, <strong>and</strong> also its fig 5.2 shows the graph is.<br />

Table 5.2: PSNR Vs No. of Decoding Steps for Azumi (128 * 128)<br />

Image using quadtree method<br />

PSNR(dB)<br />

Sr.No. Iterati<strong>on</strong>s PSNR(dB)<br />

1 1 26.81<br />

2 2 28.18<br />

3 3 29.51<br />

4 4 30.22<br />

5 5 31.42<br />

6 6 31.52<br />

7 7 31.55<br />

8 8 31.56<br />

9 9 31.56<br />

10 10 31.56<br />

33<br />

32<br />

31<br />

30<br />

29<br />

28<br />

27<br />

26<br />

PSNR Vs No. Of decoding steps using Quadtree<br />

method<br />

0 5 10 15<br />

Iterati<strong>on</strong>s<br />

Fig 5.1: PSNR Vs No. Of Decoding Steps for Quadtree<br />

Azumi Image<br />

Table 5.3: PSNR Vs No. of Decoding Steps for Abe(256 * 256)<br />

Image using Quadtree method<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 440


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Sr.No. Iterati<strong>on</strong>s PSNR(dB)<br />

1 1 28.61<br />

2 2 29.80<br />

3 3 30.51<br />

4 4 31.22<br />

5 5 32.20<br />

6 6 32.65<br />

7 7 32.78<br />

8 8 32.80<br />

9 9 32.80<br />

10 10 32.80<br />

PSNR Vs No. of decoding steps Using Quadtree<br />

method<br />

Encoding time<br />

Encoding time Vs Quality parameter for Abe<br />

256 x 256 image<br />

1200<br />

1000<br />

800<br />

600<br />

400<br />

200<br />

0<br />

0 1 2 3 4<br />

Quality parameter<br />

Abe<br />

PSNR(dB)<br />

34<br />

33<br />

32<br />

31<br />

30<br />

29<br />

28<br />

0 2 4 6 8 10 12<br />

Iterati<strong>on</strong>s<br />

Abe image<br />

Fig 5.2: PSNR <strong>and</strong> No. of Decoding steps For Quadtree method<br />

C.Results <strong>on</strong> basis of Quality Parameter<br />

Results of Quality parameter with Encoding time<br />

Quality Parameter 2[1] c<strong>on</strong>trols the domain entropy value [1] in the<br />

implementati<strong>on</strong>. So the table 5.4 shows the result with Quality<br />

Parameter <strong>and</strong> encoding time for Abe image of size 256*256 . Also<br />

its graph is shown as fig 5.3. The graph I got is linear that is<br />

encoding time scales linearly with quality parameter.<br />

Table 5.4: Quality Parameter Vs encoding time for Abe Image<br />

(256 * 256)<br />

Sr.No. Quality parameter Encoding<br />

time(ms)<br />

1 0 957.336<br />

2 1 913.09<br />

3 1.2 904<br />

4 1.5 855<br />

5 2 722.376<br />

6 2.2 668.176<br />

7 2.5 586.872<br />

8 2.8 501.48<br />

9 3 441.492<br />

10 3.5 295.68<br />

Fig. 5.3: Encoding time Vs Quality Parameter<br />

Comparis<strong>on</strong> am<strong>on</strong>g Fixed Partiti<strong>on</strong>ing, Quadtree <strong>and</strong> Entropy<br />

method<br />

The result in the table 5.5 shows the comparis<strong>on</strong> with the<br />

other technique that is fixed partiti<strong>on</strong>ing [2]. This technique I<br />

have used <strong>on</strong>ly for study. I have used 5 different images of<br />

size 128*128.<br />

Table 5.5: Comparis<strong>on</strong> with Fixed partiti<strong>on</strong>ing techniques<br />

Img Size Fixed<br />

Part.PSNR<br />

Quadtree<br />

PSNR<br />

Entropy<br />

PSNR<br />

Insect 128x128 22.75 31.98 31.94<br />

Temple 128x128 32.37 34.12 34.02<br />

Taj 128x128 29.56 33.58 33.48<br />

Trees 128x128 27.74 32.42 31.76<br />

HAra 128x128 31.29 33.48 32.84<br />

In this secti<strong>on</strong> the experimental results are shown with the<br />

graphs. And different comparis<strong>on</strong>s are shown which helps to make<br />

the c<strong>on</strong>clusi<strong>on</strong> <strong>and</strong> prove the results that the encoding time is<br />

reduced using Entropy based technique. Table 5.5 shows the<br />

comparis<strong>on</strong> between three techniques like Fixed Partiti<strong>on</strong>ing,<br />

Quadtree Partiti<strong>on</strong>ing <strong>and</strong> Entropy based technique.<br />

V .CONCLUSION<br />

• Fractal Image Compressi<strong>on</strong> [2] has high compressi<strong>on</strong> ratio at<br />

good quality <strong>and</strong> as well as it has the advantage of very fast<br />

decompressi<strong>on</strong>.<br />

• It has multi resoluti<strong>on</strong> property that is image can be decoded<br />

at higher or lower resoluti<strong>on</strong>s than the original. These<br />

properties made it a very attractive method for applicati<strong>on</strong>s in<br />

multimedia.<br />

• In this paper I have used Entropy Based Fast Fractal Image<br />

compressi<strong>on</strong> technique [1]. This technique reduces the domain<br />

pool size, by allowing an adjustable number of domains to be<br />

excluded from the domain pool based <strong>on</strong> the entropy value of<br />

the domain block.<br />

• So it requires less comparis<strong>on</strong> as compared with Quadtree<br />

technique, which in turn reduces the encoding time.<br />

• Experimental results <strong>on</strong> st<strong>and</strong>ard images showed that<br />

removing domains with high entropy from the domain pool<br />

reduces the encoding time.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 441


Proceedings of ICCNS 08 , 27-28 September 2008<br />

• By changing the quality parameter more encoding time is<br />

reduced. But it has little effect <strong>on</strong> image quality.<br />

A.Future work is:<br />

• Quality parameter c<strong>on</strong>trols entropy of the domain blocks. More<br />

work can be d<strong>on</strong>e to improve <strong>on</strong> the Encoding time, such as<br />

using more values of quality parameter. That is by changing<br />

quality parameters encoding time <strong>and</strong> PSNR can be improved.<br />

• As the drawback of Entropy technique is the poor Image<br />

Quality. So i will try to get the less encoding time as well as<br />

the good image quality. So Code may change little bit.<br />

REFERENCES<br />

[1] M. Hassaballah,M.M.Makky <strong>and</strong> Youssef B.Mahdy, ”A Fast<br />

Fractal Image Compressi<strong>on</strong> Method Based Entropy” Electr<strong>on</strong>ic<br />

letters <strong>on</strong> <strong>Computer</strong> Visi<strong>on</strong> <strong>and</strong> Image Analysis 5(1):30-40,2005.<br />

[2] Yuval Fisher (ed.), Fractal Image Compressi<strong>on</strong>: Theory <strong>and</strong><br />

Applicati<strong>on</strong>, Springer Verlag, New York, 1995.<br />

[3] Steven Harringt<strong>on</strong>,<strong>Computer</strong> Graphics: A Programming<br />

Approach, Sec<strong>on</strong>d editi<strong>on</strong>.<br />

[4] Anil.K.Jain,Fundamentals of Digital Image Processing,PHI<br />

Publicati<strong>on</strong>.<br />

[5] http://en.wikipedia.org/wiki/Fractal-Compressi<strong>on</strong><br />

[6] A.E.Jacquin.Image Coding Based <strong>on</strong> a Fractal Theory of<br />

Iterated C<strong>on</strong>tractive Image transform.IEEE Trans. On Image<br />

Processing,Vol. 1001.<br />

[7] M.Barnsley <strong>and</strong> L.Hurd.fractal Image Compressi<strong>on</strong>. On Image<br />

Processing: Mathematical Methods <strong>and</strong> applicati<strong>on</strong>s.pp.183-<br />

210,Clarend<strong>on</strong> Press,Oxford,1997.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 442


ICCNS 08<br />

Discrete<br />

Streams


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Arm Processor Based Smart Time Attendance<br />

M<strong>on</strong>itoring & Recording System Using Thumb<br />

Scanner & Smart Card<br />

Mrs. Aarti A.Patil, Prof. Ajay M.Agarkar, Mrs. Anupama V. Patil<br />

Abstract— Biometric is making revoluti<strong>on</strong> in the field of time<br />

attendance system. It offers several advantages over traditi<strong>on</strong>al &<br />

current method. This is because <strong>on</strong>ly biometric authenticati<strong>on</strong> is<br />

based <strong>on</strong> the identificati<strong>on</strong> of an intrinsic part of human being . The<br />

advantages of using “Fingerprint” in time attendance system include<br />

widespread public acceptance, c<strong>on</strong>venience <strong>and</strong> reliability. The key<br />

functi<strong>on</strong> offered by system is “Verificati<strong>on</strong> Method” in which it<br />

checks previously enrolled data to verify the individual.. This method<br />

provides the best combinati<strong>on</strong> of speed <strong>and</strong> security. It takes little<br />

time & effort to acquire <strong>on</strong>e’s fingerprint. So fingerprint recogniti<strong>on</strong><br />

is c<strong>on</strong>sidered am<strong>on</strong>g the least intrusive of all biometric verificati<strong>on</strong><br />

techniques. There is great accumulati<strong>on</strong> of scientific data supporting<br />

the idea that no two fingerprint are alike. In this paper we suggest the<br />

embedded algorithm which is more c<strong>on</strong>venient <strong>and</strong> secured as<br />

compared to traditi<strong>on</strong>al time attendance method . It always avoid the<br />

fake attendance generally known as “proxy”. The use of smart card<br />

al<strong>on</strong>g with fingerprint scanner is make great help to keep record for<br />

administrati<strong>on</strong> purposes.<br />

Biometrics informati<strong>on</strong> can be used to identify pers<strong>on</strong>. The<br />

system c<strong>on</strong>sist of<br />

• smartcard easy to carry<br />

compact<br />

• fingerprint recogniti<strong>on</strong> unique identity<br />

permanent<br />

II.<br />

A. Block Diagram<br />

FUNCTIONAL SYSTEM<br />

Keywords-Arm7 processor, biometric, fingerprint,Smart-card.<br />

I. INTRODUCTION<br />

IN colleges the attendance of the students is take c<strong>on</strong>venti<strong>on</strong>al<br />

method. Here the lecturer takes the registers with him to note<br />

down the attendance<br />

In this system there are lot of problems<br />

• Needs to carry register with them.<br />

• Chance of fake attendance usually known as proxy.<br />

• Time c<strong>on</strong>suming process.<br />

To overcome this difficulties we provide Biometric soluti<strong>on</strong><br />

system in which fingerprint recogniti<strong>on</strong> is used al<strong>on</strong>g with<br />

ARM processor. Biometrics is an automated method of<br />

recognizing a pers<strong>on</strong> based <strong>on</strong> physical or behavioral<br />

characteristics.<br />

Mrs.A.A Patil is student of M.E.(Digital Electr<strong>on</strong>ics) from Shri Sant<br />

Gajanan Maharaj College of Engg. Shega<strong>on</strong>,Amravati university, India<br />

444 203(e-mail:suryakant3@rediffmail.com)<br />

Prof. A. M. Agarkar, is an Assistant Professors in Electr<strong>on</strong>ics Dept &.<br />

Member of Research Promoti<strong>on</strong> Committee of SGIARC <strong>and</strong> Chief<br />

Coordinator of PG-PhD Sp<strong>on</strong>sorship Cell of S.S.G.M.C.E.Shega<strong>on</strong>.<br />

Amravati university 444203. (e-mail: ajayagarkar@rediffmial.com.)<br />

Mrs. A.V. Patil is Head of Electr<strong>on</strong>ics Engineering Department, Dr. D.Y.<br />

Patil College of Engg.Akurdi, Pune-411 044 India Pune University (e-mail:<br />

anupamav4@gmail.com).<br />

Figure 1 Block Diagram of Attendance M<strong>on</strong>itoring &<br />

Recording System<br />

B. Arm-Introducti<strong>on</strong><br />

• Advances RISC Machines (known as ARM) was<br />

established by Acorn.<br />

• ARM is the industry's leading provider of 16/32-bit<br />

embedded RISC microprocessor soluti<strong>on</strong>s.<br />

• The company licenses its high-performance, low-cost,<br />

power-efficient RISC processors, Peripherals, <strong>and</strong><br />

system-chip designs to leading internati<strong>on</strong>al electr<strong>on</strong>ics<br />

companies.<br />

• ARM provides comprehensive support required in<br />

developing a complete system.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 443


Proceedings of ICCNS 08 , 27-28 September 2008<br />

C. Arm-Features<br />

• 32-bit RISC processor (32-bit data & address bus).<br />

• Big <strong>and</strong> Little Endian operating modes.<br />

• High performance RISC (17 MIPS sustained @ 25 MHz<br />

(25 MIPS peak) @ 3V).<br />

• Low power c<strong>on</strong>sumpti<strong>on</strong> (0.6mA/MHz @ 3V fabricated<br />

in .8µm CMOS).<br />

• Fully static operati<strong>on</strong> (ideal for power-sensitive app).<br />

• Fast interrupt resp<strong>on</strong>se (for real-time applicati<strong>on</strong>s).<br />

• Virtual Memory System Support.<br />

• Excellent high-level language support.<br />

• Simple but powerful instructi<strong>on</strong> set.<br />

D. Arm-Applicati<strong>on</strong>s<br />

The ARM7 is ideally suited to those applicati<strong>on</strong>s requiring<br />

RISC performance from a compact, power-efficient processor.<br />

• Telecoms - GSM terminal c<strong>on</strong>troller.<br />

• Datacomms - Protocol c<strong>on</strong>versi<strong>on</strong>.<br />

• Portable Computing - Palmtop computer.<br />

• Portable Instrument - H<strong>and</strong>held data acquisiti<strong>on</strong> unit<br />

• Automotive - Engine management unit<br />

• Informati<strong>on</strong> systems - Smart cards<br />

• Imaging - JPEG c<strong>on</strong>troller<br />

E. Arm-Architecture<br />

Figure 2 ARM Architecture<br />

F. Arm- Operating Modes<br />

• User mode (usr): The normal program executi<strong>on</strong> state<br />

FIQ mode (fiq): For data transfer or channel process.<br />

IRQ mode (irq): for general purpose interrupt h<strong>and</strong>ling.<br />

Supervisor mode (svc): a protected mode for OS<br />

• Abort mode (abt): entered after a data or instructi<strong>on</strong> prefetch<br />

abort.<br />

• Undefined mode (und): entered when an undefined<br />

instructi<strong>on</strong> is executed.<br />

G. Arm-Registers<br />

• Total - 37 registers<br />

31 - general 32 bit registers<br />

06 - status registers<br />

• 16 general registers <strong>and</strong> <strong>on</strong>e or two status registers are<br />

visible at any time The visible registers depend <strong>on</strong> the<br />

processor mode.<br />

• The other registers (the banked registers) are switched<br />

in to support IRQ, FIQ, Supervisor, Abort <strong>and</strong> Undefined<br />

mode processing<br />

H. Arm-Overview<br />

The ARM7 is part of the Advanced RISC Machines<br />

(ARM) family of general purpose 32-bitmicroprocessors,<br />

which offer very low power c<strong>on</strong>sumpti<strong>on</strong> <strong>and</strong> price for high<br />

performance devices. The architecture is based <strong>on</strong> Reduced<br />

Instructi<strong>on</strong> Set <strong>Computer</strong> (RISC) principles, <strong>and</strong> the instructi<strong>on</strong><br />

set <strong>and</strong> related decode mechanism are much simpler in<br />

comparis<strong>on</strong> with micro programmed Complex Instructi<strong>on</strong> Set<br />

<strong>Computer</strong>s. This results in a high instructi<strong>on</strong> throughput <strong>and</strong><br />

impressive real-time interrupt resp<strong>on</strong>se from a small <strong>and</strong> costeffective<br />

chip.<br />

The instructi<strong>on</strong> set comprises eleven basic instructi<strong>on</strong> types:<br />

• Two of these make use of the <strong>on</strong>-chip arithmetic logic<br />

unit, barrel shifter <strong>and</strong> multiplier to perform high-speed<br />

operati<strong>on</strong>s <strong>on</strong> the data in a bank of 31 registers, each 32<br />

bits wide;<br />

• Three classes of instructi<strong>on</strong> c<strong>on</strong>trol data transfer between<br />

memory <strong>and</strong> the registers, <strong>on</strong>e optimized for flexibility of<br />

addressing, another for rapid c<strong>on</strong>text switching <strong>and</strong> the<br />

third for swapping data;<br />

• Three instructi<strong>on</strong>s c<strong>on</strong>trol the flow <strong>and</strong> privilege level of<br />

executi<strong>on</strong>; <strong>and</strong><br />

• Three types are dedicated to the c<strong>on</strong>trol of external<br />

coprocessors which allow the functi<strong>on</strong>ality of the<br />

instructi<strong>on</strong> set to be extended off-chip in an open <strong>and</strong><br />

uniform.<br />

The ARM instructi<strong>on</strong> set is a good target for compilers of<br />

many different high-level languages. Where required for<br />

critical code segments, assembly code programming is also<br />

straightforward, unlike some RISC processors which depend<br />

<strong>on</strong> sophisticated compiler technology to manage complicated<br />

instructi<strong>on</strong> interdependency<br />

Pipelining is employed so that all parts of the processing<br />

<strong>and</strong> memory systems can operate c<strong>on</strong>tinuously. Typically,<br />

while <strong>on</strong>e instructi<strong>on</strong> is being executed, its successor is being<br />

decoded, <strong>and</strong> a third instructi<strong>on</strong> is being fetched from memory.<br />

The memory interface has been designed to allow the<br />

performance potential to be realized without incurring high<br />

costs in the memory system. Speed critical c<strong>on</strong>trol signals are<br />

pipelined to allow system c<strong>on</strong>trol functi<strong>on</strong>s to be implemented<br />

in st<strong>and</strong>ard low-power logic, <strong>and</strong> these c<strong>on</strong>trol signals facilitate<br />

the exploitati<strong>on</strong> of the fast local access modes offered by<br />

industry st<strong>and</strong>ard dynamic RAM s. ARM7 has a 32 bit address<br />

bus. All ARM processors share the same instructi<strong>on</strong> set, <strong>and</strong><br />

ARM7 can be c<strong>on</strong>figured to use a 26 bit address bus for<br />

backwards compatibility with earlier processors. ARM7 is a<br />

fully static CMOS implementati<strong>on</strong> of the ARM<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 444


Proceedings of ICCNS 08 , 27-28 September 2008<br />

III. BIOMETRICS<br />

Biometrics refers to identifying an individual based <strong>on</strong> his<br />

or her physiological or behavioral characteristics, Behavioral<br />

biometrics are generally used for verificati<strong>on</strong> while physical<br />

biometrics can be used for either identificati<strong>on</strong> or verificati<strong>on</strong><br />

which is the capability to reliably distinguish between an<br />

authorized pers<strong>on</strong> <strong>and</strong> an imposter. The biometric<br />

characteristics are distinctive, cannot be forgotten or lost, <strong>and</strong><br />

the pers<strong>on</strong> to be authenticated needs to be physically present at<br />

the point of identificati<strong>on</strong>. Biometrics is inherently more<br />

reliable <strong>and</strong> more capable than traditi<strong>on</strong>al knowledge-based<br />

<strong>and</strong> token-based techniques. Biometrics are used for<br />

identificati<strong>on</strong> <strong>and</strong> verificati<strong>on</strong>:<br />

Identificati<strong>on</strong> is determining who a pers<strong>on</strong> is. It involves<br />

trying to find a match for a pers<strong>on</strong>'s biometric data in a<br />

database c<strong>on</strong>taining records of people <strong>and</strong> that characteristic.<br />

This method requires time <strong>and</strong> a large amount of processing<br />

power, especially if the database is very large.<br />

Verificati<strong>on</strong> is determining if a pers<strong>on</strong> is who they say they<br />

are.It involves comparing a user's biometric data to the<br />

previously recorded data for that pers<strong>on</strong> to ensure that this is<br />

the same pers<strong>on</strong>. This method requires less processing power<br />

<strong>and</strong> time, <strong>and</strong> is used for access c<strong>on</strong>trol<br />

Biometric identifiers offers several advantages over<br />

traditi<strong>on</strong>al <strong>and</strong> current method. This is because <strong>on</strong>ly biometric<br />

authenticati<strong>on</strong> is based <strong>on</strong> the identificati<strong>on</strong> of an intrisic part<br />

of human being. It provide the security <strong>and</strong> c<strong>on</strong>venience<br />

needed for todays complex electr<strong>on</strong>ic l<strong>and</strong>scape.<br />

A. Principles of Fingerprint Biometrics<br />

A fingerprint is made of a number of ridges <strong>and</strong> valleys <strong>on</strong><br />

the surface of the finger. Ridges are the upper skin layer<br />

segments of the finger <strong>and</strong> valleys are the lower segments. The<br />

ridges form so-called minutia points: ridge endings (where a<br />

ridge end) <strong>and</strong> ridge bifurcati<strong>on</strong>s (where a ridge splits in two).<br />

Many types of minutiae exist, including dots (very small<br />

ridges), isl<strong>and</strong>s (ridges slightly l<strong>on</strong>ger than dots, occupying a<br />

middle space between two temporarily divergent ridges), p<strong>on</strong>ds<br />

or lakes (empty spaces between two temporarily divergent<br />

ridges), spurs (a notch protruding from a ridge), bridges (small<br />

ridges joining two l<strong>on</strong>ger adjacent ridges), <strong>and</strong> crossovers (two<br />

ridges which cross each other).The uniqueness of a fingerprint<br />

can be determined by the pattern of ridges <strong>and</strong> furrows as well<br />

as the minutiae points. Fingerprints are usually c<strong>on</strong>sidered to<br />

be unique, with no two fingers having the exact same dermal<br />

ridge characteristics.<br />

Fingerprint scanning essentially provides an identificati<strong>on</strong><br />

of a pers<strong>on</strong> based <strong>on</strong> the acquisiti<strong>on</strong> <strong>and</strong> recogniti<strong>on</strong> of those<br />

unique patterns <strong>and</strong> ridges in a fingerprint. The basis of<br />

identificati<strong>on</strong>, however, is nearly the same. St<strong>and</strong>ard systems<br />

are comprised of a sensor for scanning a fingerprint <strong>and</strong> a<br />

processor which stores the fingerprint database <strong>and</strong> software<br />

which compares <strong>and</strong> matches the fingerprint to the predefined<br />

database Within the database, a fingerprint is usually matched<br />

to a reference number, or PIN number which is then matched to<br />

a pers<strong>on</strong>’s name or account. In instances of security the match<br />

is generally used to allow or disallow access, but today this can<br />

Figure 3 Fingerprint<br />

also be used for something as simple as a time clock or payroll<br />

access.<br />

B. How Does Fingerprint Biometrics Work<br />

The main technologies used to capture the fingerprint<br />

image with sufficient detail are optical, silic<strong>on</strong>, <strong>and</strong> ultrasound.<br />

There are two main algorithm families to recognize<br />

fingerprints:<br />

Minutia matching compares specific details within the<br />

fingerprint ridges. At registrati<strong>on</strong> (also called enrollment), the<br />

minutia points are located, together with their relative positi<strong>on</strong>s<br />

to each other <strong>and</strong> their directi<strong>on</strong>s. At the matching stage, the<br />

fingerprint image is processed to extract its minutia points,<br />

which are then compared with the registered template.<br />

Pattern matching compares the overall characteristics of the<br />

fingerprints, not <strong>on</strong>ly individual points. Fingerprint<br />

characteristics can include sub-areas of certain interest<br />

including ridge thickness, curvature, or density. During<br />

enrollment, small secti<strong>on</strong>s of the fingerprint <strong>and</strong> their relative<br />

distances are extracted from the fingerprint. Areas of interest<br />

are the area around a minutia point, areas with low curvature<br />

radius, <strong>and</strong> areas with unusual combinati<strong>on</strong>s of ridges.<br />

.<br />

IV. FINGERPRINT RECOGNITION<br />

The fingerprint is scanned <strong>and</strong> stored as image that will be<br />

c<strong>on</strong>verted into a digital format, which is further processed by<br />

the feature extractor to produce a compact digital<br />

representati<strong>on</strong>. The resulting representati<strong>on</strong> is fed to the<br />

feature matcher, which compares it against the template of a<br />

single user (retrieved from the stored data base). This system<br />

is a semi-automatic, where the biometric acquisiti<strong>on</strong> is<br />

obtained.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 445


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. Project Objectives<br />

V. PROJECT DESIGN<br />

• Two Key Functi<strong>on</strong> offered by Biometrics System<br />

Identificati<strong>on</strong> :- ‘ 1: N ‘- Comparis<strong>on</strong> set of stored sample<br />

Verificati<strong>on</strong> :- ‘ 1: 1 ‘ - Verify previously enrolled data.<br />

• Verificati<strong>on</strong> method provide best combinati<strong>on</strong> of speed<br />

<strong>and</strong> security where multiple user are c<strong>on</strong>cerned .so we<br />

provide finger print recogniti<strong>on</strong> by verificati<strong>on</strong> method.<br />

• fingerprint is not image but data points are mapped from<br />

fingerprint <strong>and</strong> formed into template.<br />

• When you enroll, your fingerprint template is formed <strong>and</strong><br />

stored.<br />

• For identificati<strong>on</strong> or verificati<strong>on</strong>, you present your finger<br />

to form another template, <strong>and</strong> that template is matched<br />

against the stored template.<br />

B. System Working<br />

The fingerprint is scanned <strong>and</strong> stored as image<br />

that will be c<strong>on</strong>verted into a digital format, which is further<br />

processed by DSP The DSP runs image enhancement, template<br />

extracti<strong>on</strong> <strong>and</strong> identificati<strong>on</strong> <strong>and</strong>/or authenticati<strong>on</strong> algorithms<br />

to match the captured image against stored fingerprint<br />

the users in the system data base On a successful match, the<br />

DSP sends a signal across the RS232 st<strong>and</strong>ard to authorize<br />

access to the secured asset al<strong>on</strong>g with using some form of<br />

visual or audio signal to let the user <strong>and</strong> the system know that<br />

the user is verified. On a failed match, some form of visual or<br />

audio signal can be generated using the DSP to alert message<br />

such as "user not identified ."The main parameters<br />

characterizing a digital fingerprint image are: resoluti<strong>on</strong>, area,<br />

number of pixels, geometric accuracy, c<strong>on</strong>trast, <strong>and</strong> geometric<br />

distorti<strong>on</strong>. The scanning operati<strong>on</strong> was d<strong>on</strong>e in twice. .<br />

Scan finger Extracti<strong>on</strong> Comparis<strong>on</strong><br />

Verify individual<br />

Acceptable<br />

level<br />

Ref<br />

minutia graph<br />

for individual<br />

YES<br />

NO<br />

Thin image to<br />

Single pixel<br />

Access to applicati<strong>on</strong><br />

registered<br />

Access denied<br />

can’t registered<br />

Figure 5 Fingerprint recogniti<strong>on</strong><br />

C. Registrai<strong>on</strong><br />

After scanning the user fingerprint, it is registered into<br />

smart card via ARM processor for recording purpose .Smart<br />

card is an integrated circuit c<strong>on</strong>sist of EEPROM that transacts<br />

data between user. This data is associated with informati<strong>on</strong><br />

regarding percentage of attendance, eligibility of student<br />

etc..<strong>and</strong> all updated data are again stored into smart card .All<br />

features <strong>and</strong> security to various degree that smart card provide.<br />

D. Verificati<strong>on</strong><br />

In the verificati<strong>on</strong> task the system compares the<br />

representati<strong>on</strong> of the input biometric against the templates of<br />

all the users in the system database; the output is either the<br />

verify of an enrolled user or an alert message such as "user not<br />

identified." Like way all users are verified <strong>and</strong> registered their<br />

attendance.<br />

Figure 4 System flow-chart<br />

templates. In the verificati<strong>on</strong> task the system compares the<br />

representati<strong>on</strong> of input biometric against the templates of all<br />

E. User friendly operati<strong>on</strong><br />

The flow of functi<strong>on</strong>ality are made easier <strong>and</strong> user<br />

friendly by ARM processor it includes keypad interfacing for<br />

entering user ID no, time, Date, selecti<strong>on</strong> of mode etc.<br />

Keypads are often used as a primary input device for<br />

embedded microc<strong>on</strong>trollers. The keypads actually c<strong>on</strong>sist of a<br />

number of switches. 16X2 LCD is interfaced to processor<br />

for viewing the status of operati<strong>on</strong>. This attendance can be<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 446


Proceedings of ICCNS 08 , 27-28 September 2008<br />

integrated with data collecting System <strong>and</strong> Performance will<br />

be calculated as per rule defined by college.TCP/IP <strong>and</strong> COM<br />

port is available to download data from System to <strong>Computer</strong><br />

for Reporting Purpose.<br />

Figure 6 Typical model of a fingerprint identificati<strong>on</strong> system<br />

VI. RESULT<br />

This system holds fingerprint data for up to 4424registered<br />

users. The system gives the verificati<strong>on</strong> of users within less<br />

than <strong>on</strong>e sec<strong>on</strong>d .Using biometric soluti<strong>on</strong> the system provides<br />

good attendance of the student without proxy. The system<br />

gives unique verificati<strong>on</strong> of the student. Malpractice is not<br />

occurred<br />

REFERENCES<br />

[1] A real-time matching system for large fingerprint<br />

databases Ratha, N.K; Karu, K.; Shaoyun Chen; Jain, A.K.<br />

Pattern Analysis <strong>and</strong> Machine Intelligence, IEEE Transacti<strong>on</strong>s<br />

<strong>on</strong> Volume: 18 Issue: 8 Aug 1996<br />

[2] A. K. Jain, L. H<strong>on</strong>g, S. Pankanti, <strong>and</strong> R.Bolle, "An<br />

Identity Authenticati<strong>on</strong> System Using Fingerprints," Proc.<br />

IEEE, 1997.<br />

[3] A. K. Jain, A. Ross, <strong>and</strong> S. Prabhakar, "Fingerprint<br />

Matching Using Minutiae <strong>and</strong> Texture Features",<br />

<str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Image Processing (ICIP), 2001.<br />

[4] Fingerprint features-statistical analysis <strong>and</strong> system<br />

performance estimates Roddy, A.R.; Stosz, J.D.<br />

Proceedings of the IEEEVolume: 85 Issue: 9 Sep 1997<br />

[5] Fingerprint image enhancement: algorithm <strong>and</strong><br />

performance evaluati<strong>on</strong> Lin H<strong>on</strong>g; Yifei Wan; Jain, A.<br />

Pattern Analysis <strong>and</strong> Machine Intelligence, IEEE Transacti<strong>on</strong>s<br />

<strong>on</strong> Volume: 20 Issue: 8 Aug 1998<br />

[6] A single-chip fingerprint sensor <strong>and</strong> identifier<br />

Shigematsu, S.; Morimura, H.; Tanabe, Y.; Adachi, T.;<br />

Machida, K.Solid-State Circuits, IEEE Journal of<br />

Volume: 34 Issue: 12 Dec 1999<br />

[7] ARM system developers guide. By wright A.sloss,D<br />

symes,C. wright<br />

[8] "Key performance indicators", p. 3, ARM annual report<br />

<strong>and</strong> accounts, 2006. Retrieved May 7, 2007<br />

VII. CONCLUSION<br />

Fingerprint based identificati<strong>on</strong> system is extremely<br />

important, <strong>and</strong> a challenging task in several commercial areas.<br />

Even though several commercial systems exist for fingerprint<br />

verificati<strong>on</strong>, the performance has to be improved for a wide<br />

adopti<strong>on</strong> in authenticati<strong>on</strong> applicati<strong>on</strong>s. The various<br />

techniques proposed in this have significantly improved the<br />

overall performance of the fingerprint verificati<strong>on</strong> system <strong>and</strong><br />

it is accurate to h<strong>and</strong>le the poor quality fingerprint images<br />

gracefully, The developed technique for fingerprint<br />

identificati<strong>on</strong> exploits the global characteristics in a fingerprint<br />

image exactly to make the verificati<strong>on</strong> process. Each<br />

fingerprint image is filtered This Biometric Time Attendance<br />

System records attendance through finger/thumb Impressi<strong>on</strong>.<br />

It can help in stopping the Proxy attendance <strong>and</strong> gives the<br />

exact timing of In/Out for each student. Student has to put the<br />

finger <strong>on</strong> sensor <strong>on</strong>ly <strong>on</strong>ce to verify the Finger when Student<br />

comes in or goes from classroom .<br />

ACKNOWLEDGMENT<br />

Mrs. Aarti Patil have no words to express her sincere<br />

thanks for valuable guidance extreme assistance <strong>and</strong><br />

cooperati<strong>on</strong> extended to her by her Internal Guide Prof.A.M.<br />

Agarkar. Mrs.Aarti Patil would like to thank Mrs. Anupama V<br />

Patil for completing this task successfully .<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 447


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fault Tolerant Grid Computing System<br />

Manik Mujumdar 1 , Meenakshi Bheevgade 2 <strong>and</strong> Latesh Malik 3<br />

1, 3: G.H. Rais<strong>on</strong>i College of Engineering, Nagpur, Maharashtra, INDIA.<br />

2 : Visweswaraya Nati<strong>on</strong>al Institute of Technology, Nagpur, Maharashtra, INDIA.<br />

1 gdhopavkar1@rediffmail.com, 2 mbbhivgade@vnit.ac.in<br />

3 lgmalik@rediffmail.com<br />

Abstract<br />

The popularity of the Internet <strong>and</strong> the availability<br />

of powerful computers <strong>and</strong> high-speed networks as lowcost<br />

commodity comp<strong>on</strong>ents are changing the way we<br />

use computers today. These technical opportunities<br />

have led to the possibility of using geographically<br />

distributed <strong>and</strong> multi-owner resources to solve largescale<br />

problems in science, engineering, <strong>and</strong> commerce.<br />

Recent research <strong>on</strong> these topics has led to the<br />

emergence of a new paradigm known as Grid<br />

computing. Though after parallelizati<strong>on</strong>, computati<strong>on</strong><br />

had speed up but still the time required for much<br />

applicati<strong>on</strong> can be very large. Thus reliability of the<br />

grid becomes important issue <strong>and</strong> implementati<strong>on</strong> of<br />

fault tolerant mechanism becomes essential. The fault<br />

tolerance is a significant <strong>and</strong> complex issue in grid<br />

computing systems. Various techniques have been<br />

investigated to detect <strong>and</strong> correct faults in distributed<br />

computing systems.<br />

Key words — Grid, cluster, fault tolerant systems, grid<br />

computing system, meta-computing.<br />

1. Introducti<strong>on</strong><br />

In today’s pervasive world, informati<strong>on</strong> is needed<br />

anytime anywhere. To cater these requirements<br />

distributed computing c<strong>on</strong>cepts evolved. Given the fact<br />

that an average computer is idle 90% of the time <strong>and</strong><br />

that 99% of its capabilities are never tapped, as<br />

measured by the computati<strong>on</strong>al stress <strong>on</strong> the CPU, there<br />

is a huge opportunity to apply this power in a beneficial<br />

manner. This unused power can be best utilized by using<br />

Grid.<br />

Grid computing is a means of allocating the<br />

computati<strong>on</strong>al power of a large number of computers to<br />

a very difficult problem. The goal is to access computers<br />

<strong>on</strong>ly when they are needed <strong>and</strong> to scale the problem so<br />

that even small computers can make a useful<br />

c<strong>on</strong>tributi<strong>on</strong>.<br />

A number of teams have c<strong>on</strong>ducted experimental<br />

studies <strong>on</strong> the cooperative use of geographically<br />

distributed resources unified to act as a single powerful<br />

computer. This new approach is known by several<br />

names, such as metacomputing, scalable computing,<br />

global computing, Internet computing, <strong>and</strong> more<br />

recently peer-to-peer or Grid computing.<br />

A Grid envir<strong>on</strong>ment is created to address resource<br />

needs. The use of resource(s) like CPU cycles, disk<br />

storage, data, software programs, peripherals is usually<br />

characterized by its availability outside of the c<strong>on</strong>text of<br />

the local administrative domain. This 'external<br />

provisi<strong>on</strong>ing' approach entails creating a new<br />

administrative domain referred to as a Virtual<br />

organizati<strong>on</strong> (VO) with a distinct <strong>and</strong> separate set of<br />

administrative policies (home administrati<strong>on</strong> policies<br />

plus external resource administrative policies equals the<br />

VO administrative policies). The c<strong>on</strong>text for a Grid 'job<br />

executi<strong>on</strong>' is distinguished by the requirements created<br />

when operating outside of the home administrative<br />

c<strong>on</strong>text. Grid technology is employed to facilitate<br />

formalizing <strong>and</strong> complying with the Grid c<strong>on</strong>text<br />

associated with your applicati<strong>on</strong> executi<strong>on</strong>.<br />

Grid computing is enabled by relatively highperformance<br />

computers, robust computer networks,<br />

grid management software, <strong>and</strong> the divisibility of<br />

difficult scientific problems. Together these allow a<br />

job to be subdivided <strong>and</strong> distributed to thous<strong>and</strong>s or<br />

even milli<strong>on</strong>s of computers to calculate a soluti<strong>on</strong>.<br />

The Grid computing discipline involves the actual<br />

networking services <strong>and</strong> c<strong>on</strong>necti<strong>on</strong>s of a potentially<br />

unlimited number of ubiquitous computing can be most<br />

simply thought of as a massively large power “utility”<br />

grid, such as what provides power to our homes <strong>and</strong><br />

business each <strong>and</strong> every day. Grid computing openly<br />

seeks <strong>and</strong> is capable of adding an infinite number of<br />

computing devices into any grid envir<strong>on</strong>ment, adding to<br />

the computing capability <strong>and</strong> problem resoluti<strong>on</strong> tasks<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 448


Proceedings of ICCNS 08 , 27-28 September 2008<br />

within the operati<strong>on</strong>al grid envir<strong>on</strong>ment.<br />

A computati<strong>on</strong>al grid is a hardware <strong>and</strong> software<br />

infrastructure that provides dependable, c<strong>on</strong>sistent,<br />

pervasive, <strong>and</strong> inexpensive access to high-end<br />

computati<strong>on</strong>al capabilities.<br />

A grid applicati<strong>on</strong> can be defined as an applicati<strong>on</strong><br />

that operates in a grid envir<strong>on</strong>ment or is “<strong>on</strong>” a grid<br />

system. Grid system software (middleware) is software<br />

that facilitates writing grid applicati<strong>on</strong> <strong>and</strong> manages the<br />

underlying grid infrastructure.<br />

The c<strong>on</strong>cept of Grid computing started as a project to<br />

link geographically dispersed supercomputers, but now<br />

it has grown far bey<strong>on</strong>d its original intent. The Grid<br />

infrastructure can benefit many applicati<strong>on</strong>s, including<br />

collaborative engineering, data explorati<strong>on</strong>, highthroughput<br />

computing, <strong>and</strong> distributed supercomputing.<br />

In our research work, we try to implement a novel<br />

fault tolerance mechanism <strong>on</strong> computati<strong>on</strong>al grid.<br />

Fault tolerance in Grids:<br />

In large-scale grids, the probability of a failure is<br />

much greater than in traditi<strong>on</strong>al parallel systems [1].<br />

Therefore, fault tolerance has become a crucial area in<br />

grid computing.<br />

Fault tolerance in Grid is a significant <strong>and</strong> complex<br />

issue to secure a stable <strong>and</strong> reliable performance.<br />

Secti<strong>on</strong> II c<strong>on</strong>tains the descripti<strong>on</strong> of the related work.<br />

In secti<strong>on</strong> III, the work d<strong>on</strong>e <strong>and</strong> the secti<strong>on</strong> IV,<br />

describes the future work.<br />

Diagrammatic representati<strong>on</strong> of grid<br />

2. Related work<br />

Fault-tolerant computing is the art <strong>and</strong> science of<br />

building computing systems that c<strong>on</strong>tinue to operate<br />

satisfactorily in the presence of faults. A fault-tolerant<br />

system may be able to tolerate <strong>on</strong>e or more fault-types<br />

including -- i) transient, intermittent or permanent<br />

hardware faults, ii) software <strong>and</strong> hardware design errors,<br />

iii) operator errors, or iv) externally induced upsets or<br />

physical damage. Lot of research work has been carried<br />

out <strong>on</strong> this issue. Most works dealing with r<strong>and</strong>om<br />

hardware faults, while a smaller number deal with<br />

software, design <strong>and</strong> operator faults to varying degrees.<br />

A large amount of supporting research has been<br />

reported.<br />

One of the most difficult tasks in the design of a faulttolerant<br />

machine is to verify that it will meet its<br />

reliability requirements. Performance models for two<br />

fault tolerance methods, checkpoint-recovery (CR) <strong>and</strong><br />

wide-area replicati<strong>on</strong> (WR), have been developed.<br />

In [1] authors address the problem of fault tolerance<br />

in term of resource failure. They devise a strategy for<br />

fault tolerant job scheduling in computati<strong>on</strong>al grid. This<br />

strategy maintains history of the fault occurrence of<br />

resource in Grid Informati<strong>on</strong> Service (GIS). Whenever a<br />

resource broker has job to schedule, it uses the resource<br />

fault occurrence history informati<strong>on</strong> from GIS <strong>and</strong><br />

depending <strong>on</strong> this informati<strong>on</strong> use different intensity of<br />

check pointing <strong>and</strong> replicati<strong>on</strong> while scheduling the job<br />

<strong>on</strong> resources which have different tendency towards<br />

fault acceptable service.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 449


Proceedings of ICCNS 08 , 27-28 September 2008<br />

In [2] authors evaluate a transparent checkpointrestart<br />

mechanism for commodity operating systems that<br />

checkpoints <strong>and</strong> restarts multiple processes in a<br />

c<strong>on</strong>sistent manner. This system combines a kernel-level<br />

checkpoint mechanism with a hybrid user level <strong>and</strong><br />

kernel-level restart mechanism to leverage existing<br />

operating system interfaces <strong>and</strong> functi<strong>on</strong>ality as much as<br />

possible for transparent checkpoint-restart.<br />

As [7] describes the functi<strong>on</strong> of fault tolerance to<br />

preserve the delivery of expected services despite the<br />

presence of fault-caused errors within the system itself.<br />

Errors are detected <strong>and</strong> corrected, <strong>and</strong> permanent faults<br />

are located <strong>and</strong> removed while the system c<strong>on</strong>tinues to<br />

deliver acceptable service.<br />

Executing SPMD [3] applicati<strong>on</strong>s in a fault tolerant<br />

manner can be achieved by check pointing or<br />

replicati<strong>on</strong>. For the purposes of a direct quantitative<br />

comparis<strong>on</strong>, a simple checkpoint model is assumed in<br />

which each SPMD task saves its porti<strong>on</strong> of the data<br />

domain <strong>on</strong> disk at a set of pre-determined iterati<strong>on</strong>s.<br />

Check pointing restart (C/R) is cheaper as compared to<br />

WR for small problems.<br />

In [5], authors define resource as any capability that<br />

must be scheduled, assigned, or c<strong>on</strong>trolled by the<br />

underlying implementati<strong>on</strong> to assure n<strong>on</strong>-c<strong>on</strong>flicting<br />

usage by processes.<br />

Scheduling policies for Grid systems can be classified<br />

into space-sharing [6] <strong>and</strong> time-sharing. It is also<br />

possible to combine these two types of policies into a<br />

hybrid policy to design an <strong>on</strong>-line scheduling policy.<br />

In [4] the authors have designed a framework that<br />

enables the easy integrati<strong>on</strong> of fault-tolerance techniques<br />

into object-based grid applicati<strong>on</strong>s. Using programming<br />

tools augmented with fault-tolerance capabilities, they<br />

have shown how applicati<strong>on</strong>s can be written to tolerate<br />

crash failures.<br />

In [9], authors give a fault detecti<strong>on</strong> service designed<br />

to be incorporated, in a modular fashi<strong>on</strong>, into distributed<br />

computing systems, tools, or applicati<strong>on</strong>s. This service<br />

uses well-known techniques based <strong>on</strong> un-reliable fault<br />

detectors to detect <strong>and</strong> report comp<strong>on</strong>ent failure, while<br />

allowing the user to tradeoff_ timeliness of reporting<br />

against false positive rates.<br />

In[10], the approach is from user viewpoint of Grid<br />

<strong>and</strong> c<strong>on</strong>sider the nature of Grid faults across the board<br />

based <strong>on</strong> thread state capturing mechanism, an<br />

excepti<strong>on</strong> h<strong>and</strong>ling method <strong>and</strong> mobile agent<br />

technology.<br />

3. Our Approach<br />

a) Cluster<br />

A cluster is defined as “A type of parallel or<br />

distributed system that: c<strong>on</strong>sists of a collecti<strong>on</strong> of<br />

interc<strong>on</strong>nected whole computers, <strong>and</strong> is used as a single,<br />

unified computing resource." Therefore, cluster is a<br />

group of computers, bound together into a comm<strong>on</strong><br />

resource pool. A given task can be executed <strong>on</strong> all<br />

computers or <strong>on</strong> any specific computer in the cluster.<br />

Lets look into the benefits from clustering:As grid is<br />

collecti<strong>on</strong> of clusters, we have built a LAM/MPI cluster<br />

at two different physical locati<strong>on</strong>s.<br />

For our project we had five identical Gateway PCs at<br />

our disposal. Each PC had:<br />

Software:<br />

1. Intel Pentium III 550 MHz processor<br />

2. 56 MB of RAM<br />

3. Com 3C905C-TX 100Mbps Ethernet Card<br />

Hardware :<br />

The operating system used for this project is Redhat<br />

Linux 5.<br />

The middleware used to provide communicati<strong>on</strong>s<br />

between processes was the Local Area Multi-computer<br />

(LAM) implementati<strong>on</strong> of MPI. The reas<strong>on</strong> of selecting<br />

LAM is, it is open source, has very good documentati<strong>on</strong>,<br />

<strong>and</strong> supports most of the MPI-2 st<strong>and</strong>ard, which adds a<br />

great deal of functi<strong>on</strong>ality as well as provides bindings<br />

necessary for programming in C++.<br />

The functi<strong>on</strong>ing of Cluster is checked by executing<br />

the parallel applicati<strong>on</strong> <strong>on</strong> the clusters.<br />

As per the nature of parallel computing to maximize<br />

efficiency, <strong>on</strong>ly <strong>on</strong>e user should be running a job at a<br />

time. This is because running multiple jobs at the same<br />

time requires dividing the CPU time between the jobs,<br />

<strong>and</strong> the benefits of using a cluster will not be realized.<br />

For this reas<strong>on</strong>, we have <strong>on</strong>ly created <strong>on</strong>e user (<strong>on</strong> all<br />

nodes, having the same username) to run MPI jobs.<br />

Building a cluster of this type is relatively<br />

inexpensive, <strong>and</strong> offers significantly improved<br />

performance for programs written to solve problems that<br />

can be divided to run in parallel. The degree of<br />

improvement depends heavily <strong>on</strong> the ability of the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 450


Proceedings of ICCNS 08 , 27-28 September 2008<br />

problem to be solved in parallel.<br />

b) Globus Toolkit<br />

We use GLOBUS toolkit to serve as Grid<br />

Middleware. There are many advantages of using the<br />

open source GLOBUS Toolkit.<br />

Globus, is a system that is developed to meet<br />

distributed computing challenges. The Globus system is<br />

intended to achieve a vertically integrated treatment of<br />

applicati<strong>on</strong>, middleware, <strong>and</strong> network.<br />

The Globus toolkit comprises a set of modules. Each<br />

module defines an interface, which higher-level services<br />

use to invoke that module's mechanisms, <strong>and</strong> provides<br />

an implementati<strong>on</strong>, which uses appropriate low-level<br />

operati<strong>on</strong>s to implement these mechanisms in different<br />

envir<strong>on</strong>ments. Currently identified toolkit modules are<br />

as follows.<br />

1. Resource locati<strong>on</strong> <strong>and</strong> allocati<strong>on</strong>.<br />

2. Communicati<strong>on</strong>s.<br />

3. Unified resource informati<strong>on</strong> service.<br />

4. Authenticati<strong>on</strong> interface.<br />

5. Process creati<strong>on</strong>.<br />

6. Data access.<br />

Together, the various Globus toolkit modules can be<br />

thought of as defining a meta-computing virtual<br />

machine.<br />

The GLOBUS toolkit is installed <strong>on</strong> both the cluster’s<br />

Server /Head nodes. Thus two clusters form a grid so<br />

that any parallel computati<strong>on</strong> can be executed <strong>on</strong> it.<br />

4. C<strong>on</strong>clusi<strong>on</strong> <strong>and</strong> Future Work<br />

The main issue in computati<strong>on</strong>al grids is the Fault<br />

Tolerance.<br />

In this approach we use the Checkpoint/Restart<br />

mechanism to overcome faults occurring during<br />

executi<strong>on</strong> of a parallel job. The process will be migrated<br />

from a failed node to a spare node instead of restarting<br />

the applicati<strong>on</strong> using checkpoint policy.<br />

We try to achieve the maximum fault tolerance by<br />

using the said method. With the use of this policy, the<br />

developers of the grid applicati<strong>on</strong> will not have to take<br />

into account the Fault tolerant issue which will be<br />

automatically h<strong>and</strong>led by our work.<br />

References<br />

[1] Babar Nazir, Taimoor Khan, Fault Tolerant Job<br />

Scheduling in Computati<strong>on</strong>al Grid, 2006 IEEE, pp<br />

708-713<br />

[2] Oren Laadan & Jas<strong>on</strong> Nieh, Transparent<br />

Checkpoint-Restart of Multiple Processes <strong>on</strong><br />

Commodity Operating Systems, 2007 USENIX<br />

Annual Technical <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g><br />

[3] J<strong>on</strong> B. Weissman, Fault Tolerant Computing <strong>on</strong> the<br />

Grid: What are My Opti<strong>on</strong>s, 99,IEEE<br />

[4] Anh Nguyen-Tu<strong>on</strong>g, Integrating Fault-Tolerance<br />

Techniques in Grid Applicati<strong>on</strong>s, A Dissertati<strong>on</strong>.<br />

[5] J. H. Abawajy, Fault-Tolerant Scheduling Policy for<br />

Grid Computing Systems, 2004 IEEE<br />

[6] T. Thanalapati <strong>and</strong> S. D<strong>and</strong>amudi. An e.cient<br />

adaptive scheduling scheme for distributed memory<br />

multicomputers. IEEE Transacti<strong>on</strong>s <strong>on</strong> Parallel<br />

<strong>and</strong> DistributedSystems, 12(7):758–768, July 2001.<br />

[7] A. Avizienis, “The N-versi<strong>on</strong> Approach to Fault-<br />

Tolerant Software” - IEEE Transacti<strong>on</strong>s <strong>on</strong><br />

Software Engineering - vol. 11 1985<br />

[8] J. H. Abawajy <strong>and</strong> S. P. D<strong>and</strong>amudi. Parallel job<br />

scheduling <strong>on</strong> multi-cluster computing systems. In<br />

Proceedings of the IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g><br />

<strong>on</strong> Cluster Computing (Cluster 2003), H<strong>on</strong>g K<strong>on</strong>g,<br />

China, December 1-4 2003.<br />

[9] Paul Stelling, Ian Foster, Carl Kesselman, Craig<br />

Lee, Gregor v<strong>on</strong> Laszewski , A Fault Detecti<strong>on</strong><br />

Service for Wide Area Distributed Computati<strong>on</strong>s,<br />

[10] Jin Liang, T<strong>on</strong>g WeiQin, Tang JianQuan, Wang Bo,<br />

A Fault Tolerance Mechanism in Grid, 0-7803-<br />

5/04/2003, IEEE pp. 457-461<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 451


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Design of Microwave Drying System with Phase C<strong>on</strong>troller:<br />

A Modified Applicator<br />

A. S. Jambhale, B. V. Barbadekar<br />

Abstract - Microwave energy can be used for<br />

drying purpose. It is unique process. It is distinctly<br />

different from c<strong>on</strong>venti<strong>on</strong>al drying process. It is<br />

advantageous over c<strong>on</strong>venti<strong>on</strong>al drying / heating<br />

processes. When microwave energy is used for<br />

drying purpose, the process can be accelerated<br />

with a better c<strong>on</strong>trol to achieve uniform heating,<br />

more c<strong>on</strong>versi<strong>on</strong> efficiency, selective drying <strong>and</strong><br />

ultimately improved product quality of the output.<br />

Also, less floor space <strong>and</strong> compact system are the<br />

added advantages. Existing low power microwave<br />

drying system is to be modified with suitable<br />

applicator. Appropriate sensors are to be used to<br />

measure parameters like moisture, temperature,<br />

weight of sample. Suitable high tech c<strong>on</strong>troller is<br />

to be used to c<strong>on</strong>trol microwave power<br />

c<strong>on</strong>tinuously from minimum to maximum. Phase -<br />

c<strong>on</strong>troller, cycle - c<strong>on</strong>troller <strong>and</strong> PWM - c<strong>on</strong>troller<br />

are some of the advanced power c<strong>on</strong>trol<br />

techniques. It has been proposed to work <strong>on</strong><br />

turmeric using high-tech phase c<strong>on</strong>troller to<br />

c<strong>on</strong>trol the microwave power c<strong>on</strong>veniently. The<br />

drying of turmeric with microwave energy<br />

employing phase c<strong>on</strong>troller gives better results as<br />

formulated in this paper <strong>and</strong> hence new approach<br />

of processing turmeric will open future doors of<br />

profit making to allied industries <strong>and</strong> the farmers.<br />

Keywords: applicator, microwave drying, phase<br />

c<strong>on</strong>troller.<br />

1. INTRODUCTION<br />

Drying with Microwave Energy is distinctly<br />

different from c<strong>on</strong>venti<strong>on</strong>al methods. C<strong>on</strong>venti<strong>on</strong>al<br />

methods depend up<strong>on</strong> the slow march of the heat<br />

from surface of the material to<br />

Authors<br />

A. S. Jambhale* SVPM’S College of Engineering, Malega<strong>on</strong>, (Bk), Tal-<br />

Baramati, Dist- Pune, Maharashtra (India), Pin- )-413115, Ph<strong>on</strong>e: +91-2112-255113,<br />

Mobile: 9421126893, e-mail: jambhale_appasaheb@rediffmail.com<br />

B. V. Barbadekar , Professor, Electr<strong>on</strong>ics Engg. V.I.T. Pune, Maharashtra.<br />

(India)<br />

the interior as determined by a change in<br />

temperature from a hot outside to cool inside.<br />

Where as heating with dielectric <strong>and</strong> microwave<br />

drying is a sort of bulk heating in which<br />

electromagnetic field interact with the material as a<br />

whole. In microwave drying, the oscillating electric<br />

field causes polar molecules to rotate <strong>and</strong> charged<br />

i<strong>on</strong>s to oscillate. This i<strong>on</strong>ic <strong>and</strong> molecular<br />

movement with intermolecular fricti<strong>on</strong> causes rapid<br />

heating [5]. Heating takes place volumetrically <strong>and</strong><br />

water is heated, vaporized within the whole volume<br />

of the food product. The rapidly formed water vapor<br />

creates a large pressure gradient, which is drying<br />

force in microwave drying [4].<br />

1.1. Advantages of Microwave Drying System<br />

Microwave drying presents the following<br />

advantages over c<strong>on</strong>venti<strong>on</strong>al thermal<br />

heating/drying methods [8]<br />

Process speed is increased.<br />

Uniform heating may occur throughout the<br />

material.<br />

Energy c<strong>on</strong>versi<strong>on</strong> efficiency is more. In<br />

microwave drying system, energy couples directly<br />

to the material being heated. It is not wasted in<br />

heating the air, the wall of the oven, c<strong>on</strong>veyor etc.<br />

This can lead to sufficient energy saving. Also the<br />

energy source is not hot <strong>and</strong> plant cooling saving<br />

may be realized.<br />

Better <strong>and</strong> more rapid process c<strong>on</strong>trol<br />

occurs.<br />

Floor space requirements are less. It is due<br />

to more rapid heating by microwave energy.<br />

Selective drying may occur. The<br />

electromagnetic field generally couple in to the<br />

solvent <strong>and</strong> not the substrate. Hence it is the<br />

moisture which is heated; where as the carrier of the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 452


Proceedings of ICCNS 08 , 27-28 September 2008<br />

substrate is heated primarily by c<strong>on</strong>ducti<strong>on</strong>. This<br />

avoids heating of the air, open walls, c<strong>on</strong>veyor etc.<br />

Product quality may be improved. Since,<br />

high temperature is not usually generated, there is<br />

an eliminati<strong>on</strong> of the over heating of the surface <strong>and</strong><br />

case hardening which are comm<strong>on</strong> with<br />

c<strong>on</strong>venti<strong>on</strong>al heating method. This often leads to<br />

less rejected products.<br />

Desirable chemical <strong>and</strong> physical effects may<br />

result. Many chemical <strong>and</strong> physical reacti<strong>on</strong>s are<br />

promoted by the heat generated in this method,<br />

leading to the puffing, drying, melting, protein<br />

denaturati<strong>on</strong>, starch gelatinizati<strong>on</strong> <strong>and</strong> the like.<br />

Microwave drying can be c<strong>on</strong>veniently<br />

combined with other methods of drying, such as,<br />

hot air drying, freeze- drying, vacuum drying etc.<br />

2.1 Solar Drying<br />

2. DRYING METHODS<br />

Solar drying has been used to dry fish , meat ,<br />

cloth, grains <strong>and</strong> has proved to generate food stuffs<br />

of high quality <strong>and</strong> low spoilage, though, solar<br />

drying is cheap easy <strong>and</strong> popular method, its<br />

applicati<strong>on</strong> is restricted by the l<strong>on</strong>g drying time <strong>and</strong><br />

need for favorable weather . Tulsidas (1994)<br />

showed that 6-9 weeks were required to dry grapes<br />

to a water c<strong>on</strong>tent of 25 – 30 % <strong>and</strong> further steps<br />

were required to dry them completely [10].<br />

2.2. Hot Air C<strong>on</strong>vective Drying<br />

The principle of hot air c<strong>on</strong>vective drying is<br />

based <strong>on</strong> c<strong>on</strong>venti<strong>on</strong>al heat transfer from heated air<br />

to the material being dried. Hot air is forced through<br />

the material <strong>and</strong> does the moisture diffusi<strong>on</strong> process<br />

that result in the drying. This method has been<br />

widely used in industries. Different types of dryers<br />

have been developed <strong>and</strong> employed in commercial<br />

producti<strong>on</strong> [6] Heated air is blown through the<br />

material by cross flow or by fan generated flow. As<br />

compared to solar drying, hot air c<strong>on</strong>vective drying<br />

can greatly shorten the drying time from several<br />

weeks to several days. However, same studies have<br />

been reported that the taste, color <strong>and</strong> overall<br />

quality of dried berries could be improved by using<br />

alternative methods, such as microwave drying<br />

(Tulsidas, 1994).<br />

2.3. Freeze- Drying<br />

Some pharmaceuticals are heat sensitive. Some<br />

fruits <strong>and</strong> vegetables loose their aroma <strong>and</strong> flavor if<br />

they remain in high temperature for significant<br />

figure of time. For such cases freeze drying is an<br />

alternative. Freeze-drying was introduced <strong>on</strong> large<br />

scale in world war-II. It was used in producti<strong>on</strong> of<br />

dried plasma <strong>and</strong> blood products [1]. Freeze- drying<br />

requires several successive steps, as pre-freezing,<br />

primary drying, sec<strong>on</strong>dary drying, c<strong>on</strong>diti<strong>on</strong>ing <strong>and</strong><br />

dehydrati<strong>on</strong>. It is expensive <strong>and</strong> requires<br />

sophisticati<strong>on</strong>. Hence, it is difficult to apply to all<br />

commercial drying needs.<br />

2.4. Vacuum Drying<br />

There are four essential elements in a vacuum<br />

drying system: a vacuum chamber, vacuum<br />

generating device, system for collecting water vapor<br />

<strong>and</strong> means for supplying heat required for<br />

vaporizati<strong>on</strong> of water [3]. For reas<strong>on</strong>s similar to<br />

freeze-drying vacuum drying is also an expensive<br />

drying method. It is used <strong>on</strong>ly for costly products<br />

2.5. Microwave Drying<br />

Microwave Drying is not <strong>on</strong>ly faster but also<br />

requires less energy c<strong>on</strong>sumpti<strong>on</strong> than c<strong>on</strong>venti<strong>on</strong>al<br />

drying (Tulsidas 1994). In the drying of osmotically<br />

pre-treated strawberries or blueberries, it has been<br />

showed that microwave drying required shorter<br />

drying time than freeze drying, while maintaining<br />

the same final product quality [11]. Also it has been<br />

reported that the use of microwaves in freeze-drying<br />

could substantially increase drying rate <strong>and</strong><br />

c<strong>on</strong>sequently, decrease drying time (Sanga - 2000).<br />

It has been compared hot air-drying, freeze-drying,<br />

vacuum drying <strong>and</strong> a combinati<strong>on</strong> of hot air <strong>and</strong><br />

microwave drying of cranberries [2]. It was<br />

c<strong>on</strong>cluded that microwave-assisted hot air drying<br />

resulted in the shortest drying time <strong>and</strong> acceptable<br />

color, taste <strong>and</strong> texture. Also it has been compared<br />

the microwave assisted vacuum-drying to<br />

microwave assisted hot air drying <strong>and</strong> c<strong>on</strong>cluded<br />

that the microwave assisted vacuum-drying offered<br />

a slight advantage in product quality <strong>and</strong> process<br />

efficiency [9]. It has been dried flowers with<br />

microwave energy in c<strong>on</strong>juncti<strong>on</strong> with a colorprotecting<br />

treatment, which offered a number of<br />

advantages over c<strong>on</strong>venti<strong>on</strong>al methods [7]<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 453


Proceedings of ICCNS 08 , 27-28 September 2008<br />

3. MATERIAL AND METHODS<br />

3.1. Microwave drying applicator<br />

Microwave drying applicator was developed /<br />

modified based <strong>on</strong> Samsung Microwave oven C103<br />

FL with nominal power of 900 W at 2450 MHz as<br />

shown in Fig.1.<br />

The experimental set-up is as shown in Fig. 3<br />

Fig. 1 Microwave oven Samsung C103<br />

FL with sample (Courtesy Samsung)<br />

Microwave oven Samsung C103 FL type has<br />

specificati<strong>on</strong> as follows-<br />

Power source: 230V, 50 Hz<br />

Microwave power: 1400Watt<br />

Average maximum power: 900 Watt<br />

Grill (heating element): 1300Watt<br />

C<strong>on</strong>vecti<strong>on</strong> (heating energy): 1700Watt<br />

Operating frequency: 2540MHz<br />

Outside Dimensi<strong>on</strong>s (WXDXH): 517x511x310 mm<br />

Oven cavity: 336x347x253mm<br />

Volume: 28 liters<br />

Weight: 19Kg<br />

The developmental work included-<br />

Development of microwave <strong>and</strong><br />

c<strong>on</strong>vective drying system.<br />

Design of a triac phase c<strong>on</strong>trolled<br />

power regulator (phase – c<strong>on</strong>troller).<br />

Modificati<strong>on</strong> of original electrical<br />

circuit, as shown in Fig. 2.<br />

Fig. 2 Modified Electrical Circuit<br />

Fig. 3 Experimental set- up<br />

1.Microwave power c<strong>on</strong>troller (phase-c<strong>on</strong>troller); 2.<br />

Cooling fan; 3. Magnetr<strong>on</strong>; 4. Heater & blower;<br />

5.Electr<strong>on</strong>ic Weighing balance; 6. Pers<strong>on</strong>al computer; 7.<br />

Data acquisiti<strong>on</strong> & c<strong>on</strong>trol system; 8. Sample (Turmeric<br />

cubes); 9. Ventilati<strong>on</strong>; 10. Thermocouple; 11. Infrared<br />

temperature sensor; 12. Microwave stirrer.<br />

The hot air was introduced into oven by<br />

electrical heater <strong>and</strong> the small air blower with<br />

average electric energy c<strong>on</strong>sumpti<strong>on</strong> of 1 KWh.<br />

Ventilated hot air was not recycled <strong>and</strong> there was no<br />

heat recovery from the exhausted air. Infrared<br />

temperature sensor <strong>and</strong> thermocouple (K-type) were<br />

used to measure the surface temperature <strong>and</strong> core<br />

temperature of turmeric cubes during drying<br />

respectively. Electr<strong>on</strong>ic weighing balance was<br />

attached to the tray <strong>on</strong> which the sample was placed<br />

to m<strong>on</strong>itor the sample weight change during drying.<br />

All the sensors were m<strong>on</strong>itored <strong>and</strong> saved by<br />

pers<strong>on</strong>al computer.<br />

3.2 Sample Preparati<strong>on</strong><br />

Samples were prepared before each<br />

experimental run. Turmeric rhizomes were pealed<br />

<strong>and</strong> cut into cubes of 10 x 10 x 10 mm. All sample<br />

cubes were taken from the centre medulla regi<strong>on</strong> of<br />

the rhizome tuber for a more uniform cell structure.<br />

The sample cubes were immediately soaked in tap<br />

water to prevent browning before all cubes were<br />

cut. Samples were evenly spaced <strong>and</strong> placed as a<br />

single layer <strong>on</strong> the base of the sample holder.<br />

As a first step of each run, the data acquisiti<strong>on</strong><br />

system was switched <strong>on</strong>. A sample of 500 gm was<br />

used for each run. Sample centre temperature was<br />

m<strong>on</strong>itored. During each trial inlet air <strong>and</strong> modulated<br />

air temperature, sample weight <strong>and</strong> sample<br />

temperature were recorded c<strong>on</strong>tinuously by the data<br />

acquisiti<strong>on</strong> system. The drying process was finished<br />

when the sample reached the moisture c<strong>on</strong>tent of<br />

less than 10%.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 454


Proceedings of ICCNS 08 , 27-28 September 2008<br />

4. RESULTS<br />

Tests were taken for dimensi<strong>on</strong>less moisture<br />

c<strong>on</strong>tent, drying rate during drying as g/min <strong>and</strong><br />

temperature variati<strong>on</strong> during drying process, both<br />

for phase <strong>and</strong> cycle c<strong>on</strong>trolled modes. Using a<br />

sample of 500 gm, observati<strong>on</strong>s were noted down as<br />

given in TABLE 1 <strong>and</strong> TABLE 2 <strong>and</strong> the graphs were<br />

plotted as shown in Fig. 4, 5, 6, 7, & 8.<br />

Sr.<br />

No.<br />

TABLE 1<br />

MICROWAVE DRYING WITH CYCLE-<br />

CONTROLLED MODE.<br />

Drying<br />

time<br />

(min)<br />

Dimensi<strong>on</strong>less<br />

moisture<br />

c<strong>on</strong>tent<br />

Drying<br />

rate<br />

(g/min)<br />

Sample<br />

Temp.<br />

( o C)<br />

1 0 1 0.45 25<br />

2 5 1 0.45 34<br />

3 15 0.8 0.85 60<br />

4 25 0.45 0.80 70<br />

5 35 0.25 0.8 68<br />

6 45 0.10 0.62 62<br />

7 55 0.04 0.61 61<br />

8 65 0.02 0.02 61<br />

9 75 0.01 0.0 61<br />

10 85 0.025 0.0 61<br />

11 95 0.0 0.0 61<br />

12 105 0.0 0.0 61<br />

Sr.<br />

No.<br />

TABLE 2<br />

MICROWAVE DRYING WITH PHASE-<br />

CONTROLLED MODE.<br />

Drying<br />

time<br />

(min)<br />

Dimensi<strong>on</strong>less<br />

moisture<br />

c<strong>on</strong>tent<br />

Drying<br />

rate<br />

(g/min)<br />

Sample<br />

Temp.<br />

( o C)<br />

1 0 1.0 0.3 25<br />

2 5 1.0 0.3 34<br />

3 15 0.8 0.62 42<br />

4 25 0.615 0.6 50<br />

5 35 0.42 0.605 57<br />

6 45 0.25 0.6 59.5<br />

7 55 0.10 0.55 60<br />

8 65 0.02 0.15 61<br />

9 75 0.015 0.1 61<br />

10 85 0.005 0.0 61<br />

11 95 0.0 0.0 60.5<br />

12 105 0.0 0.0 ---<br />

Dimensi<strong>on</strong>less moisture c<strong>on</strong>tent<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

0 5 15 25 35 45 55 65 75 85 95 105<br />

Time (min)<br />

Cycle<br />

Phase<br />

Fig. 4 Dimensi<strong>on</strong>less moisture c<strong>on</strong>tent Vs Time (min)<br />

Dry ing rate g /m in<br />

Sample temperature ( o C)<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

0 5 15 25 35 45 55 65 75 85 95 105<br />

Time (min)<br />

Fig. 5: Drying rate (g/min) Vs Time (min)<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

0 5 15 25 35 45 55 65 75 85 95<br />

Time (min)<br />

Cycle<br />

Phase<br />

Cycle<br />

Phase<br />

Fig. 6 Temperature variati<strong>on</strong> ( 0 C) Vs Time (min)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 455


Proceedings of ICCNS 08 , 27-28 September 2008<br />

D i m e n ti o n l e s s m o i s tu r e c o n te n ts<br />

Dry in g rate (g /m in )<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

1.2<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

1<br />

0<br />

25 34 60 70 68 62 61 61 61 61 61 61<br />

Sample Temperature ( 0 C)<br />

25 34 60 70 68 62 61 61 61 61 61 61<br />

Sample Temperature ( 0 C)<br />

Cycle<br />

Cycle<br />

Phase<br />

Phase<br />

Fig. 7 Dimensi<strong>on</strong>less moisture c<strong>on</strong>tent Vs Sample<br />

Temperature ( 0 C)<br />

Fig. 8 Drying rate (g/min) Vs Sample<br />

Temperature ( 0 C)<br />

Higher drying rate is obtained during cycle<br />

c<strong>on</strong>trolled microwave applicator process as<br />

compared to phase c<strong>on</strong>trolled microwave applicator<br />

drying process. The temperature curve during cycle<br />

c<strong>on</strong>trolled microwave applicator drying could be<br />

roughly spited into three different z<strong>on</strong>es. In first<br />

z<strong>on</strong>e the temperature rose, first sharply <strong>and</strong> then<br />

gradually, to reach a peak value <strong>and</strong> then decreased<br />

to c<strong>on</strong>stant temperature.<br />

The material temperature dropped slowly after<br />

reaching maximum value followed by a steady<br />

temperature period. As shown in drying rate curves,<br />

the first <strong>and</strong> sec<strong>on</strong>d temperature z<strong>on</strong>es corresp<strong>on</strong>d<br />

to the c<strong>on</strong>stant drying rate regi<strong>on</strong> where most<br />

moisture loss occurred. Two distinct z<strong>on</strong>es were<br />

observed in temperature curve. During phasec<strong>on</strong>trolled<br />

mode a gradual temperature rising z<strong>on</strong>e<br />

followed by a stable temperature z<strong>on</strong>e, the z<strong>on</strong>e<br />

nearly matches the c<strong>on</strong>stant drying regi<strong>on</strong>. Where<br />

as, during cycle-c<strong>on</strong>trolled mode there is fast<br />

increase in temperature above stable z<strong>on</strong>e, then it<br />

decreases slightly <strong>and</strong> comes to stable temperature<br />

z<strong>on</strong>e. Plots for drying time <strong>and</strong> drying temperature<br />

Vs drying rate & dimensi<strong>on</strong>less moisture c<strong>on</strong>tent<br />

respectively are identical.<br />

5. CONCLUSION<br />

During microwave drying of turmeric cubes, the<br />

drying rate of cycle-c<strong>on</strong>trolled drying is faster /<br />

higher than phase-c<strong>on</strong>trolled drying.<br />

More accurate temperature c<strong>on</strong>trol<br />

could be realized using phase-c<strong>on</strong>trolled<br />

mode compared to cycle c<strong>on</strong>trolled mode.<br />

In both the drying modes, the drying<br />

time increases with decrease in microwave<br />

power.<br />

The product color <strong>and</strong> sensory<br />

attributes were not affected by power<br />

c<strong>on</strong>trolled method.<br />

Process resulted as uniform heating<br />

<strong>and</strong> drying.<br />

ACKNOWLEDGEMENT<br />

The authors thank their colleagues from College<br />

of Engineering, Malega<strong>on</strong> (Bk) Baramati for<br />

encouraging publishing the paper & University of<br />

Pune for the financial support for the project.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 456


Proceedings of ICCNS 08 , 27-28 September 2008<br />

.<br />

REFERENCES<br />

[1] Barbosa-Canovas, G. V. Vega-Mercado. “Dehydrati<strong>on</strong> of foods”. New-York, N.Y: <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Thoms<strong>on</strong> publishing, 1996.<br />

[2] Beaudry C “Evaluati<strong>on</strong> of drying methods <strong>on</strong> osmotically dehydrated cranberries”. MS Thesis. M<strong>on</strong>treal QC: McGill University,<br />

Department of Agriculture <strong>and</strong> Biosystem Engineering. 2001<br />

[3] Brown, A. H., W. B. VanArsdel, E. Lowe “Drying methods <strong>and</strong> driers”. In food Dehydrati<strong>on</strong>, Vol-II. Edited by W.B.V. Arsdel, M.<br />

J. Copley. Westport, C<strong>on</strong>necticut: The AVI Publishing company, INC, 1964.<br />

[4] Dorin Bolder, Temperature c<strong>on</strong>trol of the c<strong>on</strong>tinuous peanut drying process using Microwave Technology, Ph.D. thesis-2003.<br />

[5] J. Whole, “Microwave Technology <strong>and</strong> Applicati<strong>on</strong>s” Transacti<strong>on</strong> of the <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Microwave Power Institute, Vol-1. Clift<strong>on</strong><br />

Vargini 1973-10 pp 40-61.<br />

[6] Jayarama, K. S. <strong>and</strong> D.K.D. Gupta. “Drying of fruits <strong>and</strong> vegetables”. H<strong>and</strong>book of Industrial drying, 2 nd editi<strong>on</strong> Vol.1. Edited by<br />

A. S. Mujumdar, chapter 21, 1995.<br />

[7] Liang L., Z.Mao, Y. Cheng, “Study <strong>on</strong> the Applicati<strong>on</strong> of freeze-drying <strong>and</strong> microwave drying to flowers.” ASAE paper No.<br />

036075 St. Joseph, Mich.: ASAE, 2003.<br />

[8] Sanga, E., A. S. Mujamdar <strong>and</strong> G. S. V. Raghavan, “Principals <strong>and</strong> applicati<strong>on</strong> of Microwave Drying”. In: Drying technology in<br />

agriculture <strong>and</strong> food sciences. Edited by A. S. Mujumdar. Enfiled N. H.: Science publishers. Inc. 2000.<br />

[9] Sunjka P. S “Microwave / Vacuum <strong>and</strong> osmotic drying of cranberries”. M S Thesis. M<strong>on</strong>treal QC: Mc Grill University department<br />

of Agriculture <strong>and</strong> Biosystem Engineering, 2003.<br />

[10] Tulsidas, T. N. “Combined c<strong>on</strong>vective <strong>and</strong> microwave drying of grapes. Ph.D. thesis, M<strong>on</strong>treal QC: McGill University:<br />

Departmental of Agriculture Engineering. 1994.<br />

[11] Venkatachalapathy, K “Combined osmotic <strong>and</strong> microwave drying of strawberries <strong>and</strong> bluebarries”. Ph.D. Thesis. M<strong>on</strong>treal, QC:<br />

McGill University Department Agriculture <strong>and</strong> Biosystems Engineering. 1998.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 457


Proceedings of ICCNS 08 , 27-28 September 2008<br />

LFSR implementati<strong>on</strong> in CMOS VLSI<br />

Mrs Doshi N.A, Dhobale S.B, Kakade S.R.<br />

Abstract— As chip manufacturing technology is<br />

suddenly <strong>on</strong> the threshold of major evaluati<strong>on</strong>, which<br />

shrinks chip in size <strong>and</strong> performance, LFSR (Linear<br />

Feedback Shift Register) is implemented in layout level<br />

which develops the low power c<strong>on</strong>sumpti<strong>on</strong> chip, using<br />

recent CMOS, sub-micrometer layout tools. Thus LFSR<br />

counter can be a new trend setter in cryptography <strong>and</strong> is<br />

also beneficial as compared to GRAY & BINARY<br />

counter <strong>and</strong> variety of other applicati<strong>on</strong>s.<br />

This paper compares 3 architectures in terms of the<br />

hardware implementati<strong>on</strong>, CMOS layout <strong>and</strong> power<br />

c<strong>on</strong>sumpti<strong>on</strong>, using Microwind CMOS layout tool. Thus<br />

it provides soluti<strong>on</strong> to a low power architecture<br />

implementati<strong>on</strong> of LFSR in CMOS VLSI.<br />

Keywords - Chip technology, Layout level, LFSR,<br />

Pass transistor.<br />

I. INTRODUCTION<br />

WITH advancements in large scale integrati<strong>on</strong>,<br />

milli<strong>on</strong>s of transistors can be placed <strong>on</strong> a single<br />

chip for implementati<strong>on</strong> of complex circuitry. As a<br />

result of placing so many transistors in such a<br />

small space, major problems of heat dissipati<strong>on</strong><br />

<strong>and</strong> power c<strong>on</strong>sumpti<strong>on</strong> have come into the<br />

picture. Research has been c<strong>on</strong>ducted to solve<br />

these problems. Soluti<strong>on</strong>s have been proposed to<br />

decrease the power supply voltage, switching<br />

frequency <strong>and</strong> capacitance of transistor [1] LFSR<br />

is used in a variety of applicati<strong>on</strong>s such as Builtin-self<br />

test (BIST) [2], cryptography, error<br />

correcti<strong>on</strong> code <strong>and</strong> in field of communicati<strong>on</strong> for<br />

generating pseudo-noise sequences. In<br />

cryptography it is used to generate public <strong>and</strong><br />

private keys. Hence <strong>on</strong>e of the low power<br />

architecture is proposed in this paper.<br />

Today LFSR’s are present in nearly every<br />

coding scheme as they produce sequences with<br />

good statistical properties, <strong>and</strong> they can be easily<br />

analyzed. Moreover they have a low-cost<br />

realizati<strong>on</strong> in hardware.<br />

Counters such as Binary, Gray suffer problem<br />

of power c<strong>on</strong>sumpti<strong>on</strong>, glitches, speed, <strong>and</strong> delay<br />

because they are implemented with techniques<br />

which have above drawbacks. They produce not<br />

<strong>on</strong>ly glitches, which increase power c<strong>on</strong>sumpti<strong>on</strong><br />

but also complexity of design. The propagati<strong>on</strong><br />

delay of results of existing techniques is more<br />

which reduces speed & performance of system.<br />

Thus we are going to implement these counters<br />

with techniques using different technologies of<br />

CMOS. By studying different implementati<strong>on</strong><br />

techniques, we c<strong>on</strong>clude to implement LFSR<br />

counters with pass transistor in cryptography.<br />

Unlike most everyday devices whose inputs <strong>and</strong><br />

operati<strong>on</strong>s are effectively predefined, VLSI chips<br />

must be able to react to a c<strong>on</strong>stantly changing<br />

envir<strong>on</strong>ment.<br />

For layout <strong>and</strong> simulati<strong>on</strong> at deep submicr<strong>on</strong><br />

CMOS design tool Micro wind is used. Software<br />

implementati<strong>on</strong>s will be c<strong>on</strong>sidered for further<br />

hardware implementati<strong>on</strong>.<br />

II. LFSR<br />

LFSR is a shift register whose input bit is a<br />

linear functi<strong>on</strong> unlike most everyday devices<br />

whose inputs <strong>and</strong> operati<strong>on</strong>s are effectively<br />

predefined, It is a shift register that, when clocked<br />

moves the signal through the register from <strong>on</strong>e flip<br />

flop to next. Some of the outputs are combined in<br />

exclusive-OR c<strong>on</strong>figurati<strong>on</strong> to form a feedback<br />

mechanism. A LFSR can be formed by<br />

performing exclusive-OR <strong>on</strong> the outputs of two or<br />

more of the flip-flops together <strong>and</strong> feeding those<br />

outputs back into the input of <strong>on</strong>e of the flip flops<br />

as shown in Fig. 1.<br />

Fig 1 Block diagram of LFSR<br />

The initial value of the LFSR is called the seed,<br />

<strong>and</strong> because the operati<strong>on</strong> of the register is<br />

deterministic, the sequence of values produced by<br />

the register is completely determined by its current<br />

(or previous) state. Likewise, because the register<br />

has a finite number of possible states, it must<br />

eventually enter a repeating cycle. However, a<br />

LFSR with a well-chosen feedback functi<strong>on</strong> can<br />

produce a sequence of bits which appears r<strong>and</strong>om<br />

in nature & which has a very l<strong>on</strong>g cycle.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 458


Proceedings of ICCNS 08 , 27-28 September 2008<br />

A. Working<br />

The list of bits positi<strong>on</strong> that affects the next state<br />

is called the tap sequence. In block diagram, the<br />

sequence is [4, 3]<br />

The outputs that influence the input are called<br />

taps. A maximal LFSR produces an n-sequence<br />

(i.e. cycles through all possible 2 n -1 states within<br />

the shift register except the state where all bits are<br />

zero), unless it c<strong>on</strong>tains all zeros, in which case it<br />

will never change. The sequence of numbers<br />

generated by a LFSR can be c<strong>on</strong>sidered a binary<br />

numeral system just as valid as Gray code or the<br />

natural binary code.<br />

Clock<br />

pulse<br />

TABLE I<br />

PATTERN GENERATED BY LFSR<br />

FF1 OUT FF2 OUT FF3 OUT FF4 OUT<br />

1 0 1 1 1<br />

2 0 0 1 1<br />

3 0 0 0 1<br />

4 1 0 0 0<br />

5 0 1 0 0<br />

6 0 0 1 0<br />

7 1 0 0 1<br />

8 1 1 0 0<br />

9 0 1 1 0<br />

10 1 0 1 1<br />

11 0 1 0 1<br />

13 1 0 1 0<br />

14 1 1 0 1<br />

15 1 1 1 0<br />

16 1 1 1 1<br />

17 0 1 1 1<br />

FF1 OUT-output of flip flop 1, FF2 OUT-output<br />

of flip flop 2, FF3 OUT-output of flip flop 3, FF4 OUT-output<br />

of flip flop 4<br />

or 0's. This is called the feedback polynomial or<br />

characteristic polynomial. For example: if the taps<br />

are at the 3rd, 4th, bits the resulting LFSR<br />

polynomial is X 4 + x 3 +1.<br />

The '1' in the polynomial does not corresp<strong>on</strong>d to<br />

a tap. The powers of the terms represent the<br />

tapped bits, counting from the left.<br />

If (<strong>and</strong> <strong>on</strong>ly if) this polynomial is a primitive,<br />

then the LFSR is maximal. The LFSR will <strong>on</strong>ly be<br />

maximal if the number of taps is even . The tap<br />

values in a maximal LFSR will be relatively prime<br />

There can be more than <strong>on</strong>e maximal tap sequence<br />

for a given LFSR length. Its output for the various<br />

c<strong>on</strong>diti<strong>on</strong> of input is expressed in Table [I].<br />

III. DESIGN ASPECTS<br />

We have designed CMOS layout of LFSR<br />

Counter .The logic hardware c<strong>on</strong>tains D Flip Flop,<br />

2-input OR gate, 2 input XOR gate <strong>and</strong> inverters.<br />

The most important comp<strong>on</strong>ent of our LFSR<br />

Counter Design is D Flip Flop. We have designed<br />

D-flip flop by using following different<br />

comp<strong>on</strong>ents<br />

• N<strong>and</strong> Gates.<br />

• Transmissi<strong>on</strong> gates <strong>and</strong><br />

inverter.<br />

• Pass transistors.<br />

A. Design of D Flip Flop<br />

The latches <strong>and</strong> flip flops are the basic building<br />

blocks of sequential circuits. In ASIC design<br />

envir<strong>on</strong>ments, latches <strong>and</strong> flip flops are typically<br />

predefined cells specified by the ASIC vendor.<br />

The D Flip Flop is negative edge triggered. The<br />

D Flip Flop combines a pair of D latches (Master<br />

<strong>and</strong> slave). The edge-triggered D Flip Flop has a<br />

setup <strong>and</strong> hold-up time window during which the<br />

D inputs must not change. The negative edge<br />

triggered D Flip Flop simply inverts the clock<br />

input, so that all the acti<strong>on</strong> takes place <strong>on</strong> falling<br />

edge of CLK.<br />

By designing D Flip Flop, we compare the<br />

Power C<strong>on</strong>sumpti<strong>on</strong>; from this we decide the most<br />

efficient D Flip Flop implementati<strong>on</strong>.<br />

B. Design of D Flip Flop using NAND gate.<br />

The basic c<strong>on</strong>structi<strong>on</strong> of the Master Slave D<br />

Flip Flop is shown in Fig. 2.<br />

The tap sequence of an LFSR can be<br />

represented as a polynomial mod 2. This means<br />

that the coefficients of the polynomial must be 1's<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 459


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig 4: D Flip Flop using pass transistors<br />

Fig 2: D Flip Flop using NAND gates<br />

C. Design of D Flip Flop using TRANSMISSION<br />

GATE<br />

From Fig. 3, at the negative edge of the<br />

clk(clock), transistors T1 <strong>and</strong> T4 are ON <strong>and</strong><br />

transistors T2 <strong>and</strong> T3 are OFF. During this time<br />

the slave maintains a loop through two inverters<br />

I3, I4 <strong>and</strong> T4. Thus the previous triggered value<br />

from Din is stored in slave. At the same time<br />

master latches next state but as T3 is OFF it is<br />

not passed to slave.<br />

At the positive clock edge T2 <strong>and</strong> T3 are<br />

turned ON <strong>and</strong> new latched value passes to slave<br />

through the loop of two inverters I1, I2 <strong>and</strong> T2.<br />

When we want to reset the circuit, both the<br />

master <strong>and</strong> slave loops are pulled down to<br />

ground.<br />

IV. LAYOUT ASPECTS<br />

Layout-level envir<strong>on</strong>ments exist primarily for<br />

the generati<strong>on</strong> of final manufacturing<br />

specificati<strong>on</strong>s.<br />

A. Layout of D FLIP FLOP<br />

Before implementing the whole circuit, a gatelevel<br />

schematic in DSCH3 is generated. DSCH3<br />

program is a logic editor <strong>and</strong> simulator used to<br />

validate the architecture of logical circuit, before<br />

microelectr<strong>on</strong>ics started. It provides user friendly<br />

envir<strong>on</strong>ment for hierarchical logic design <strong>and</strong> fast<br />

simulati<strong>on</strong> with delay analysis, which allows<br />

design <strong>and</strong> validati<strong>on</strong> of complex logic structures.<br />

After successful simulati<strong>on</strong> we implemented the<br />

above designs of D Flip Flop with different<br />

comp<strong>on</strong>ents using Microwind 3.1 CMOS layout<br />

tool for its ease of use <strong>and</strong> availability. The result<br />

of the implementati<strong>on</strong> is detailed below.<br />

a. D Flip Flop layout using NAND GATE<br />

Layout of LFSR counter in which D Flip flop is<br />

implemented using NAND gates is as shown in<br />

Fig. 5.<br />

Fig 3: D Flip Flop using transmissi<strong>on</strong> gate<br />

D. Design of D Flip Flop using PASS TRANSISTOR<br />

The most compact implementati<strong>on</strong> of edge trigger<br />

latch is is based <strong>on</strong> inverters <strong>and</strong> pass transistors as<br />

shown in fig.4 The two chained inverters are in<br />

memory state when the PMOS loop transistor is <strong>on</strong>,<br />

that is when clock = 0. Other two chain inverters <strong>on</strong><br />

the right h<strong>and</strong> acts in opposite way, <strong>and</strong> the reset<br />

functi<strong>on</strong> is obtained by direct ground c<strong>on</strong>necti<strong>on</strong> of<br />

the master <strong>and</strong> slave memories, using NMOS devices.<br />

Fig 5: Layout of D Flip Flop using NAND gate<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 460


Proceedings of ICCNS 08 , 27-28 September 2008<br />

b. D Flip Flop layout using TRANSMISSION<br />

GATE<br />

Layout of LFSR counter in which D Flip flop is<br />

implemented using transmissi<strong>on</strong> gates is as shown<br />

Fig 6.<br />

Fig 7: Layout of D Flip Flop using Pass transistor<br />

B. Result of LFSR layout implementati<strong>on</strong>-<br />

Fig 6: Layout of D Flip Flop using Transmissi<strong>on</strong> gate.<br />

C. D Flip Flop layout using PASS TRANSISTOR<br />

Layouts of LFSR counter in which D Flip Flop<br />

is implemented using transmissi<strong>on</strong> gates is as<br />

shown Fig. 7.<br />

In Table [II] <strong>and</strong> [III] we have compared the<br />

LFSR layouts .The layouts are implemented in<br />

120 nm <strong>and</strong> 90 nm technology respectively. The<br />

various parameters because of different<br />

technologies <strong>and</strong> D Flip Flop design is tabulated<br />

for further c<strong>on</strong>clusi<strong>on</strong> <strong>and</strong> CMOS layout using<br />

pass transistors is as shown in Fig. 8.<br />

Fig. 8: Layout of LFSR in microwind<br />

Compo<br />

nents<br />

TABLE II<br />

LFSR IN 90 nm TECNOLOGY<br />

No. of<br />

transistor<br />

Power<br />

C<strong>on</strong>sumpti<strong>on</strong><br />

(microwatt)<br />

Max<br />

frequency<br />

(GHz)<br />

Layout<br />

Area<br />

(micro sq.<br />

meter)<br />

Compo<br />

nents<br />

TABLE III<br />

LFSR IN 120 nm TECNOLOGY<br />

No. of<br />

transistor<br />

Power<br />

C<strong>on</strong>sumpti<strong>on</strong><br />

(microwatt)<br />

Max<br />

frequency<br />

(GHz)<br />

Layout<br />

Area<br />

(micro sq.<br />

meter)<br />

NAND 148 106.0 1.96 295<br />

NAND 148 169 1.78 224.8<br />

Transmiss<br />

i<strong>on</strong> Gate<br />

86 99.6 1.7 270<br />

Transmiss<br />

i<strong>on</strong> Gate<br />

86 155 1.8 390.1<br />

Pass<br />

transistor<br />

68 28.188 1.4 321<br />

Pass<br />

Transistor<br />

68 50.471 1.814 460<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 461


Proceedings of ICCNS 08 , 27-28 September 2008<br />

V. COMPARISON OF LFSR AND GRAY<br />

COUNTER LAYOUT-<br />

From Table [II] <strong>and</strong> [III] it is clear that LFSR is<br />

optimally implemented layout when compared<br />

with layout of gray counter. A layout of both<br />

counters is implemented using 120 nm <strong>and</strong> 90 nm<br />

technology. From the layouts various critical<br />

parameters are tabulated in Table [IV].<br />

TABLE IV<br />

GRAY COUNTER IN 90nm AND 120nm TECHNOLOGY.<br />

Tech No. of<br />

nology transistor<br />

Power<br />

C<strong>on</strong>sumpti<strong>on</strong><br />

(microwatt)<br />

Max<br />

frequency<br />

(GHz)<br />

Layout<br />

Area<br />

(micro sq.<br />

meter)<br />

90nm 188 40.25 0.756 949.6<br />

120nm 188 132 3 1367.5<br />

VI. CONCLUSION<br />

This paper c<strong>on</strong>cludes that LFSR counter<br />

is best implemented using the pass transistors. In<br />

this the number of transistors required is minimum<br />

i.e. 19, power c<strong>on</strong>sumpti<strong>on</strong> is 28.188 micro watt ,<br />

Max operating frequency is 1.4 GHz, layout size<br />

area is 321 micro sq. meter. Thus it is preferable<br />

over Gray counters in maintaining the logic<br />

density in fabricati<strong>on</strong> process, power optimizati<strong>on</strong>,<br />

reducing the propagati<strong>on</strong> delay & glitches.<br />

Thus LFSR implemented in CMOS chip<br />

technology, is the best illustrati<strong>on</strong> of VLSI.<br />

[7] “LFSR Layout” Advance VLSI Design, Dept of Elect<br />

Engg.University of Houst<strong>on</strong><br />

[8] A Project report of“4017 CMOS LED CHASERCOUNTER”<br />

Layout in Cadence by Arshdeep Singh, Oscar Servin, Edward<br />

Lee, Lutfi Bustami.<br />

[9] A White Paper <strong>on</strong> “Linear Feedback Shift Registers <strong>and</strong> Cyclic<br />

Codes” in SAGE Timothy Brian Brock.<br />

[10]A white Paper <strong>on</strong> “Deterministic Built-in Test Pattern<br />

Generati<strong>on</strong> for High-Performance Circuits Using Twisted-<br />

Ring Counters” by Krishnendu Chakrabarty,Brian T. Murray,<br />

<strong>and</strong> Vikram Iyengar.<br />

[11]Kazuo Yano,” Top down pass-Transistor Logic Design,”<br />

IEEE Journal of solid-state circuits, vol-31,No-6, june 1996.<br />

[12]Kazuo Yano,” A 3.8 CMOS 16 * 16 –b multiplier using<br />

complementary pass-transistor Logic” IEEE Journal of solidstate<br />

circuits, vol-25,No-2, April 1990.<br />

[13] “Micro wind User Manual”<br />

[14] Advanced CMOS Cell Design” by Etienne Sicard, & S<strong>on</strong>ia<br />

Delmas Bendhia.<br />

REFERENCES<br />

[1] A circuits & systems perspective “CMOS VLSI<br />

design” by Neil Weste, Harris & Banerjee.<br />

[2] “Basic CMOS Cell Design” by Etienne Sicard & S<strong>on</strong>ia<br />

Delmas Bendhia.<br />

[3] “CMOS Digital Integrated Circuits-Analysis <strong>and</strong> design” by<br />

Sung-MO Kang & Yusuf Leblebici.<br />

[4] “Digital Design-Principles <strong>and</strong> Practices” by John F.<br />

Wakerly<br />

[5] “Principles &Applicati<strong>on</strong>s of CMOS Logic” by Neil<br />

Weste & Karmran.<br />

[6]James L. Massey, “On the Shift register Synthesis & BCH<br />

Decoding”, IEEE Trans. Inform. Theory, vol. IT-15, n. 1,<br />

pp. 122-127, Jan 1969.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 462


BOOLEAN FUNCTIONS REALIZED USING<br />

QUANTUM GATES WITH TWO LEVEL<br />

IMPLEMENTATION<br />

Pijush Kanti Bhattacharjee<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract—This paper introduces a new c<strong>on</strong>cept to realize<br />

universal Boolean functi<strong>on</strong>s i.e. thirteen st<strong>and</strong>ard Boolean functi<strong>on</strong>s<br />

by N<strong>and</strong>-Nor-Inverter (NNI) gate <strong>and</strong> Majority Voter gate based <strong>on</strong><br />

nano technology QCA structure in an area efficient way. The<br />

proposed 3-inputs QCA gate is referred to as the Majority Voter as<br />

MV(A, B, C) = AB + BC +CA <strong>and</strong> N<strong>and</strong>-Nor-Inverter gate as<br />

NNI(A,B,C) = MV(A′,B,C′) = A′B+BC′+C′A′. The functi<strong>on</strong>al<br />

completeness of NNI is described with the realizati<strong>on</strong> of logical<br />

NAND, NOR <strong>and</strong> Inverter functi<strong>on</strong>s. I propose an algorithm that the<br />

experimental data for implementing all the thirteen st<strong>and</strong>ard Boolean<br />

functi<strong>on</strong>s using NNI <strong>and</strong> MV gates leads an effective logic area<br />

saving design. To avoid inverter or NOT gate, all the thirteen<br />

st<strong>and</strong>ard functi<strong>on</strong>s are c<strong>on</strong>verted to its equivalent from in such a way<br />

that it is at least NNI gate compatible without any complemented<br />

literal towards the goal of an area efficient design.<br />

Keywords—Quantum-dot Cellular Automata (QCA), Majority<br />

Voter or gate (MV), And-Or-Inverter (AOI) gate, NOT or Inverter<br />

gate, N<strong>and</strong>-Nor-Inverter (NNI) gate, QCA tile.<br />

I. INTRODUCTION<br />

The CMOS technology will reach to its fundamental limit in<br />

dimensi<strong>on</strong> [1]. The researchers are looking for a radically new<br />

technology under the name of nano technology. Quantum-dot<br />

cellular automata (QCA) [2] – [6], [12]-[20] appear to be the<br />

promising technology for future generati<strong>on</strong> ICs. Such a<br />

technology is expected to achieve a density of 10 12<br />

devices/cm 2 with operating speed in the order of THz.<br />

A number of approaches, targeting design <strong>and</strong> synthesis of<br />

QCA based logic circuits, have been reported in [4]-[9], [16]-<br />

[20]. I use Karnaugh maps for majority reducti<strong>on</strong>. First of all,<br />

a Karnaugh-map (K-map) representing the desired sum of<br />

product (SOP) formulating 3-inputs <strong>and</strong> 1-output Boolean<br />

functi<strong>on</strong> is c<strong>on</strong>structed. Then I combine the K-map into a<br />

representati<strong>on</strong> of two or more majority voter’s functi<strong>on</strong>s in<br />

order to replicate the desired K-maps.<br />

Pijush Kanti Bhattacharjee is an Assistant Professor in the Department of<br />

Electr<strong>on</strong>ics <strong>and</strong> Communicati<strong>on</strong> Engineering, Haldia Institute of Technology,<br />

Haldia, Dist-Purba Medinipur, West Bengal, Pin-721657, India. He was Ex<br />

Asssitant Director in the Department of Telecommunicati<strong>on</strong>s (DoT),<br />

Government of India, India. He has possessed vast working experience in the<br />

field of Telecommunicati<strong>on</strong>s including Mobile Communicati<strong>on</strong>s, VLSI etc<br />

last 28 years. (Ph<strong>on</strong>e No: +91-33-25954148, 9432166768, Fax No: +91-3224-<br />

252800, 253062, Email: pijushbhatta@hotmail.com)<br />

This procedure gives a two level majority gate circuit<br />

implementing the desired functi<strong>on</strong>. The fundamental unit of<br />

such designs is the 3-inputs majority gate or majority voter.<br />

However, the 3-inputs majority voter or gate, MV(A, B, C) =<br />

Maj(A, B, C) = AB + BC + CA, is not a universal gate. It can<br />

not realize the logical NOT operati<strong>on</strong>. The designers have to<br />

c<strong>on</strong>sider separate costly QCA cell arrangements for realizati<strong>on</strong><br />

of the logical NOT. All Boolean functi<strong>on</strong>s are c<strong>on</strong>fined or<br />

simplified by thirteen st<strong>and</strong>ard Boolean functi<strong>on</strong>s [2]-[6], [9]-<br />

[14]. So, to implement all the thirteen st<strong>and</strong>ard Boolean<br />

functi<strong>on</strong>s using 3-inputs majority voter needs additi<strong>on</strong>al NOT<br />

for inverter functi<strong>on</strong>ality. In this way two level<br />

implementati<strong>on</strong> of these st<strong>and</strong>ard functi<strong>on</strong>s do not give a<br />

c<strong>on</strong>vincible soluti<strong>on</strong>.<br />

In [10], Momenzadeh et. al. reported a c<strong>on</strong>figurati<strong>on</strong> with<br />

seven carefully arranged cells to realize the 5-inputs AOI<br />

(And-Or-Inverter) logic. Functi<strong>on</strong>ally, it is a combinati<strong>on</strong> of<br />

two majority gates <strong>and</strong> <strong>on</strong>e of these majority gates works <strong>on</strong><br />

complemented inputs. The careful arrangement of cells in AOI<br />

dem<strong>and</strong>s proper separati<strong>on</strong> of input or output wires so that<br />

these do not interfere each other. Therefore, the AOI structure<br />

is pr<strong>on</strong>e to unreliable implementati<strong>on</strong> of functi<strong>on</strong>al logic. The<br />

techniques to realize quantum-dot cellular automata have been<br />

proposed in [5], [11], [20]. The focus <strong>on</strong> molecular<br />

implementati<strong>on</strong>s [12] is the recent development in QCA<br />

manufacturing. Modular QCA blocks [13], [14] are c<strong>on</strong>sidered<br />

to be well suited for molecular implementati<strong>on</strong>s. A tile based<br />

approach (3 X 3 grids) [15] has also been reported. Though<br />

this as well offers versatile logic <strong>and</strong> interc<strong>on</strong>necti<strong>on</strong><br />

functi<strong>on</strong>s- that is, majority gate, wire, fanout etc. However, the<br />

AOI proposed in [10] <strong>and</strong> NOT c<strong>on</strong>figurati<strong>on</strong> is difficult to<br />

realize with the c<strong>on</strong>venti<strong>on</strong>al tile structures.<br />

In Fig. 1, a QCA cell <strong>and</strong> its binary logic are shown, the<br />

energetically positi<strong>on</strong> of the diag<strong>on</strong>al electr<strong>on</strong>s identifies the<br />

binary logic 0 or 1. This phenomen<strong>on</strong> is useful in nano<br />

technology which affects high resoluti<strong>on</strong> fast electr<strong>on</strong>ic<br />

circuits. In this power c<strong>on</strong>sumpti<strong>on</strong> for changing the charge of<br />

electr<strong>on</strong> is very much less compare to that of general charge<br />

carriers (hole-electr<strong>on</strong>) electr<strong>on</strong>ic comp<strong>on</strong>ents. A QCA Cell<br />

with its binary logic creates a new directi<strong>on</strong> in nano<br />

technology [1]-[9]. It requires minimum current or energy<br />

to change any state i.e. previous state. Thus, a minimum<br />

recurring cost is effective in this QCA gates which is<br />

highly applicable in super fast processors. Also power or<br />

heat dissipati<strong>on</strong>, electro magnetic wave radiati<strong>on</strong> etc are<br />

very much less in QCA based gates.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 463


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 3. QCA Majority Voter (MV) Gate<br />

Fig. 1. A QCA cell <strong>and</strong> its binary logic<br />

The above scenario dem<strong>and</strong>s investigati<strong>on</strong> of new structures<br />

realizing the universal quantum gates. In the current work, I<br />

use <strong>on</strong>e such gate with an arrangement of five QCA cells,<br />

called N<strong>and</strong>-Nor-Inverter gate i.e. NNI(A, B, C) = MV(A′, B,<br />

C′) = A′B+BC′+C′A′. The realizati<strong>on</strong> of st<strong>and</strong>ard Boolean<br />

functi<strong>on</strong>s with the network of NNI gate or MV with NNI gates<br />

(MV+NNI) together proves that the area required for an NNI<br />

based implementati<strong>on</strong> is comparatively lesser than that of MV<br />

with NOT (MV+NOT) <strong>and</strong> AOI based implementati<strong>on</strong>s. The<br />

next secti<strong>on</strong> (Secti<strong>on</strong> II) provides the fundamental c<strong>on</strong>cepts of<br />

quantum dot cellular automata. In Secti<strong>on</strong> III, the algorithm to<br />

implement two level implementati<strong>on</strong> of thirteen st<strong>and</strong>ard<br />

functi<strong>on</strong>s is explored using universal gate structure with NNI.<br />

An effective area for a particular functi<strong>on</strong> using QCA gates<br />

like MV, MV with NOT (MV+NOT), MV with NNI<br />

(MV+NNI), NNI with MV (NNI+MV), NNI etc are<br />

investigated under Secti<strong>on</strong> IV. In Secti<strong>on</strong> V, the st<strong>and</strong>ard<br />

Boolean functi<strong>on</strong>s are logically designed with NNI <strong>and</strong> MV<br />

gates, NNI gates al<strong>on</strong>e without any complemented literals to<br />

have the minimum area <strong>and</strong> the maximum speed specificati<strong>on</strong>.<br />

The electr<strong>on</strong>s can quantum mechanically tunnel am<strong>on</strong>g the<br />

dots but cannot come out from the cell. It settles either in<br />

polarizati<strong>on</strong> P = -1 or in P = +1 (Fig. 1(b)) representing the<br />

logic value “0” or “1” respectively. The QCA logic elements<br />

[1]-[8] include a QCA wires are shown in Fig. 2. The basic<br />

structure realized with QCA is the majority gate or majority<br />

voter (Fig. 3). The majority voter is expressed as MV(A, B, C)<br />

= Maj(A, B, C) = AB + BC + CA, outputs ‘1’ if there are two<br />

or more 1s in an input pattern. The classical AND <strong>and</strong> OR<br />

gates can be realized with the majority gate by fixing an input<br />

as 0 <strong>and</strong> 1 respectively. The majority gate is not a universal<br />

gate. It can not realize the logical NOT operati<strong>on</strong>. The<br />

functi<strong>on</strong>ally complete set is {MV, NOT}. Therefore, the<br />

designers have to use separate QCA cell arrangements for<br />

realizati<strong>on</strong> of the logical NOT. The 5-inputs (A, B, C, D <strong>and</strong><br />

E) AOI [10] gate (Fig. 4) with embedded AND, OR <strong>and</strong> INV<br />

functi<strong>on</strong>s has been proposed to provide the universal gate<br />

functi<strong>on</strong>. However, the AOI suffers from the limitati<strong>on</strong> of<br />

proper separati<strong>on</strong> of input or output binary wires – that is, in<br />

fixing the distances d 1 , d 2 <strong>and</strong> d 3 of Fig. 4.<br />

II. QUANTUM DOT CELLULAR AUTOMATA<br />

A quantum dot is a regi<strong>on</strong> where an electr<strong>on</strong> may be<br />

quantum mechanically c<strong>on</strong>fined or localized (Fig. 1(a)). A<br />

quantum cell c<strong>on</strong>sists of four dots, positi<strong>on</strong>ed at the four<br />

corners of a square <strong>and</strong> c<strong>on</strong>tains two extra electr<strong>on</strong>s.<br />

Fig. 4. QCA And-Or-Inverter (AOI) Gate.<br />

Fig. 2. Informati<strong>on</strong> propagating through QCA wires.<br />

Thus to implement MV with NOT functi<strong>on</strong>s, a new gate<br />

called N<strong>and</strong>-Nor-Inverter (NNI) is c<strong>on</strong>structed, where NNI(A,<br />

B, C) = MV(A', B, C') = A'B+B'C+C'A'. It is shown in Fig. 5.<br />

The NNI gate is a universal gate <strong>and</strong> can be employed for<br />

realizing versatile logic functi<strong>on</strong>s. It proves to be as effective<br />

as the AOI (And-Or-Inverter) gate <strong>and</strong> requires lesser<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 464


Proceedings of ICCNS 08 , 27-28 September 2008<br />

overhead, for setting the variables, than that of an AOI, while<br />

realizing the basic logic gates.<br />

f i = MV(A′, B′, C/0/1) = MV (A′, C/0/1, B′) =<br />

NNI(A, C/0/1, B). [C/0/1 means C or 0 or 1]<br />

(b) (ii) If in f i out of A, B, C, <strong>on</strong>ly <strong>on</strong>e variable is in<br />

complemented form <strong>and</strong> <strong>on</strong>e is 0 or 1; then the complemented<br />

literal <strong>and</strong> 0 or 1 are to be taken as the 1 st <strong>and</strong> 3 rd literals,<br />

keeping the uncomplemented literal or 0 or 1 as the 2 nd literal<br />

respectively in NNI c<strong>on</strong>versi<strong>on</strong>, i.e.<br />

f i = MV(A′, B/0/1, 1/0) = NNI(A, B/0/1, 0/1)<br />

(c) (i) If f i c<strong>on</strong>sists of all three uncomplemented variables i.e.<br />

f i = MV(A, B, C), then f i is unaltered or unchanged.<br />

Fig. 5. QCA N<strong>and</strong>-Nor-Inverter (NNI) Gate<br />

Any combinati<strong>on</strong> of the gates or all Boolean logical<br />

functi<strong>on</strong>s are realized by NNI (N<strong>and</strong>-Nor-Inverter) gate <strong>on</strong>ly.<br />

NNI gate ensures very less space comparing to that of the<br />

other gates like MV, AOI <strong>and</strong> inverter (NOT) gate<br />

In the next secti<strong>on</strong>, I propose an algorithm for implementing<br />

thirteen number st<strong>and</strong>ard Boolean functi<strong>on</strong>s using<br />

combinati<strong>on</strong> of NNI <strong>and</strong> MV gates, lastly with NNI gates<br />

al<strong>on</strong>e. Also all type of Boolean functi<strong>on</strong>s is c<strong>on</strong>fined within<br />

these thirteen st<strong>and</strong>ard Boolean functi<strong>on</strong>s.<br />

III. ALGORITHM FOR SYNTHESIS OF STANDARD BOOLEAN<br />

FUNCTIONS<br />

As I have expressed the limitati<strong>on</strong> of MV as well as AOI<br />

gate to implement two levels Boolean functi<strong>on</strong>, the difficulties<br />

are solved by using NNI gate <strong>and</strong> sometimes with MV gate in<br />

the following way.<br />

Input: F = X(f i , f i , f i ), where X is the main Majority Voter or<br />

MV functi<strong>on</strong> <strong>and</strong> f i = MV(A, B, C) or A or 0 or 1; Here A, B,<br />

C are in complemented or uncomplemented literals or<br />

variables.<br />

Step 1: Replace the complemented variables from MV<br />

functi<strong>on</strong> by employing N<strong>and</strong>-Nor-Inverter (NNI) functi<strong>on</strong>.<br />

The following steps are to be carried for c<strong>on</strong>verting<br />

complemented literals into uncomplemented or n<strong>on</strong><br />

complemented literals.<br />

(a) If functi<strong>on</strong> F is composed by having two<br />

[e.g. F = ABC+A′B′C+AB′C′+A′BC′<br />

or, F = MV(MV(A, B, C′), MV(A′, B, C), MV(A, B′, C))]<br />

uncomplemented <strong>and</strong> <strong>on</strong>e complemented variables in each<br />

MV functi<strong>on</strong>, the complemented variables can not be changed<br />

to uncomplemented variables in the main functi<strong>on</strong> either in<br />

MV(MV+NNI) or in NNI(MV+NNI) or in NNI(NNI) forms.<br />

Therefore, the main functi<strong>on</strong> is to be decomposed in the other<br />

suitable form. [above e.g. F = ABC+A′B′C+AB′C′+A′BC′<br />

F = MV(MV(A, B, C′), MV(A′, B, C), MV(B′, 0, 1))<br />

F = NNI(NNI(A, C, B), NNI(B, 0, 0), NNI(B, A, C))]<br />

(b) (i) If f i out of A, B, C, <strong>on</strong>ly two literals are in<br />

complemented form <strong>and</strong> <strong>on</strong>e is uncomplemented or 0 or 1, the<br />

complemented literals or variables are to be c<strong>on</strong>sidered as the<br />

1 st <strong>and</strong> 3 rd literals <strong>and</strong> the uncomplemented literal or 0 or 1 as<br />

the 2 nd literal respectively for NNI c<strong>on</strong>versi<strong>on</strong>, that is,<br />

(c) (ii) In the main Majority functi<strong>on</strong> (MV), if two f i functi<strong>on</strong>s<br />

c<strong>on</strong>tain all the three complemented variables; or two<br />

complemented variables with <strong>on</strong>e 0 or 1; or A′, then these<br />

functi<strong>on</strong>s are c<strong>on</strong>sidered as f 1 or f 3 <strong>and</strong> f 1 or f 3 are unchanged<br />

or unaltered, that is, f 1 /f 3 = MV(A′, B′, C′) or MV(A′, B′, 1/0)<br />

or A′.<br />

(c) (iii) If in f i , <strong>on</strong>e literal is complemented <strong>and</strong> the other two<br />

literals are uncomplemented or 0 or 1, then this f i is c<strong>on</strong>sidered<br />

as f 1 or f 3 . Uncomplemented literals or 0 or 1 are taken as the<br />

1 st <strong>and</strong> 3 rd terms <strong>and</strong> the complemented lietral as the 2 nd term<br />

<strong>on</strong>ly. Now f 1 <strong>and</strong> f 3 in MV functi<strong>on</strong>s are c<strong>on</strong>verted into NNI<br />

functi<strong>on</strong>s that c<strong>on</strong>tain all complemented terms or 0 or 1.<br />

If f 1 /f 3 = MV(A′, B/1/0, C/0/1) = MV(B/1/0, A′, C/0/1) =<br />

NNI(B′/0/1, A′, C′/1/0)<br />

Step 2: Final c<strong>on</strong>versi<strong>on</strong> of the main MV functi<strong>on</strong> to NNI:<br />

In the main MV functi<strong>on</strong>, f 1 <strong>and</strong> f 3 are c<strong>on</strong>sisting of either MV<br />

or NNI functi<strong>on</strong>s with all complemented variables or 0 or 1 or<br />

A′ <strong>and</strong> f 2 functi<strong>on</strong> either in MV or NNI form with all<br />

uncomplemented variables or 0 or 1 or A, now the main MV<br />

functi<strong>on</strong> is c<strong>on</strong>verted into main NNI functi<strong>on</strong> which c<strong>on</strong>tains<br />

no complemented variable.<br />

Ex (i) F 1 = MV(NNI(A′, B′, C′), MV(A, B, C),<br />

NNI(A′, B′, 0/1))<br />

F 1 = NNI(NNI(A, B, C), MV(A, B, C),<br />

NNI(A, B, 1/0))<br />

Ex (ii) F 2 = MV(MV(A′, B′, C′), NNI(A, 0/1, C),<br />

NNI(A′, 0/1, B′))<br />

F 2 = NNI(MV(A, B, C), NNI(A, 0/1, C),<br />

NNI(A, 1/0, B))<br />

Ex (iii) F 3 = MV(NNI(A′, B′, C′), NNI(A, C, B),<br />

NNI(B′, C′, 1/0))<br />

F 3 = NNI(NNI(A, B, C), NNI(A, C, B),<br />

NNI(B, C, 0/1))<br />

In the above examples after NNI c<strong>on</strong>versi<strong>on</strong>, F 1 in Ex (i) <strong>and</strong><br />

F 2 in Ex (ii) are composing of MV <strong>and</strong> NNI functi<strong>on</strong>s both,<br />

while F 3 in Ex (iii) is composed by NNI functi<strong>on</strong>s <strong>on</strong>ly.<br />

The realizati<strong>on</strong> of thirteen st<strong>and</strong>ard Boolean functi<strong>on</strong>s have<br />

been computed <strong>and</strong> clearly explained in Table-I.<br />

IV. AREA OPTIMIZATION<br />

Area calculati<strong>on</strong> of the st<strong>and</strong>ard Boolean functi<strong>on</strong>s realized<br />

<strong>on</strong> the basis of MV with NOT (MV+NOT) <strong>and</strong> AOI are d<strong>on</strong>e<br />

by Momenzadeh et. al. [10]. In Table-I, I calculate the area of<br />

chip implemented using different logics i.e. different quantum<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 465


Proceedings of ICCNS 08 , 27-28 September 2008<br />

gates like MV [MV(MV)], MV with NOT [MV(MV+NOT)],<br />

MV with NNI [MV(MV+NNI) or MV(NNI)], NNI with MV<br />

[NNI(NNI+MV) or NNI(MV)] <strong>and</strong> NNI [NNI(NNI)] etc.<br />

Implementati<strong>on</strong> of different logics is also shown in column 7 th<br />

of Table-I. We see that MV(MV), MV(MV+NNI), MV(NNI),<br />

NNI(MV+NNI), NNI(MV) <strong>and</strong> NNI(NNI) functi<strong>on</strong>s<br />

implementati<strong>on</strong>s are taking less chip area than that of<br />

MV(MV+NOT). Out of different combinati<strong>on</strong>s in the<br />

synthesis, the NNI(NNI) realizati<strong>on</strong> is easier to fabricate <strong>and</strong><br />

takes less chip area. Hence ultimate realizati<strong>on</strong> <strong>and</strong><br />

optimizati<strong>on</strong> of any Boolean functi<strong>on</strong> in chip area is adhered<br />

by NNI gates <strong>on</strong>ly.<br />

V. LOGIC DESIGN WITH NNI AND MV<br />

This secti<strong>on</strong> reports the implementati<strong>on</strong> of st<strong>and</strong>ard Boolean<br />

functi<strong>on</strong>s with network of NNI <strong>and</strong> MV gates. The realizati<strong>on</strong><br />

of thirteen important st<strong>and</strong>ard Boolean functi<strong>on</strong>s in 3-variables<br />

by NNI gate is shown in Fig. 6. The synthesis of those<br />

functi<strong>on</strong>s with MV (majority gate) plus NOT gate <strong>and</strong> AOI<br />

gate have been reported in [10].<br />

The area of an MV, NOT, AOI <strong>and</strong> NNI in 20 nm X 20 nm<br />

cell technology (with quantum dot size of 5 nm) are<br />

75 nm X 75 nm, 125 nm X 75 nm, 125 nm X 115 nm <strong>and</strong><br />

100 nm X 75 nm respectively. I c<strong>on</strong>sider 5 nm separati<strong>on</strong><br />

between two neighboring QCA cells (cell to cell distance) for<br />

MV, NOT, NNI <strong>and</strong> for the AOI (Fig. 4), d 1 = d 3 = 25 nm <strong>and</strong><br />

d 2 = 35 nm [10].<br />

For comparis<strong>on</strong>, the area of a realizati<strong>on</strong> is computed in<br />

terms of the area of a majority gate (A mv i.e. 75 nm X 75 nm).<br />

The results of Table-I point to the fact that the realizati<strong>on</strong> of<br />

logic circuits with NNI assures the best soluti<strong>on</strong> in QCA based<br />

designs.<br />

[6] I. Amlani, A. O. Orlov, G. Toth, C. S. Lent, G. H. Bernstein <strong>and</strong> G. L.<br />

Sinder, “Digital Logic Gate using Quantum Dot Cellular Automata,” Science,<br />

vol. 284, no. 5412, pp. 289-291, April 1999.<br />

[7] M. T. Niemier, M. J. K<strong>on</strong>tz <strong>and</strong> P. M. Kogge, “A Design of <strong>and</strong> Design<br />

Tools for a Novel Quantum Dot Based Microprocessor,” in Proc. Of Design<br />

Automati<strong>on</strong> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>, pp. 227-232, 2000.<br />

[8] R. Zhang, K. Walus, W. Wang <strong>and</strong> G. A. Jullien, “A Method of Majority<br />

Logic Reducti<strong>on</strong> for Quantum Cellular Automata,” IEEE Trans <strong>on</strong><br />

Nanotechnology, vol. 3, no. 4, pp. 443-450, Dec 2004.<br />

[9] K. Walus, G. Schulhof, G. A. Jullien, R. Zhang, W. Wang, “Circuit Design<br />

Based <strong>on</strong> Majority Gates for Applicati<strong>on</strong> with Quantum Dot Cellular<br />

Automata,” IEEE Trans Signals, Systems <strong>and</strong> <strong>Computer</strong>s, vol. 2, pp. 1354-<br />

1357, Nov 2004.<br />

[10] M. Momenzadeh, M. B. Tahoori, J. Huang <strong>and</strong> F. Lombardi,<br />

“Characterizati<strong>on</strong>, Test <strong>and</strong> Logic Synthesis of AND-OR-INVERTER (AOI)<br />

Gate Design for QCA Implementati<strong>on</strong>,” IEEE Trans <strong>on</strong> <strong>Computer</strong> Aided<br />

Design of Integrated Circuits <strong>and</strong> Systems, vol. 24, no. 12, pp. 1881-1893,<br />

December, 2005.<br />

[11] C. S. Lent, B. Isaksen <strong>and</strong> M. Lieberman, “Molecular Quantum Dot<br />

Cellular Automata,” Journal American Chemical Society, vol. 125, pp. 1056-<br />

1063, 2003.<br />

[12] M. Lieberman, S. Chellamma, B. Varughese, Y. Wang, C. S. Lent, G. H.<br />

Bernstein, G. L. Snider <strong>and</strong> F. Peiris, “Quantum Dot Cellular Automata at a<br />

Molecular Scale,” Annals of the New York Academy of Sciences, vol. 960, pp.<br />

225-239, 2002.<br />

[13] D. Berz<strong>on</strong> <strong>and</strong> T. J. Fountain, “A Memory Design in QCAs using the<br />

SQUARES Formalism,” in Proc. Of Great Lakes Symposium <strong>on</strong> VLSI, pp.<br />

166-169, 1999.<br />

[14] J. Huang, M. Momenzadeh, L. Schiano <strong>and</strong> F. Lombardi, “Simulati<strong>on</strong><br />

Based Design of Modular QCA Circuits,” in Proc. of IEEE c<strong>on</strong>ference <strong>on</strong><br />

nanotechnology, Nagoya, 2005.<br />

[15] V. Vankamamidi, M. Ottavi <strong>and</strong> F. Lombardi, “Tile Based Design of a<br />

Serial Memory in QCA,” in Proc. of Great Lakes Symposium <strong>on</strong> VLSI, pp.<br />

201-206, 2005.<br />

[16] C. S. Lent <strong>and</strong> B. Isaksen, “Clocked Molecular Quantum Dot Cellular<br />

Automata,” IEEE Trans. On Elec. Dev., vol. 50, no. 9, pp. 1890-1896, 2003.<br />

[17] K. Walus et. al., “ATIPS laboratory QCA Designer, Univ. of Calgary,<br />

homepage”, http://www.atips.ca/projects/qcadesigner<br />

VI. CONCLUSION<br />

This paper proposes a QCA structure realizing the universal<br />

gate N<strong>and</strong>-Nor-Inverter NNI(A,B,C) = A′B + BC′ + C′A′. The<br />

functi<strong>on</strong>al completeness of NNI is dem<strong>on</strong>strated through<br />

implementati<strong>on</strong> of logical NAND, NOR <strong>and</strong> Inverter<br />

functi<strong>on</strong>s. The characterizati<strong>on</strong> of NNI is reported to focus <strong>on</strong><br />

the reward of using such gate in designing the QCA based<br />

logic circuits. Thus any Boolean functi<strong>on</strong> is realized with NNI<br />

gate <strong>on</strong>ly as shown in Fig. 6, by passing inverter (NOT) gate<br />

for highly efficient in area, cost <strong>and</strong> speed measures.<br />

REFERENCES<br />

[1] <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Technology Roadmap for Semic<strong>on</strong>ductors: 2001,<br />

Semic<strong>on</strong>ductor Industries Associati<strong>on</strong>, San Jose, CA, http://public.itrs.net<br />

[2] C. S. Lent, P. D. Taugaw, W. Porod <strong>and</strong> G. H. Berstein, “Quantum<br />

Cellular Automata,” Nanotechnology, vol. 4, no. 1, pp 49-57, January 1993.<br />

[3] Z. Kohavi, Switching <strong>and</strong> Finite Automata Theory, 2 nd Editi<strong>on</strong>, Tata<br />

McGraw Hill Pub Ltd, 2007.<br />

[4] P. D. Taugaw <strong>and</strong> C. S. Lent, “Logical Device Implementati<strong>on</strong> using<br />

Quantum Cellular Automata,” Journal of Applied Physics, vol. 75, pp. 1818,<br />

1994.<br />

[5] A. O. Orlov, I. Amlani, G. H. Bernstein, C. S. Lent <strong>and</strong> G. L.<br />

Sinder,”Realizati<strong>on</strong> of a Functi<strong>on</strong>al Cell for Quantum Dot Cellular<br />

Automata,” Science, vol. 277, no. 5328,.pp 928-930, August 1997.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 466


Proceedings of ICCNS 08 , 27-28 September 2008<br />

St<strong>and</strong>ard<br />

Functi<strong>on</strong>s with<br />

Serial Number<br />

(1) F1 = AB'C<br />

(2) F2 = AB<br />

(3) F3 = A'BC<br />

+ A'B'C'<br />

(4) F4 = A'BC<br />

+ AB'C'<br />

(5) F5 = A'B +<br />

BC'<br />

(6) F6 = AB' +<br />

A'BC<br />

(7) F7 = A'BC<br />

+ ABC'<br />

+ A'B'C'<br />

TABLE I<br />

STANDARD BOOLEAN FUNCTIONS SYNTHESIZED WITH DIFFERENT QUANTUM GATES MENTIONING CHIP AREA<br />

MV(MV)<br />

or MV<br />

(MV +<br />

NOT)<br />

with area<br />

MV<br />

(MV +<br />

NNI)<br />

with<br />

area<br />

MV<br />

(NNI)<br />

with<br />

area<br />

NNI<br />

(MV +<br />

NNI) or<br />

NNI(MV)<br />

with area<br />

NNI<br />

(NNI)<br />

with<br />

area<br />

Realizati<strong>on</strong> of St<strong>and</strong>ard Functi<strong>on</strong>s using different Logic gates <strong>and</strong><br />

finally synthesized without complemented (NOT) variable or gate.<br />

3.666 - 2.333 - 2.666 (i) F1 = MV(MV(0, A, B'), C, 0)<br />

F1 = MV(NNI(1, A, B), C, 0)<br />

F1 = NNI(NNI(A, B, 0), C, 1)<br />

(ii) F1 = MV(MV(B', C, 0), MV(A, B', C'), MV(A', B, 0))<br />

F1 = NNI(NNI(C, B, 0), NNI(B, A, C), NNI(B, A, 0))<br />

1 4.333 - - 5.333 (i) F2 = MV(A, 0, B)<br />

(ii) F2 = MV(MV(A', 0, 1), MV(A, B, 0), MV(A, 1, 0))<br />

F2 = MV(NNI(A, 0, 0), MV(A, B, 0), MV(A, 1, 0))<br />

F2 = NNI(NNI(A, 1, B), NNI(A, 0, 0), NNI(A, 0, 0))<br />

8 4.666 3.666 - 5.333 (i) F3 = MV(MV(A', 1, 0), MV(B', C', 0), MV(B, C, 0))<br />

F3 = MV(NNI(A, 1, 1), NNI(B, 0, C), MV(B, C, 0))<br />

F3 = NNI(NNI(0, A, 1), NNI(B, 0, C), NNI(B, 1, C))<br />

(ii) F3 = MV(MV(A', B', C), 0, MV(A', B, C'))<br />

F3 = MV(NNI(A, C, B), 0, NNI(A, B, C))<br />

9 4.666 - 4.666 5.333 F4 = MV(MV(A, B, 1), MV(B', C', 0), MV(A', C, 0))<br />

F4 = MV(NNI (B, 0, C), MV(A, B, 1), NNI(A, C, 1))<br />

F4 = NNI(MV(B, C, 1), MV(A, B, 1), NNI(C, A, 1))<br />

F4 = NNI(NNI(A, 0, B), NNI(B, 0, C), NNI(C, A, 0))<br />

5.333 - 2.333 - 5.333 (i) F5 = MV(0, MV(1, A', C'), B)<br />

F5 = MV(0, NNI(A, 1, C), B)<br />

(ii) F5 = MV(MV(A', B, C'), MV(B, 1, 0), MV(A, B', 0))<br />

F5 = NNI(NNI(B, 0, 0), NNI(A, B, C), NNI(A, B, 0))<br />

7.333 4.666 - 4.666 5.333 F6 = MV(MV(A, B, C), MV(A, B', 0), MV(A', B', 1))<br />

F6 = MV(MV(A, B, C), NNI(B, A, 1), NNI(A, 1, B))<br />

F6 = NNI(NNI(A, B, 0), MV(A, B, C), MV(A, B, 0))<br />

F6 = NNI(NNI(A, 0, B), NNI(B, A, 1), NNI(C, A, 0))<br />

9 4.666 5 - 5.333 (i) F7 = MV(MV(A', C, 0), MV(A', B, C'), MV(A, B', C'))<br />

F7 = MV(NNI(A, C, 1), NNI(A, B, C), NNI(B, A, C))<br />

(ii) F7 = MV(MV(A', B, C'), MV(A, B, C), MV(B', 0, C'))<br />

F7 = MV(NNI(A, B, C), MV(A, B, C), NNI(B, 0, C))<br />

(iii) F7 = MV(MV(A', B, C'), MV(A, B', 1), MV(A', BC, 0))<br />

F7 = NNI(NNI(A, B, 1), NNI(A, B, C), NNI(BC, A, 0))<br />

(8) F8 = A 1 - - - 1.333 F8 = MV(A, 0, 1)<br />

F8 = NNI(0, A, 1)<br />

(9) F9 = AB +<br />

BC + CA<br />

(10) F10 =<br />

A'B + B'C<br />

(11) F11= A'B +<br />

BC + AB'C'<br />

(12) F12 = AB<br />

+ A' B'<br />

(13) F13 =<br />

ABC'+AB'C<br />

+A'BC+A'B'C'<br />

1 4.333 - 4.666 5.333 (i) F9 = MV(A, B, C)<br />

(ii) F9 = MV(MV(A, B, 1), MV(A, B, C), MV(A', B', 0))<br />

F9 = MV(MV(A, B, 1), MV(A, B, C), NNI(A, 0, B))<br />

F9 = NNI(MV(A, B, 1), MV(A, B, C), NNI(A, 0, B))<br />

(iii) F9 = MV(MV(A, B, 1), MV(C, 1, 0), MV(A, B, 0))<br />

F9 = NNI(NNI(A, 0, B), NNI(1, C, 0), NNI(A, 1, B))<br />

6.333 - 3.666 - 4 (i) F10 = MV(MV(A', B, 0), 1, MV(B', C, 0))<br />

F10 = MV(NNI(A, B, 1), 1, NNI(B, C, 1))<br />

F10 = NNI(NNI(B, A, 0), 1, NNI(C, B, 0))<br />

(ii) F10 = MV(MV(A', B, C), MV(A', B', 1), MV(B', C, 0))<br />

F10 = NNI(NNI(B, A, C), NNI(A, 1, B), NNI(C, B, 0))<br />

9 - - 4.666 5.333 F11 = MV(MV(A, B, 1), MV(A', B, C), MV(B', C', 0))<br />

F11 = NNI(NNI(B, A, C), MV(A, B, 1), MV(B, C, 1))<br />

F11 = NNI(NNI(A, 0, B), NNI(B, 0, C), NNI(B, A, C))<br />

6.333 3.333 - 3.333 5.333 (i) F12 = MV(MV(A, B, 0), MV(A', B', 0), 1)<br />

F12 = MV(MV(A, B, 0), NNI(A, 0, B), 1)<br />

F12 = NNI(MV(A, B, 1), MV(A, B, 0), 0)<br />

(ii) F12 = MV(MV(A', B, 1), MV(A', B', 0), MV(A, B, 0))<br />

F12 = NNI(NNI(B, A, 1), NNI(A, 0, B), NNI(A, 1, B))<br />

8 4.666 - - 7.999 (i) F13 = MV(MV(A', B, C'), MV(A, B, C), MV (B', 0, 1))<br />

F13 = MV(MV(A', B, C'), MV(A, B, C), B')<br />

F13 = MV(NNI(A, B, C), MV(A, B, C), NNI(B, 0, 0))<br />

(ii) F13 = MV(MV(A', B, C'), MV(A, B', 1), MV(A'BC, AB'C, 1))<br />

F13 = MV(NNI(A', B', 0), NNI(A, B, C), MV(MV(A', BC, 0), 1,<br />

MV(B', AC, 0)))<br />

F13 = NNI(NNI(A, B, 1), NNI(A, B, C), NNI(NNI(A, BC, 1), 0,<br />

NNI(B, AC, 1)))<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 467


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 6. St<strong>and</strong>ard Boolean functi<strong>on</strong>s realized with network of NNI gates.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 468


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Power Management in Wireless Sensor<br />

<strong>Networks</strong>: An Introductory Survey<br />

Binu G S 1 , K Paulose Jacob 2 Based <strong>on</strong> the system computati<strong>on</strong> aspects, the<br />

Abstract- Recent advancements in electr<strong>on</strong>ics <strong>and</strong> wireless<br />

communicati<strong>on</strong> has enabled the rapid development of sensor<br />

networks. The integrati<strong>on</strong> of miniature size, low cost, highly sensitive<br />

sensors <strong>and</strong> inexpensive low power wireless communicati<strong>on</strong> radios<br />

have brought wireless sensor networks to reality. Wireless sensor<br />

networks have a wide range of applicati<strong>on</strong>s in battlefield,<br />

communicati<strong>on</strong>, homel<strong>and</strong> security, envir<strong>on</strong>ment m<strong>on</strong>itoring <strong>and</strong> so<br />

<strong>on</strong>. Large dense networks for envir<strong>on</strong>ment sensing <strong>and</strong> data collecti<strong>on</strong><br />

are formed using wireless sensor networks. One of the important<br />

c<strong>on</strong>straints in wireless sensor networks is the energy efficiency<br />

problem. The current state of the art of sensor networks with respect<br />

to efficient power management is dealt with in this paper. The paper<br />

also points out the research issues <strong>and</strong> intends to spark new<br />

developments in this field.<br />

Keywords—Energy efficiency, Clustering, Sensors, Network.<br />

I. INTRODUCTION<br />

Wireless sensor networks are composed of a set of highly<br />

planned deployed sensors, which are very sensitive to the<br />

envir<strong>on</strong>ment <strong>and</strong> capable of communicati<strong>on</strong> with each other<br />

through wireless channels. Sensor networks have many small<br />

devices equipped with sensors, processing circuits <strong>and</strong> wireless<br />

transceivers. They are dense networks for envir<strong>on</strong>ment sensing<br />

<strong>and</strong> data collecti<strong>on</strong>. Sensors are equipped with both data<br />

processing <strong>and</strong> communicati<strong>on</strong> capabilities. They measure<br />

different parameters from the envir<strong>on</strong>ment <strong>and</strong> transform them<br />

to electric signals. Prime advantage of sensors is their<br />

capability to operate unattended in harsh envir<strong>on</strong>ments.<br />

Lifetime of sensor nodes depend <strong>on</strong> the power<br />

c<strong>on</strong>sumpti<strong>on</strong> in each sensor node. Energy c<strong>on</strong>straint in wireless<br />

sensor networks affects the whole network lifetime <strong>and</strong><br />

c<strong>on</strong>nectivity. Efficient energy management should be<br />

incorporated in all levels of system hierarchy from hardware to<br />

software architecture <strong>and</strong> from operating system to the<br />

communicati<strong>on</strong> protocols. All system comp<strong>on</strong>ents critically<br />

affect the energy dissipati<strong>on</strong> depending <strong>on</strong> the applicati<strong>on</strong><br />

involved [3]. So energy awareness must be involved in every<br />

level of system design <strong>and</strong> operati<strong>on</strong> to maintain the<br />

c<strong>on</strong>nectivity <strong>and</strong> lifetime [2], [4], [5], [6] <strong>and</strong> [7].<br />

Highly efficient power management leads to l<strong>on</strong>ger<br />

lifetime since they exist in an unattended envir<strong>on</strong>ment [1].<br />

System lifetime can be very much extended by applying energy<br />

efficient techniques to all levels of system hierarchy [2]. Much<br />

research has been d<strong>on</strong>e to have a significant decrease in energy<br />

c<strong>on</strong>sumpti<strong>on</strong> in various aspects of hardware design, data<br />

processing, network protocols, <strong>and</strong> operating system.<br />

*Binu G S, ECE Dept, NSS College of Engg, Palakkad,(e-mail:<br />

binu_g_s@rediffmail.com )<br />

** K Paulose Jacob, Cochin University of Science <strong>and</strong> Technology, Kochi (email:<br />

kpj@cusat.ac.in )<br />

research efforts prove the following results. Supply<br />

voltage can be actively <strong>and</strong> adaptively adjusted, in<br />

Dynamic Voltage Scaling (DVS), in c<strong>on</strong>juncti<strong>on</strong> with the<br />

clock frequency, in resp<strong>on</strong>se to the CPU utilizati<strong>on</strong> [21].<br />

Different keys of varying length can be used at the<br />

applicati<strong>on</strong> layer, by allowing a trade off between the<br />

expended computati<strong>on</strong> energy <strong>and</strong> security [8]. By the<br />

proper design of the operating system for sensors we can<br />

let the different comp<strong>on</strong>ents of the node enter various<br />

states (idle, sleep, active), to save energy according to the<br />

envir<strong>on</strong>mental variati<strong>on</strong>s at the expense of some degree of<br />

system performance degradati<strong>on</strong> [9].<br />

The major energy c<strong>on</strong>sumers in wireless sensor<br />

networks are the sensing unit, the computati<strong>on</strong> unit, <strong>and</strong><br />

the communicati<strong>on</strong> unit. Dynamic Modulati<strong>on</strong> Scaling<br />

(DMS), similar to DVS, is proposed in [10], [21].<br />

According to the number of queued packets in the system,<br />

DMS can adaptively change the modulati<strong>on</strong> level, to lower<br />

the overall energy c<strong>on</strong>sumpti<strong>on</strong>, while bounding packet<br />

delay at an acceptable level. DMS is combined with packet<br />

fair queuing algorithm <strong>and</strong> this result in an energy efficient<br />

packet scheduling protocol similar to NTP (Network Time<br />

Protocol). It first organizes the wireless sensor networks to<br />

form a hierarchical structure. Al<strong>on</strong>g every edge of this tree<br />

like structure network, Synchr<strong>on</strong>izing algorithm based <strong>on</strong><br />

two way message exchange is performed by taking the<br />

root node as the reference node. This leads to a simple<br />

implementati<strong>on</strong> but is not of light weight. Every node must<br />

synchr<strong>on</strong>ize with the parent node, by pair wise message<br />

transmissi<strong>on</strong> similar to NTP. Lot of traffic overhead will<br />

be incurred [11].<br />

The resource available c<strong>on</strong>straints of the wireless<br />

sensor networks impose specific requirements <strong>on</strong> the<br />

protocol design for time synchr<strong>on</strong>izati<strong>on</strong>, which is<br />

essential for the self c<strong>on</strong>figurati<strong>on</strong> feature of the wireless<br />

sensor networks. To realise real-time event management<br />

<strong>and</strong> event m<strong>on</strong>itoring in distributed networks, time<br />

synchr<strong>on</strong>izati<strong>on</strong> is highly essential.<br />

Reliability of data transmissi<strong>on</strong> should be<br />

reinforced, c<strong>on</strong>sidering the fluctuati<strong>on</strong> in link quality with<br />

respect to time. This can be by increasing the transmissi<strong>on</strong><br />

power level or adding FEC (Forward Error Correcti<strong>on</strong>) to<br />

the raw data. First method leads to the rapid depleti<strong>on</strong> of<br />

sensor energy <strong>and</strong> produce interference to wireless<br />

transmissi<strong>on</strong> at the terminals [3]. Using the sec<strong>on</strong>d<br />

method, as channel quality changes with time, the amount<br />

of error protecti<strong>on</strong> incorporated should also vary with<br />

instantaneous channel c<strong>on</strong>diti<strong>on</strong>, to make sure that BER<br />

(Bit Error Rate) rises above the required level. So more<br />

amount of error protecti<strong>on</strong> redundancy in the transmitted<br />

packet occurs for poorer wireless links <strong>and</strong> vice versa [12].<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 469


Proceedings of ICCNS 08 , 27-28 September 2008<br />

The following aspects should be c<strong>on</strong>sidered, while discussing<br />

the extra energy dissipati<strong>on</strong> incurred to combat the extra<br />

energy c<strong>on</strong>sumpti<strong>on</strong>.<br />

1. C<strong>on</strong>sidering the computati<strong>on</strong> point of view, due to the<br />

packet redundancy more energy is expended for encoding <strong>and</strong><br />

decoding data at the two communicati<strong>on</strong> sides. This decreases<br />

the battery life.<br />

2. Length of every frame increases <strong>on</strong> including error<br />

protecti<strong>on</strong>. So extra energy is needed for message<br />

communicati<strong>on</strong>. For the same transmissi<strong>on</strong> rate, all the radio<br />

circuits have to be <strong>on</strong> for a l<strong>on</strong>ger durati<strong>on</strong>. So more energy is<br />

c<strong>on</strong>sumed. This makes the design of energy resource<br />

management schemes very much challenging [13].<br />

To have scalability <strong>and</strong> energy efficiency in a sensor<br />

network, cluster based hierarchy is preferred as the ideal<br />

soluti<strong>on</strong> [14], [15]. Data collected by the sensors in close<br />

proximity is highly correlated. Communicati<strong>on</strong> between each<br />

sensor <strong>and</strong> end user is both energy <strong>and</strong> b<strong>and</strong>width c<strong>on</strong>suming.<br />

So the data should be processed locally to get rid of data<br />

redundancy. The whole network is divided into different<br />

clusters. One sensor node is elected as the cluster head to<br />

perform local informati<strong>on</strong> filtering, aggregati<strong>on</strong> <strong>and</strong> data fusi<strong>on</strong><br />

for all the sensors in its cluster. Traffic is routed am<strong>on</strong>g cluster<br />

heads. Thus the network management gets simplified <strong>and</strong> also<br />

decreases the energy needed for communicating useful data to<br />

the end user. Different methods for organizati<strong>on</strong> of cluster<br />

based networks are discussed in [16], [17], [18], <strong>and</strong> [41].<br />

II. TOPICS DISCUSSED REGARDING ENERGY EFFICIENCY<br />

Power Management Schemes<br />

To deal with the energy management problem, different<br />

power management schemes are discussed here. The most<br />

important c<strong>on</strong>straint in all wireless sensor networks is the<br />

energy efficiency problem since they are equipped with limited<br />

power sources. So efficient power management should be<br />

adopted.<br />

Dynamic power Management (DPM) is widely used in<br />

wireless sensor networks. This involves shutting down the<br />

sensor node during no event <strong>and</strong> waking them up when needed.<br />

So good energy saving is achieved. But sensors communicate<br />

using short data packets. So there is more dominance of start<br />

up energy. Therefore DPM should be carefully implemented.<br />

Operati<strong>on</strong> in energy saving mode becomes energy efficient<br />

<strong>on</strong>ly if the time spent in that mode is greater than a decided<br />

Threshold. The comm<strong>on</strong> DPM policies are:<br />

Predictive policy:<br />

To turn off the system comp<strong>on</strong>ents if the idle time is<br />

greater than or equal to the Timeout Threshold. The<br />

assumpti<strong>on</strong> is that it may remain idle for a l<strong>on</strong>g time. Idle time<br />

is predicted in [42] using the exp<strong>on</strong>ential average method.<br />

Operating system based direct management techniques are<br />

proposed in [21].<br />

Stochastic policy:<br />

It is given in [20]. System is provided with a service<br />

provider, a service requester (both represented by Markov<br />

processes), a power manager <strong>and</strong> a request queue. Power<br />

manager represents the device state of operati<strong>on</strong> by issuing<br />

proper comm<strong>and</strong>s to the service provider.<br />

Energy efficient DPM is proposed in [1]. It uses a<br />

modified sleep state policy combined with OGDC<br />

(Optimal Geographical Density C<strong>on</strong>trol) [19], so as to<br />

keep minimum number of sensor nodes in the active mode.<br />

So the network lifetime is prol<strong>on</strong>ged. Power aware sensor<br />

model is proposed which describes the power c<strong>on</strong>sumpti<strong>on</strong><br />

in different levels of node sleep states. There can be many<br />

sleep states for a node with many comp<strong>on</strong>ents. Every node<br />

has a latency to transiti<strong>on</strong> to that mode. Every sleep mode<br />

is characterized by power c<strong>on</strong>sumpti<strong>on</strong> <strong>and</strong> latency<br />

overhead. If a node is in a deeper sleep state, lesser power<br />

is c<strong>on</strong>sumed <strong>and</strong> more latency has to be spent. DPM<br />

should c<strong>on</strong>sider the energy c<strong>on</strong>sumpti<strong>on</strong> needed for<br />

awakening the node back to the active state <strong>and</strong> how l<strong>on</strong>g<br />

it remains idle. Saved energy should always be greater<br />

than the expended transiti<strong>on</strong> energy. Simulati<strong>on</strong> results<br />

show that DPM combined with OGDC prol<strong>on</strong>g the<br />

network lifetime than with <strong>on</strong>ly DPM. In [21], the energy<br />

<strong>and</strong> extra time needed to awaken the node is not<br />

c<strong>on</strong>sidered. In deep sleep state, the sensor cannot detect<br />

any event or receive message from the remaining nodes. In<br />

clustering protocol, the cluster head should never enter the<br />

sleep mode. The possible ways to avoid event missing is<br />

not c<strong>on</strong>sidered in [1]. Another problem with OGDC is that<br />

each node should have its positi<strong>on</strong>al informati<strong>on</strong>.<br />

To realise the actual energy saving in a wireless<br />

scenario, the time varying property of the wireless channel<br />

is taken into account in [3]. This had been neglected in<br />

most existing energy saving schemes. Neglecting the<br />

effects of varying channel quality, leads to the loss of<br />

precious battery resources which in turn leads to the<br />

depleti<strong>on</strong> of sensor energy <strong>and</strong> the partiti<strong>on</strong>ing of the<br />

network. A channel adaptive energy management protocol<br />

is proposed here to c<strong>on</strong>sider the time varying property of<br />

the wireless link. Each node can intelligently access the<br />

wireless medium according to the current link quality <strong>and</strong><br />

the predicted traffic load to produce the efficient<br />

utilizati<strong>on</strong> of energy. Results indicate 40% increase in<br />

energy saving compared to other protocols without<br />

channel adaptati<strong>on</strong>. Quality of a wireless link is a time<br />

varying functi<strong>on</strong>. So the management of energy resources<br />

is crucial to prol<strong>on</strong>g the network lifetime. Energy aware<br />

packet scheduling schemes for sensor networks are<br />

proposed in a channel fluctuating envir<strong>on</strong>ment. During<br />

situati<strong>on</strong>s of poor channel quality, the packets get buffered<br />

until the channel quality recovers to the required<br />

Threshold. They proposed a network system in which each<br />

sensor can decide the state of the communicati<strong>on</strong><br />

equipment (idle/active/sleep) with respect to current<br />

channel c<strong>on</strong>diti<strong>on</strong>. A fair scheduling <strong>and</strong> queueing<br />

algorithm is designed, in order to avoid the<br />

communicati<strong>on</strong> latency <strong>and</strong> buffer overflow. Thus an<br />

optimum balance between the energy efficiency <strong>and</strong><br />

fairness is attained. CAEM ( Channel Adaptive approach<br />

to Energy Management) is a cluster based hierarchy in<br />

which they have assumed the nodes to be static or of low<br />

mobility. Adaptive physical layer design ABICM,<br />

proposed in [12], was adopted in which variable<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 470


Proceedings of ICCNS 08 , 27-28 September 2008<br />

throughput modulator <strong>and</strong> channel coding are used. When CSI<br />

(Channel State Informati<strong>on</strong>) is available at the transmitter, it<br />

does burst by burst throughput adaptati<strong>on</strong> with respect to the<br />

CSI [13] i.e. when CSI indicates a very good quality channel;<br />

the transmitter performs High order modulati<strong>on</strong> <strong>and</strong><br />

appropriate error protecti<strong>on</strong> to protect the packet transmissi<strong>on</strong>.<br />

In CAEM, real time m<strong>on</strong>itoring of the change in CSI of the<br />

wireless link is d<strong>on</strong>e for all the sensor nodes. Simplicity of the<br />

traffic mode (from sensor to sink) leads to the simplificati<strong>on</strong> of<br />

the design for MAC layer management. Here sensor nodes are<br />

equipped with two radios: a t<strong>on</strong>e radio <strong>and</strong> a data radio<br />

working at different frequencies. If no data is to be transmitted,<br />

both radios are turned off. If sensor has packets to send, it turns<br />

<strong>on</strong> the t<strong>on</strong>e radio <strong>and</strong> senses the channel whether it is free or<br />

not. If sensed negative, (i.e. receives other than idle t<strong>on</strong>es from<br />

the channel head) it keeps m<strong>on</strong>itoring the t<strong>on</strong>e channel. If it<br />

senses the data channel to be free, (i.e. receives idle t<strong>on</strong>e<br />

pulses), it measures the received t<strong>on</strong>e signal strength <strong>and</strong><br />

further checks whether it is above the required SNR<br />

measurement. If not, it c<strong>on</strong>tinues m<strong>on</strong>itoring the t<strong>on</strong>e channel;<br />

otherwise it backs off for a r<strong>and</strong>om period of time. After back<br />

off time, the sensor checks whether the channel is free <strong>and</strong><br />

whether the quality requirement is satisfied. If both are found<br />

positive, the sensor turns <strong>on</strong> the data radio <strong>and</strong> transmits the<br />

buffered packets. If either not positive, the sensor returns to the<br />

sensing state <strong>and</strong> again m<strong>on</strong>itors the channel. During collisi<strong>on</strong>,<br />

the channel head sends collisi<strong>on</strong> t<strong>on</strong>e pulses <strong>and</strong> notifies all the<br />

sensor nodes. During data packet transmissi<strong>on</strong>, the sensor node<br />

should keep its t<strong>on</strong>e radio <strong>on</strong> <strong>and</strong> <strong>on</strong> receiving collisi<strong>on</strong> t<strong>on</strong>e<br />

pulses; it stops packet transmissi<strong>on</strong> by turning off the data<br />

radio <strong>and</strong> returns to the sensing state. In CAEM, CSMA/CD is<br />

used to detect collisi<strong>on</strong> thus reducing the energy wasted in<br />

packet collisi<strong>on</strong>s. Simulati<strong>on</strong>s proved that the behaviour of<br />

wireless channel can influence the energy c<strong>on</strong>sumpti<strong>on</strong>.<br />

III. CLUSTERING CONCEPT<br />

Clustering can localize the route set up inside clusters <strong>and</strong><br />

reduce the size of the routing table maintained inside a cluster.<br />

It can c<strong>on</strong>serve the communicati<strong>on</strong> b<strong>and</strong>width, can stabilize the<br />

network topology, <strong>and</strong> can implement the optimized<br />

management strategies to enhance the network operati<strong>on</strong> so as<br />

to prol<strong>on</strong>g the network lifetime of the sensors [22]. Cluster<br />

heads can effectively schedule the activities in the cluster so<br />

that its nodes can switch to low power sleep modes most of the<br />

time to reduce energy c<strong>on</strong>sumpti<strong>on</strong>. Similar packets from<br />

multiple nodes may be aggregated. So the number of<br />

transmissi<strong>on</strong>s reduces. Data aggregati<strong>on</strong> combines the data<br />

from different sources by using various functi<strong>on</strong>s like<br />

suppressi<strong>on</strong> (for eliminating duplicates), min, max, avg [24].<br />

Computati<strong>on</strong> is energy efficient compared to communicati<strong>on</strong>.<br />

So aggregati<strong>on</strong> can produce good energy savings.<br />

In the self organizing systems, sensor nodes are scattered<br />

r<strong>and</strong>omly [25], [26], <strong>and</strong> [27]. In terms of energy efficiency<br />

<strong>and</strong> performance, the cluster head positi<strong>on</strong>ing is very crucial.<br />

Optimal clustering always leads to energy efficient network<br />

operati<strong>on</strong>. Cluster heads are picked from the deployed sensors<br />

in the network of homogeneous sensor nodes [27], [28], <strong>and</strong><br />

[29]. Cluster heads are carefully tasked to avoid the energy<br />

from being depleted away unnecessarily. Communicati<strong>on</strong><br />

range <strong>and</strong> proximity to base stati<strong>on</strong> are some important<br />

issues to be c<strong>on</strong>sidered. If the sensor communicati<strong>on</strong><br />

ranges do not reach the base stati<strong>on</strong>, multihop routes have<br />

to be used. Inter cluster head c<strong>on</strong>nectivity is an important<br />

factor affecting the clustering schemes [16], [30].<br />

Objective of clustering<br />

(a)Load balancing<br />

Sensors should be evenly distributed am<strong>on</strong>g the clusters,<br />

where the cluster head performs data processing <strong>and</strong> intra<br />

cluster management duties [31]. Load balancing is a<br />

critical issue in wireless sensor networks where the cluster<br />

heads are picked from the currently available sensors [26].<br />

For extending the network lifetime, equal sized clusters<br />

are important. This prevents the exhausti<strong>on</strong> of energy of a<br />

subset of cluster heads at a high rate <strong>and</strong> prevents their<br />

premature failure.<br />

(b)Fault tolerance<br />

This is to avoid the loss of important data. To recover from<br />

cluster head failure reclusters the network. But during this<br />

resource burden occurs <strong>on</strong> the nodes. To recover from<br />

failure, assign backup cluster heads. Neighbouring cluster<br />

heads can adapt sensors in failing clusters if the nodes<br />

have sufficient radio range [32]. Rotating the role of<br />

cluster heads am<strong>on</strong>g all the nodes in the cluster can be a<br />

means of fault tolerance [27].<br />

(c)Increased c<strong>on</strong>nectivity <strong>and</strong> reduced delay<br />

Inter cluster head c<strong>on</strong>nectivity is a critical requirement<br />

unless the cluster heads have l<strong>on</strong>g haul communicati<strong>on</strong><br />

capability.<br />

(d)Maximum network life<br />

Network lifetime is of major c<strong>on</strong>cern especially in bad<br />

envir<strong>on</strong>ments. If cluster heads are richer in resources, the<br />

energy for intra cluster communicati<strong>on</strong> can be minimized<br />

[22]. Otherwise cluster heads should be placed very close<br />

to their sensors [33], [34]. If cluster heads are regular<br />

sensors, lifetime can be increased <strong>on</strong>ly by limiting their<br />

load. Combined clustering <strong>and</strong> route setup can be together<br />

c<strong>on</strong>sidered for maximizing the network lifetime [35].<br />

Adaptive clustering can be used to increase the network<br />

life [36], [37]. LEACH (Low Energy Adaptive Clustering<br />

Hierarchy) is proposed in [27]. It forms clusters based <strong>on</strong><br />

the received signal strength <strong>and</strong> uses cluster head nodes as<br />

the routers to the base stati<strong>on</strong>. All data processing is d<strong>on</strong>e<br />

local to the cluster. Distributed algorithm is used by nodes<br />

to make aut<strong>on</strong>omous decisi<strong>on</strong>s without using centralized<br />

c<strong>on</strong>trol. Initially a node decides to be the cluster head <strong>and</strong><br />

it broadcasts its decisi<strong>on</strong> to others. Each n<strong>on</strong> cluster head<br />

node now determines its suitable cluster by choosing the<br />

cluster head that can be reached using least<br />

communicati<strong>on</strong> energy. Role of being the cluster head can<br />

be rotated periodically am<strong>on</strong>g the nodes of the cluster in<br />

order to balance the load. Rotati<strong>on</strong> is performed by making<br />

each node to choose a r<strong>and</strong>om number between 0 <strong>and</strong> 1. A<br />

node becomes the cluster head for the current rotati<strong>on</strong> if<br />

this number is less than the Threshold. A node with low<br />

energy now gets selected as the cluster head <strong>and</strong> the<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 471


Proceedings of ICCNS 08 , 27-28 September 2008<br />

cluster heads are assumed to have sufficient communicati<strong>on</strong><br />

range so as to reach the base stati<strong>on</strong> directly. Different<br />

clustering strategies <strong>and</strong> clustering algorithms have been<br />

discussed in [23]. The different clustering schemes were<br />

classified according to their objectives, desired cluster<br />

properties <strong>and</strong> clustering process.<br />

IV. SECURITY ASPECTS IN WIRELESS SENSOR NETWORKS<br />

Durability of Distributed sensor networks depends <strong>on</strong> the<br />

energy efficiency. The two important issues for Distributed<br />

sensor networks are security for communicati<strong>on</strong> <strong>and</strong> energy<br />

efficiency. <strong>Security</strong> aspects can be achieved by<br />

Encrypti<strong>on</strong>/Decrypti<strong>on</strong> processes. Power c<strong>on</strong>trol mechanisms<br />

for sensors to operate at a particular energy, efficient multiple<br />

voltage processors are proposed in [2]. Inserting of additi<strong>on</strong>al<br />

informati<strong>on</strong> to the communicati<strong>on</strong> channel to guide the<br />

selecti<strong>on</strong> of proper voltage for encrypti<strong>on</strong>/decrypti<strong>on</strong> <strong>and</strong><br />

processing so as to decrease the overall power c<strong>on</strong>sumpti<strong>on</strong> is<br />

also discussed. Several encrypti<strong>on</strong> st<strong>and</strong>ards <strong>on</strong> a wide range of<br />

processors were experimented <strong>and</strong> sensor networks were<br />

simulated to prove that the lifetime gets extended. Newly<br />

developed DVS technique is also proposed here in the design<br />

of energy efficient distributed sensor networks. This technique<br />

varies the supply voltage <strong>and</strong> clock frequency based <strong>on</strong> the<br />

computati<strong>on</strong> load to provide the desired performance with<br />

minimum energy c<strong>on</strong>sumpti<strong>on</strong>. A practical DVS system was<br />

c<strong>on</strong>sidered which was capable of switching am<strong>on</strong>g different<br />

voltage levels. Additi<strong>on</strong>al informati<strong>on</strong> about the message is<br />

incorporated in its message header at the beginning of the<br />

message from the message sender sensor. Message header has<br />

all informati<strong>on</strong> about the different parameters like the message<br />

length, type, the expected processing time, result length <strong>and</strong> so<br />

<strong>on</strong>. This informati<strong>on</strong> is utilized by the receiving sensors to<br />

properly select voltage for decrypti<strong>on</strong>/encrypti<strong>on</strong> <strong>and</strong><br />

processing to reduce the energy c<strong>on</strong>sumpti<strong>on</strong>. The encrypted<br />

data received from the other nodes is received by the recepti<strong>on</strong><br />

electr<strong>on</strong>ics <strong>and</strong> is passed to the microprocessor. This does data<br />

decrypti<strong>on</strong> <strong>and</strong> verificati<strong>on</strong> before processing the data. If data<br />

is to be sent to the other nodes, it encrypts <strong>and</strong> then sends;<br />

otherwise it halts. Some factors to be noted are that the energy<br />

c<strong>on</strong>sumpti<strong>on</strong> for encrypti<strong>on</strong>/decrypti<strong>on</strong> is not the same for all<br />

public key algorithms. Moreover the computati<strong>on</strong> requirement<br />

of the message may not be proporti<strong>on</strong>al to the message length.<br />

So the message informati<strong>on</strong> is stored in the header. Proper<br />

selecti<strong>on</strong> of the supply voltage can be taken to decrease the<br />

power c<strong>on</strong>sumpti<strong>on</strong>. They have proved 60% energy saving<br />

despite the additi<strong>on</strong>al overhead of embedding extra informati<strong>on</strong><br />

into the header.<br />

V. ADAPTATION OF LINK LAYER AND PHYSICAL LAYER PARAMETERS<br />

Energy efficient techniques that adapt the underlying<br />

communicati<strong>on</strong> parameters are presented in the c<strong>on</strong>text of<br />

wireless sensor networks in [2]. Adapting the link layer <strong>and</strong> the<br />

physical layer parameters like the output transmit power <strong>and</strong><br />

error c<strong>on</strong>trol was examined. Due to the remote nature of the<br />

sensor networks <strong>and</strong> the size of each node, nodes may not have<br />

access to unlimited energy. So energy efficient algorithms <strong>and</strong><br />

protocols should be used to prol<strong>on</strong>g the network lifetime. But<br />

they should be aware of the user specified quality<br />

requirements <strong>and</strong> data precisi<strong>on</strong>. But these factors depend<br />

<strong>on</strong>ly <strong>on</strong> the applicati<strong>on</strong>. So quality should not be<br />

compromised while minimizing energy c<strong>on</strong>sumpti<strong>on</strong>.<br />

Reliable data transfer can be obtained by<br />

increasing the output power or by adding FEC to data.<br />

Extra processing is required. Energy cost incurred during<br />

the communicati<strong>on</strong> phase is during the transmissi<strong>on</strong> of<br />

data <strong>and</strong> when framing <strong>and</strong> error correcti<strong>on</strong> is d<strong>on</strong>e.<br />

µ AMPS wireless sensor node is used. It could properly<br />

scale the energy c<strong>on</strong>sumpti<strong>on</strong> of different sub comp<strong>on</strong>ents<br />

in resp<strong>on</strong>se to the changes in the envir<strong>on</strong>ment, the state of<br />

the network <strong>and</strong> the applicati<strong>on</strong> requirements to maximize<br />

system lifetime <strong>and</strong> decrease the energy c<strong>on</strong>sumpti<strong>on</strong> at<br />

each node. Thus all the layers of the system can adapt the<br />

layer specific parameters. Data collected by sensor was<br />

processed by Str<strong>on</strong>g ARM microprocessor which had low<br />

power c<strong>on</strong>sumpti<strong>on</strong> <strong>and</strong> high performance. It could be<br />

adapted to support DVS. Data is transmitted wirelessly<br />

using radio based <strong>on</strong> single chip 2.4GHz transceiver with<br />

integrated frequency synthesizer to deliver data to the<br />

neighbouring nodes. In radio model, power amplifier is <strong>on</strong><br />

<strong>on</strong>ly during communicati<strong>on</strong>. During start up time, no data<br />

can be sent/ received by the transceiver. This is because its<br />

internal PLL must be locked to the carrier frequency<br />

before the data can be demodulated successfully. In this<br />

transceiver, power will not vary with the data rate. Start up<br />

time has large impact <strong>on</strong> average energy/ bit because<br />

sensors communicate using short data packets. So<br />

transceivers require large initial start up time. When<br />

packet size is reduced, energy c<strong>on</strong>sumpti<strong>on</strong> is dominated<br />

by the starting transient <strong>and</strong> not the active transient <strong>and</strong><br />

receives time. This should be c<strong>on</strong>sidered while designing<br />

energy efficient protocols. Purposes of link layer discussed<br />

here are to specify encoding <strong>and</strong> the length limit of the<br />

packet <strong>and</strong> for reliable transmissi<strong>on</strong>. Reliability level for<br />

link depends <strong>on</strong> the applicati<strong>on</strong> <strong>and</strong> the user specified<br />

c<strong>on</strong>straints.<br />

VI. TIME SYNCHRONISATION ASPECT<br />

Time synchr<strong>on</strong>izati<strong>on</strong> plays a key role to meet the real<br />

time <strong>and</strong> improve data fusi<strong>on</strong> <strong>and</strong> multiplexing efficiency.<br />

Performance limitati<strong>on</strong> of time synchr<strong>on</strong>izati<strong>on</strong> for<br />

wireless sensor networks in terms of synchr<strong>on</strong>izati<strong>on</strong><br />

accuracy is discussed in [11]. The sources of<br />

synchr<strong>on</strong>izati<strong>on</strong> accuracy are identified <strong>and</strong> the<br />

mathematical models to analyze Time synchr<strong>on</strong>izati<strong>on</strong><br />

schemes are proposed here. Light weight protocols<br />

proposed are capable of suppressing communicati<strong>on</strong><br />

overheads <strong>and</strong> approaching the performance limit. Idea is<br />

based <strong>on</strong> the observati<strong>on</strong> that there always exists<br />

synchr<strong>on</strong>izati<strong>on</strong> error correlati<strong>on</strong> between nodes receiving<br />

the same sequence of time synchr<strong>on</strong>ized packets.<br />

Theoretical analysis was validated by simulati<strong>on</strong> results.<br />

Time synchr<strong>on</strong>izati<strong>on</strong> is essential in distributed<br />

networks to realise real time event management <strong>and</strong> event<br />

m<strong>on</strong>itoring. Redundant informati<strong>on</strong> in the events reported<br />

at the same time from multiple sensors can be removed to<br />

save energy using synchr<strong>on</strong>izati<strong>on</strong> clocks. Synchr<strong>on</strong>izati<strong>on</strong><br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 472


Proceedings of ICCNS 08 , 27-28 September 2008<br />

clocks can be used to activate sleeping sensor nodes at the<br />

scheduled time <strong>and</strong> make use of TDMA to improve the overall<br />

throughput of wireless sensor networks. In st<strong>and</strong> al<strong>on</strong>e<br />

computer applicati<strong>on</strong>s, precise clock board/ radio clock that<br />

receives time reference transmitted from radio stati<strong>on</strong>s<br />

administered by NIST can be used to improve the accuracy of<br />

computer time. GPS can be used to synchr<strong>on</strong>ize hardware<br />

clocks with satellites. Both the above methods are costly. For<br />

networked computers, NTP is used to synchr<strong>on</strong>ize computer<br />

clocks in a hierarchical way. But its heavy weight<br />

implementati<strong>on</strong> cannot be supported by sensor nodes.<br />

Post factor is a simple method discussed in [38] to<br />

synchr<strong>on</strong>ize clocks in a local neighbour hood of sensor nodes.<br />

Nodes are initially unsynchr<strong>on</strong>ized. When stimulus arrives,<br />

each node records the receiving time using its local clock.<br />

Immediately afterwards a beac<strong>on</strong> covering the whole area,<br />

broadcasts a synchr<strong>on</strong>izing signal to all the nodes in the<br />

neighbour hood. With respect to the time reference, receiving<br />

nodes correct their stimulus timestamps. Communicati<strong>on</strong><br />

range of the beac<strong>on</strong> is the crucial limit in this algorithm.<br />

RBM derived from Post factor, is proposed in [39]. It<br />

keeps the time of the neighbouring nodes synchr<strong>on</strong>ized. One<br />

node periodically broadcasts reference beac<strong>on</strong>s without explicit<br />

time stamps, to its neighbours. Receivers use beac<strong>on</strong> arrival<br />

time as reference to compare their local clock by exchanging<br />

beac<strong>on</strong> receiving time. So all nodes know clock offset am<strong>on</strong>g<br />

each other. Large energy is c<strong>on</strong>sumed due to the large number<br />

of packet transmissi<strong>on</strong>s.<br />

Tiny sync <strong>and</strong> Mini sync [43] are proposed to keep global<br />

time in wireless sensor networks by synchr<strong>on</strong>izing any two<br />

nodes in the whole network. A pair of nodes use bidirecti<strong>on</strong>al<br />

time stamped packet transmissi<strong>on</strong>s to estimate the clock offset<br />

between them thus making two nodes synchr<strong>on</strong>ous. To get<br />

synchr<strong>on</strong>ized every pair of nodes should perform two way<br />

message exchanges. So large communicati<strong>on</strong> overhead<br />

incurred due to large traffic.<br />

Another time synchr<strong>on</strong>izing protocol to maintain global<br />

time is the Time Sync Protocol for Sensor <strong>Networks</strong> (TPSN)<br />

proposed in [40]. In [11] proposed idea is similar to TPSN. But<br />

communicati<strong>on</strong> overhead is reduced c<strong>on</strong>siderably because it<br />

requires <strong>on</strong>ly some specific adjuster nodes to do the two way<br />

message exchange. Here the time synchr<strong>on</strong>izing algorithm<br />

requires client to follow server. A sequence of reference<br />

packets with timestamps are sent by a node to the receiver.<br />

Four delays in the message transmissi<strong>on</strong> path are: Process<br />

delay, Access delay, Propagati<strong>on</strong> delay <strong>and</strong> Receive delay.<br />

These delays affect the accuracy of the system algorithm.<br />

LESSAR algorithm is also proposed in [11]. A global time is<br />

maintained in wireless sensor networks by organizing the<br />

whole network system into levels. Level discovery is<br />

performed at initial time when the network is deployed. Sink<br />

which collects informati<strong>on</strong> from all nodes forms the root <strong>and</strong> is<br />

assigned level 0. It broadcasts level discovery packet to its<br />

neighbours. Nodes receiving the packets are assigned level<br />

1<strong>and</strong> broadcast level discovery packet to other nodes. One<br />

node may as a result, receive many packets but it accepts the<br />

<strong>on</strong>ly <strong>on</strong>e with the lowest level as its ancestor <strong>and</strong> takes its<br />

value +1 as its own level. Thus broadcasting c<strong>on</strong>tinues. All the<br />

sensor nodes are c<strong>on</strong>nected in this hierarchial network<br />

topology. When a new node enters, it broadcasts level request<br />

packet to enquire to its neighbours about their current level<br />

values. From the resp<strong>on</strong>ses obtained, it selects the smallest<br />

<strong>on</strong>e + 1 as its level. On node failure, its children notice<br />

when its timer of observing keep alive message expires.<br />

These nodes broadcast level request packet <strong>and</strong> redo the<br />

level discovery process again. In LESSAR, nodes are<br />

synchr<strong>on</strong>ized level by level. Each node believes that the<br />

clocks in its upper level are accurate than its local clock<br />

<strong>and</strong> synchr<strong>on</strong>ize with them. It <strong>on</strong>ly accepts time sync<br />

packets from the upper level <strong>and</strong> drops all others from the<br />

lower levels. So the whole wireless sensor network<br />

follows the clock of the sink. This will be synchr<strong>on</strong>ized by<br />

GPS/NTP. This method has very low resource<br />

c<strong>on</strong>sumpti<strong>on</strong> <strong>and</strong> computati<strong>on</strong> complexity.<br />

VII. CONCLUSION<br />

Energy c<strong>on</strong>straints in wireless sensor networks are a<br />

critical issue requiring extensive research. Energy<br />

management is to be implemented at different levels of<br />

sensor system hierarchy. In future, the wide range of<br />

applicati<strong>on</strong> areas will make the sensor networks an integral<br />

part of our life. However, realizati<strong>on</strong> of wireless sensor<br />

networks needs to satisfy the c<strong>on</strong>straints introduced by<br />

power c<strong>on</strong>sumpti<strong>on</strong> so as to provide efficient energy<br />

management by improving the network lifetime.<br />

REFERENCES<br />

[1] Chuan Lin,Yan-Xiang He,Naixue Xi<strong>on</strong>g “An energy efficient<br />

dynamic power management in wireless sensor networks” in<br />

Proceedings of the fifth <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> symposium <strong>on</strong> Parallel <strong>and</strong><br />

distributed computing, IEEE2006.<br />

[2] Eugene Shih, Bent<strong>on</strong> H Calhoun , Se<strong>on</strong>g Hwan Cho <strong>and</strong> Anantha P<br />

Ch<strong>and</strong>rakasan “Energy Efficient Link Layer For Wireless Microsensor<br />

<strong>Networks</strong>” in IEEE 2001.<br />

[3] Xiao-Hui Lin, Yu-Kw<strong>on</strong>g Kwok “CAEM: A channel adaptive<br />

approach to energy management for wireless sensor networks” in<br />

<strong>Computer</strong> Communicati<strong>on</strong>s 29(2006).<br />

[4] J.Carle, D.S. Ryl “Energy efficient area m<strong>on</strong>itoring for sensor<br />

networks”, IEEE Trans. Comput. Vol.37 (no. 2) (2004) 40-46.<br />

[5] X. H<strong>on</strong>g, M. Gerla, R. Bagrodia “The mars sensor network: efficient<br />

energy aware communicati<strong>on</strong>s,Proc. MILCOM 2001 (2001) 418-422.<br />

[6] V. Raghunathan, C. Schurgers, S.Parg, M. B.Srivastava “Energy<br />

aware wireless microsensor networks”, IEEE Signal<br />

Process.Mag.vol.19(no 2) (2002) 40-50.<br />

[7] F. Ye, G. Zh<strong>on</strong>g, S.Lu, L. Zhang “PEAS: a robust energy c<strong>on</strong>serving<br />

protocol for l<strong>on</strong>g lived sensor networks” Proc. ICNP 2002 (2002) 200-<br />

201.<br />

[8] L. Yuang, G. Qu “Design space explorati<strong>on</strong> for energy efficient<br />

secure sensor networks” Proc. ASAP 2002 (2002) 80-97.<br />

[9] C. Schurgers,V. Tsiatsis, S.Ganeriwal,M.B.Srivastava “Optimising<br />

sensor networks in the energy-latency-density design space”IEEE Trans.<br />

Mobile Comput. Vol.1(no. 1)(2002) 70-80.<br />

[10] C. Schurgers, O. Aberthorne, M.B. Srivastava “Modulati<strong>on</strong> scaling<br />

for energy aware communicati<strong>on</strong> systems” Proc. ISLPED 2001 (2001)<br />

96-99.<br />

[11] Quing Ye, Yuecheng Chang, Liang Cheng “A study <strong>on</strong> the optimal<br />

time synchr<strong>on</strong>isati<strong>on</strong> accuracy in wireless sensor networks” in <strong>Computer</strong><br />

<strong>Networks</strong> 48 (2005)(549-566).<br />

[12] Y.K.Kwok, V.K.N.Lau”A novelchannel adaptive uplink access<br />

c<strong>on</strong>trol protocol for nomadic computing” IEEE Trans. Parallel Distrib.<br />

Syst. Vol. 13(no. 11) (2002) 1150-1165.<br />

[13] E. Cianca, A.Luise, M.Ruggieri, R.Prasad “Channel adaptive<br />

techniques in wireless communicati<strong>on</strong>s: an overview” Wireless Commn.<br />

Mobile Comput. Vol. 2(no. 8) (2002) 799-813.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 473


Proceedings of ICCNS 08 , 27-28 September 2008<br />

[14] G. Zhou, T. He, S. Krishnamurthy, J. A. Stankovic “Impact of radio<br />

irregularity <strong>on</strong> wireless sensor networks” Proc. USENIX MobiSys. (2004).<br />

[15] J. Zhao <strong>and</strong> R. Govindan “Underst<strong>and</strong>ing packet delivery performance in<br />

dense wireless sensornetworks” Proceedings of the First ACM c<strong>on</strong>ference <strong>on</strong><br />

Embedded Networked Sensor Systems(Sensys’03), Nov 2003.<br />

[16] S. Banbyopadhyay, E. J. Coyle “An energy efficient hierarchial clustering<br />

algorithmfor wireless sensor networks”, Proc. INFOCOM 2003 vol 3 (2003)<br />

1713-1723.<br />

[17] A. Hac, “Wireless sensor network designs” John Wiley & s<strong>on</strong>s,2003.<br />

[18] C.C.Shen, C.Srisath Apornphat, C. Jaikaeo, “Sensor informati<strong>on</strong><br />

networking architecture <strong>and</strong> applicati<strong>on</strong>s” IEEE Pers<strong>on</strong>al Commn. Vol 8 (no.<br />

4) (2000) 52-59.<br />

[19] H.Zhang & J.C.Hou “M<strong>on</strong>itoring sensing coverage & c<strong>on</strong>nectivity in<br />

large sensor networks” in NSF <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> workshop <strong>on</strong> Theoretical &<br />

Algorithmic Aspects of sensors, Adhoc wireless & peer to peer networks 2004.<br />

[20] L. Benini, A. Bogliolo, G.A.Paleologo <strong>and</strong> G.De Micheli “Policy<br />

optimisati<strong>on</strong> for dynamic power management” IEEE Transacti<strong>on</strong>s <strong>on</strong> computer<br />

aided design, vol.18,pp. 813-833, June 1999.<br />

[21] A.Sinha, A. Ch<strong>and</strong>rakasan “Dynamic power management in wireless<br />

sensor networks” IEEE Design Test Comput. Vol. 18(no. 2)(2001)62-74.<br />

[22] M.Younis, M. Youssef, K. Arisha “Energy aware management in cluster<br />

based sensor networks” <strong>Computer</strong> <strong>Networks</strong> 43(5) (2003)649-668.<br />

[23] Ameer Ahmed Abassi,Mohamed Younis “A survey <strong>on</strong> clustering<br />

algorithms for wireless sensor networks” <strong>Computer</strong> commns30(2007)(2826-<br />

2841).<br />

[24] B. Krishnamachari, D. Estrin, S.Wicker “Modelling data certric routing in<br />

wireless sensor networks” in Proc. Of IEEE INFOCOM New York, NY,June<br />

2002.<br />

[25] K. Sohrabi et al “Protocols for self organisati<strong>on</strong> of a wireless sensor<br />

network” IEEE Pers<strong>on</strong>al Commn. 7(5)(2000)16-27.<br />

[26] O.Younis, S.Fahmy, “HEED:A hybrid energy efficient distributed<br />

clustering approach for adhoc sensor networks” IEEE Trans. On Mob.<br />

Computing 3(4)(2004)366-379.<br />

[27] W.B.Heinzelman, A.P.Ch<strong>and</strong>rakasan, H. Balakrishnan “Applicati<strong>on</strong><br />

specific protocol architecture for wireless microsensor networks” IEEE Trans.<br />

On Wireless Networking 2002.<br />

[28] S. Lindsey, C.S.Raghavendra “PEGASIS:Power efficient gathering in<br />

sensor informati<strong>on</strong> system” in Proc. Of IEEE Aerospace c<strong>on</strong>ference, Big<br />

Sky,M<strong>on</strong>tana, March 2002.<br />

[29] S.Lindsey, C.S.Raghavendra,K. Sivalingam “Data gathering in sensor<br />

networks using energy delay metric” in Proc. Of ISDPS Workshop <strong>on</strong> Issues in<br />

wireless networks & Mobile computing, San Fransisco,CA,April 2001.<br />

[30] S. Banerjee, S.Khuller “A clustering scheme for hierarchial c<strong>on</strong>trol in<br />

multihop wireless networks” in Proc. Of 20 th Joint <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> of the IEEE<br />

<strong>Computer</strong> & Commn Societies(INFOCOM’01) Anchorage, AK,April2001.<br />

[31] G.Gupta, M.Younis “Load balanced clustering in wireless sensor<br />

networks” in Proc of <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Commn(ICC2003)Anchorage Alaska, May2003.<br />

[32] G.Gupta, M.Younis “Fault tolerant clustering of wireless sensor networks<br />

in Proc of IEEE Wireless Commn. & Networking c<strong>on</strong>ference(WCNC 2003)<br />

New Orleans, Loussiana, March 2003.<br />

[33] E. Ilker, Oyman, Cam Essoy “Multiple sink network design problems in<br />

large scale wireless sensor networks in Proc ofIEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

c<strong>on</strong>ference<strong>on</strong> commn,(ICC 2004), Paris June 2004.<br />

[34] Y.T.Hou,Y Shi, H.D.Sherali “On energy provisi<strong>on</strong>ing & relay node<br />

placement for wireless sensor networks” in IEEE Trans. On Wireless Commn.<br />

Vol 4,Sep 2005,2579-2590<br />

[35] K.Dasgupta, M.Kukreja, K.Kalpakis “Topology aware placement & role<br />

assignment for energy efficient informati<strong>on</strong> gathering in sensor networks” in<br />

Proc of 8 th IEEE Symposium <strong>on</strong> <strong>Computer</strong> & commn.(ISCC 03),Turkey, July<br />

03.<br />

[36] T.Moscibroda, R. Wattenhofer “Maximising the lifetime of dominating<br />

sets in Proc of 19 th IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Parallel & Distributed Processing<br />

symposium(IPDPS’05) Denver, Colorado,April 2005.<br />

[37] R.Khanna, H liu, H.H.Chan “Self organizati<strong>on</strong> of sensor networks using<br />

genetic algorithms” in Proc. Of 32 nd IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong><br />

Commn(ICC’06), Istanbul, Turkey, June 06.<br />

[38] J.Els<strong>on</strong>, D.Estrin “Time synchr<strong>on</strong>isati<strong>on</strong> for wireless sensor networks” in<br />

Proc. Of 2001 <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g> Parallel & Distributed computing issues in wireless<br />

networks & Mobile computing, San Franscisco CA USA April 2001,1965-<br />

1970<br />

[39] J.Els<strong>on</strong>,L.Girod, D.Estrin “Fine grained network time synchr<strong>on</strong>isati<strong>on</strong><br />

using reference broadcasts” in Proc of 5 th Symposium <strong>on</strong> Operating Systems<br />

Design & Implementati<strong>on</strong>(OSDI 2002) Bost<strong>on</strong>, MA, Dec2002.<br />

[40] S.Ganeriwal, R.Kumar, M.B.Srivastava “Timing sync protocol for<br />

sensor networks” in Proc of Sensys’03, LosAngeles, CA, Nov2003.<br />

[41] I.F.Akyildig, W.Su, Y. Sankarasubramaniam, E.Cayirci, “A survey<br />

<strong>on</strong> sensor networks” IEEE Commn. Mag. Vol. 40 (no. 8)(2002)102-114.<br />

[42] V.Raghunathan, S. Ganeriwal, M.Srivastava, “Energy efficient<br />

wireless packet scheduling <strong>and</strong> fair queueing” ACM Trans. Embedded<br />

Comput. Syst. Vol. 3(no. 1)(2004)3-23.<br />

[43] M.L.Sichitiu, C Veerarittiphan, “Simple accurate time<br />

synchr<strong>on</strong>isati<strong>on</strong> for wireless sensor networks” in Proc. Of the IEEE<br />

Wireless Commn. & Networking <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g>(WCNC’2003) New<br />

Orleans, LA, March 03.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 474<br />

6


An Improved GPS Locati<strong>on</strong> Tracking with<br />

Velocity Estimati<strong>on</strong><br />

Mohammad Zahaby, Prof. Ganesh D. Bhutkar, <strong>and</strong> Prof. M. L. Dhore<br />

Vishwakarma Institute of Technology, Pune, India<br />

Proceedings of ICCNS 08 , 27-28 September 2008<br />

Abstract—We present algorithms for estimating the locati<strong>on</strong> of<br />

users based <strong>on</strong> Global Positi<strong>on</strong>ing System (GPS) technology. We<br />

propose two algorithms, Kalman Filter <strong>and</strong> Velocity Renovati<strong>on</strong>,<br />

which can be used in c<strong>on</strong>juncti<strong>on</strong> with GPS locati<strong>on</strong> tracking.<br />

The GPS is a satellite-based navigati<strong>on</strong> system made up of a<br />

network of 24 satellites placed into orbit by the United States (US)<br />

Department of Defense (DoD). GPS was originally intended for<br />

military applicati<strong>on</strong>s, but in the 1980s, the government made the<br />

system available for civilian use. GPS can show you your exact<br />

positi<strong>on</strong> <strong>on</strong> Earth in any weather c<strong>on</strong>diti<strong>on</strong>s, anywhere in the world,<br />

24 hours a day. There are no subscripti<strong>on</strong> fees or setup charges to<br />

use GPS [5].<br />

The improved locati<strong>on</strong> tracking algorithm which uses the Kalman<br />

filter with the velocity renovati<strong>on</strong> process is proposed. The velocity<br />

renovati<strong>on</strong> process c<strong>on</strong>sists of a velocity estimator <strong>and</strong> directi<strong>on</strong><br />

finder. By this process, the proposed algorithm can use accurately<br />

estimated velocity in the locati<strong>on</strong> estimati<strong>on</strong>.<br />

Keywords—GPS, Kalman filter, velocity renovati<strong>on</strong>, directi<strong>on</strong><br />

finder, velocity estimator.<br />

I. INTRODUCTION<br />

THE locati<strong>on</strong> tracking plays an important role in many<br />

applicati<strong>on</strong>s such as locati<strong>on</strong>-based services <strong>and</strong> the radio<br />

resource management.<br />

In the Kalman filtering method, the smoothing procedure by<br />

linear regressi<strong>on</strong> makes the estimated locati<strong>on</strong> more accurate<br />

than that of the GPS method. The Kalman filtering method<br />

estimates velocity as well as locati<strong>on</strong> <strong>and</strong> uses them in the<br />

next estimati<strong>on</strong> process. However, the estimated velocity has<br />

large error of estimati<strong>on</strong>.<br />

By the recursive process of the Kalman filtering, the error<br />

of the estimated velocity induces inaccuracy of the locati<strong>on</strong><br />

tracking. Moreover, the Kalman filtering method needs<br />

transient time to reach the reliable estimati<strong>on</strong>, so big locati<strong>on</strong><br />

error is generated at the first part of the locati<strong>on</strong> tracking until<br />

enough data come to the filter.<br />

An improved locati<strong>on</strong> tracking algorithm which uses the<br />

velocity renovati<strong>on</strong> process with the Kalman filter is proposed<br />

in this paper. By the velocity renovati<strong>on</strong> process, more<br />

accurately estimated velocity can be used in the Kalman<br />

filtering. The accurately estimated velocity will be able to<br />

increase the performance of the locati<strong>on</strong> estimati<strong>on</strong> <strong>and</strong><br />

shorten the transient time of the estimati<strong>on</strong>.<br />

Mohammd Zahaby is the student of M.E. C.S.E. (I.T.) in the<br />

Vishwakarma Institute of Technology, University of Pune, Pune, India,<br />

email: mohammad zahaby@yahoo.co.uk<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 475<br />

II. ANALYSIS OF LOCATION ESTIMATION<br />

Tracking Service based <strong>on</strong> geographic <strong>and</strong> locati<strong>on</strong><br />

informati<strong>on</strong> are exp<strong>and</strong>ing the business area gradually. This<br />

service collects the locati<strong>on</strong> of moving object <strong>and</strong> present it<br />

<strong>on</strong> geographic map.<br />

The Global Positi<strong>on</strong>ing System (GPS) is a widely-used <strong>and</strong><br />

very useful system for positi<strong>on</strong> locati<strong>on</strong> <strong>and</strong> tracking but<br />

the GPS relies <strong>on</strong> radio signals from orbiting satellites that<br />

cannot penetrate structures generally. Moreover, the fifteen<br />

meter locati<strong>on</strong> accuracy of the GPS is not entirely sufficient<br />

for close area training purposes. Alternative positi<strong>on</strong> tracking<br />

technologies known in the art are also generally unable<br />

to deliver the performance features required for close area<br />

training exercises.<br />

GPS satellite signals can be detected by GPS receivers, which<br />

calculate their locati<strong>on</strong>s anywhere <strong>on</strong> the Earth at any time.<br />

For reduce the error in GPS <strong>and</strong> get better accuracy from GPS<br />

signal, we used Kalman filter <strong>and</strong> velocity estimati<strong>on</strong> to get<br />

better accuracy.<br />

The implementati<strong>on</strong> of the Kalman filter has these stages [2],<br />

[3]. The S(k) is c<strong>on</strong>tains locati<strong>on</strong> data is defined as<br />

S(k) = (X(k), Y (k), V x (k), V y (k)) T (1)<br />

where X(k) <strong>and</strong> Y (k) are the coordinates (x <strong>and</strong> y) of a GPS’s<br />

locati<strong>on</strong> at time instant k, respectively. V x (k) <strong>and</strong> V y (k) in<br />

equati<strong>on</strong> (1) denote the x-axis <strong>and</strong> y-axis directi<strong>on</strong>al velocities<br />

of a GPS receiver at time instant k, respectively. The state<br />

model of the Kalman filter is<br />

S(k) = AS(k) (2)<br />

where A is a transformati<strong>on</strong> matrix between the first <strong>and</strong> next<br />

measurement<br />

⎡ ⎤<br />

1 0 d 0<br />

A = ⎢ 0 1 0 d<br />

⎥<br />

⎣ 0 0 1 0 ⎦<br />

0 0 0 1<br />

<strong>and</strong> d is the time increasing unit. Based <strong>on</strong> equati<strong>on</strong> (1) <strong>and</strong><br />

(2), the process of Kalman filtering method can be summarized<br />

like this: At first, the predict S(k|k − 1) <strong>and</strong> the minimum<br />

predicted Mean Square Error (MSE) M(k|k − 1) can be<br />

obtained by<br />

S(k|k − 1) = AS(k − 1|k − 1)<br />

M(k|k − 1) = AM(k − 1|k − 1)A T + BQB T (3)<br />

where B is an opti<strong>on</strong>al c<strong>on</strong>trol input to current state


Proceedings of ICCNS 08 , 27-28 September 2008<br />

B =<br />

⎡<br />

⎢<br />

⎣<br />

0 0<br />

0 0<br />

d 0<br />

0 d<br />

<strong>and</strong> Q is system dynamic noise. By (3), the Kalman gain can<br />

be described as<br />

K(k|k −1) = M(k|k −1)H T .{R+HM(k −1|k −1)H T } −1<br />

(4)<br />

where R is the receiver noise <strong>and</strong> H is measurement sensitivity<br />

matrix<br />

[ ] 1 0 0 0<br />

H =<br />

0 1 0 0<br />

Finally, the estimated vectors by the Kalman filtering can be<br />

updated by<br />

S(k|k) = AS(k|k−1)+K(k){L(k)−H(k)AS(k|k−1)} (5)<br />

The L(k) in (5) is defined as<br />

⎤<br />

⎥<br />

⎦<br />

L(k) = (l 1 (k), l 2 (k)) T (6)<br />

where l 1 (k) <strong>and</strong> l 2 (k) are the coordinates (x <strong>and</strong> y) of the<br />

estimated locati<strong>on</strong> by the GPS.<br />

The process of the Kalman filtering method progresses<br />

recursively whenever new estimated locati<strong>on</strong> L(k) of the GPS<br />

comes to the Kalman filter.<br />

The Kalman filtering method estimates velocity as well as<br />

locati<strong>on</strong> of a GPS receiver <strong>and</strong> uses them the estimati<strong>on</strong> at<br />

the next time. The Kalman filtering method uses 0 m/s as<br />

the initial velocity <strong>and</strong> approaches to the original velocity<br />

of the GPS receiver by the recursive process of the Kalman<br />

filter. By reas<strong>on</strong> of this, the first part of the estimated velocity<br />

has big error <strong>and</strong> the transient time is needed to reach the<br />

reliable estimati<strong>on</strong>. This also occurs when the velocity of the<br />

GPS receiver is changed. The estimated locati<strong>on</strong> <strong>and</strong> velocity<br />

data affect the next estimati<strong>on</strong>, so the inaccurately estimated<br />

velocity induces the locati<strong>on</strong> estimati<strong>on</strong> error of the Kalman<br />

filtering method. To reduce the error, an improved locati<strong>on</strong><br />

tracking algorithm is proposed in the following secti<strong>on</strong>.<br />

III. LOCATION TRACKING WITH VELOCITY ESTIMATION<br />

The block diagram of the proposed locati<strong>on</strong> tracking<br />

algorithm which uses the velocity renovati<strong>on</strong> process with<br />

the Kalman filter is shown in Fig. 1. The velocity renovati<strong>on</strong><br />

process is to use the accurately estimated velocity in the<br />

Kalman filter for increasing the accuracy of the locati<strong>on</strong><br />

estimati<strong>on</strong>. It c<strong>on</strong>sists of two parts. One is a velocity estimator<br />

<strong>and</strong> the other is a directi<strong>on</strong> finder. By the estimated velocity<br />

<strong>and</strong> directi<strong>on</strong> in the velocity renovati<strong>on</strong> process, the x-axis <strong>and</strong><br />

y-axis directi<strong>on</strong>al velocities can be estimated. The estimated<br />

velocities are passed to the Kalman filter. After that, The<br />

estimated velocities in (5) of the Kalman filtering method are<br />

replaced by the estimated velocities of the velocity renovati<strong>on</strong><br />

process.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 476<br />

Fig. 1.<br />

The block diagram of the proposed locati<strong>on</strong> tracking algorithm.<br />

A. Velocity Estimator<br />

There are many c<strong>on</strong>venti<strong>on</strong>al methods for velocity<br />

estimati<strong>on</strong>, but they require the SNR informati<strong>on</strong> to<br />

remove noise <strong>and</strong> interference which affect estimati<strong>on</strong>.<br />

SNR-independent velocity estimati<strong>on</strong> methods which<br />

eliminate the effect of noise <strong>and</strong> interference without<br />

SNR informati<strong>on</strong> are proposed in [1] <strong>and</strong> [4]. The<br />

IQ-based ACF estimati<strong>on</strong> method in [4], which is <strong>on</strong>e<br />

of the SNR-independent velocity estimati<strong>on</strong> method, is used<br />

as a velocity estimator in the velocity renovati<strong>on</strong> process.<br />

The auto-correlati<strong>on</strong> functi<strong>on</strong> of the in-phase comp<strong>on</strong>ent of<br />

the channel is defined as<br />

φ d = E[x(i).x(i + d)]<br />

<strong>and</strong> the ratio φ1 to φ0 <strong>and</strong> the ratio of φ2 to φ0<br />

R1 = φ1<br />

φ0 ,<br />

φ2<br />

R2 =<br />

φ0<br />

where φ0, φ1 <strong>and</strong> φ2 are estimated via [1]<br />

φ0 = 1 N<br />

φ1 = 1<br />

N−1<br />

φ2 = 1<br />

N−2<br />

N∑<br />

E[x i x i ]<br />

i=1<br />

N−1<br />

∑<br />

i=1<br />

N−2<br />

∑<br />

i=1<br />

E[x i x i+1 ]<br />

E[x i x i+2 ]<br />

The maximum Doppler frequency estimated by the IQ-based<br />

ACF estimati<strong>on</strong> method can be defined by<br />

√<br />

D 1 − D 2 − D 3<br />

f m ≈<br />

π 2 (9)<br />

(4D 1 − D 2 )<br />

where D 1 , D 2 <strong>and</strong> D 3 are<br />

<strong>and</strong><br />

D 1 = sinc(B.T s ) − R 1<br />

D 2 = sinc(2B.T s ) − R 2<br />

D 3 = R 2 .sinc(B.T s ) − R 1 sinc(2B.T s )<br />

sinc(x) = sin(πx)<br />

πx<br />

(7)<br />

(8)<br />

(10)<br />

The B <strong>and</strong> T s , are the b<strong>and</strong>width of receiver <strong>and</strong> the sampling<br />

period, respectively. By the estimated maximum Doppler


Proceedings of ICCNS 08 , 27-28 September 2008<br />

Fig. 2. Estimated locati<strong>on</strong> by the GPS method, the Kalman filtering method<br />

<strong>and</strong> the proposed algorithm.<br />

Fig. 3. Comparis<strong>on</strong> of ALEE graph for Kalman filter <strong>and</strong> average GPS<br />

accuracy.<br />

frequency, the velocity of a GPS receiver can be estimated as<br />

V = c.f m<br />

f c<br />

(11)<br />

where c <strong>and</strong> f c are the speed of propagati<strong>on</strong> <strong>and</strong> the carrier<br />

frequency, respectively.<br />

B. Directi<strong>on</strong> finder<br />

The directi<strong>on</strong> finder in the velocity renovati<strong>on</strong> process is<br />

simply designed using the differences of estimated locati<strong>on</strong>s.<br />

The estimated directi<strong>on</strong> of a GPS receiver can be obtained by<br />

{<br />

tan<br />

θ k =<br />

−1 (D k ), when ˜X(k) > ˆX(k − 1)<br />

tan −1 (D(k)) + π, when ˜X(k) < ˆX(k − 1))<br />

(12)<br />

where D(k) is {Ỹ (k) − Ŷ (k − 1)/ ˜X(k) − ˆX(k − 1)}.<br />

( ˜X(k), Ỹ (k)) is the estimated locati<strong>on</strong> coordinates by the<br />

Kalman filtering at time instant k, <strong>and</strong> ( ˆX(k − 1), Ŷ (k − 1))<br />

is the estimated locati<strong>on</strong> coordinates by proposed algorithm<br />

at time instant k − 1. The estimated directi<strong>on</strong> θ k has big<br />

variati<strong>on</strong> because the estimated locati<strong>on</strong> coordinates which<br />

are used in (12) are not accurate, especially ( ˜X(k), Ỹ (k)).<br />

Instead of just taking the estimated data, the smoothing<br />

method is applied for reducing the variati<strong>on</strong> of θ k .<br />

The smoothed value of the directi<strong>on</strong> θ k can be calculated by<br />

taking the average of estimated directi<strong>on</strong>s within window size<br />

as follows<br />

C. Replacement of the estimated velocity<br />

By (11) <strong>and</strong> (13), the x-axis <strong>and</strong> y-axis directi<strong>on</strong>al velocities<br />

in the velocity renovati<strong>on</strong> process at time instant k can be<br />

obtained by<br />

(V x (k), V y (k)) T = (V cosθ k , V sinθ k ) T (14)<br />

The x-axis <strong>and</strong> y-axis directi<strong>on</strong>al velocities in the estimated<br />

vector ˜S(k|k) by the Kalman filtering method is replaced by<br />

(ˆV x (k), ˆV y (k)) T in (14). Finally, the estimated vector Ŝ(k|k)<br />

by the proposed algorithm is represented by<br />

Ŝ(k|k) = [ ˜X(k), Ỹ (k), ˆV x (k), ˆV y (k)] T<br />

D. Calculate ALEE <strong>and</strong> LER<br />

The Average Locati<strong>on</strong> Estimati<strong>on</strong> Error (ALEE) is defined<br />

as<br />

ALEE = 1 N<br />

N∑ √<br />

{X(k) − X′ (k)} 2 + {Y (k) − Y ′ (k)} 2<br />

k=1<br />

(15)<br />

where (X(k), Y (k)) <strong>and</strong> (X ′ (k), Y ′ (k)) are the original<br />

locati<strong>on</strong> coordinates <strong>and</strong> the estimated locati<strong>on</strong> coordinates,<br />

respectively.<br />

The Locati<strong>on</strong> Error Ratio (LER) is defined as<br />

θ k = 1 W<br />

k∑<br />

i=k−(W −1)<br />

where W is the size of the window.<br />

θ k , when k ≥ W (13)<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 477<br />

LER(α/β) =<br />

ALEE of α<br />

ALEE of β<br />

where α <strong>and</strong> β are algorithms for comparing.<br />

(16)


Proceedings of ICCNS 08 , 27-28 September 2008<br />

REFERENCES<br />

Fig. 4. Comparis<strong>on</strong> of ALEE graph for Kalman filter <strong>and</strong> average GPS<br />

accuracy.<br />

IV. PRACTICAL EXPERIENCE<br />

[1] Hyunkyu Yu, Student Member, IEEE, Goohyun Park, Student Member,<br />

IEEE, Hangyu Cho, Student Member, IEEE,Change<strong>on</strong> Kang, Senior<br />

Member, IEEE, <strong>and</strong> Daesik H<strong>on</strong>g, Member, IEEE, ”SNR-Independent<br />

Methods for Estimating Maximum Doppler Frequency”, IEEE SIGNAL<br />

PROCESSING LETTERS, VOL. 12, NO. 5, MAY 2005<br />

[2] Jemin Lee, Hyungjo<strong>on</strong> S<strong>on</strong>g, Sungmok Oh <strong>and</strong> Daesik H<strong>on</strong>g, ”An<br />

Improved Locati<strong>on</strong> Tracking Algorithm with Velocity Estimati<strong>on</strong> in Cellular<br />

Radio <strong>Networks</strong>”, Informati<strong>on</strong> <strong>and</strong> Telecommunicati<strong>on</strong> Lab. (B715),<br />

Dept. of Electrical <strong>and</strong> Electr<strong>on</strong>ic Eng., Y<strong>on</strong>sei Univ. 2006 IEEE, pg 618<br />

- 622<br />

[3] MOHINDER S. GREWAL, LAWRENCE R. WEILL, ANGUS P. AN-<br />

DREWS, ”GLOBAL POSITIONING SYSTEMS, INERTIAL NAV-<br />

IGATION, AND INTEGRATION”, SECOND EDITION, WILEY-<br />

INTERSCIENCE A John Wiley & S<strong>on</strong>s, Inc., Publicati<strong>on</strong>, 2007<br />

[4] Wei Sheng <strong>and</strong> Steven D. Blostein, Department of Electrical <strong>and</strong> <strong>Computer</strong><br />

Engineering Queen’s University, Kingst<strong>on</strong>, Ontario, CANADA K7L<br />

3N6, ”SNR-INDEPENDENT VELOCITY ESTIMATION FOR MO-<br />

BILE CELLULAR COMMUNICATIONS SYSTEMS”, IEEE <str<strong>on</strong>g>Internati<strong>on</strong>al</str<strong>on</strong>g><br />

<str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> Acoustics, Speech, <strong>and</strong> Signal Processing (ICASSP<br />

’02), vol.3, May 2002, pp.III-2469 - III-2472.<br />

[5] http://www8.garmin.com, ”What is GPS”<br />

Practically we moved the GPS receiver in the six different<br />

places in Pune city in India. In TABLE I we can see the<br />

different of the GPS locati<strong>on</strong> tracking with the Kalman filter<br />

<strong>and</strong> velocity estimati<strong>on</strong> in these six places.<br />

Fig.2 shows <strong>and</strong> compares the estimated GPS locati<strong>on</strong><br />

tracking by the Kalman filtering method <strong>and</strong> the velocity<br />

renovati<strong>on</strong> in the first locati<strong>on</strong> of those six locati<strong>on</strong> when we<br />

moved the GPS receiver in the straight line. The estimated<br />

locati<strong>on</strong> by the velocity renovati<strong>on</strong> has the smallest error<br />

am<strong>on</strong>g others. This result can be shown by the average locati<strong>on</strong><br />

estimati<strong>on</strong> error (ALEE) that is shown in Fig.3 <strong>and</strong> the locati<strong>on</strong><br />

error ratio (LER) is shown in Fig.4.<br />

GPS ALEE of ALEE of<br />

accuracy Kalman filter velocity renovati<strong>on</strong><br />

Locati<strong>on</strong> 1 96.14 5.33 0.70<br />

Locati<strong>on</strong> 2 68.86 2.26 0.61<br />

Locati<strong>on</strong> 3 99.43 5.24 0.56<br />

Locati<strong>on</strong> 4 93.00 1.60 0.54<br />

Locati<strong>on</strong> 5 38.29 2.29 0.30<br />

Locati<strong>on</strong> 6 19.38 1.34 0.61<br />

Average 69.18 3.01 0.55<br />

TABLE I<br />

AVERAGE RESULTS OF LOCATION TRACKING FOR SIX DIFFERENT PLACES<br />

(ALL NUMBERS ARE IN METER).<br />

V. CONCLUSION<br />

The locati<strong>on</strong> tracking algorithm with the velocity renovati<strong>on</strong><br />

process has been proposed in this paper. The velocity<br />

renovati<strong>on</strong> process c<strong>on</strong>sists of the velocity estimator <strong>and</strong> the<br />

directi<strong>on</strong> finder, <strong>and</strong> it is to use more accurately estimated<br />

velocity in the Kalman filtering. The proposed algorithm<br />

reduces the locati<strong>on</strong> estimati<strong>on</strong> error into 0.55 meter. In<br />

additi<strong>on</strong>, differently from the Kalman filtering method, the<br />

proposed algorithm estimates locati<strong>on</strong> of a GPS receiver<br />

reliably without the transient time by the velocity renovati<strong>on</strong><br />

process which works independently of the Kalman filter. The<br />

proposed algorithm improves the ability of locati<strong>on</strong> tracking<br />

<strong>and</strong> it is verified by the outage probability <strong>and</strong> the LER.<br />

© 2008 , Vishwakarma Institute of Technology, Pune , MS, INDIA 478


Author Index<br />

A. Kundu 422 Dr. Ashok A. Ghatol 432<br />

A. M. Jadhav 224 Dr. Ashok M. Sapkal 427<br />

A. S. Jambhale 452 Dr. B. Satyanarayana 124, 307<br />

A. S. Tavildar 220 Dr. H B. Kekre 30, 342, 367<br />

A. Sivagami 156 Dr. J. L. Rana 30<br />

Aarti Patil 443 Dr. M. H. Kolekar 86, 405<br />

Abhinay R. Nagpal 140 Dr. M. M. Naidu 171<br />

Afshar Alam 228 Dr. Manesh Kokare 352<br />

Akshay L. Marathe 73 Dr. P .D. Vyavahare 181<br />

Amol B. Ubale 339 Dr. P. M. Patil 254<br />

Amresh Nikam 119 Dr. Pravin Ch<strong>and</strong>ra 238<br />

Ananthanarayana V. S. 161 Dr. R. V. Dharaskar 246<br />

Ancy S. Anselam 264 Dr. V. M. Thakare 246<br />

Andhe Dharani 73 Dr. Vrinda Tokekar 280<br />

Ankush Jain 198 Dr. Yogesh Singh 238<br />

Anupama V. Patil 443 F. M. Inamdar 329<br />

Ashutosh M. Kulkarni 151 G. M. Bh<strong>and</strong>ari 373<br />

B. Chakraborty 422 Ganesh D. Bhutkar 475<br />

B. Prabhakara Rao 393 Ga<strong>on</strong>jar Paresh 44<br />

B. V. Barbadekar 452 Gowrishankar S. 313<br />

Bairagi Vinayak 414 Hanumantappa J. 297, 319<br />

Balach<strong>and</strong>ra G. C. 319 Harshwardhan S. Mulay 140<br />

Balasaheb S. Tarle 280 J. Howlader 422<br />

Bharath Kumar A. R. 161 J. L. Bind 389<br />

Bharkad Sangita 352 K. Ch<strong>and</strong>ra Sekaran 175<br />

Binu G. S. 469 K. Paulose Jacob 469<br />

Brijesh Singh Yadav 50 K. Pavai 156<br />

Chinmay P. Soman 140 Kakade S.R 458<br />

D. Sridharan 156 Kakali Chatterjee 270<br />

D. Y. Sakhare 399 Kamal Shah 342<br />

Deepa S. Garag 1 Karan Singh 97<br />

Deepak M. Zambre 140 Karuna C. Gull 134<br />

Deepthi P. P. 264, 274 Karunendra Verma 20<br />

Deshmukh Sudarshan S. 363 Khadtare M. 192<br />

Dhoble S. B. 458 Khadtare M. S. 405<br />

Doshi N. A. 458 Kishore B. Pawar 103<br />

Dr V. D. Mytri 303 Lakshmi V. S. 274<br />

Dr. A. Damaodaram 11, 124, 303, 307 Lakshmikanth G. 181<br />

Dr. A. N. Gaikwad 414 Latesh Malik 448<br />

Dr. Aditya Abhyankar 357 M. A. Potey 119<br />

Dr. Arpita Gopal 119 M. C. Hingane 373


M. J. Khurjekar 220 Pritesh Patil 147<br />

M. Murugan 220 Prof .D. M. Choudhari 333<br />

M. Neelakantappa 124 Prof. A. Gaiwak 181<br />

M. Neelakantappa 307 Prof. A. J. Patankar 86. 405<br />

M. P. Wankhade 325 Prof. A. M. Agarkar 443<br />

Mahajan S. A. 192 Prof. Abhijeet Patankar 357<br />

Mahesh R. Dube 151, 379 Prof. Dr. S. D. Lokh<strong>and</strong>e 418<br />

Majid Jamil 293 Prof. G. V. Garje, 16<br />

Mamta Narwariya 68 Prof. H. H. Kenchannava 333<br />

Manik Mujumdar 448 Prof. K. S. Korabu 385<br />

Manikrao L. Dhore 151, 410, 427, 418, 475 Prof. M. V. Kulkarni 438<br />

Manjaiah D. H. 297, 313 Prof. P. A. Bamnodkar 16<br />

Manoj Mishra 258 Prof. P. M. Kamde 385<br />

Meenakshi Bheevgade 448 Prof. Prakash H. Patil 113<br />

Meenaxi M. Raikar 1 Prof. Prakash Devale 147<br />

Mike E. Woodward 78 Prof. R. M. Jogd<strong>and</strong> 134<br />

Mohammad Arif 107 Prof. R.V. Pawar 20<br />

Mohammad Zahaby 475 Prof. Ravindra P. Joshi 113<br />

Mohd. Ashraf 6 Prof. Sahana Bhosale 113<br />

Moinuddin 293 Prof. Sanjeev S. Sannakkir 333<br />

N. P. Pathak 220 Prof. Shimna Balakrishnan 385<br />

N. Z. Tarapore 44 Prof. U. S. Bhadade 167<br />

Nidhi Bansal 258 Prof.Thakore Devendra 363<br />

Nikhil Agrawal 56 R Radhakrishnan 293<br />

Nupur Prakash 128 R. Ashok Kumar 213<br />

P. D. Ganjewar 167 R. C. Joshi 258<br />

P. Neelakantan 171 R. K. Pateriya 30<br />

P. S. Kasliwal 399 R. Manivasakan 234<br />

P. S. Mahajani 399 R. Roopalakshmi 213<br />

P. Siddaiah 393 Raad A. Muhajjar 128<br />

Pallavi Khatri 68,198 Rachana T. Nemade 91<br />

Pallavi Talega<strong>on</strong>kar 357 Rajesh M. Jalnekar 379<br />

Pankaj Kulkarni 16 Rama Shankar Yadav 97, 107<br />

Parul Agarwal 50 Rashid Ali 6<br />

Patil S. H. 192 Rekha Patil 11<br />

Pijush Kanti Bhattacharjee 463 Renuka Prasad B. 73<br />

Pradeep B. S. 35 Rimmi Devgan 389<br />

Pradhan B. Umesh 161,287 Rio G. L. D’Souza 287<br />

Pradnya Kulkarni 438 Rizwan Ahmed 246<br />

Prarthana A. G. 175 Rohit A. Khot 25<br />

Prashant B. Swadas 62 S. A. V. Satya Murty 156<br />

Prem Kumar N<strong>on</strong>ia 234 S. B. Choudhari 373<br />

Preman<strong>and</strong> P. Ghadekar 427 S. Bansal 422


S. G. Pukale 44, 410 S<strong>on</strong>ali Patil 119<br />

S. Kazim Naqvi 128 Soumya S. 35<br />

S. M. Bhadkumbhe 373 Sunil J. S<strong>on</strong>i 62<br />

S. R. Rathi 329 Suresh N. Mali 379, 427, 438<br />

S. R. Shinde 224 Swapnaja B. More 339<br />

S.T. Patil 325 T. G. Basavaraju 313<br />

Sameena Naaz 228 T. P. Sharma 258<br />

S<strong>and</strong>eep A. Thorat 25 Tanuja K. Sarode 346<br />

Sanjay R. Ganorkar 432 Tanuja K. Sarode 367<br />

Sanjesh S. Pawale 151 Thaksen J Parvat 238<br />

Sanket Sarang 187 Ursal S. U. 192<br />

Santhosh Y. 423 V. S. Tidake 410<br />

Sarita Bhadoria 68 V. V. K. D. V. Prasad 393<br />

Sarita Rajput 405 Varsha N. Wahane 202<br />

Sathidevi P.S. 264 Vasanth. G., 35<br />

Sathidevi P.S. 274 Venugopal A. G. 35<br />

Shabana Mehfuz 293 Vijayalaxmi Kadroli 202<br />

Sheetal N. Raut 254 Vinaya M. Rawool 346<br />

Sheetal Takale 56 Wathap Sapankumar R. 363<br />

Shital K. Dhamal 207 Wg Cdr(Retd) Devasish Pal 241<br />

Shruthi Viswanath 175 Yogi R. Joshi 86<br />

Shubhank Jain 56<br />

Smita A. Attarde 207<br />

Smita R. Desai 254<br />

Solahuddin B. Shamsuddin 78

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!