International Journal of Computer Science Issues

9 downloads 0 Views 2MB Size Report
Dr. Ola Osunkoya, Information Security Architect, USA. • Mr. Kotsokostas .... Dr. B. Sivaselvan, Indian Institute of Information Technology, Design & Manufacturing,. Kancheepuram, IIT Madras .... Mr. Tirthraj Rai, Jawahar Lal Nehru University, New Delhi, India .... Refer to lining layout planning (LLP) [1], the optimal design with ...
                 

IJCSI

         

 

International Journal of Computer Science Issues

Volume 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

© IJCSI PUBLICATION www.IJCSI.org

IJCSI proceedings are currently indexed by:

© IJCSI PUBLICATION 2010 www.IJCSI.org

IJCSI Publicity Board 2010

Dr. Borislav D Dimitrov Department of General Practice, Royal College of Surgeons in Ireland Dublin, Ireland

Dr. Vishal Goyal Department of Computer Science, Punjabi University Patiala, India

Mr. Nehinbe Joshua University of Essex Colchester, Essex, UK

Mr. Vassilis Papataxiarhis Department of Informatics and Telecommunications National and Kapodistrian University of Athens, Athens, Greece

EDITORIAL In this fourth edition of 2010, we bring forward issues from various dynamic computer science areas ranging from system performance, computer vision, artificial intelligence, ontologies, software engineering, multimedia, pattern recognition, information retrieval, databases, security and networking among others. Considering the growing interest of academics worldwide to publish in IJCSI, we invite universities and institutions to partner with us to further encourage open-access publications. As always we thank all our reviewers for providing constructive comments on papers sent to them for review. This helps enormously in improving the quality of papers published in this issue. Apart from availability of the full-texts from the journal website, all published papers are deposited in open-access repositories to make access easier and ensure continuous availability of its proceedings. We are pleased to present IJCSI Volume 7, Issue 4, July 2010, split in nine numbers (IJCSI Vol. 7, Issue 4, No. 5). Out of the 179 paper submissions, 57 papers were retained for publication. The acceptance rate for this issue is 31.84%.

We wish you a happy reading!

IJCSI Editorial Board July 2010 Issue ISSN (Print): 1694-0814 ISSN (Online): 1694-0784 © IJCSI Publications www.IJCSI.org 

IJCSI Editorial Board 2010

Dr Tristan Vanrullen Chief Editor LPL, Laboratoire Parole et Langage - CNRS - Aix en Provence, France LABRI, Laboratoire Bordelais de Recherche en Informatique - INRIA - Bordeaux, France LEEE, Laboratoire d'Esthétique et Expérimentations de l'Espace - Université d'Auvergne, France Dr Constantino Malagôn Associate Professor Nebrija University Spain Dr Lamia Fourati Chaari Associate Professor Multimedia and Informatics Higher Institute in SFAX Tunisia Dr Mokhtar Beldjehem Professor Sainte-Anne University Halifax, NS, Canada Dr Pascal Chatonnay Assistant Professor MaÎtre de Conférences Laboratoire d'Informatique de l'Université de Franche-Comté Université de Franche-Comté France Dr Karim Mohammed Rezaul Centre for Applied Internet Research (CAIR) Glyndwr University Wrexham, United Kingdom Dr Yee-Ming Chen Professor Department of Industrial Engineering and Management Yuan Ze University Taiwan

Dr Vishal Goyal Assistant Professor Department of Computer Science Punjabi University Patiala, India Dr Dalbir Singh Faculty of Information Science And Technology National University of Malaysia Malaysia Dr Natarajan Meghanathan Assistant Professor REU Program Director Department of Computer Science Jackson State University Jackson, USA Dr Deepak Laxmi Narasimha Department of Software Engineering, Faculty of Computer Science and Information Technology, University of Malaya, Kuala Lumpur, Malaysia Dr Navneet Agrawal Assistant Professor Department of ECE, College of Technology & Engineering, MPUAT, Udaipur 313001 Rajasthan, India Dr T. V. Prasad Professor Department of Computer Science and Engineering, Lingaya's University Faridabad, Haryana, India Prof N. Jaisankar Assistant Professor School of Computing Sciences, VIT University Vellore, Tamilnadu, India

IJCSI Reviewers Committee 2010  Mr. Markus Schatten, University of Zagreb, Faculty of Organization and Informatics, Croatia  Mr. Vassilis Papataxiarhis, Department of Informatics and Telecommunications, National and Kapodistrian University of Athens, Athens, Greece  Dr Modestos Stavrakis, University of the Aegean, Greece  Dr Fadi KHALIL, LAAS -- CNRS Laboratory, France  Dr Dimitar Trajanov, Faculty of Electrical Engineering and Information technologies, ss. Cyril and Methodius Univesity - Skopje, Macedonia  Dr Jinping Yuan, College of Information System and Management,National Univ. of Defense Tech., China  Dr Alexis Lazanas, Ministry of Education, Greece  Dr Stavroula Mougiakakou, University of Bern, ARTORG Center for Biomedical Engineering Research, Switzerland  Dr Cyril de Runz, CReSTIC-SIC, IUT de Reims, University of Reims, France  Mr. Pramodkumar P. Gupta, Dept of Bioinformatics, Dr D Y Patil University, India  Dr Alireza Fereidunian, School of ECE, University of Tehran, Iran  Mr. Fred Viezens, Otto-Von-Guericke-University Magdeburg, Germany  Dr. Richard G. Bush, Lawrence Technological University, United States  Dr. Ola Osunkoya, Information Security Architect, USA  Mr. Kotsokostas N.Antonios, TEI Piraeus, Hellas  Prof Steven Totosy de Zepetnek, U of Halle-Wittenberg & Purdue U & National Sun Yat-sen U, Germany, USA, Taiwan  Mr. M Arif Siddiqui, Najran University, Saudi Arabia  Ms. Ilknur Icke, The Graduate Center, City University of New York, USA  Prof Miroslav Baca, Faculty of Organization and Informatics, University of Zagreb, Croatia  Dr. Elvia Ruiz Beltrán, Instituto Tecnológico de Aguascalientes, Mexico  Mr. Moustafa Banbouk, Engineer du Telecom, UAE  Mr. Kevin P. Monaghan, Wayne State University, Detroit, Michigan, USA  Ms. Moira Stephens, University of Sydney, Australia  Ms. Maryam Feily, National Advanced IPv6 Centre of Excellence (NAV6) , Universiti Sains Malaysia (USM), Malaysia  Dr. Constantine YIALOURIS, Informatics Laboratory Agricultural University of Athens, Greece  Mrs. Angeles Abella, U. de Montreal, Canada  Dr. Patrizio Arrigo, CNR ISMAC, italy  Mr. Anirban Mukhopadhyay, B.P.Poddar Institute of Management & Technology, India  Mr. Dinesh Kumar, DAV Institute of Engineering & Technology, India  Mr. Jorge L. Hernandez-Ardieta, INDRA SISTEMAS / University Carlos III of Madrid, Spain  Mr. AliReza Shahrestani, University of Malaya (UM), National Advanced IPv6 Centre of Excellence (NAv6), Malaysia  Mr. Blagoj Ristevski, Faculty of Administration and Information Systems Management - Bitola, Republic of Macedonia  Mr. Mauricio Egidio Cantão, Department of Computer Science / University of São Paulo, Brazil  Mr. Jules Ruis, Fractal Consultancy, The Netherlands

 Mr. Mohammad Iftekhar Husain, University at Buffalo, USA  Dr. Deepak Laxmi Narasimha, Department of Software Engineering, Faculty of Computer Science and Information Technology, University of Malaya, Malaysia  Dr. Paola Di Maio, DMEM University of Strathclyde, UK  Dr. Bhanu Pratap Singh, Institute of Instrumentation Engineering, Kurukshetra University Kurukshetra, India  Mr. Sana Ullah, Inha University, South Korea  Mr. Cornelis Pieter Pieters, Condast, The Netherlands  Dr. Amogh Kavimandan, The MathWorks Inc., USA  Dr. Zhinan Zhou, Samsung Telecommunications America, USA  Mr. Alberto de Santos Sierra, Universidad Politécnica de Madrid, Spain  Dr. Md. Atiqur Rahman Ahad, Department of Applied Physics, Electronics & Communication Engineering (APECE), University of Dhaka, Bangladesh  Dr. Charalampos Bratsas, Lab of Medical Informatics, Medical Faculty, Aristotle University, Thessaloniki, Greece  Ms. Alexia Dini Kounoudes, Cyprus University of Technology, Cyprus  Mr. Anthony Gesase, University of Dar es salaam Computing Centre, Tanzania  Dr. Jorge A. Ruiz-Vanoye, Universidad Juárez Autónoma de Tabasco, Mexico  Dr. Alejandro Fuentes Penna, Universidad Popular Autónoma del Estado de Puebla, México  Dr. Ocotlán Díaz-Parra, Universidad Juárez Autónoma de Tabasco, México  Mrs. Nantia Iakovidou, Aristotle University of Thessaloniki, Greece  Mr. Vinay Chopra, DAV Institute of Engineering & Technology, Jalandhar  Ms. Carmen Lastres, Universidad Politécnica de Madrid - Centre for Smart Environments, Spain  Dr. Sanja Lazarova-Molnar, United Arab Emirates University, UAE  Mr. Srikrishna Nudurumati, Imaging & Printing Group R&D Hub, Hewlett-Packard, India  Dr. Olivier Nocent, CReSTIC/SIC, University of Reims, France  Mr. Burak Cizmeci, Isik University, Turkey  Dr. Carlos Jaime Barrios Hernandez, LIG (Laboratory Of Informatics of Grenoble), France  Mr. Md. Rabiul Islam, Rajshahi university of Engineering & Technology (RUET), Bangladesh  Dr. LAKHOUA Mohamed Najeh, ISSAT - Laboratory of Analysis and Control of Systems, Tunisia  Dr. Alessandro Lavacchi, Department of Chemistry - University of Firenze, Italy  Mr. Mungwe, University of Oldenburg, Germany  Mr. Somnath Tagore, Dr D Y Patil University, India  Ms. Xueqin Wang, ATCS, USA  Dr. Borislav D Dimitrov, Department of General Practice, Royal College of Surgeons in Ireland, Dublin, Ireland  Dr. Fondjo Fotou Franklin, Langston University, USA  Dr. Vishal Goyal, Department of Computer Science, Punjabi University, Patiala, India  Mr. Thomas J. Clancy, ACM, United States  Dr. Ahmed Nabih Zaki Rashed, Dr. in Electronic Engineering, Faculty of Electronic Engineering, menouf 32951, Electronics and Electrical Communication Engineering Department, Menoufia university, EGYPT, EGYPT  Dr. Rushed Kanawati, LIPN, France  Mr. Koteshwar Rao, K G Reddy College Of ENGG.&TECH,CHILKUR, RR DIST.,AP, India

 Mr. M. Nagesh Kumar, Department of Electronics and Communication, J.S.S. research foundation, Mysore University, Mysore-6, India  Dr. Ibrahim Noha, Grenoble Informatics Laboratory, France  Mr. Muhammad Yasir Qadri, University of Essex, UK  Mr. Annadurai .P, KMCPGS, Lawspet, Pondicherry, India, (Aff. Pondicherry Univeristy, India  Mr. E Munivel , CEDTI (Govt. of India), India  Dr. Chitra Ganesh Desai, University of Pune, India  Mr. Syed, Analytical Services & Materials, Inc., USA  Dr. Mashud Kabir, Department of Computer Science, University of Tuebingen, Germany  Mrs. Payal N. Raj, Veer South Gujarat University, India  Mrs. Priti Maheshwary, Maulana Azad National Institute of Technology, Bhopal, India  Mr. Mahesh Goyani, S.P. University, India, India  Mr. Vinay Verma, Defence Avionics Research Establishment, DRDO, India  Dr. George A. Papakostas, Democritus University of Thrace, Greece  Mr. Abhijit Sanjiv Kulkarni, DARE, DRDO, India  Mr. Kavi Kumar Khedo, University of Mauritius, Mauritius  Dr. B. Sivaselvan, Indian Institute of Information Technology, Design & Manufacturing, Kancheepuram, IIT Madras Campus, India  Dr. Partha Pratim Bhattacharya, Greater Kolkata College of Engineering and Management, West Bengal University of Technology, India  Mr. Manish Maheshwari, Makhanlal C University of Journalism & Communication, India  Dr. Siddhartha Kumar Khaitan, Iowa State University, USA  Dr. Mandhapati Raju, General Motors Inc, USA  Dr. M.Iqbal Saripan, Universiti Putra Malaysia, Malaysia  Mr. Ahmad Shukri Mohd Noor, University Malaysia Terengganu, Malaysia  Mr. Selvakuberan K, TATA Consultancy Services, India  Dr. Smita Rajpal, Institute of Technology and Management, Gurgaon, India  Mr. Rakesh Kachroo, Tata Consultancy Services, India  Mr. Raman Kumar, National Institute of Technology, Jalandhar, Punjab., India  Mr. Nitesh Sureja, S.P.University, India  Dr. M. Emre Celebi, Louisiana State University, Shreveport, USA  Dr. Aung Kyaw Oo, Defence Services Academy, Myanmar  Mr. Sanjay P. Patel, Sankalchand Patel College of Engineering, Visnagar, Gujarat, India  Dr. Pascal Fallavollita, Queens University, Canada  Mr. Jitendra Agrawal, Rajiv Gandhi Technological University, Bhopal, MP, India  Mr. Ismael Rafael Ponce Medellín, Cenidet (Centro Nacional de Investigación y Desarrollo Tecnológico), Mexico  Mr. Supheakmungkol SARIN, Waseda University, Japan  Mr. Shoukat Ullah, Govt. Post Graduate College Bannu, Pakistan  Dr. Vivian Augustine, Telecom Zimbabwe, Zimbabwe  Mrs. Mutalli Vatila, Offshore Business Philipines, Philipines  Dr. Emanuele Goldoni, University of Pavia, Dept. of Electronics, TLC & Networking Lab, Italy  Mr. Pankaj Kumar, SAMA, India  Dr. Himanshu Aggarwal, Punjabi University,Patiala, India  Dr. Vauvert Guillaume, Europages, France

 Prof Yee Ming Chen, Department of Industrial Engineering and Management, Yuan Ze University, Taiwan  Dr. Constantino Malagón, Nebrija University, Spain  Prof Kanwalvir Singh Dhindsa, B.B.S.B.Engg.College, Fatehgarh Sahib (Punjab), India  Mr. Angkoon Phinyomark, Prince of Singkla University, Thailand  Ms. Nital H. Mistry, Veer Narmad South Gujarat University, Surat, India  Dr. M.R.Sumalatha, Anna University, India  Mr. Somesh Kumar Dewangan, Disha Institute of Management and Technology, India  Mr. Raman Maini, Punjabi University, Patiala(Punjab)-147002, India  Dr. Abdelkader Outtagarts, Alcatel-Lucent Bell-Labs, France  Prof Dr. Abdul Wahid, AKG Engg. College, Ghaziabad, India  Mr. Prabu Mohandas, Anna University/Adhiyamaan College of Engineering, india  Dr. Manish Kumar Jindal, Panjab University Regional Centre, Muktsar, India  Prof Mydhili K Nair, M S Ramaiah Institute of Technnology, Bangalore, India  Dr. C. Suresh Gnana Dhas, VelTech MultiTech Dr.Rangarajan Dr.Sagunthala Engineering College,Chennai,Tamilnadu, India  Prof Akash Rajak, Krishna Institute of Engineering and Technology, Ghaziabad, India  Mr. Ajay Kumar Shrivastava, Krishna Institute of Engineering & Technology, Ghaziabad, India  Mr. Deo Prakash, SMVD University, Kakryal(J&K), India  Dr. Vu Thanh Nguyen, University of Information Technology HoChiMinh City, VietNam  Prof Deo Prakash, SMVD University (A Technical University open on I.I.T. Pattern) Kakryal (J&K), India  Dr. Navneet Agrawal, Dept. of ECE, College of Technology & Engineering, MPUAT, Udaipur 313001 Rajasthan, India  Mr. Sufal Das, Sikkim Manipal Institute of Technology, India  Mr. Anil Kumar, Sikkim Manipal Institute of Technology, India  Dr. B. Prasanalakshmi, King Saud University, Saudi Arabia.  Dr. K D Verma, S.V. (P.G.) College, Aligarh, India  Mr. Mohd Nazri Ismail, System and Networking Department, University of Kuala Lumpur (UniKL), Malaysia  Dr. Nguyen Tuan Dang, University of Information Technology, Vietnam National University Ho Chi Minh city, Vietnam  Dr. Abdul Aziz, University of Central Punjab, Pakistan  Dr. P. Vasudeva Reddy, Andhra University, India  Mrs. Savvas A. Chatzichristofis, Democritus University of Thrace, Greece  Mr. Marcio Dorn, Federal University of Rio Grande do Sul - UFRGS Institute of Informatics, Brazil  Mr. Luca Mazzola, University of Lugano, Switzerland  Mr. Nadeem Mahmood, Department of Computer Science, University of Karachi, Pakistan  Mr. Hafeez Ullah Amin, Kohat University of Science & Technology, Pakistan  Dr. Professor Vikram Singh, Ch. Devi Lal University, Sirsa (Haryana), India  Mr. M. Azath, Calicut/Mets School of Enginerring, India  Dr. J. Hanumanthappa, DoS in CS, University of Mysore, India  Dr. Shahanawaj Ahamad, Department of Computer Science, King Saud University, Saudi Arabia  Dr. K. Duraiswamy, K. S. Rangasamy College of Technology, India  Prof. Dr Mazlina Esa, Universiti Teknologi Malaysia, Malaysia

 Dr. P. Vasant, Power Control Optimization (Global), Malaysia  Dr. Taner Tuncer, Firat University, Turkey  Dr. Norrozila Sulaiman, University Malaysia Pahang, Malaysia  Prof. S K Gupta, BCET, Guradspur, India  Dr. Latha Parameswaran, Amrita Vishwa Vidyapeetham, India  Mr. M. Azath, Anna University, India  Dr. P. Suresh Varma, Adikavi Nannaya University, India  Prof. V. N. Kamalesh, JSS Academy of Technical Education, India  Dr. D Gunaseelan, Ibri College of Technology, Oman  Mr. Sanjay Kumar Anand, CDAC, India  Mr. Akshat Verma, CDAC, India  Mrs. Fazeela Tunnisa, Najran University, Kingdom of Saudi Arabia  Mr. Hasan Asil, Islamic Azad University Tabriz Branch (Azarshahr), Iran  Prof. Dr Sajal Kabiraj, Fr. C Rodrigues Institute of Management Studies (Affiliated to University of Mumbai, India), India  Mr. Syed Fawad Mustafa, GAC Center, Shandong University, China  Dr. Natarajan Meghanathan, Jackson State University, Jackson, MS, USA  Prof. Selvakani Kandeeban, Francis Xavier Engineering College, India  Mr. Tohid Sedghi, Urmia University, Iran  Dr. S. Sasikumar, PSNA College of Engg and Tech, Dindigul, India  Dr. Anupam Shukla, Indian Institute of Information Technology and Management Gwalior, India  Mr. Rahul Kala, Indian Institute of Inforamtion Technology and Management Gwalior, India  Dr. A V Nikolov, National University of Lesotho, Lesotho  Mr. Kamal Sarkar, Department of Computer Science and Engineering, Jadavpur University, India  Dr. Mokhled S. AlTarawneh, Computer Engineering Dept., Faculty of Engineering, Mutah University, Jordan, Jordan  Prof. Sattar J Aboud, Iraqi Council of Representatives, Iraq-Baghdad  Dr. Prasant Kumar Pattnaik, Department of CSE, KIST, India  Dr. Mohammed Amoon, King Saud University, Saudi Arabia  Dr. Tsvetanka Georgieva, Department of Information Technologies, St. Cyril and St. Methodius University of Veliko Tarnovo, Bulgaria  Dr. Eva Volna, University of Ostrava, Czech Republic  Mr. Ujjal Marjit, University of Kalyani, West-Bengal, India  Dr. Prasant Kumar Pattnaik, KIST,Bhubaneswar,India, India  Dr. Guezouri Mustapha, Department of Electronics, Faculty of Electrical Engineering, University of Science and Technology (USTO), Oran, Algeria  Mr. Maniyar Shiraz Ahmed, Najran University, Najran, Saudi Arabia  Dr. Sreedhar Reddy, JNTU, SSIETW, Hyderabad, India  Mr. Bala Dhandayuthapani Veerasamy, Mekelle University, Ethiopa  Mr. Arash Habibi Lashkari, University of Malaya (UM), Malaysia  Mr. Rajesh Prasad, LDC Institute of Technical Studies, Allahabad, India  Ms. Habib Izadkhah, Tabriz University, Iran  Dr. Lokesh Kumar Sharma, Chhattisgarh Swami Vivekanand Technical University Bhilai, India  Mr. Kuldeep Yadav, IIIT Delhi, India  Dr. Naoufel Kraiem, Institut Superieur d'Informatique, Tunisia

 Prof. Frank Ortmeier, Otto-von-Guericke-Universitaet Magdeburg, Germany  Mr. Ashraf Aljammal, USM, Malaysia  Mrs. Amandeep Kaur, Department of Computer Science, Punjabi University, Patiala, Punjab, India  Mr. Babak Basharirad, University Technology of Malaysia, Malaysia  Mr. Avinash singh, Kiet Ghaziabad, India  Dr. Miguel Vargas-Lombardo, Technological University of Panama, Panama  Dr. Tuncay Sevindik, Firat University, Turkey  Ms. Pavai Kandavelu, Anna University Chennai, India  Mr. Ravish Khichar, Global Institute of Technology, India  Mr Aos Alaa Zaidan Ansaef, Multimedia University, Cyberjaya, Malaysia  Dr. Awadhesh Kumar Sharma, Dept. of CSE, MMM Engg College, Gorakhpur-273010, UP, India  Mr. Qasim Siddique, FUIEMS, Pakistan  Dr. Le Hoang Thai, University of Science, Vietnam National University - Ho Chi Minh City, Vietnam  Dr. Saravanan C, NIT, Durgapur, India  Dr. Vijay Kumar Mago, DAV College, Jalandhar, India  Dr. Do Van Nhon, University of Information Technology, Vietnam  Mr. Georgios Kioumourtzis, University of Patras, Greece  Mr. Amol D.Potgantwar, SITRC Nasik, India  Mr. Lesedi Melton Masisi, Council for Scientific and Industrial Research, South Africa  Dr. Karthik.S, Department of Computer Science & Engineering, SNS College of Technology, India  Mr. Nafiz Imtiaz Bin Hamid, Department of Electrical and Electronic Engineering, Islamic University of Technology (IUT), Bangladesh  Mr. Muhammad Imran Khan, Universiti Teknologi PETRONAS, Malaysia  Dr. Abdul Kareem M. Radhi, Information Engineering - Nahrin University, Iraq  Dr. Mohd Nazri Ismail, University of Kuala Lumpur, Malaysia  Dr. Manuj Darbari, BBDNITM, Institute of Technology, A-649, Indira Nagar, Lucknow 226016, India  Ms. Izerrouken, INP-IRIT, France  Mr. Nitin Ashokrao Naik, Dept. of Computer Science, Yeshwant Mahavidyalaya, Nanded, India  Mr. Nikhil Raj, National Institute of Technology, Kurukshetra, India  Prof. Maher Ben Jemaa, National School of Engineers of Sfax, Tunisia  Prof. Rajeshwar Singh, BRCM College of Engineering and Technology, Bahal Bhiwani, Haryana, India  Mr. Gaurav Kumar, Department of Computer Applications, Chitkara Institute of Engineering and Technology, Rajpura, Punjab, India  Mr. Ajeet Kumar Pandey, Indian Institute of Technology, Kharagpur, India  Mr. Rajiv Phougat, IBM Corporation, USA  Mrs. Aysha V, College of Applied Science Pattuvam affiliated with Kannur University, India  Dr. Debotosh Bhattacharjee, Department of Computer Science and Engineering, Jadavpur University, Kolkata-700032, India  Dr. Neelam Srivastava, Institute of engineering & Technology, Lucknow, India  Prof. Sweta Verma, Galgotia's College of Engineering & Technology, Greater Noida, India  Mr. Harminder Singh BIndra, MIMIT, INDIA  Dr. Lokesh Kumar Sharma, Chhattisgarh Swami Vivekanand Technical University, Bhilai, India  Mr. Tarun Kumar, U.P. Technical University/Radha Govinend Engg. College, India  Mr. Tirthraj Rai, Jawahar Lal Nehru University, New Delhi, India

 Mr. Akhilesh Tiwari, Madhav Institute of Technology & Science, India  Mr. Dakshina Ranjan Kisku, Dr. B. C. Roy Engineering College, WBUT, India  Ms. Anu Suneja, Maharshi Markandeshwar University, Mullana, Haryana, India  Mr. Munish Kumar Jindal, Punjabi University Regional Centre, Jaito (Faridkot), India  Dr. Ashraf Bany Mohammed, Management Information Systems Department, Faculty of Administrative and Financial Sciences, Petra University, Jordan  Mrs. Jyoti Jain, R.G.P.V. Bhopal, India  Dr. Lamia Chaari, SFAX University, Tunisia  Mr. Akhter Raza Syed, Department of Computer Science, University of Karachi, Pakistan  Prof. Khubaib Ahmed Qureshi, Information Technology Department, HIMS, Hamdard University, Pakistan  Prof. Boubker Sbihi, Ecole des Sciences de L'Information, Morocco  Dr. S. M. Riazul Islam, Inha University, South Korea  Prof. Lokhande S.N., S.R.T.M.University, Nanded (MH), India  Dr. Vijay H Mankar, Dept. of Electronics, Govt. Polytechnic, Nagpur, India  Dr. M. Sreedhar Reddy, JNTU, Hyderabad, SSIETW, India  Mr. Ojesanmi Olusegun, Ajayi Crowther University, Oyo, Nigeria  Ms. Mamta Juneja, RBIEBT, PTU, India  Dr. Ekta Walia Bhullar, Maharishi Markandeshwar University, Mullana Ambala (Haryana), India  Prof. Chandra Mohan, John Bosco Engineering College, India  Mr. Nitin A. Naik, Yeshwant Mahavidyalaya, Nanded, India  Mr. Sunil Kashibarao Nayak, Bahirji Smarak Mahavidyalaya, Basmathnagar Dist-Hingoli., India  Prof. Rakesh.L, Vijetha Institute of Technology, Bangalore, India  Mr B. M. Patil, Indian Institute of Technology, Roorkee, Uttarakhand, India  Mr. Thipendra Pal Singh, Sharda University, K.P. III, Greater Noida, Uttar Pradesh, India  Prof. Chandra Mohan, John Bosco Engg College, India  Mr. Hadi Saboohi, University of Malaya - Faculty of Computer Science and Information Technology, Malaysia  Dr. R. Baskaran, Anna University, India  Dr. Wichian Sittiprapaporn, Mahasarakham University College of Music, Thailand  Mr. Lai Khin Wee, Universiti Teknologi Malaysia, Malaysia  Dr. Kamaljit I. Lakhtaria, Atmiya Institute of Technology, India  Mrs. Inderpreet Kaur, PTU, Jalandhar, India  Mr. Iqbaldeep Kaur, PTU / RBIEBT, India  Mrs. Vasudha Bahl, Maharaja Agrasen Institute of Technology, Delhi, India  Prof. Vinay Uttamrao Kale, P.R.M. Institute of Technology & Research, Badnera, Amravati, Maharashtra, India  Mr. Suhas J Manangi, Microsoft, India  Ms. Anna Kuzio, Adam Mickiewicz University, School of English, Poland  Dr. Debojyoti Mitra, Sir Padampat Singhania University, India  Prof. Rachit Garg, Department of Computer Science, L K College, India  Mrs. Manjula K A, Kannur University, India  Mr. Rakesh Kumar, Indian Institute of Technology Roorkee, India

TABLE OF CONTENTS

1. Shape Assignment by Genetic Algorithm towards Designing Optimal Areas Ismadi Md Badarudin, Abu Bakar Md Sultan, Md Nasir Sulaiman, Ali Mamat and Mahmud Tengku Muda Mohamed

Pg 1-7

2. A Double Min Min Algorithm for Task Metascheduler on Hypercubic P2P Grid Systems D. Doreen Hephzibah Miriam and K. S. Easwarakumar

Pg 8-18

3. A Proposal for Normalized Lack of Cohesion in Method (LCOM) Metric Using Field Experiment Ezekiel Okike

Pg 19-27

4. New Approaches towards the Collision detection Manish Kumar, Ashish Avasthi, Kamal Kumar Srivastava and Vineeta Bajpai

Pg 28-36

5. A High Certificate Authority Scheme for Authentication in Mobile Ad hoc Networks A. Rajaram and S. Palaniswami

Pg 37-45

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

1

Shape Assignment by Genetic Algorithm towards Designing Optimal Areas Ismadi Md Badarudin1, Abu Bakar Md Sultan2, Md Nasir Sulaiman2, Ali Mamat2, Mahmud Tengku Muda Mohamed3 1

Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA Shah Alam, Selangor, Malaysia

2

Faculty of Computer Science and Information Technology, Universiti Putra Malaysia Serdang, Selangor, Malaysia 3

Faculty of Crop Science, Universiti Putra Malaysia Serdang, Selangor, Malaysia

Abstract This paper presents a preliminary study on space allocation focusing on the rectangular shapes to be assigned into an area with an intention to find optimal combination of shapes. The proposed solution is vital for promoting an optimal planting area and eventually finds the optimal number of trees as the ultimate goal. Thus, the evolutionary algorithm by GA technique was performed to find the objective. GAs by implementing some metaheuristic approaches is one of the most common techniques for handling ambiguous and / or vast possible solutions. The shape assignment strategy by the determined shapes coordinate to be assigned into an area was introduced. The aim of this study is to gauge the capability of GA to solve this problem. Therefore some strategies to determine the chromosome representation and genetic operators are essential for less computational time and result quality. Some areas coordinate were used to generate the optimal solutions. The result indicates the GA is able to fulfill both feasible result and acceptable time. Keywords: Genetic algorithm, Shape allocation, Optima solution, Metaheuristic

assignment,

Space

Assignment strategy. However, it could be considered as an ambiguous matter with many possible solutions requires an exponential time to reach a solution. To handle this, some metaheuristic approaches by Genetic Algorithm (GA) implementation were applied. Optimal layout means the combination of shapes promote as less as unused space. In LLP, we attempt to find optimal solution whenever the combination of shapes must completely be fitted with no unused spaces as shown in figure 1. The existence of unused space or / and at least one shape beyond the border of area will be rejected because of by respective with area is not fully utilized and violation of hard constraint. The solution will be used for assigning the appropriate line direction for each determined shape will consequently achieve the optimal tree density.

1. Introduction 1.1 Designing Optimal Layout Refer to lining layout planning (LLP) [1], the optimal design with the strategy of determining area division by blocks and then choosing the best line direction for each block was introduced. The different blocks basically produces the different number of trees, thus the right chosen of blocks is vital for area optimization will eventually promoting optimal number of trees to be planted in an area. We have managed by exact method in order to find the best line direction in an area due to lines that differentiated by number of degree (between 10 and 900) from baseline has 90 possibilities to be analyzed. Meanwhile deciding the blocks, we employed a Shape

Fig.1 Possibility of shapes that represent blocks to be assigned into an area

In order to divide an area to blocks, the determination of shapes pattern with their possible coordinates. The number of shapes to be suited into area depends on the number of blocks that is determined by user. The blocks that represented by shape patterns (square, vertical or

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org horizontal rectangular) with various coordinates were used to be assigned into rectangular areas as shown in figure 2.

2

analysis on GA capabilities for handling this issue and the results were reported in section 4. Finally we conclude in section 5.

1.2 Space Allocation by Metaheuristic Approaches

Fig.2 Shape patterns

The coordinates of area and shapes refer to top-right (x4, y4), while bottom-left (x1, y1) is permanently set with (0, 0). The possible shapes coordinates to be assigned into area up to the area coordinate. For example, the rectangular area of 4, 5 coordinate means (x1, y1), (x2, y2), (x3, y3) and (x4, y4) represented by (0, 0), (4, 0), (0, 5) and (4, 5) respectively as shown in figure 3. The possibility of shapes to be combined if the area coordinate of (4, 5) are (1, 1), (1, 2), …, (4, 4), (4, 5) as shown in figure 4. The size of area is acquired by multiplication of x4 and y4.

Fig.3 Representation of (4, 5) area coordinate

Fig. 4 Possible shapes coordinates refer to the area coordinate of (4, 5)

This paper only devotes the Shape Assignment strategies of GA implementation towards searching the optimal shapes combination in an area. This problem relates to Space Allocation Problems (SAPs) that has uncertainty solutions; we found the metaheuristic is the appropriate approaches to be applied as discussed in section 1.2. In order to overcome this issue we organize this paper in the following ways. Section 2, the brief explanation of GA as the selected algorithm, followed by the GA strategies used in Shape Assignment solution in section 3. An empirical

Rectangular Shape Assignment into an area is one of the challenges in Space Allocation Problems (SAPs). The ambiguity solution to determine the appropriate shapes to be fitted into an area is considered as a type of optimization problems. The aim is to minimize unused space so that the area could be optimized. The searching processes to meet the objective function, however, promote many possible solutions to be analyzed in accordance with the available constraints and consequently lead to high computational time. SAPs are considered as Non-Deterministic Polynomial (NP) problem that requires exponential time to solve such related problems in the worst-case. In many cases, a problem can be solved by several algorithms and problem complexity is measured by the time complexity of the most efficient algorithm for the problem [2]. A tractable problem has certain solution to be found and it might employ exact method techniques that can be solved in polynomial time. Although these techniques could obtain optimal solution, it can be computationally expensive and impractical for many real world applications. Whereas the problems are considered as intractable require probabilistic techniques with guide intelligently in search space. The intractable problems are unsolvable by exact methods since the computational time is exponential. According to Ruibin [3] Polynomial (P) represents by class of the problems that are solvable by deterministic algorithm with polynomial time complexity. Non deterministic Polynomial (NP) is the class problem that can be solved in polynomial time by a non-deterministic algorithm. Some solutions in SAP by exact methods may found the required solution but the time computation is usually questionable. The approximate algorithms with metaheuristic approaches are usually proposed to solve this matter. The metaheuristic was introduced by Glover [1986] has been recognized to solve the problems with satisfactory solution quality within reasonable computational time in optimization problems. In spite of it does not guarantee to obtain the best solution but (near) optimal solutions are accepted. However, to find the optimal solution sometime fails in the middle of searching process because of getting trapped at the local optima is a main challenge. Some papers to avoid the premature convergence issue such as a maintaining diversity for GA strategy [4] and an improvement of the standard GA [18] have been proposed. The approaches of Metaheuristic

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org have also been discussed by researchers [5, 16, 7], and then were simplified with nine properties [8]. Some properties such as 1) guide the search process by short or long term memory; 2) A strategy to find optimal solution; 3) Consolidation of basic search process and complex learning procedure make metaheuristic applicable and efficient to solve the optimization problems. Among algorithms that apply the metaheuristic approaches, GA is one of the most prominent and widely accepted for various types of optimization in many fields according to the number of literatures published. In order to find the efficiency and effectively of techniques, several comparative analysis by GAs, Simulated Annealing (SA) and Tabu Search (TB) have been organized. The remark that these techniques have their own strength and strategy to solve the optimization matters [9]. A satisfactory solution to a particular layout problem can be provided by the metaheuristic approaches such as Genetic Algorithm (GA), Simulated Annealing (SA), Tabu Search (TS) that have promised to obtain better solution by proposing solutions [8]. Some papers related SAPs that focused on various fields such as architecture [10], retail shelf [3], fashion industry [11], computer graphic [12] employed GAs to handle their problems.

2. Brief Discussion of Genetic Algorithms (GAs) Genetic Algorithms (GAs) are a technique that employs some properties of metaheristic. GAs are also a part of evolutionary computing by taking inspiration of evolutional theory that was expanded from Darwin’s evolution thought to algorithm solution approach by Holland (1975). GAs are modeled on the natural process of gene evolution and restructure by repetition in which can find the global optimal solution in complex multi dimensional space search. GAs are different from other heuristic methods in several ways. GAs are population-based method works on a population of possible solutions by mean the proposal of many solutions can be performed at one time, while other heuristic methods use a single solution in their iterations. Another difference is that GAs implement probabilistic (stochastic) and not deterministic approach to find solution. Even though GAs might have constraints by typically works at short-term memory and iteration for generating next generations makes time computation to find the solution is unpredictable, but a promising optimal solution with the strategy to protect from premature convergence make GAs one of the most selected techniques. GAs have capability of handling the SAPs by 1) evolutionary strategy by genetic operators to propose new

3

individuals in next generations that are most probable better solution, 2) mutation operator acts to avoid trap in local optimal stage. By random searching, the successful of finding solution is uncertainty where the use of long term memory (to store the history of movement and current solution) might be useful. Other strategies might improve the performance of GAs in terms of time and solution quality need to be applied. Determining population size, chromosome, problem representation, rate of crossover and mutation play the role to improve the searching process. GAs implementation begins with population initialization and followed by the three genetic operators. The number of population must be cautiously clarified since population size plays the role of efficiency and effectiveness of searching process. Large population size has high possible to reach optimal solution but might increases the computational time per iteration. On the contrary, the number of generation might increase but the possibility of repetition of same solutions occurs is high as a result it might trap at local optimal. Several researchers have deployed the effect of these parameters of GA [3, 14, 15]. They conclude that a large population size means the simultaneous handling of many solution and increases the computation time per iteration; however the probability of convergence to a global optimal solution is higher when using a small population size.

3. GA in Shape Assignment Solution 3.1 Shape Assignment Solution The objective of GAs is to find optimal solution of shapes combination that are put into rectangular area. The shapes are subject to their coordinates must comply with the three constraints as follow: 1. Shapes assigned must be fully fitted into the area. Therefore, the size of selected shapes must be equal to the size of area. 2. Assignment of shapes should start with the largest. This will avoid the same shapes combination at a time. 3. No same shape type is used at the certain time of assignment. Shape type refers to the use of shapes coordinate that produce shape size and pattern. The strategies of shape assignment: 1. Placing of shapes based on the determined block number. For instance, if block number is four, shapes will be assigned will be four. 2. The combination of shapes type must be different for every solution. 3. The use of shapes to be assigned into area will be analyzed by considering item number of the shape. However the arrangement of shapes does not take into

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org account since it will produce the same number of item regardless where the shapes are placed. The processes of Shape Assignment by GA begin with assigning value to genes of a chromosome (genome) that represents individual. The chromosome of population consists of shapes will be assigned into an area as figure 5. The chromosome that has fulfilled the constraints is considered as a successful individual; in contrast fail to find the successful individual new generation will be produced. (5,4)

encoding by bit representation, however, it is suitable for parameter take on an exact value for examples 128 = 7 bits, 1024 = 10 bits, otherwise unnecessary bit patterns may result in no evaluation [16]. The string representation may optimize the coding usage but it is less meaningful to represent the problems. The Shape Assignment is represented by integer with regards to shape coordinates. The length of chromosome depends on two times of the block number (2 * B). The odd spaces of chromosome are represented by x4 coordinate, whereas the even spaces are y4 coordinate. To extend each adjacent odd and even is considered as x4 and y4 coordinate of a shape. We illustrate the design of chromosome as figure 8 below: Block1

Generation 1

Shape x4 2

Population = n

4

Block2

Shape y4 1

Shape x4 4

...

Shape y4 5

Block N









Shape x4 3

Shape y4 4

Fig. 8 Chromosome represents X and Y coordinate of shapes

5

4

1

3

2

4

4

2

Individual 1

1

2

2

3

5

1

4

4

Individual 2

. .

.

5

2

1

2

1

2

.

5

4

Individual n

The values of genes are randomly generated. Assigned values are not more than (5, 4) Fig.5 Shape Assignment Strategy

Figure 6 represents the successful solution with chromosome of 3, 3, 1, 4, 3, 1, all shapes were fully located into the area with 0 unused space. However, the figure 7 with 3, 3, 3, 2, 2, 2, can only be fitted one shape and it remains an unsuccessful solution.

Fig. 6 Successful Solution

Fig. 7 Unsuccessful Solution

The area coordinate must be priory determined. To assign possible shapes into the area randomly, we developed a strategy of assigning the value into the genes depends on the x4 and y4 coordinate of determined area. For example, the x4 and x4 of area represented by 4 and 5 respectively, hence, the odd spaces of chromosome can be assigned a value between 1 and 4, similar to even spaces where a number between 1 and 5 is allowed. The possible solutions can be referred to chromosome value in figure 5. By this strategy, possible solutions will decrease by comparative illustration of figure 9 and 10. To find the possible solutions the both simple random and our strategy are compared. Simple random assigns between 0 and 9 for both x4 and y4 employs formula (10 chromosomeLength/2 * 10 chromosomeLength/2) = 104 * 104 = 100,000,000 while by the strategy we manage (x4 areaCoordinate chromosomeLength/2 * y4 areaCoordinate chromosomeLength/2 ) = 44 * 54 = 160,000 possible solutions. We found that, this strategy produces less possible solutions and significantly affect towards reducing the time processing. 2 0-9

5 0-9

2 0-9

1 0-9

2 0-9

4 0-9

5 0-9

Fig.9. Random number between 0 – 9

3.2 Problem Representation The representation of problem by coding scheme requires specific consideration and observation because it has a major impact on the performance of GA. Different representation schemes might cause different performance in terms of accuracy and computation time [9]. The problems can be represented by bit or string. The typical

1 0-9

2 1-4

5 1-5

1 1-4

2 1-5

1 1-4

2 1-5

4 1-4

5 1-5

Fig.10. Random Strategy is based on X and Y coordinates of area

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

5

Table 2: Penalty Value

3.3 Fitness and Penalty Function The constraints must be identified since the result of analysis relies on the satisfied constraints. Constraints can be classified as hard or soft. Hard constraints are those that cannot be violated while soft constraints are those that can be broken but penalized. To minimize the penalties in a solution for a space allocation problem, no hard constraints should be violated and as many as possible soft constraints should be satisfied [17]. In Shape Assignment strategy, the three hard constraints must be fulfilled to meet the optimal result. Hard constraints: 1. The total size of selected shape type must be equal to area size. Area size = Shapes size. N

areaX * areaY = ∑ ((shapeX)i * (shapeY)i)

Conditions The largest size first shape

Penalty Value -10

3.4 Crossover Crossover implementation occurs whenever no solution found at initial population. The changes value by crossover process will generate a new generation. The chosen parents to generate offspring based on the highest fitness. By crossover the two parents are chosen, the new generation produces the two new offerings as shown in figure 11. The strategy by two point crossover means the adjacent two genes (odd and even) are randomly selected from individual, and then the part of value from those two points is exchanged.

i=1

2. 3.

The use of shapes must be once for every solution. Combination of shapes to be fixed into area with 0 unused spaces. The arrangement of shapes either row (R) or column (C) must take into account. If R arrangement

Parent 3 3 2

3

3

1

2

2

4

3

1

2

N

New Individuals 3 3 4 3 2 2

3

3

1

1

2 2

Fig.11 Process of crossover

∑ (shapeX)i = areaX * 2 i=1

If C arrangement

3.4 Mutation

N

∑ (shapeY)i = areaY * 2 i=1

Soft constraints: will be given a weighted value to be penalized. 1. The largest size of first shape is better. In order to find the acceptable shapes, a fitness and penalty function were implemented. This is because of to allocate the shape with zero unused space is our main consent to be achieved. Therefore, the value that reached the maximum value of fittest will be accepted. We assigned the fitness values for the constraints as table 1 and table 2 respectively. The successful individual is based on the value that reaches the value of maximum fittest (100). In table 1, the fitness value for successful condition of 1 and 2 are given by 20. While the condition 3 stated that all shapes are successfully fitted into area with zero unused space is assigned by 60. The fitness value of each fitted shape is based on 60 is divided by number of used shape. If only two out of three shapes number are successful the fitness value would be 40 (60 / 3 * 2). Whereas in table 2, fail to meet condition of soft constraints will be penalized 10 of total fitness value. Table 1: Fitness Value

Conditions 1. Combination of Shapes Size = Area Size 2. The use of shape types = 1 3. All shapes can be fitted into area

Fitness Value 20 20 60

Mutation implementation occurs whenever no solution found at initial population and crossover stage. The changes value by mutation process is still in same generation. We assume that fitness reach at the accepted fitness level as mentioned in fitness function. Our assumption that the first and second genes represent the large shape, however the rest gene might not meet the acquired solution. With strategy randomly choose the two adjacent genes (odd and even) by ignoring the first and second gene. The random values, then to be assigned into the selected genes as shown in figure 12. 3

3

3

1

2

2

Possible mutation results

3

3

Random value

3

3

3

1

Random value

Random value

2

2

Random value

Fig.12 Process of mutation

4. Analysis and Result We developed an application that employs GA strategies as mentioned in the previous section. The application provides flexibility for user to input area coordinate, number of block and some parameters of GA as shown in figure 13. According to our aim is to determine the time

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org and result generated by this application, several series of experiment by different inputs were carried out as shown in table 3. A proposed application by GA was run using the computer performance of Intel Pentium processor 1.7 GHz, 400 MHz FSB and 2 MB L2 cache memory. Then the results were stated to be analyzed as shown in table 4.

6

Table 4: Optimal Solution Analysis

Fig.13 Example of application by GA strategies to generate optimal solution

4.1 Datasets We conducted the series of experiment with different coordinates that represent the areas. For discussion purposes, we provide the four experiments that have been conducted. Each experiment has x4, y4 coordinate, scale and block number were input by user. The actual area coordinate and size were based on x4, y4 coordinate multiply by determined scale and actual area coordinate of x4 multiply by y4 respectively. The datasets are shown in table 3. Table 3: Datasets for four experiments

4.2 Result We executed the application two times for every experiment. Some information generated by the application were stated such as the shapes combination that promotes zero unused space, number of iteration and taken time to be analyzed. The results are shown in table 4.

From the above result, we found the three important matters to be highlighted: 1. The taken time was not consistent and it was difficult to be expected even the use of same number of block and x4, y4 coordinate. This is because of the probabilistic and randomness strategies in GA. 2. The experiment showed the increase of time computation when the number of block and x4, y4 coordinate increase. The reason is the chromosome length is based on number of block and the values of genes are based on x4, y4 coordinate, as a result the more possible solutions to be analyzed. 3. In experiment 1 to 3 produced successful combination of shape that fulfills the constraints. However, the experiment 4 fails to propose the result when the premature convergence took place. This situation occurs because of the unsuitable x4, y4 coordinate consequently the existence of two or more same shapes cannot be avoided. We conclude that the GA by shape assignment strategy is able to promote the optimal solution by referring to time and quality of solution. Even thought the time will increase when the number of block and size of x4, y4 coordinate raise, however the time is relatively small. Meanwhile, the successful results will be certainly proposed if the appropriate input of x4 and y4 coordinate.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

5. Conclusion The Shape Assignment with GA technique has promised to obtain the optimal solution. However, this study refers to the areas of square and rectangular shape and it become more complicated for trapezoidal areas in which a variety of areas coordinates must be accurately determined. Our future direction is to conduct a study in order to provide the solution strategies. This effort is the first attempt to facilitate planner for designing optimal layout. The successful strategy of utilized space by GA techniques is a preliminary stage towards obtaining the optimal tree density in plantation areas is our ultimate aim. To achieve this, we are conducting the optimization strategy by combining GA and exact method to obtain optimal layout solution.

Acknowledgments This research is registered under the Fundamental Research Grant Scheme (FRGS) with grant number is FRGS/03-04-10873FR/F1 which is fully funded by the Ministry of Higher Education (MOHE), Malaysia. The authors express our great appreciation and thanks to MOHE, Malaysia and Universiti Teknologi MARA (UiTM), Malaysia for sponsoring one of the authors for in PhD research. The authors also wish to thank the Universiti Putra Malaysia (UPM) which provided the facilities and favorable environments for carrying out this research.

References [1] Ismadi Md Badarudin, Abu Bakar Md Sultan Md Nasir Sulaiman., Ali Mamat., Mahmud Tengku Muda Mohammed (2010), Preliminary study on Designing Optimal Layout by Metaheuristic Approaches for Optimizing Planting Area, International Journal Electrical and Computer Science IJENS-IJECS ,10 (1), pp. 92-96. [2] Garey, M.R. and Johnson, D.S., (1979), Computer and Intractability: A Guide to the Theory of NP-Completeness, W.H.Freeman [3] Ruibin Bai (2005), An Investigation Of Novel Approaches For Optimising Retail Shelf Space Allocation, PhD Dissertation, pp. 4, 31- 35 [4] Abu Bakar Md. Sultan, Ramlan Mahmod, Md. Nasir Sulaiman & Mohd. Rizam Abu Bakar (2006), Maintaining Diversity for Genetic Algorithm: A Case of Timetabling Problem, Jurnal Teknologi, 44(D) Jun 2006, pp. 123–130 [5] Osman, I.H. And Laporte, G. (1996), Metaheuristics: A bibliography. Ann. Operational. Research 63, pp. 513–623. [6] Stutzle, T. (1999), Local Search Algorithms for Combinatorial Problems - Analysis, Algorithms and New Applications. DISKI - Dissertation Zur K Unstliken Intelligenz. In fix, Sankt Augustin, Germany. [7] Voß, S., Martello, S., Osman, I. H., And Roucairol, C., Eds. (1999), Meta-Heuristics—Advances and Trends in Local

7

Search Paradigms for Optimization. Clawer Academic Publishers, Dordrecht, The Netherlands. [8] Cristian Blum and Andre Roli (2003), Metaheuristic In Combinatorial Optimization: Overview and Conceptual Comparison, ACM Computing Journal, pp. 268 - 307 [9] D.T.Pham and D.Karaboga (2000), Intelligent Optimisation Techniques: Genetic Algorithm, Tabu Search, Simulated Annealing and Neural Network, Book: Springer, pp. 1-50 [10] Mecklenburgh, J. C. (1985), Process Plant Layout. London: Institution of Chemical Engineers [11] J. Martens (2004), Two genetic algorithms to solve a layout problem in the fashion industry, European Journal of Operational Research, 154 304–322 [12] Ads by Google (2009), Method for optimizing space allocation in table layout, [Online] Available: http://www.patentstorm.us/patents/7500179/description.htm [13] Fogarty, T.C, (1989), Varying the probability of mutation in the genetic algorithm, Proceeding 3rd Int. Conf. on Genetic Algorithm and Their Application, George Mason University, pp. 104-109 [14] Grefenstette. J. J, (1986), Optimisation of control parameter for Genetic Algorithm, IEEE Trans. On System, Man and Cybernetics, VolSMC-16, No 1, pp 122-128 [15] Schaffer, J.D., Caruana, RA Eshelman, L.J. and Das, R, (1989), A study of control parameters affecting on-line performance of genetic algorithm for function optimisation, Int. Conf. on Genetic Algorithm and Their Application, George Mason University, pp. 51-61 [16] Darell Whitley, A Genetic Algorithm Tutorial, Paper for Computer Science Department, Colorado State University Fort Collin. [17] Jesus Dario Landa Silva (2003), Metaheuristic and Multiobjective Approaches for Space Allocation, PhD Dissertation, page 14, 45. [18] J. Andre and P. Siarry (2001), T. Dognon, An improvement of the standard genetic algorithm fighting premature convergence in continuous optimization, Advances in Engineering Software 32 Journal, pp. 49 – 60. Ismadi is attached as lecturer to the Computer and Mathematical Sciences Faculty at UiTM, Malaysia. He started as a lecturer in 2001 and was appointed as a senior lecturer in 2008. He obtained a Master’s Degree in 2002 in metaheuristic Approaches in Timetabling. He is currently on leave as a lecturer and pursuing a PhD in Computational Intelligence at UPM, Malaysia under the supervision of Abu Bakar. Abu Bakar is a senior lecturer holding a doctorate in the faculty of Computer Science and Information Technology, UPM. His fields of expertise are Metaheuristic and Evolutionary Computing. HE has published several journal papers regarding metaheuristic approaches have been published since 2004. Nasir and Ali are Associate Professors holding doctorates in the faculty of Computer Science and Information Technology, UPM. Nasir has expertise in Intelligent Computing, Intelligent Software Agents and Data Mining, and Ali is expert in Database and XML. Mahmud is an Associate Professor and PhD holder in Plant Physiology/ Post Harvest and an Associate Professor in the faculty of Crops Sciences. His areas of expertise are Agricultural Sciences, Plant Physiology and Post Harvest Physiology.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

A Double Min Min Algorithm for Task Metascheduler on Hypercubic P2P Grid Systems D.Doreen Hephzibah Miriam and K.S.Easwarakumar Department of Computer Science and Engineering, Anna University, Chennai, Tamil Nadu , 600025, India

Abstract Most of the existing solutions on task scheduling and resource management in grid computing are based on the traditional client/ server model, enforcing a homogeneous policy on making decisions and limiting the flexibility, unpredictable reliability and scalability of the system. Thus, we need well organized system architecture to provide high system availability with task scheduling scheme for Grid system. In this paper, we integrate Grid with P2P on to the extended Hypercube topology for task scheduling and load balancing, which gives optimal makespan and balances the load. We propose an efficient SPA based task scheduling algorithm named Double Min Min Algorithm which performs scheduling in order to enhance system performance in Hypercubic P2P Grid (HPGRID). The simulation result shows that the SPA based Double Min Min scheduling minimizes the makespan with load balancing and guarantees the high system availability in system performance. At last, the SPA based Double Min Min algorithm is compared with traditional Min Min and Max Min algorithm, by the experiment evaluation it shows that the new algorithm has a better quality of system load balancing and the utilization of system resources. Keywords: Peer-to-Peer, Grid; Hypercube, Task Scheduling, Min Min, Max Min, Set Pair Analysis (SPA).

1. Introduction Several aspects of today’s Grids are based on centralized or hierarchical services. However, as Grid size increase from tens to thousands of hosts, fault tolerance has been a key issue. To address this problem, functionalities should be decentralized to avoid bottlenecks and guarantees scalability. A way to ensure Grid scalability is to adopt P2P models and techniques to implement non-hierarchical decentralized Grid services and systems as discussed in [19]. As reason of that we expect strong possibility of the commonalities and synergies between these two technologies in terms of the connectivity, access services, resource discovery, task scheduling and fault tolerance. P2P technology is applied to the Grid and we adopt P2P protocol to deal with Grid Computing in Hypercube topology, by means of joining some Cubic Grid Peer (CGP) into Grid and come into being a new Grid resource

organization model called Hypercubic P2P Grid (HPGRID) model. It makes each CGP in the Hypercube topology to form one local Grid system and answer for dealing with local task. Various local Grid systems are connected by P2P technology. In this HPGRID model, for a group of clients, every CGP is used as a server, but it is equal between every two CGPs. The topology structure carries out the balance between centrality search efficiency; it also keeps the robustness of load balancing and distributes search methodologies. In the Grid information server that is based on HPGRID model, each participant can configure one or more nodes and operate as a CGP. The CGP in the HPGRID model will change the information of monitor and resource find, but for the nodes in the different CGP will exchange information by P2P manner. At the same time HPGRID model has many characteristics such as independent of concentrate control, distribute, extension and can adapt resource state change. A new P2P Grid task scheduling algorithm is proposed and it is named as SPA based Double Min Min scheduling, in order to improve quality of the system load balancing and utilization of the system resources that gives better makespan. In this paper, we use binary connection number of Set Pair Analysis (SPA), a new soft computing method [22] to represent the uncertain Execution Time to Compute of tasks (ETC) and to process the synthetic uncertainty in task scheduling of a computing grid. The proposed SPA based Double Min Min scheduling algorithm is better logical and efficient than the conventional algorithms by simulation testing. This algorithm performs the load balancing by reselecting the task that are greater than mean Completion time (CT) and again schedule the reselected task using SPA based Min Min, which results in better load balancing and resource utilization. The remainder of this paper is organized as follows. The section 2 presents the related works; the section 3 defines the Problem Formulation; the section 4 illustrates about the Set Pair Analysis Method; the section 5 describes the Hypercubic P2P Grid; the section 6 illustrates the SPA based Double Min Min Algorithm; the section 7 explains

8

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org the simulation testing model; the section 8 deals with performance evaluation; Finally, Section 9 gives the conclusion and future work.

2. Related Works In this section, we will review and contrast a set of heuristic scheduling algorithms in heterogeneous computing (HC) system. First, we mention metatask concept: A meta-task is defined as a collection of independent tasks with no data dependences. A metatask is mapped onto machine statically; each machine executes a single task at a time. In general, we take into account a set of meta-tasks in the Grid environment. There are a large number of heuristic algorithms to be designed to schedule task to machines on heterogeneous computing system. Braun et al. [3] provides a comparison of 11 static heuristics for scheduling in HC environments. In this section, we will list several basic heuristics scheduling algorithms as follows: OLB (Opportunistic Load Balancing) [11] assigns each job in arbitrary order to the processor with the shortest schedule, irrespective of the ETC on that processor. MET (Minimum Execution Time) [10] assigns each job in arbitrary order to the processor on which it is expected to be executed fastest, regardless of the current load on that processor. MCT (Minimum Completion Time) [10] assigns each job in arbitrary order to the processor with the minimum expected completion time (CT) for the job. The completion time of a job j on a processor p is simply the ETC of j on p added to p’s current schedule length. Min-min [15] establishes the minimum completion time for every unscheduled job (in the same way as MCT), and then assigns the job with the minimum completion time (hence Min-min) to the processor which offers it this time. Max-min [15] is very similar to Min-min. Again the minimum completion time for each job is established, but the job with the maximum minimum completion time is assigned to the corresponding processor. In Sufferage [15] for each task, the minimum and second minimum completion time are found in the first step. The difference between these two values is defined as the sufferage value. In the second step, the task with the maximum sufferage value is assigned to the corresponding machine with minimum completion time. In XSufferage, Casanova et al gave an improvement to fix the problem, in Sufferage heuristic, when there is input and output data for the tasks and resources are clustered. Sufferage problems are described in [6]. Longest Job to Fastest Resource - Shortest Job to Fastest Resource (LJFR-SJFR) [1] heuristic begins with the set U of all unmapped tasks. Then, the set of MCT of task on

9

machine is computed as, M = min (CT (Ti, Mj )) for (1 ≤ i ≤ n, 1 ≤ j ≤ m), is found the same as min-min. Next, the task with the overall minimum completion time from M is considered as the shortest job in the fastest resource (SJFR). Also the task with the overall maximum completion time from M is considered as the longest job in the fastest resource (LJFR). In Segmented Min-Min heuristic described in [21] tasks are first ordered by their expected completion times. Then the ordered sequence is segmented and finally it applies Min-Min to these segments. QoS Guided Min-Min shown in [12] adds a QoS constraint (QoS for a network by its bandwidth) to basic Min-Min heuristic. Its basic idea is that some tasks may require high network bandwidth, whereas others can be satisfied with low network bandwidth, so it assigns tasks with high QoS request first according to Min-Min heuristic. In the worst cases, where all tasks need either low QoS or high QoS, this heuristic will take O (s2m) time. In Work Queue [13] method the heuristic selects a task randomly and assigns it to the machine as soon as it becomes available (in other word the machine with minimum workload).

3. Problem Formulation This section presents the problem of job scheduling in heterogeneous computing environment. The experimental study is based on a benchmark simulation model by Braun et al. [3]; in this model static mapping of meta-tasks is considered. Each machine executes one task at a time in the order in which tasks are allocated to the machines. For static mapping, the size of the meta-tasks and the number of machines in the heterogeneous computing environment is known a priori. Since there are static heuristics, the accurate estimate of the expected execution time for each task on each machine is known a priori to execution and is contained within an ETC (expected time to compute) matrix where ETC (ti ,mj) is the estimated execution time of task i on machine j. Using the ETC matrix model, the scheduling problem can be defined as follows:  A number of independent jobs to be allocated to the available grid resources.  Number of machines is available to participate in the allocation of tasks.  The workload of each job (in millions of instructions).  The Computing capacity of each resources(in MIPS)  Ready m represents the ready time of the machine after completing the previously assigned jobs.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org 

ETC matrix of size t * m, where t represents the number of jobs and m represents the number of n machines. The main aim of the scheduling algorithm is to minimize the makespan where makespan = max (CT (ti, mj)) where CT represents the completion time of task i on machine j.

4. Set Pair Analysis Method Set Pair Analysis (SPA) is a new soft computing method which can express and process the synthetic uncertainty caused by fuzzy, random, indeterminate known uncertainty etc. It was first presented by Professor Zhao Ke-qin in 1989 [14]. After twenty years theory and application research about SPA, it gradually becomes a new uncertainty theory by which we can research certainty and uncertainty as a whole now. A Set Pair is a system containing two sets (A,B) where there are some similar attributes or tight relations, such as (Control, Decision), (Products, Sell), etc can be seen examples of Set Pair under specified conditions. The main thought of SPA is as follows: To two sets A, B under specified conditions, first analyzing their identical, discrepancy and contrary properties or attributes, and then describing them quantificational, expressing their relations by a formula called connection degree finally.

4.1 Connection Number Let A and B be two sets, and both of them have N attributes. We define their connection degree denoted as μ (A, B). For brevity, we will usually denote μ (A, B) simply as μ.. Thus  

S F P  i j N N N

(1)

where S  F  P  N (2) S is the number of their identical attributes, P is the number of their contrary attributes, F  N  P  S is the number of their discrepancy attribute. S N , F N and P

N

are called identical degree, discrepancy (uncertain)

degree, and contrary degree respectively. j is the coefficient of the contrary degree, and is specified as -1. As the coefficient of the discrepancy degree, i is an uncertain value between -1 and 1, i.e. i ‫[ א‬-1,1], in terms of various circumstances. The uncertainty of the discrepancy degree of two sets is eliminated when i is specified as -1 or 1, and will increase when i is approaching zero. Let a = S N , b = F N , and c = P N , then the formula (1) and (2) can be rewritten as follows.   a  bi  cj

(3)

10

where a + b +c = 1

(4)

4.2 Binary Connection Number We say that   a  bi  cj is a ternary connection number if a, b, c are arbitrary nonnegative real number, and i, j are discrepancy coefficient, contrary coefficient respectively.   a  bi is a binary connection number when c=0. Obviously, the connection number (binary or ternary) is an extension and generalization of connection degree by deleted the constraint condition a + b +c = 1, and the main theory meaning of the connection number is extended the conception of number. We only use binary connection number to represent the uncertain Execution Time to Compute (ETC) of grid tasks. The heuristics algorithm discussed in related works has been mapped to SPA methodology for both batch mode and online mode in paper [8].

5. Hypercubic P2P Grid 5.1 Hypercube Topology k

A hypercube can be represented as Q n , where k is the number of nodes in each dimension and n is the number of dimensions spanned by the hypercube. All the nodes in the hypercube have k  1n neighbours, (in Figure 1, the hypercube has four dimensions and k = 2). A complete hypercube graph consists of N = kn nodes, in which every peer has its own logical id, which is represented by base k (k is always 2 for hypercube), and it can be coded using n bits as RGC (Reflected Gray Code). In RGC, the two adjacent nodes differ by only one bit in their coding. For instance, given k = 2 and n = 3, the RGC corresponds to the nodes are (000, 001, 010, 011, 100, 101,110,111). The hyper cube is always symmetric and the network diameter for a hypercube is Δ = logk N . This is crucial for load balancing in the network, as the search begins from any node due to its symmetry.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

11

v1.0 ( 000), v1.1 (  001), v1.2 ( 010), v1.3 ( 011) V   v 2.0 ( 100), v 2.1 ( 101), v 2.2 ( 110), v 2.3 ( 111) 

and (v , v 2.2), (v , v 2.0), (v , v 2.3), (v , v 2.1)  1.1 1.2 1.3  1.0  (v , v1.1), (v , v1.3), (v , v1.2), (v , v1.0)   1.0  1.1 1.3 1.2 V   (v 2.0 , v 2.1), (v 2.1 , v 2.3), (v 2.3 , v 2.2), (v 2.2 , v 2.0)   , ), , ), , ), , ) (v1.0 v 2.0 (v1.1 v 2.1 (v1.2 v 2.2 (v1.3 v 2.3 

In E, the first four edges are the additional neighbourhood links, and the remaining edges are the hypercubic edges.

5.3 Representation of HPGRID Fig 1: A Four dimensional hypercube System

5.2 Hypercubic P2P Grid Topology The Hypercubic P2P Grid Topology is the hypercube structure with additional neighbourhood links. In short, we refer Hypercubic P2P Grid as HPGRID. The Hypercubic P2P Grid nodes have k  1  n  1 ) neighbours. Let l , 1 ≤ ≤ l ≤ kn−2, be the layer of the HPGRID. Let d be the set of nodes at each layer of the HPGRID, then d = {0, 1, 2, 3}. Also, the number of nodes in HPGRID is kn, and the number of edges are n 2 n  1  k n  1 . The HPGRID Topology for n = 3 is depicted in Figure 2. There in, the dashed lines are the additional neighbourhood links. The HPGRID system can be represented by an undirected graph G  V , E  where V  vl .d ,......, v 0.0 .

Generally, the grid model integrated with P2P mode is composed of many Cubic GridPeers [20]. Each CubicGridPeer represents a super management domain. Each Cubic GridPeer controls the access of a group of local computing resources. It plays two roles: one as the resource provider and the other as resource consumer. The resource provider allows its free resources to other Cubic GridPeer (consumer), while the consumer arbitrarily uses its local resources or the free resources of other Cubic GridPeers to carry out its task. The resource management model for HPGRID is shown in figure 4. The bottom communities of the model using the traditional grid technologies, and the P2P mode are adapted to interact the information between Cubic Grid Peers. Here, Cubic GridPeer (CGP) is equivalent to a super node. When they search resources, the users first query the resources in the domain of Cubic GridPeer. If no query result, the search will be carried out through Cubic Grid- Peer to query the other Cubic GridPeers with P2P way.

Fig 2: A 3D Hypercubic P2P Grid Topology n 2

E

2  vl.0 , vl 1.2 , vl .1, vl 1.0 , vl .2 , vl 1.3, vl .3 , vl 1.1 l 1

  p, q  :



p  q 1 1

where p and q are the binary values of the nodes of HPGRID, and p denotes the number of ones in p. For 1

instance, consider the equivalent HPGRID of Figure 2 shown as a HPGRIP graph figure 3. Here

Fig 3: A 3D Hypercubic P2P Grid

In HPGRID, each node represents a CGP where each CGP is a collection of Grid Nodes GNs. The GN that belongs to a particular CGP is called Grid Community GC. Each Grid node is represented using its own identifier

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org and the identifier of the corresponding CGP. That is, grid node & is represented as ID g , IDCGP ( g ) 

12

5.4 Parameter at Cubic Grid Peer The parameters represent the state of a Cubic Grid Peer (CGP) that one must meet the following criteria: they must be small, they must facilitate identifying the fertility of a Cubic GridPeer and they must not divulge resource structure information. Based on parallel application characterization experience, we identified the following parameters. 5.4.1 Distance Factor (DF)

Fig. 4: Overview of HPGRID

At each CGP in the HPGRID system, it contains a CGP Header in the format represented in figure 5.

Fig 5: CGP Header Format

The CGP Header field description is as follows,  CGPID : Cubic Grid Peer Identifier,  DF : Distance factor,  RD: Resource Density,  LF : Load Factor,  Flag = 0,CGP is non-alive, Flag = 1,CGP is alive,  Node ID : Nodes Identifier where i = 1, 2 …n. i



Resrc_Avail: : The total number resources available at the node,  Ptr to RT :Pointer to Resource Table,  No. of PEs : Total number of processing element at the node. Each CGP contains a common resource table which has the details of all the available resources in its own GC. The Resource table format is described in Figure 6. It contains the resource name and number of resources corresponding to its resource number.

This gives an idea of how far the target CGP is from the home CGP. A home CGP is defined to be the CGP in which the program and input data are present and to which the output data will go. If it is separated by a large network distance, i.e., high latency and low bandwidth, the staging files and the arriving program and the input files to that CGP will be costly. Another reason why such a factor is important is that tasks in parallel programs might be scheduled on different CGP. Thus there will be some communication between CGP, even though such a situation will be reduced as far as possible by the search algorithm. For tightly coupled applications this may not always be possible and the scheduler might be forced to schedule them on different CGP. This parameter will make CGP between which there is large latency or low bandwidth less desirable to the CGP selector. A high value of this factor makes a CGP less desirable for scheduling. DF  Min _ dist{h(CGP), n(CGP)} (5) where h(CGP) denotes home CGP and n(CGP) denotes neighbour CGP. 5.4.2 Resource Density (RD): This parameter represents the intensity of computing power per unit communication bandwidth. The lower the value of RD, the more will be the bandwidth between every pair of nodes. This signifies that the resources in the CGP’s are tightly coupled. For parallel programs that have a communicator in which a small group of processes communicate a lot, a CGP with a low value of RD is important. For example, a SMP will have low RD whereas a network of workstations will have high RD. A similar parameter has been used to represent the computation to communication ratio in schedulers of parallel programs. n

 rd j Average

Resource

Density(ard)

(6) where Resource Density(rd)= Fig 6: Resource Table

=

j 1

m

 et i  st i i

T

where i represents t executed on m, eti is the end time of executing ti on resource mj, sti is the start time of executing

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

ti on resource mj and T is the total application execution time so far which can be calculated through the following relation: T = max (eti) - min (stj) 5.4.3 Load Factor (LF) This gives the overall load at some instant in that CGP. This is important to take care of the computation component of the parallel program. Thus parallel processes have a high computation aspect compared to communication which would prefer a better value for LF than for RD. 

Load Factor = 1  

k    100% ard 



where k =

(7)



m 2  ard  rd j i 1 m

These parameters would be number calculated from information about the state of resources in a particular CGP.

13

Suppose the neighbouring CGP is also non alive within the same zone, it transfers to the neighbouring zone by a single hop and makes the node’s state as non-alive. In exceptional cases, due to crashing, heavy traffic, etc., its state will be defined as non-alive. 2.

6. Task Scheduling Algorithms In this section, our proposed algorithm SPA based Double Min Min Algorithm is illustrated which outperforms the conventional algorithm Min-min and Max-min. The architecture of the metascheduler is given in Figure 7. The metaschedulers takes as input the available resource list, users and the task to be scheduled in the HPGRID system. From the input values given by the user, the ETC matrix is generated as described in [3]. Now, the SPA based Double Min Min algorithm is executed, where it assigns the job on to the resource which minimizes the makespan and balances the load with effective resource utilization.

5.5 Node Arrival The sequence of steps involved in node arrival is as follows. 1. The arriving node of the HPGRID will be placed in the waiting queue Wq . 2. If there is a non-alive node present in a CGP, the incoming node is assigned to the available free space having the minimum identity. a. The CGP then fetches the leaf node’s (GN’s) information from its neighbouring CGPs header from the same zone. b. In case of non availability of a CGP header, the required information will be obtained from the CGP header of the neighbouring zones. c. Suppose the required CGP header is not available even in the neighbouring zone, the incoming CGP probes each of its leaf nodes and creates a new CGP header. 3. If there is no non-alive node, the arriving node will be appended in the waiting queue Wq, until it finds a free space.

5.6 Node Departure When a node decides to departure from the HPGRID, it does the following. 1. It transfers the CGP Header to its neighbouring CGP of the same zone, which will be exploited by the newly arrived node to fetch the information about its leaf nodes (GN’s) and makes the node’s state as non-alive.

Fig 7: Architecture of Metascheduler

6.1 Task Scheduling The metascheduler schedules the task as per SPA based Double Min Min algorithm, where it finds the minimum task on to the processor in the first step, in the following iteration it finds the minimum task on to the remaining processor leaving out the processor that has been assigned previously. The iteration again continues in the same method until the entire task has been mapped. The resulting scheduling set gives the task assigned to the processor; from the set the mean Completion Time (CT) is calculated. The task that are assigned to the processor with CT greater than mean are reselected and reschedule using

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

14

SPA based Min Min until all the CGPs values are less than or equal to Mean CT. Thus, task scheduling results in better makespan, load balancing and resource utilization.

Algorithm 1: SPA based Double Min Min Algorithm 1. for every M q ‫ א‬M

6.2 Parameters Definition

end for Repeat the following steps until (T = 0). 2. CT  0 ; 3. for every t p ‫ א‬T

1.

2. 3. 4. 5.

6.

7.

Mq: On the one side it denotes the qth computing resource, on the other hand, it denotes the tasks set assigned to Mq , and all tasks in the Mq is on the order of its assigned time. Sq: The time of resource Mq to start a new task when Mq finished all tasks assigned to it. E(p,q): Expected execution time if task tp,assigned to resource Mq. C(p,q): Completion time of a new task tp, assigned to resource Mq , C(p,q)= Sq + E(p,q) CT: a set of ordered pair (tp, Mq), it means task tp is going to be assigned to resource Mq and C(p,q) = min C(p,q) such that k=1,2,......,m in a loop of scheduling algorithm. grp(CTp,machines): The function ”grp” is used to group all the tasks and machines that has minimum completion time. The best minimum task/machine pair (p,q) is selected from the Group. Mean_CT :is used to find the mean completion of all the machines.

6.3 SPA based Double Min Min Algorithm Input: Tasks set T, Computing resource set M, Dimension of HPGRID System, ETC Matrix based on connection number and Sq . Output: Scheduling results M1,M2….,Mm.

6.4 SPA based Double Min Min Algorithm Description 1. For each task, find the Completion time with respect to each resource. 2. Compare all the completion times of that task and select the resource which provides the minimum earliest completion time. 3. Repeat the process for all tasks. 4. From the resultant set, find the task which has the minimum of the minimum completion times. 5. Assign that task with the corresponding resource. 6. Repeat the process until task set becomes empty. 7. The mean of all machines completion time is taken. 8. The task mapped to machine whose completion time is greater than the mean value is selected. 9. Perform SPA based Min Min Scheduling to enhance load balancing moving overload task to CGPs with lesser load. 10. Tasks allocated to the selected machines are reallocated according to grp function.

M q = 0;

4. for every M q ‫ א‬M C  p, q   S q  E  p, q  ; end for 5. Find the minimum earliest completion time of t p and the corresponding resource M q . Let CT = CT ‫ }; 6. end for



7. C min  min C  p, q  t p , M q  CT





M min  M k C  p, k   C minand t p , M k  CT



min

8. Choose any one < tp,Mq> from M ; Let Mk = Mk  tr ; T = T - tr; Sk = Sk + E(r,k); 9. Calculate Mean_CT = (Σ Sk) /No. of Machines; 10. for all Machine Mk if (Sk ≥ Mean_CT) Select tasks reserved on the machine end for 11. for every tp ‫ א‬T reselected 12. Repeat Step 4 to Step 8 13. Compute NewCT = CT ‫}; if (NewCT ≤ Mean_CT) Group (CTp,machines) = grp(CTp,1,CTp,2..) end for 14. Reschedule (tp on Mk) Compute NewCTp,k end for

7. Simulation Model 7.1 Types of ETC Matrix ETC Matrix has been generated as defined in [3]. To further vary the characteristics of the ETC matrices in an attempt to capture more aspects of realistic mapping situations, different ETC matrix consistencies were used. An ETC matrix is said to be consistent if whenever a machine m j executes any task t k faster than machine m k , then machine m j executes all tasks faster than

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

15

machine m k . Consistent matrices were generated by sorting each row of the ETC matrix independently, with machine m0 always being the fastest and machine m (μ−1) the slowest. In contrast, inconsistent matrices characterize the situation where machine mj may be faster than machine mk for some tasks and slower for others. These matrices are left in the unordered, random state in which they were generated (i.e., no consistency is enforced). Semi-consistent matrices are inconsistent matrices that include a consistent sub matrix of a predefined size. For the partially-consistent matrices used here, the row elements in column positions [0, 2, 4, ...] of row i are extracted, sorted, and replaced in order, while the row elements in column positions [1, 3, 5, ...] remain unordered (i.e., the even column are consistent and the odd columns are, in general, inconsistent).

Figure 8, shows the part of the ETC Consistent matrices generated for 512 tasks on 16 machines using Gridsim[4]toolkit.

7.2 SPA on ETC matrix

8. Performance Analysis

Set-pair analysis represents uncertainty in grid. SPA concept is applied in ETC matrix generation. Expected time to compute (ETC) is represented as a + bi, where a is normal finish time, b is possible delay time or saving time, i [−1, 1] is the uncertainty coefficient which determines b.

This section deals about the performance analysis using the simulator Gridsim toolkit, the simulation environment used for implementation and experimental results has been analysed.

Example of SPA based ETC Matrix [3 × 3]

 30 + 5i 24 + 3i 28 + 6i    14 + 10i 15 + 2i 16 + 3i  19 + 8i 21 + 14i 18 + 5i    For example 30 + 5i ֜ 30 represents seconds to complete the task, where i = {−1, 1}, specifies 5i ֜ {−5i+ 5} seconds saved / delayed. Example of SPA based ETC Matrix types. Inconsistent Matrix  30 + 5i 24 + 3i 28 + 6i    14 + 10i 15 + 2i 16 + 3i  19 + 8i 21 + 14i 18 + 5i    Semi Consistent Matrix  28 + 6i 24 + 3i 30 + 5i    14 + 10i 15 + 2i 16 + 3i  18 + 5i 21 + 14i 19 + 8i   

Consistent Matrix  24 + 3i 28 + 6i 30 + 5i    14 + 10i 15 + 2i 16 + 3i  18 + 5i 19 + 8i 21 + 14i   

Fig. 8: Part of Consistent Matrix for 512 X 16

8.1 Simulation Environment To evaluate and compare our SPA based Double Min Min scheduling algorithm with its two basic heuristics MinMin and Max-Min, a simulation environments known as Gridsim toolkit [4] had been used. There are several grid simulators that allow evaluating a new grid scheduling algorithm, such as Bricks [2], MicroGrid [18] and SimGrid [5]. But Gridsim has some good which are listed below:  It allows modelling of heterogeneous types of resources.  Resource capability can be defined in the form of MIPS (Million Instructions Per Second) as per SPEC (Standard Performance Evaluation Corporation) benchmark.  There is no limit on the number of application jobs that can be submitted to a resource.  It supports simulation of both static and dynamic schedulers. Gridsim had been used in many researches to evaluate the results such as [[7], [9], [16], [17]].

8.2 Experimental Results and Evaluation Using Gridsim toolkit, the scheduling algorithm SPA based Double Min Min along with the basic heuristic MinMin and Max-Min based on SPA, is simulated. Specifically, the proposed algorithm is compared with Min Min algorithm using SPA which has given minimum makespan as discussed in [8]. The experimental results represent the proposed algorithm generates even better

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

16

makespan when compared with the makespan generated for the conventional algorithm Min-Min and Max-Min based on SPA. For each heuristic all the three types of ETC matrix is generated and the results are evaluated. The simulation has been executed 10 times for 256 tasks on 3D HPGRID system for all three types of ETC matrix Consistent, Semi - Consistent, Inconsistent and performs SPA Double Min Min for which the average values are computed to generate their corresponding makespan values. From the results obtained, the proposed method is evaluated which gives good results. Figures 9, 10 and 11 shows value of average makespan generated by SPA based Double Min Min outperforms the SPA based Min Min and Max Min for Consistent, Semiconsistent and inconsistent ETC matrices executed for 256 tasks on 8 machines. The results shows that SPA based Double Min Min gives better makespan even as the number of tasks and machines are increased in the HPGRID system

Fig. 11: SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Semi-Consistent ETC

The resource density for all the 3 types of Matrix has been analyzed on executing 256 tasks on 8 CGPs. The following figures 12, 13 and 14 shows the graph generated from the values obtained during simulation process. For all the three Matrix types, the proposed algorithm SPA Double Min Min gives better resource density than the SPA Min Min and SPA Max Min. Figures 15, 16 and 17 shows value of load factor in percentage generated by SPA based Double Min Min which outperforms the SPA based Min Min and Max Min for Consistent, inconsistent and Semi-consistent ETC matrices executed for 256 tasks on 8 machines.

Fig. 9: SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Consistent ETC

Fig. 12: Resource Density on SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Consistent ETC

Fig. 10: SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Inconsistent ETC

Fig. 13: Resource Density on SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Inconsistent ETC

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

17

9. Conclusions and Future Work

Fig. 14: Resource Density on SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Semi-Consistent ETC

Fig. 15: Load Factor on SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Consistent ETC

To achieve high throughput computing in a Hypercubic P2P Grid environment, the SPA Double Min Min scheduling algorithm was proposed. To enhance Load balancing, we find the Mean CT for the scheduled results and reselect the tasks that are greater than Mean CT. For the reselected task, the SPA based Min Min is computed. We have separately computed the makespan value for all the three types of ETC Matrix, where we concluded that the proposed algorithm gives better results than the conventional algorithms, SPA based Min-Min and MaxMin. The Resource Density and Load factor is also calculated for SPA Double Min Min Average, when compared the proposed work gives better value than the SPA based Min Min and Max Min for all the three sets. Evaluation of our new heuristic was done through a simulation environment called Gridsim. The experimental results show that the SPA Double Min Min outperforms the SPA based Min-Min and Max-Min heuristics. The future work will focus on the research on scheduling occasion, resource description, fault tolerant processing and other aspects, in order to further optimize and improve the system. In addition to this, many issues remain open, like deadline of task, QoS of task, execution cost on each resource, communication cost etc. Some of the above mentioned issues are under consideration as a part of further work.

References

Fig. 16: Load Factor on SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Inconsistent ETC

Fig. 17: Load Factor on SPA Double Min Min Scheduling for 256 tasks on 8 CGPs for Semi-Consistent ETC

[1] A. Abraham, Rajkumar Buyya, and Baikunth Nath. Nature’s heuristics for scheduling jobs on computational grids. In Proceedings of 8th IEEE International Conference on Advanced Computing and Communications (ADCOM 2000), pages 45–52, 2000. [2]K. Aida, Atsuko Takefusa, Hidemoto Nakada, Satoshi Matsuoka, Satoshi Sekiguchi, and Umpei Nagashima. Performance evaluation model for scheduling in global computing systems. International Journal of High Performance Computing Applications, 14(3):268–279, 2000. [3]T.D Braun , Howard Jay Siegel, Noah Beck, Ladislau L. Boloni, Muthucumaru Maheswaran, Albert I. Reuther, James P. Robertson, Mitchell D. Theys, Bin Yao, Debra Hensgen, and Richard F. Freund. et al, A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. Journal of Parallel and Distributed Computing, 61(6):810–837, 2001. [4]R. Buyya and Manzur Murshed. Gridsim: A toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing. Concurrency and Computation: Practice and Experience (CCPE), 14(13):1175–1220, 2002. [5]H. Casanova. Simgrid: A toolkit for the simulation of application scheduling. In CCGRID ’01: Proceedings of the 1st International Symposium on Cluster Computing and the

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org Grid, page 430 - 437, Washington, DC, USA, 2001. IEEE Computer Society. [6]H. Casanova, Dmitrii Zagorodnov, Francine Berman, and Arnaud Legrand. Heuristics for scheduling parameter sweep applications in grid environments. In HCW ’00: Proceedings of the 9th Heterogeneous Computing Workshop, page 349 363, Washington, DC, USA, 2000. IEEE Computer Society. [7] S.S Chauhan and R.C. Joshi. A weighted mean time min-min max-min selective scheduling strategy for independent tasks on grid. In Advance Computing Conference (IACC), 2010 IEEE 2nd International, pages 4 –9, 19-20 2010. [8]H. Decai, Yuan Yuan, Zhang Li-jun, and Zhao Ke-qin. Research on tasks scheduling algorithms for dynamic and uncertain computing grid based on a+bi connection number of SPA. Journal of Software, 4(10):1102–1109, 2009. [9]K. Etminani and M. Naghibzadeh. A min min max-min selective algorithm for grid task scheduling. In Proceedings of the 3rd IEEE/IFIP International Conference in Central Asia, 2007. [10]R. Freund, Michael Gherrity, Stephen Ambrosius, Mark Campbell, Mike Halderman, Debra Hensgen, Elaine Keith, Taylor Kidd, Matt Kussow, John D. Lima, Francesca Mirabile, Lantz Moore, Brad Rust, and H. J. Siegel. Scheduling resources in multi-user, heterogeneous, computing environments with smartnet. In 7TH IEEE Heterogeneous Computing Workshop (HCW 98), pages 184– 199, 1998. [11]R. Freund and Taylor Kidd Nccosc. Smartnet: A scheduling framework for heterogeneous computing. In Proceedings of the International Symposium on Parallel Architectures, Algorithms, and Networks (ISPAN-96), pages 514–521. IEEE Computer Society Press, 1996. [12]X. He, XianHe Sun, and Gregor von Laszewski. QoS guided min-min heuristic for grid task scheduling. Journal of Computer Science and Technology, 18(4):442–451, 2003. [13]H. Izakian, Ajith Abraham, and Vaclav Snasel. Comparison of heuristics for scheduling independent tasks on heterogeneous distributed environments. In CSO ’09: Proceedings of the 2009 International Joint Conference on Computational Sciences and Optimization, pages 8–12, Washington, DC, USA, 2009. IEEE Computer Society. [14] Z. Ke-Qin and Xuan Ai-li. Set pair theory- a new theory method of non-define and its applications. Systems engineering,, 1:18–24, 1996. [15]M. Maheswaran Shoukat, Muthucumaru Maheswaran, Shoukat Ali, Howard Jay Siegel, Debra Hensgen, and Richard F. Freund. Dynamic mapping of a class of independent tasks onto heterogeneous computing systems. Journal of Parallel and Distributed Computing, 59:107–131, 1999. [16]J. Sherwani, Nosheen Ali, Nausheen Lotia, Zahra Hayat, and Rajkumar Buyya. Libra: a computational economy-based job scheduling system for clusters. Journal of Software: Practice and Experience, 34(6):573–590, 2004. [17] C. Shin Yeo and Rajkumar Buyya. Pricing for utility-driven resource management and allocation in clusters. International Journal of High Performance Computing Applications, 21(4):405–418, 2007. [18] H. J. Song, X.Liu, D.Jakobsen, R.Bhagwan, X.Zhang, K.Taura, and A.Chien. The Micro-Grid: a scientific tool for

18

modeling computational grids. Scientific Programming, 8(3):127– 141, 2000. [19]P. Trunfio and Domenico Talia. Toward a synergy between P2P and Grids. IEEE Internet Computing, 7(4):94–96, 2003. [20]X. Wen, Wei Zhao, and Fan xing Meng. Researchof Grid Scheduling Algorithm based on P2P GridModel. In International Conference on Electronic Commerce and Business Intelligence,pages 41–44, 2009. [21]M. Wu, Wei Shu, and Hong Zhang. Segmented min-min: A static mapping algorithm for metatasks on heterogeneous computing systems. In HCW ’00: Proceedings of the 9th Heterogeneous Computing Workshop, page 375, Washington, DC, USA, 2000. IEEE Computer Society. [22] J. Yun-Liang and Xu Cong-Fu. Advances in set pair analysis theory and its applications. Computer Science. Computer Science,33(1):205–209, 2006.

Doreen Hephzibah Miriam is currently a Research Scholar at the Department of Computer Science and Engineering at Anna University, Chennai. She received her B.Tech in Information Technology from Madras University, Chennai, and M.E degree in Computer Science and Engineering from Anna University, Chennai. Her research interests include parallel and distributed computing, peer to peer computing and grid computing

.

K.S. Easwarakumar is a Professor & Head at the Department of Computer Science and Engineering at Anna University, Chennai. He received his M.Tech in Computer and Information Sciences from Cochin University of Science and Technology, Cochin and Ph.D in Computer Science and Engineering from Indian Institute of Technology, Madras. His research interests include parallel and distributed computing, Data Structures and Algorithms, Graph Algorithms, Parallel Algorithms, Computational Geometry, Theoretical Computer Science and Molecular computing.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

19

A Proposal for Normalized Lack of Cohesion in Method (LCOM) Metric Using Field Experiment Ezekiel Okike School of Computer Studies, Kampala International University , Kampala, Uganda 256, Uganda

Abstract Chidamber and Kemerer first defined a cohesion measure for object-oriented software – the Lack of Cohesion in Methods (LCOM) metric. One of the critique of the LCOM metric is that the metric does not yield normalized or standardized values, and as such, the metric does not seem appealing to a section of the software engineering community. This paper presents an approach for normalizing the LCOM metric so that most practioners would find it as useful as its variant measures such as Tight Class Cohesion (TCC), Low Class Cohesion (LCC), Degree of Cohesion in a Class based on direct relation between its public relations (DCD) and that based on indirect methods (DCI). Data for this study was gathered from three industrial systems. System 1 has 34 classes, System 2 has 383 classes and System 3 has 1055 classes. The main objectives of the study were to apply different normalization approaches in order to determine the best for the LCOM metric. Three normalization techniques namely Sigmoid normalization, Bowless normalization, and Bestfit normalization were used in the study of the selected test systems. The result of the study showed that the Bestfit approach seem to be the best LCOM normalization approach. Keywords: Class Cohesion, LCOM Metric, Normalization, Software Measurement.

1.

Introduction

The Lack of Cohesion in Methods (LCOM) metric was proposed in [6,7] as a measure of cohesion in the object oriented paradigm. The term cohesion is defined as the “intramodular functional relatedness” in software [1]. This definition, considers the cohesion of each module in isolation: how tightly bound or related its internal elements are. Hence, cohesion as an attribute of software modules capture the degree of association of elements within a module, and the programming paradigm used determines what is an element and what is a module. In the object-oriented paradigm, for instance, a module is a class and hence cohesion refers to the relatedness among the methods of a class. Cohesion may be categorized ranging from the weakest form to the strongest form in the following order: coincidental, logical, temporal, procedural, communicational, sequential and functional. Further discussion on these categories are already presented in [1, 2]. A module exhibits one of these forms of cohesion depending on the skill of the designer. However, functional cohesion is generally accepted as the best form of cohesion in software design. Functional cohesion is the most desirable because it performs exactly one action or achieves a single goal. Such a module is highly reusable, relatively easy to understand (because you know what it does) and is maintainable. In this paper, the term “cohesion” refers to functional cohesion. Several measures of cohesion have been defined in both the procedural and object-oriented paradigms. Most of the cohesion measures defined in the object-oriented paradigm are inspired from

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org the Lack of Cohesion in methods (LCOM) metric defined by Chidamber and Kemerer. 1.2.

The problem.

The LCOM metric defined by Chidamber and Kemerer is often critised due to the presence of outliers and for not being a normalized measure [3,4,8,11,14]. Based on this, a section of the software engineering community seem not to find the metric appealing in usage. In this paper, the Lack of Cohesion in methods (LCOM) metric is analysed, and a Bestfit normalized LCOM metric is proposed. The rest of the paper is organized as follows: Section 2 presents a summary of the approaches to measuring cohesion in procedural and object-oriented programs. Section 3 examines the Chidamber and Kemerer LCOM metric. Section 4 presents the application of three normalization techniques on the LCOM metric. Section 5 presents the result of the study of which the Bestfit LCOM metric is suggested as a normalized metric to be used with the LCOM metric. 2.

Measuring Cohesion in Procedural and Object oriented Programs

2.1

Measuring cohesion in procedural programs

Procedural programs are those with procedure and data declared independently. Examples of purely procedure oriented languages include C, Pascal, Ada83, Fortran and so on. In this case, the module is a procedure and an element is either a global value which is visible to all the modules or a local value which is visible only to the module where it is declared. As noted in [2], the approaches taken to measure cohesiveness of this kind of programs have generally tried to evaluate cohesion on a procedure by procedure basis, and the notational measure is one of “functional strength” of procedure, meaning the degree to which data and procedures contribute to performing the basic function. In other words the complexity is defined in the control flow. Among the best known measures of cohesion in the procedural paradigm are discussed in [4] and [5]. 2.2 Measuring cohesion in object-oriented systems In the Object Oriented languages, the complexity is defined in the relationship between the classes and their methods. Several measures exist for measuring cohesion in Object-Oriented systems [7,8,9,10,11,12, 13]. Most of the existing cohesion measures in the object-oriented paradigm are inspired from the Lack of Cohesion in Methods (LCOM ) metric [6,7]. Some examples include LCOM3, Connectivity model, LCOM5, Tight Class

20

Cohesion (TCC), and Low Class Cohesion (LCC), Degree of Cohesion in class based on direct relation between its public methods (DCD) and that based on indirect methods (DCI), Optimistic Class cohesion (OCC) and Pessimistic Class Cohesion (PCC). 3. The Lack of Cohesion in Methods (LCOM) Metric. The LCOM metric is based on the number of disjoint sets of instance variables that are used by the method. Its definition is given as follows [6,7]. Definition 1. Consider a class C1 with n methods M1, M2,…,Mn. Let {Ii}= set of instance variables used by method Mi. There are n such sets {Ii},…,{In}. Let P = { (Ii, Ij) | Ii ∩ Ij = } and Q = { (Ii, Ij) | Ii ∩ Ij ≠  }. If all n sets { I1}, …,{In} are  then let P =  LCOM = { |P|- |Q|, if |P| > |Q| = 0, otherwise Example: Consider a class C with three methods M1, M2 and M3. Let {I1} = {a,b,c,d,e} and {I2} = {a,b,e} and {I3} = {x,y,z}. {I1} ∩ {I2} is nonempty, but {I1} ∩ {I3} and {I2} ∩ {I3} are null sets. LCOM is (the number of null intersections – number of non empty intersections), which in this case is 1. The theoretical basis of LCOM uses the notion of degree of similarity of methods. The degree of similarity of two methods M1 and M2 in class C1 is given by: σ( ) = {I1} ∩ {I2} where {I1} and {I2} are sets of instance variables used by M1 and M2 . The LCOM is a count of the number of method pairs whose similarity is 0 (i.e, σ( ) is a null set) minus the count of method pairs whose similarity is not zero. The larger the number of similar methods, the more cohesive the class, which is consistent with the traditional notions of cohesion that measure the inter relatedness between portions of a program. If none of the methods of a class display any instance behaviour, i.e. do not use any instance variables, they have no similarity and the LCOM value for the class will be zero. The LCOM value provides a measure of the relative disparate nature of methods in the class. A smaller number of disjoint pairs (elements of set P) implies greater similarity of methods. LCOM is intimately tied to the instance variables and methods of a

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org class, and therefore is a measure of the attributes of an object class. In this definition, it is not stated whether inherited methods and attributes are included or not. Hence, a refinement is provided as follows [15]:

21

Where MI are methods in the class c and AI are the attributes (or instance variables ) in the class c ; AR denote attribute reference In this definition, only methods M implemented in class c are considered; and only references to attributes AR implemented in class c are counted.

Definition 2. Let P = , if AR (m) =   m  MI (c) = {{m1,m2} m1,m2  MI( c)  m1  m2  AR(m1)  AR(m2)  AI (c) =  }, else

The definition of LCOM2 has been widely discussed in the literature [7,8,10,11,15]. LCOM2 of many classes are set to be zero although different cohesions are expected. 3.1

Let Q = {{ m1,m2}  m1,m2  MI( c)  m1  m2  AR (m1)  AR(m2)  AI( c)   } Then LCOM2( c) = { P - Q, if P > Q = 0, otherwise

Remarks

In general the Lack of Cohesion in Methods (LCOM) measures the dissimilarity of methods in a class by instancevariable or attributes. Chidamber and Kemerer’s interpretation of the metric is that LCOM = 0 indicates acohesive class. However, for LCOM >0, it implies thatinstance variables belong to disjoint sets. Such a class maybe split into 2 or more classes to make it cohesive. Consider the case of an n-sequentially linked methods as shown in figure 3.1 below where n methods are sequentially linked by shared instance variables. Shared instance variables

… M1

M2

M3

Mn

Fig. 3.1. n-Sequentially liked methods In this special case of sequential cohesion:

n P     (n  1)  2

(1)

Q  n 1

(2)

so that LCOM

n P  Q     2(n  1) +  2

(3)

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org where [k]+ equals k, if k>0 and 0 otherwise [8].

22

There are two pairs of methods accessing no common instance variables namely (, ). Hence P = 2.

From (1) and (2)

One pair of methods shares variable E, namely, .

n P  Q     (n  1)  (n  1)  2

Hence, Q = 1. Therefore, LCOM is 2 - 1 =1.

n     2n  2  2

Normalizing LCOM metric

4.1

The Method

Chidamber and Kemerer’s suit of metrics were used in the study of 1055 classes from three industrial systems. Metric

n     2(n  1)  2 

4.

values were computed for Lack of Cohesion in methods (LCOM), Coupling Between Object Classes (CBO),

n!  2(n  1) (n  2)!2!

(4)

From (4), for n < 5, LCOM = 0 indicating that classes with less than 5 methods are equally cohesive. For n  5, 1 < LCOM < n, suggesting that classes with 5 or more methods need to be split [8,18].

3.2 Class design and LCOM computation

Response For a Class (RFC),Weighted Methods Per Class (WMC), Depth of Inheritance (DIT) and Number of Children (NOC) were used in the study. Two other metrics used in this experiment which are not part of the Chidamber and Kemerer metrics are: Number of Public Methods (NPM) and Afferent Coupling (CA). Specifically cohesion was measured using the LCOM metric. Coupling was measured using CBO, RFC, and CA. Size was measured using WMC, and NPM. Inheritance

f() A

B

was measured using DIT. Descriptive statistics was used

C

to analyze results as already presented in [2]. In order to demonstrate the need for a normalized LCOM metric, 11

g() D

h() E

F

classes from system 3 most of which were outliers were used. Of particular note are the LCOM values of these classes as shown in table 4.1 below:

Fig. 3.2. Class design showing LCOM computation Source:[8] Class x { Int A, B, C, D, E, F; Void f() {…uses A,B, C …} Void g () {…uses D, E…}

Figure 3.2 presents a class x written in C++.

4.2

Outliers in LCOM metric

Table 4.1 below shows LCOM values with outliers. LCOM = 0 indicates a cohesive class [6,7], likewise LCOM= [0,1] [2,19]. Chidamber and Kemerer suggested that when a class is not cohesive, the class should be split into two or more classes to make the class cohesive. In this study, splitting outlier classes only reduced the outlier

The Lack of Cohesion in Methods (LCOM) for class x = 1, calculated as follows:

values and never made such classes cohesive, and there

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

23

were no evidences to suggest such classes were

Figure 4.2 (a) and (b) show the output after running a

improperly designed. This is illustrated by taking data

Chidamber and Kemerer metric tool ckjm (discussed in

from the first eight classes of system 3 in the experimental

[19]) on the selected classes.

study as shown in figures 4.2 (a) and (b). The fourth class

After the word ckjm is the class name being analyzed by

with LCOM value 196 was used as highlighted in figure

the tool followed by the corresponding metrics for the

4.2 (a). below. The class was split into two classes (

class: WMC, DIT, NOC, CBO, RFC, LCOM, CA , NPM

Classmetrics and Classinfo) to see if the outlier value 196

in that order. The metric values after the class name

would become a cohesive class in the range values of 0 or

correspond to these metrics respectively.

1. The result as shown in figure 4.2 (b) indicate that the

[eokike@visitor2

outlier value was only reduced to 63 in Classmetrics while

/tmp/gr/spinellis/ckjm/*.class

the LCOM value for Classinfo was 34. Both values are

gr.spinellis.ckjm.ClassMetricsContainer 3 1 0 3 18 0 2 2

build]$

java

-jar

ckjm-1.6.jar

still outliers, implying the classes were still un cohesive

.spinellis.ckjm.MethodVisitor 11 1 0 21 40 0 1 8

even after splitting.

spinellis.ckjm.CkjmOutputHandler 1 1 0 1 1 0 3 1

Table 4.1. Illustration of LCOM values with outliers and not

.spinellis.ckjm.ClassMetrics 24 1 0 0 33 196 6 23

standardized (un normalized)

gr.spinellis.ckjm.MetricsFilter 7 1 0 6 30 11 2 5

CBO

Class Name

RFC

LCOM

CA

NPM

WM

gr.spinellis.ckjm.ClassVisitor 13 1 0 14 71 34 2 9 gr.spinellis.ckjm.ClassMap 3 1 0 1 21 0 0 2

C XlmException

5

0

6

2

1

5

gr.spinellis.ckjm.PrintPlainResults 2 1 0 2 8 0 1 2

HandlerBase

14

2

16

91

0

14

[eokike@visitor2 build]$

SAXDriver

33

2

86

370

0

31

XmlHandler

13

0

13

78

3

13

XmlParser

118

1

182

6075

1

27

JspXMLParse

2

5

18

0

1

1

3

0

5

1

2

0

11

14

154

0

1

0

r CompiledExce

Classidentifier 3 1 0 0 7 0 1 3 JavaParser 5 1 0 3 59 2 1 3 gr.spinellis.ckjm.Classinfo 12 1 0 1 27 34 0 12

ge JspServlet$Ma

.spinellis.ckjm.ClassMetrics 14 1 0 0 16 63 1 13 JavaParser$ButtonHandler 3 1 0 2 5 3 1 1

ption JspServlet$Pa

Figure 4.2 (a). Spliting an outlier class

1

1

2

0

1

0

JspMsg

0

0

0

0

9

0

JspFactoryImp

2

0

3

1

1

1

pEntry

JavaParser$1 0 1 0 0 0 0 2 0 Figure 4.2 (b). Result of splitting an outlier class Sources: [19]

l$1

In [19], there is no evidence to suggest that a class whose Source: [19]

LCOM=1 was improperly designed and therefore needs splitting. Hence, it is suggested that the basis for splitting a class should be whenever the number of methods (Number

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

24

of Public Methods NPM) is greater than or equal to 5 [9,19]. 4.3

Normalization of software measures

4.3.1

Related Work

SIGMOID FUNCTION CURVE 1.20

The normalization of measures is an important aspect of software measurement. Measures with outlier values need

1.00

to be normalized in order to get numbers between [0,1]. However, as stated in [16] the normalization of a measure measure with other properties. In [18] a measure IS is defined in order to capture the

0.80 SIGMOID VALUES

u to a normalized measure u’ can lead to a completely new

0.60

0.40

complexity of a module derived from the interactions (coupling) with other modules. The measure IS was the

0.20

original measure. In order to get numbers between 0 and 1 the measure CM was defined as follows:

1 . CM  1  1  IS where CM = Module Complexity, IS = Complexity from coupling In this normalization, the obtained values for CM are in the range [0,1]. In neural networks a Sigmoid neural layer uses the

0.00 -5

-4

-3

-2

-1

0

1

2

3

X-VALUES

Figure 4.1 Sigmoid function layer When applied to software measurement, a sigmoid layer for the attribute being measured may be identified only if the expected transformations are in the range [0.5,1].

Sigmoid function to determine its activation. The sigmoid function y(u) is defined as follows: y(u) = 1/(1+e-u) ; ( the usual value of e =2.7183, u= x_values) One thing about the sigmoid layer is that only positive values are returned between 0.5 and 1. The Sigmoid function is so called because it looks like an s as shown in figure 4.1.

Although both the approach in [18] and the Sigmoid approach may be used to normalize a measure between the ranges [0,1] and [0.5,1] respectively, in [16] the following important questions were suggested in order to decide whether to use a normalization approach: (i) Do the measure being normalized measure the same qualitative aspect ? (ii) Is the normalizing measure really a normalization of the measure being normalized ? (iii) After normalization, does the normalization agree with the interpretations of the original measure ?

4

5

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

25

5.

Normalization Approaches for LCOM Metric

The result of applying SLCOM on outliered LCOM values

5.1

Bowless normalized LCOM

obtained from system 3 of this study is shown in table 5.2.

Using the approach in [18], a Bowles normalized LCOM

Hence 0.5≤SLCOM≤1 is valid. Table 5.2. Illustration of Sigmoid Normalized LCOM (SLCOM)

(BLCOM) may be defined as follows:

Class

BLCOM= 1-(1/1+LCOM).

WMC

LCOM

SLCOM

NPM

5

2

0.880798

5

14

91

1

14

SAXDriver

33

370

1

31

Xml

13

78

1

13

Name

The measure BLCOM is a numerical modification of the

XlmEx

measure LCOM without changing the empirical meaning

ception

of the measure. The result of applying BLCOM on

Handler

outliered LCOM values obtained from system 3 of this study is shown in table 5.1. Hence 0≤BLCOM≤1 is valid.

Base

Handler Table 5.1. Illustration of BowlessNormalized LCOM (BLCOM)

XmlParser

118

6075

1

27

WMC

LCOM

BLCOM

NPM

JspXML

2

0

0.5

1

XlmException

5

2

0.666667

5

Parser

HandlerBase

14

91

0.9891304

14

Compiled

3

1

0.73106

0

SAXDriver

33

370

0.9973046

31

Exception

XmlHandler

13

78

0.9873418

13

JspServle

11

0

0.5

0

XmlParser

118

6075

0.9998354

27

t$Page

JspXMLParser

2

0

0

1

JspServlet$

1

0

0.5

0

CompiledException

3

1

0.5

0

MapEntry

JspServlet$Page

11

0

0

0

JspMsg

0

0

0.5

0

JspServlet$MapEntr

1

0

0

0

JspFactory

2

1

0.73106

1

Class Name

Impl$1

y JspMsg

0

0

0

0

JspFactoryImpl$1

2

1

0.5

1

0.5  SLCOM  1 Source: [19]

0  BLCOM  1 Source: [19]

5.3

Bestfit normalized LCOM

The definition of LCOM as presented in section 3 suggests 5.2

Sigmoid normalized LCOM (SLCOM)

Using a sigmoid function as explained in section 4.2 (fig 4.1), a sigmoid function layer , y(u) = 1/(1+e-u) is defined. Applied to the LCOM metric, a sigmoid normalized LCOM may be defined as follows: SLCOM= y(LCOM)= 1/(1+e-LCOM).

that both the Bowles normalized LCOM and the Sigmoid normalized LCOM may not appropriately represent Chidamber and Kemerer’s interpretation of their LCOM metric. Although the former are normalized values, however, in line with Chidamber and Kemerer’s definition, a Bestfit normalized LCOM (BFLCOM) may be defined as follows [19]: BFLCOM=0, LCOM=0 BFLCOM= 1/LCOM, otherwise.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

26

Using the BFLCOM metric, it was possible to eliminate

necessarily represent LCOM range [0,1]. However, Bestfit

outliers from LCOM values in agreement with the usual

LCOM (BFLCOM) range [0,1] gives exact transformation

definition of LCOM and its interpretation as shown in

for LCOM range [0,1] table 5.3. This comparative analysis

table 5.3.

is shown in table 5.4 . From this table BFLCOM seem to

Table 5.3. Illustration of Bestfit Normalized LCOM (BFLCOM)

be the appropriate normalization of the LCOM metric;

Class

WMC

LCOM

BFLCOM

NPM

5

2

0.5

5

considering the appropriate transformations of 0 to 0, and

Name Xlm

1 to 1 while eliminating outlier values. This result suggest that the LCOM metric may be used with the BFLCOM

Exception 14

91

0.0109

14

metric to obtained normalized values much like the other

SAXDriver

33

370

0.0027

31

variants measures of cohesion whose ranges are [0,1]

XmlHandler

13

78

0.128

13

XmlParser

118

6075

0.0001

27

such as Connectivity (CO) metric [9], Tightclass

JspXMLPars

2

0

0

1

HandlerBase

cohesion/Low class cohesion (TCC/LCC) [11], Degree of cohesion in class based on direct relation between its

er Compiled

3

1

1

0

11

0

0

0

1

0

0

0

public (DCD) or that based on indirect methods (DCI) [12] ,

Exception JspServlet

Optimistic class cohesion (OCC) and pessimistic class cohesion (PCC) [13 ].

$Page JspServlet$ MapEntry JspMsg

0

0

0

0

JspFactory

2

1

1

1

Impl$1

0  BFCOM  1 , Source: [19]

5.4

Table 5.4. Comparative normalized LCOM metric Class

Discussion: Comparison of Normalized LCOM values

A close observation of the considered normalized LCOM

LCOM

BLCOM

SLCOM

BFLCOM

2

0.666667

0.880798

0.5

HandlerBase

91

0.9891304

1

0.0109

SAXDriver

370

0.9973046

1

0.0027

XmlHandler

78

0.9873418

1

0.128

XmlParser

6075

0.9998354

1

0.0001

JspXMLPars

0

0

0.5

0

1

0.5

0.7310

1

0

0

0.5

0

0

0

0.5

0

Name Xlm Exception

er Compiled Exception

metrics reveal some interesting configurations. Bowles

JspServlet

LCOM (BLCOM) is a generalized measure. Although its

$Page

values are in the range [0,1], its transformations with

JspServlet$

respect to LCOM may not be exact. Consider table 5.1 and

MapEntry JspMsg

0

0

0.5

0

transformations of LCOM values from 0 to 0, and from 1

JspFactory

1

0.5

0.7310

1

to 0.5. If a modified interpretation of LCOM = [0,1] is

Impl$1

accepted [19], then the transformation of LCOM to BLCOM for value 1 should be 1. The Sigmoid LCOM (SLCOM) also has the same problem when applied to LCOM. SLCOM range [0.5,1] does not

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

References [1] E. Yourdon and L. Constantine, Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design, Englewood Cliffs, New Jersey: Prentice-Hall, 1979. [2] E. Okike, “A pedagogical Evaluation and Discusion about the Lack of Cohesion in methods (LCOM) Metric Using field Experiment”, International journal of computer science issues, Vol. 7, issue 2, No. 3, March 2010. Pp 36-43 [3] M. F. Shumway . “Measuring Class Cohesion in Java”. Master of Science Thesis. Department of computer science, Colorado state university, Technical Report CD 97-113, 1997. [4] J. M. Bieman and L. M. Ott, . “Measuring Functional Cohesion”, IEEE Transactions on Software Engineering, vol. 20, no. 8, pp. 644-658, August 1994. [5] J. M. Bieman and B. K. Kang, 998. Measuring Design – level Cohesion. IEEE Transactions on Software Engineering, vol. 20, no. 2, pp. 111-124, February 1998. [6] S. R. Chidamber and C. F. Kemerer, “Towards a Metric Suite for Object Oriented Design”, Object Oriented Programming Systems, Languages and Applications, Special Issue of SIGPLAN Notices, vol. 26, no.10, pp. 197-211, October 1991. [7] S. R. Chidamber and C. F. Kemerer , “A Metric Suite for Object Oriented Design”, IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476493, June 1994. [8] W. Li and S. Henry, “Object Oriented Metrics that Predict Maintainability”. Journal of Systems and Software, vol. 23, pp. 111-122, February1993. [9] M. Hitz and B. Montazeri, “Chidamber and Kenmerer ‘s mtric Suite: A Measurement Theory Perspective”, IEEE Transactions on Software Engineering, vol. 22. no. 4, pp.267-270, April 1996. [10] B. Henderson-Sellers, Software Metrics, U.K: Prentice Hall, 1996. [11] J. M. Bieman and B. K. Kang, “Cohesion and Reuse in an Object Oriented System”, Proceedings of the Symposium on Software Reusability (SSR ’95), Seattle: WA. Pp. 259-262, April 1995. [12] L. Badri and M. Badri, “A proposal of a New Class cohesion Criterion: An Empirical Study” Journal of Object Technology, vol. 3, no. 4, pp. 145-159, April 2004. [13] H. Aman, K. Yamasski, and M. Noda, “A Proposal of Class Cohesion Metrics using sizes of cohesive parts”, Knowledge based Software Engineering. T. Welzer et al. Eds. IOS press, pp. 102-107, September 2002. [14] B. S. Gupta, “A Critique of Cohesion Measures in he Object Oriented Paradigm”, M.S Thesis, Department of Computer Science, Michigan Technological University. iii+ 42pp, 1997. [15] L. C. Briand, J. Daly and J. Wust, “A Unified Framework for Cohesion Measurement in Object Oriented Systems”, Empirical Software Engineering, vol. 3, no.1, pp. 67-117, 1998. [16] H. Zuse, “A framework for Software Measuremen”,

27

New York: Walter de Gruyter, 1988. [17] V. R. Basili, L. C. Briand, and W. Melo, “A validation of Object Oriented Design Metrics as quality indicators”, IEEE Transaction On Software Engineering, vol. 22 , no.10, pp. 751- 761, 1996. [18] A. J. Bowles, Effects of Design complexity on Software Maintenance”, Dissertation, Northwestern University, Evanston, Illinois, 1983. [19] E. U. Okike “Measuring class cohesion in objectoriented systems using Chidamber and Kemerar metrics and Java as case study. Ph.D thesis. Department of Computer Science, University of Ibadan, xvii + 133pp, 2007. Ezekiel U. Okike received the BSc degree in computer science from the University of Ibadan Nigeria in 1992, the Master of Information Science (MInfSc) in 1995 and PhD in computer science in 2007 all from the same University. He has been a lecturer in the Department of Computer Science, University of Ibadan since 1999 to date. Since September, 2008 to date, he has been on leave as a senior lecturer and Dean of the School of Computer Studies, Kampala International University, Uganda. His current research interests are in the areas of software engineering, software metrics, compilers and programming languages. He is a member of IEEE computer and communication societies.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

28

New Approaches towards the Collision detection Manish Kumar1, Ashish Avasthi 2 , Kamal Kumar Srivastava3 and Vineeta Bajpai4 1

2

Uttar Pradesh Technical University, CS Dept.., Bansal Institute of Technology and Management Lucknow, Uttar Pradesh, India

Uttar Pradesh Technical University, MCA Dept.., Shri Ramswaroop Memorial College of Engg. & Mgmt. Lucknow, Uttar Pradesh, India 3

Uttar Pradesh Technical University CS., Shri Ramswaroop Memorial College of Engg. & Mgmt Lucknow, Uttar Pradesh, India 4

Uttar Pradesh Technical University, Mahila PG College, Lucknow, Uttar Pradesh, India

Abstract Collision detection on industrial digital m ock-up is one of the challenging problems for real-tim e interaction in virtual reality applications. The fast increas e of graphics hardware performance, m ultiplication of cores num ber and recent improvements on their program mability, bring new directions to the optimization of collision detection algorithms. Since few y ears methods appear handling General-Purpose Processing on Graphics Proce ssing Unit (GPGPU) and more recently using m ulti-cores. In this paper we present an analy sis on new trends in collision detection perform ance and we study the use from GPU to grid for virtual reality applications. Here we not only deal with algorithmic improvement but also propose a first approach on the new link-up between two fields of computer graphics nam ely virtual reality (collision detection) and computers performance. Further we will also discuss how to use of fractal theory in understanding the collision detection by studying comparatively less developed network.

Keywords:

Collision detection, performance, parallel computing, scalable, graphics hardware, Fractals, GPGPU, clusters, grids

1. Introduction Industrial applications of virtual reality (VR) becom e m ore and more sized and the perform ance level for a real-tim e interaction of users is no longer satisfy ing. From more than thirty y ears, collision detection becam e the prin cipal bottleneck of real-tim e VR applications. Collision detection (CD) is a wide field dealing with, apparently, an easy problem: determine if two (or several) objects collide. It is used in several dom ains namely physicallybased simulation, computer anim ation, robotics , m echanical simulations (medical, biology , cars industry…), haptics applications and video games. In all of thes e applications , realtime performance, efficiency and robustness are more and more required.

During several y ears, people work on different collision detection approaches but recently, few papers appear dealing with a new ty pe of problem: speeding up the detection using hardware power (CPU and GPU) [19, 48]. In the wide range of collision detection algorithms we can notice that recent articles [4, 22] have a low complexity and provide perfect collision detection. But used with m illion and million of objects in a huge environment, they are inefficient for a real-time interaction. We may hope a constant evolution of processors power to res olve the real-tim e problem but trend is no more on that but rather in the processors m ultiplication. Hardware graphics is also subjected to an impressive power evolution. So it appears that having a different look on the real- time collision detection problem centered on ha rdware performance can not be ignored. In the following section 2 gives a brief survey on collision detection algorithms. In section 3 we describe the hardware and architecture evolution, followed by software and middleware evolution in section 4. We present in section 5, a survey on the new link-up between collision detection and architecture performance. At the end we expose our personal point of view on this new link-up. Since in this paper we also presented fractal based algorithm so a little intro of fractal is also required. The nam e ‘Fractal’ cam e from a Latin word ‘fractus ’, which m eans’ to break Indeed the word fractal, firstly given by B.B.Mandelbort in 1975, who is also called father of fractal geometry. In the words of Mandelbrot,”Fractal is a rough fragmented geometric shape that can be subdivided in parts each of which is, at least approximately, a reduced copy of the whole”[6-7] . Fractal is a geometric pattern that is repeated at ever smaller state to produce irregular shapes and surfaces that cannot be represented by classical geometry. Fractals are used especially in computer modeling of irregular pa tterns and structures in nature [54 - 56].

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

Figure 1. Mandelbrot Fractals

2. Collision detection We now expose a short survey on the collision detection, for more details we refer to excelle nt survey s on the topic [64, 68, 51, 50] . Collision detection has generated a wide range of problems families: convex or non-convex objects, 2-Body or NBody simulations, rigid or defo rmable objects, continual or discrete methods. Algorithms are also linked to geometric used models (polygonal, Constructive Solid Geometry (CSG), implicit or parametric functions). All of thes e problem s reveal the high complexity and difficulty of this field of study. Given n moving objects in a virtual environment, testing all objects pairs tend to perform O (n²) pair wis e checks. When n is large it becom es a com putational bottleneck. Collision detection is, since Hubbard [65] , represented and built as a pipeline. This one is composed by three parts namely, broad-phase, narrowphase and exact-phase (core-phase). The goal of this pipeline is to apply successive filters in order to break down the O(n²) complexity. These filters provide an increasing efficiency and robustness during the pipeline traversal. As input, the pipeline takes all the geometric data of the simulation and feeds in output the collision response m odule. Nowa days pipeline is shared in two phases: broad and narrow phases (exact phase being included in narrow-phase). The firs t part of the pipeline, called the broad-phase, is in charge of a quick and efficient removal of the objects pairs that are apparently not in collision. In the other hand, narrow-phase is in charge of determ ining exact collision detection.

2.1 Exact collision detection The narrow phase constitutes the pair wise tests within subgroups of potentially colliding objects. W e present im portant parts of exact collision detection starting by basic tests between polyhedrons, following with bounding volumes and their hierarchies.

2.1.1 Basic tests In case of polygonal representations, tests are made on objects primitives. With CSG representations, tests are m ade on elementary geometrical objects (cubes , cones …). Im plicit function or param etric surface repr esentations involve tests with membership function. We presen t different algorithms used to detect collision with polygonal representation. Detection between convex polyhedrons It is easy to imagine that two objects separated by a plan don’t

29

intersect. Beginning with this assumption, different methods have been proposed to compute this separating plan. Some of them use a vectorial product exploiting temporal coherence or compute a bounded distance between objects to build a separating plan [25]. Other methods proposed to determine interobjects distance. The most famous one is the GJK algorithm [24] that uses Minkowski difference on poly hedrons. A lot of GJK algorithm improvements have been proposed: - ‘Enhancing GJK’ [72] uses hill clim bing method to optimize computing time. - ‘ISA-GJK’ [27] uses data caching to increase performances and uses a faster method to build separating plan using temporal coherence. - MS [17] couples GJK algorithm with Lin-Canny algorithm. Lin-Canny approach [51] or Voronoï Marching was the first algorithm working with objects prim itives. Space around objects is divided in Voronoï regions that allow detecting closest features pairs between poly hedrons. The V-Clip algorithm [3] operates on a pair of poly hedron, defining closest points between pairs in terms of closest features of the poly hedron. Another way to com pute dis tance between objects is to perform precomputations on poly hedrons in order to reduce intersection detection complexity. It is als o pos sible to com pute the interpenetration between two objects. Several approaches use GJK algorithm to compute penetration depth [72] . Gregory et al. [1] propose to extend Voronoï marching method coupling with temporal coherence. Given direction, de pth penetration can be compute with Dobkin’s hierarchy [22]. The use of normales space to find translation direction has been proposed [81]. More recently, a method detects interpenetration with ray casting [23]. Detection between non-convex polyhedrons Algorithms described previously are suited for convex polyhedrons, use it with non-convex objects and they would do mistakes on the non-collision detection or collision nondetection. To avoid expensiv e computing time, most of approaches use a bounding volume hierarchy that allows creating series converging to minimal distance [18] . Quinlan [69] uses spheres to prune parts of his mode ls, Sato et al. [82] propose to couple Quinlan’s spheres-trees with GJK algorithm. Other methods propose to find a separa ting plan with points of one object in the negative side and points of the other in the positive side [30]. It is also possible to test objects primitives in order to determine if a vertices of an object is inside another one or if a segment inters ects an object face [37] . Com parisons on objects triangles [53] or rectangles are possible. To compute penetration dept h between non-convex objects, Fisher et al. [73] show that using Minkowski sum can have an O (n6) complexity. Dobkin et al. [22] propose a method to compute this penetration between a non-convex object and a convex one, but with two non-convex objects, complexity becomes too high. A trivial approach consists in separating object into convex parts and computing penetration be tween overlapping convex parts [81]. Distance fields can also be used for the penetration depth computing [73].

2.1.2 Bounding Volume Most of strategies use bounding volume hierarchies to perform collision tests. There are a lot of bounding volum e suchas

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org sphere[65],Axis- Aligned-Bounding-Box AABBs [27] , OrientedBounding-Box OBBs [74] , discrete oriented poly topes (k-DOP) [30] or convex hulls. As explained in [10] , many other ty pes of volume have been suggested as bounding volume namely , sphere-swept volumes, cones, cylinders, spherical shells, ellipsoids and zonotopes. Using bounding volum e (BV) to perform tests before testing the object itself, highly improves performance. Although tests have been simplified, to test collision between two objects, the same pairwise check is still performed. Bounding volume hierarchies (BVH) allow arranging BV into a tree hierarchy in order to reduce the num ber of tests to perform. An excellent description on these BVH and a comparison between their performance can be found in [10, 68] . Construction of thes e trees is perform ed according to three primary categories: top-down, bottom-up and insertion. Deformable objects are very challenging for BVH because hierarchy structures (trees) have to be updated when an object deforms itself. As trees can not be updated at each tim e step, better solutions are compulsory [27, 49].

2.2 Accelerative steps Broad-phase algorithm s are classified into three m ain fam ilies [68], namely brute force method with bounding volumes, spatial hashing and topological and cinematic methods.

30

Figure 2: “Sweep and Prune” with oriented-bounding boxes.

3. Hardware and Architecture evolution We now expose the evolution of computer hardware and architecture that can be used to improve collision detection. First we start with a presentation of graphics hardware (GPU) that has been highly improved those last years. We then present evolution of CPU from simple-core to m ulti core and m any-core. W e introduce several features of the architecture evolution in order to take care of it during collision detection optimization. At last, we briefly present the cluster and grid architectures, their use and different problems that can be encountered in performing realtime collision detection.

2.2.1 Brute force Brute force approach is based on comparing bounding volumes of the overall objects pairs to determine if they are in collision or not. This tes t is very exhaus tive becaus e of its O(n²) pairwis e checks.

2.2.2 Spatial partitioning Spatial hashing method is base d on a simple rule: two objects situated in distant space sides have no chance to collide during next time step. To divide space into unit cells several m ethods have been proposed: regular grid [65], octree [71], quad-tree, Binary Space Partitioning (BS P), k-d tree structure [44] or voxels. Subdivisions made on space can be independent from the environment [44] and can also be given by it. This technique is only accurate when the environm ent is static (2-body context). It is also possible to use tetrahedron meshing or use a constraints set projected on a high-dim ensional space (six dimensions) [38]. Teschner et al. [49] employ a hash function to compress a potentially infinite regular spatial grid.

3.1 GPU evolution Recent years have s een the evolution of graphics hardware from fixed function units toward an increasingly programmable graphics pipeline. Contrary to CPU, Graphics Processing Unit (GPU) has a very important power evolution since few y ears (cf. Figure 3). This impressive evolution can be explained by the way that in one hand, CPU is a genera list processor (cf. Figure 5) that deals with ordinary data expressing a high level of dependencies, several of its components are in charge of the data stream control while its memory latency period is hidden by data caching. In the other hand GPU processors are well-suited to highly parallelizable com putations (cf. Figure 6a). It deals with independent data so it does not n eed a sophisticated data stream control and its m emory la tency period is hidden by computations. For instance, we compare principal graphics cards of ATI1 and Nvidia2 in 2008 (cf. Figure 3).

2.2.3 Topology and cinematic Topology methods are based on the positions of objects in relation to others. A couple of objects that are too far one to the other is deleted. One of the most famous methods is called the “Sweep and Prune” [39] approach and consists in projecting objects coordinates on axis. If the projection reveals an overlapping of objects coordinates, they are probably in collision and they are then given to narrow-phase. This method is, in general, used with bounding volum e like AABBs [39] or OBBs [70] (Figure 2). On the contrary, the cinematic approach takes care of the objects movement, if objects are m oving away , they can not collide. Vanecek [29] used cinematic of the objects and back-face culling technique to speed up collision detection.

Figure 3: Comparison of recent graphics cards of Nvidia and ATI

GPU can be imaged (in the GeForce 8800 version) as a big computing unit with 16 cells of 8 ALUs (Arithm etic Logical Unit) handling each one 4 threads . Thes e 16 cells are able to manipulate all current instructions on 512 threads, with a flow of 256 operations per cycle. GeForce 8800 has been described as a

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org GPU equipped with 128 processors allocated to 8 high frequency partitions (1350 MHz). Bandwidth on GPU is also higher than on CPU [43] but a fundamental problem of performi ng computations on GPU is the bandwidth between CPU and GP U (only 4 GB/s ). A recent solution* proposes to hide data-transferring time by using concurrent memory copy (b etween CPU and GPU) and execution on GPU.

31

contributions are not only in the algorithms improvement but also in the algorithm s architecture m odification. As we can not hope a continual evolution of pro cessors we have now to study what it is possible to do with m ulti-core in collision detection algorithms. Now a days it is impossible to present CPU without dealing with central memory handling. Indeed, on a m ulti or m any cores, there is a very com plex cache handling between cores . This handling is continuously impr oved to increase computer performance. Cache and memory handling is Cache and memory handling is another point that cannot be ignored in the optimizations of the collision detection performance.

3.3 Clusters and Supercomputers

Figure 3: Comparison of the CPU and GPU evolution from 2003 to 2007

3.2 CPU evolution Compared to actual outlook, it seems clear that Gordon Moore was a lucky man. Since 1965, he predicts a duplication of the number of trans istors on a microprocessor each two years. During more than forty years, this guesswork seems exact but we know now that phy sical limits ( power and heat) prevent this duplication.

A cluster, imaged as a computer grape, is a powerful engine with high perform ance that can be useful for real-time collision detection. It is com posed by localized m achines connected through a local network (for instance Ethernet or Giga-Ethernet). In comparison to distributed units in GPU and m ulti or m any cores in CPU, a cluster, with a higher s cale, can be s een as a many or multi computers machine (cf. Figure 5c). A survey [5] has been done on different approach es that have been developed to use PC clusters for virtual r eality applications. This survey also pres ents m iddle-ware allowing using maximum of cluster performances (section 4). Differences between a cl uster and a supercomputer become very thin becaus e they us e s ame CPUs and GPUs connected with a high performance network working on the same Operating System. Contrary to persona l computers, clusters and supercomputers receive great attention on their communication architecture. The problem changes when you have to manage 10, 50, 500 or 2000 nodes. Several ne twork topologies have been proposed, for instance: cubes, hypercube or torus.

3.4 Grids

Figure 4: Comparison of the architecture of CPU and GPU

Now a days trend tends to be duplication of cores (cf. Figure 5b) in computers and parallel architectures . The firs t pers onal computer with a core-duo arrived in 2005 with AMD1 followed by Intel3. In 2006 Sun4 presented its new octo-core called Niagara2. Intel presents last y ear a 32 in-order x86 cores [46] and Sun recently announce 80 cores computer. Another emerging CPU concept is many-core: the computer dynamically adapts the number of active cores with respect to the user needs. Many-core is useful becaus e when people do not need the entire power of cores, computer turns off som e of them . Until now, 3D objects and virtual environments grew up in parallel to processor power, so researchers were continuous ly looking for improvements on the collision detection algorithm s in order to increase their precision, robustness and efficiency [21, 23] . But now, processors power stay s roughly constant while virtual environments are more and more sized, so new scientific

A grid computing is an infrastructure composed by a mass of non-homogenous informatics resources (PC-clusters, computers, servers, mobiles…). Grid site s are geographically separated and it is usually used for huge scientific computations (cf. Figure 5d). A grid is a bit different than clusters and computers because it is not in the parallel computing world but rather in the distributed world. A middleware is integrated into grids in order to abstract all resources and so to exploit computation power (processor, memory…). Using a grid can reveal some more important problems than on clusters because of the resources volatility , the access rights and the latency time. Communication between grid resources is done with optical fi ber and every one knows that its bandwidth physica lim it is light sp eed. But as optical fibers go through signals amplifiers, bandw idth is reduced. This speed reduction has to be taking account into distributed computation for real-time interaction. Algorithms that would work on grid have to be m ore predictive than detective due to the latency. These algorithms have also to provide a dynamic resources management because of their volatility

3.5 Conclusion For any architectural levels from GPU to grid, we can notice a fractal-like hierarchy (cf. F igure 5). In this figure, even if architectures schemes have been obviously simplified, they are still representative.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

32

4. Collision detection algorithm Recent years have s een an increas ing interes t of perform ing collision detection algorithm s taking into account computer architecture. W e present three m ain fam ilies of architecturebased algorithms: GPU, Multi-threads and Multi-cores.

4.1 Existing Algorithm 4.1.1 GPU Based Algorithm : Image-based algorithms have

been proposed to exploit the gr owing computational power of graphics hardware. GPU is very efficient in ras terisation of polygons; GPU-based collision detection algorithm s rasterise the objects and perform either 2D or 2.5-D overlap tests in screen space [63] . Given s everal objects m eshes, it returns pairs of objects prim itives that are then com puted on the CPU. A good advantage of using graphics hardware is the un-use of precomputed volumetric data struct ures and its use with rigid or deformable objects. GPU can als o be us eful to com pute distance fields using a uniform spatial grid [2]. Furthermore, visibility com putations can be performed using occlusion queries and used to compute both intra- and interobject collisions among multiple objects [63]. A technique using image-space have been proposed and com pared to a CPU-based implementation; results show that GP U accelerates collision detection in complex environm ents but CPU-based methods provides more flexibility and better perform ance in sm all environments [4] . Broad phase is also made with GPU using image-space visibility queries [63]. Cinder [20] is an algorithm exploiting GPU to implement a raycasting method to detect collision. When a ray strikes an edge, a count of the difference in the number of back-facing and front facing poly gons ly ing between the edge point and the ray’s origin at the view port is made. GPU-based algorithms for selfcollision and cloth anim ation have also been introduced by Govindaraju et al. [64] . An efficient backward voxel-based AABB hierarchy method was proposed to handle deformable surfaces that are highly com pressed us ing graphics hardware [26].

4.1.2 Multi-threads based algorithm : Since few y ears, researchers are working on the im plementation of multithreaded algorithms in collision detection and m ore precisely in dynamics molecular simulation. Lewis et al. [47] propose a new multithreaded algorithm to sim ulate planetary rings. An evaluation of the perform ance of a parallelized back-end of the pipeline has been made by Zachmann [30] and shows that if the environment density is large compared to the num ber of processors, then good speed-ups can be noticed. This evaluation did not parallelize the other phases of the pipeline. 4.2 New Algorithm 4.2.1 Multi-cores based algorithm : Very recently , few Figure 5: Comparison of simplified architectures of GPU, quad-core, PCCluster and grid

In all of them , there are several com putational units and a lot of memories and caches units through communication architectures.

papers appear dealing with new parallel collision detection algorithms using m ulti cores. Tang & al. [48] propose to use a hierarchical representation to accelerate collision detection queries and an incremental algorithm exploiting temporal coherence the overall is distributed am ong multiple cores. They obtained a 4X-6X speed-up on a 8-cores based on several

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org deformable models. Kim & al [ 19] propose to use a featurebased bounding volume hierarchy (BVH) to improve the performance of continuous collision detection. They also propose novel task decom position methods for their BVH-based collision detection and dy namic task assignm ent methods. They obtained a 7X-8X speed-up using a 8-cores compared to a single-core. 4.2.2 Fractals based algorithm : The bas ic concept of fractals is that they contain a large degree of s elf similarity. This means they usually contain little copies of themselves buried deep within the original and al so have infinite details. The repetition of form over a variety of scales is called self similarities. A fractal looks similar to itself on a variety of scales. The bigger eddies in a turbulent flow look much the same as the smaller ones, and vice versa. The backbone of the fractal is iteration method i.e. feedback system. In other words the same process is performed repeatedly . The output of the system acts as an input for next one. One of the unique things about fractals is that they have non integer dimensions. That is why we are in the 3rd dimension, looking at this on a flat s creen which can be cons idered m ore or les s the 2nd dimension; fractals are in between the dimensions. Fractals come into two m ajor categories i.e. Deterministic Fractal And random Fractal. The first categories consist those Fractal that are composed of several scaled down and rotated copies of itself. Random fractals include that fractal which has an additional element of randomness, allowi ng for simulation of natural phenomenon. So they exhibit the property of statistical self similarity. There are there com mon techniques for generating fractals are: Escape-time fractals: These are defined by a recurrence relation at each point in a space (such as the com plex plane). Exam ples of this type are the Mandelbrot set, Julia set, the Burning ship fractal and the Lyapunov fractal. Iterated Function Systems: these have a fixed geometric replacement rule. Cantor s et, s ierpinski carpet, Sierpinski gaset, peano curve, Koch snowflake,Harter-Heighway dragon curve, Tsquare, menger sponge, are some examples of such fractals[6,7]. Random fractals: Generated by stochastic rather than deterministic processes, for exam ple, trajectories of the Brownian motion, levy flight, fractal landscapes and the Brownian tree. The latter y ields so-called mass- or dendrites fractals, for exam ple, diffusion –limited aggregation or reactionlimited aggregation clusters[8].

Figure 6: Example of Cauliflower Fractal Showing the Self similarity

33

These features of fractal i.e. s elf s imilarity and iterative procedure for generating recurs ive fractals (Figure 6) are used in algorithm. With these properties we can detect the errors in a small portion of the object and then later on spread it with the help of a com plex m athematical equation using Picard and Superior iterations [54 - 58] . By the means of this fractal based algorithm one can detect pattern of advance stages and have a say in error detection. Up to this s tage bas ic problem s was to examine the large networks as a whole or simultaneously but with the advent of this algorith m things can be exam ine in a small part at first go and later on can be seen in completion.

5. Revisited CD pipeline (Effect of the new algorithms) Through this survey , it appears th at the architecture of collision detection algorithms needs to be im proved to face real-tim e interaction. In this way, we are thinking about reviews of the collision detection pipeline. W e work on a global parallelization of the pipeline in order to avoid s tarvation of each phas e. They would not stop and run continuous ly during simulation. Broadphase is still pruning un-colliding objects pairs and feeds an object pairs buffer that is, in the sam e tim e, used by narrowphase to provide exact tests. This pipeline can be imagined as a double-buffer with access control. This parallelized pipeline would adapt itself on different hardware architectures. For instance this architecture would pr ovide a very efficient, robust and fast broad-phase that woul d work on several GPUs. Then architecture would provide a narrow-phase working on multicores. We have designed a novel view of a tri-dimensional collision detection pipeline (cf. Figure 8). The sequential pipeline has been revisited as a parallel pipeline working with broad and exact phase using buffers. Contrary to sequential pipeline, we propose to add a third dimension. This new dimension is the architecture showing that one phase can be done on GPUs and another on CPUs or one part of phase. This 3D pipeline might be dimensioned for a clus ter or grid architecture. W e also imagine running a collision detection sy stem on grid, taking into account latency tim e. On the overall distributed m achines predictive algorithms would com pute possibly colliding sets of objects and local machines would compute exact collision.

7. Conclusion We have presented in this survey new trends in collision detection performance quest. With the wide range of available architecture from GPU to grid, we have shown that developing new models taking into account computer power is essential to expect real-time interaction in large-scale environment. The linkup between virtual reality and com puter perform ance has to be more and more studied and reinforced. Future algorithms providing a real-time interaction have to be performed through the use of GPGPU, m ultithreads, multi or many-cores processors with memory and cache handling and cluster or grid architecture. We also come in the conclus ion that the us e of the fractal collision detection algorithm reduces the detection process by examining on the comparatively smaller part. Still the Work is in progress later on more fruitful result will surely be coming.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org

Figure 7: Example of a new tri-dimensional collision detection pipeline.

6. References [1] Arthur D. Gregory , Ajith Mascarenhas, Stephen A. Ehm ann, Ming C. Lin, and Dinesh Ma nocha. Six degree- of-freedom haptic display of polygonal models. In IEEE Visualization, pages 139–146, 2000 [2] Avneesh Sud, Miguel A. Otaduy, and Dinesh Manocha. Difi: Fast 3D dis tance field com putation using graphics hardware. Comput. Graph. Forum, 23(3):557–566, 2004 [3] Brian Mirtich. V-clip: Fast and robust poly hedral collision detection. ACM Trans. Graph, 17(3):177–208, 1998. [4] Bruno Heidelberger, Matthia s Teschner, and Markus H. Gross. Detection of collisions and self-collisions using im agespace techniques. In WSCG, pages 145–152, 2004. [5] Bruno Raffin and Luciano Soares. Pc clusters for virtual reality. IEEE-VR, pages 215–222, 25-29 March 2006. [6]Beno^t B. Mandelbrot,Multifr actals and 1/f noise , springerVerlag, Berlin,1988. [7] Beno^t B. Mandelbrot,Multi fractals , discussion paper ; fractals , attractors and fractals dim entions, In:O, Gurel &O.E.Rossler (Eds.), Bifurcation theory and application in scientific disciplines, Paper pres ented at aconfrence held in New York Academy of sciences 316, (pp.463-464), New york : New york academy of sciences,1979. [8] Beno^t B. Mandelbrot, self –affine F ractals and F ractals Dimension, physica scripta 32 (1985), 257-260. [9] Beno^ t B. M andelbrot,Multifractals F ractals : F orm, chance and dimensions, freeman,1977. [10] Christer Ericson. Real-tim e Collision Detection. Morgan Kaufmann, 2005 . [11] C .M c M ullen, The classification of conformal dy namical systems,Current developments in m athematics, Int’Press Cambridge,MA(1995),323-360.. [12] ] C .Mc Mullen ,Automorphism of rational maps , Holomorphic Function and Moduli Vol I, Math. Sci, Res. Inst.Publ.10 Springer, New York (1988). [13] C. Peterson and G.Ry d, C onvergence of rational ray s in parameter spaces In: the Mandelbrot Set : Theme and variations , London mathematical society , Lecture note series 274, Cambridge University Press(2000),161-172 [14] C.A. Pickover , Fractals horizons: The future use of fractals , New York : St.Martin‘s press, 1996. [15]Domonic E. reeve, Mandelbrot, Julia sets and non linear mapping in : fractals and chaos (Edited by A.J. crilly , R.A. earnshaw and H.Jones ,) spri nger- Verlag, Newy ork, Inc., 1991,35-42.

34

[16]D.Rochon, A generalized Ma ndelbrot set for bi-complex numbers, Fracatals 8(4), 355-368. [17]D. d' Aulignac K. Sundaraj and E. Mazer. A new algorithm for computing minimum distance, October 13 2000. [18] David E. Johnson and Elai ne Cohen. A framework for efficient minimum distance computations. In ICRA, pages 3678– 3684, 1998. [19] DukSu Kim, Jea-Pil Heo, and Sung eui Yoon. Pccd: Parallel continuous collision detection. T echnical report, Dept. of CS, KAIST, 2008 [20] Dave Knott and Dinesh K. Pai. Cinder: Collision and interference detection in real-tim e using graphics hardware. In Graphics Interface, pages 73–80, 2003 [21] Daniel S. Coming and Oliver G. Staadt. Velocity - aligned discrete oriented polytopes for dynamic collision detection. IEEE Trans. Vis. Comput. Graph, 14(1):1–12, 2008. [22] Dobkin, Hershberger, Kirkpa trick, and Suri. Computing the intersection-depth of poly hedra.ALGRTHMICA: Algorithmica, 9, 1993 [23]Everton Hermann, Francois Faure, and Bruno Raffin. Ray traced collision detection for deform able bodies. In GRAPP, pages 293–299, 2008. [24]E. G. Gilbert, D. W. Johns on, and S. S. Keerthi. A fast procedure for com puting the dis tance between complex objects in three-dimensional space. IEEE Journal of Robotics and Automation, 4:193–203, 1988 [25] Elmer G. Gilbert and Chong Jin Ong. New distances for the separation and penetration of objects. In ICRA, pages 579–586, 1994 [26] George Baciu and Wingo Sai-Keung Wong. Image-based collision detection for deform able cloth m odels. IEEE Trans. Vis. Comput. Graph, 10(6):649–663, 2004. [27] Gino Van Den Bergen. Efficient collision detection of complex deformable models using aabb trees. J. Graph. Tools, 2(4):1–13, 1997.

[28] Gino Van Den Bergen. A fast and robust guick implementation for collision detection of convex objects. J. Graph. Tools, 4(2):7–25, 1999. [29] G. Vanecek, Jr. Back-face culling applied to collision detection of poly hedra. The Journal of Visualization and Computer Animation, 5(1), January– March 1994. [30] Gabriel Zachm ann. Rapid collision detection by dynamically aligned DOP-trees. pages 90–97, March 1998. [31] Gabriel Zachmann. Optim izing the collision detection pipeline. In Proc. of the First International Game Technology Conference (GTEC), January 2001. [32] H.-O.Petigen and D.Saupe(E ds), The S cience of Fractals Images, Springer-Verlag,1988. [33] H.-O.Petigen and P .H Richter, The beauty of F ractals , Springer-Verlag,1986. [34] H.-O.Petigen and H . Jurgens and D.Saupe(Eds), Chaos and Fractals, Springer-Verlag,,, New York, Inc., 1992. [35] H.-O.Petigen, H . Jurgens and D.Saupe(Eds), The Language of Fractals , Scientific American (August 1990),40-47. [36] Jeremie Allard, Valerie Gouranton, Loick Lecointre, Sebastien Limet, Bruno Raffin, and Sophie Robert. FlowVR: A middleware for large scale virtua l reality applications, AugustSeptember 2004. [37] J. W. Boy se. Interference detection among solids and surfaces. Communications of the ACM, 22(1):3–9, January 1979. [38] J. Canny . Collision detection for moving polyhedra. IEEE

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org Transactions on Pattern Analy sis and Machine Intelligence, 8:200–209, 1986. [39] Jonathan D. Cohen, Ming C. Lin, Dinesh Manocha, and Madhav K. Ponamgi. I-collide: An interactive and exact collision detection s ystem for large-s cale environments. In SI3D, pages 189–196, 218, 1995 [40] J.Milnar, Geometry and Dy namics of quadratic rational maps, Exper.Math.2(1993),37-83. [41] J.Milnar, Dynamix in one Complex Variable, Vieweg,1999. [42] ] J.Milnar and tan Lei , ”S ierpinski Carpet” as Julia Set . Apendix f in: Geometry and Dy namics of Quadratic Rational Maps, Experiments. Math. 2(1993), 37-83. [43] John D. Owens, David Lue bke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Le fohn, and Timothy J. Purcell. A survey of general-purpose computation on graphics hardware. 2007. Warning: the year was guessed out of the URL. [44]Jon Louis Bentley and Jerome H. Friedman. Data structures for range searching. ACMCS, 11(4):397–409, 1979.

[45]Kimberly a.Roth, Julia sets that are full of Holes , preprint,2002. [46] Larry Seiler, Doug Carmean, Eric Sprangle, Tom Forsyth, Michael Abrash, Pradeep Dubey , Stephen Junkins, Adam Lake, Jeremy Sugerman, Robert Cavin, Roger Espasa, Ed Grochowski, Toni Juan, and Pat Hanrahan. Larrabee: a many -core x86 architecture for vis ual com puting. ACM S IGGRAPH'08 Transactions on Graphics, 27(3), August 2008. [47]Mark Lewis and Berna L. Massingill. Multithreaded collision detection in java. In Ham id R. Arabnia, editor, Proceedings of the International Conference on P arallel and Distributed Processing Tec hniques and Applications & Conference on Real-Tim e Computing Systems and Applications (PDPTA'06), volume 1, page s 583–592, Las Vegas, Nevada, USA, June 2006. CSREA Press. [48]Min Tang, Dinesh Manocha, and Ruofeng Tong. Multi-core collision detection between deform able models. In Com puters & Graphics, 2008. [49]M. Teschner,B. Heidelberger,M. Müller, D. Pomeranets, and M. Gross. Optim ized spatial ha shing for collision detection of deformable objects. In T. Ertl, B. Girod, G. Greiner, H. Niemann, H.-P. Seidel, E. S teinbach, and R. W estermann, editors, Proceedings of the Conference on Vis ion, Modeling and Visualization 2003 (VMV-03), pa ges 47–54, Berlin, November 19–21 2003. Aka GmbH. [50] M. Teschner, S. Kimmerle, B. Heidelberger, G. Zachmann, L. Raghupathi, A. Fuhrmann, M.-P. Cani, F. Faure, N. Magnenat-Thalmann, W . Strasse r, and P. Volino. Collision detection for deformable obj ects. pages 119–140, September 2004. [51]M. C. Lin and S. Gottschal k. Collision detection between geometric m odels: a s urvey. In Robert Cripps, editor, Proceedings of the 8th IM A Conference on the M athematics of Surfaces (IMA-98), volume VIII of Mathem atics of Surfaces, pages 37–56, Winchester, UK, September 1998. Information Geometers. [52] Ming C. Lin and John F. Canny . A fast algorithm for incremental distance calculation. Technical report, UNC. March 19 1991. [53] Moller. A fast triangle-tria ngle intersection test. JGTOOLS: Journal of Graphics Tools, 2, 1997. [54]M. Rani , Iterative P rocedure in F ractals and Chaos , P h.D. Thesis, Gurukul Kangri Vishwavidalaya, Haridwar.2002.

35

[55] M. Rani , Fractals in vedic heritage and fractals carpets , Proceeding of national s eminar on his tory , Heritage and development of Mathematical sciences, Oct.2003.18-20. [56] M. Rani and M.Kumar ,Supe rior Julia set ,J.Korean Soc. Math.educ.Ser.d8(4)(2004),261-277. [57] M. Rani and V.Kumar ,Supe rior Mandelbrot set ,J.Korean Soc. Math.educ.Ser.d8(4)(2004),279-291. [58] M. Rani and V.Kumar ,A ne w experiment with the logistic function , J . Indian Acad.Math .27(2005). No.1. [59]M.Rees, Positve measure se ts of ergodic rational maps, Ann.Sci.Ec.Norm.Sup.19(1986), 383-407. [60]M.Shishikura, Hausdroff dimension of the boundry of the Mandelbrot set and Julia sets , Ann. Math.(2) 147(2), 225-267. [61]M.A.Krasnosel’skii, Two obs ervations abut the method of successive approximations, Us pechi Mat.Nauk 10 (1995), 123127. [62]Michal L. Lapidus and Michiel Frankenhugsen(Editors), Fractals Geom etry and applica tions : A Jublie of Benoit Mandelbrot, Part I, San Diego,California,2002 and Ecole Normale Superieure de Lyon, 2001. [63]Naga K. Govindaraju, Ming C. Lin, and Dinesh Manocha. Fast and reliable collision detection using graphics processors. In COMPGEOM: Annual ACM Sy mposium on Computational Geometry, 2005. [64] Naga K. Govindaraju, Ste phane Redon, Ming C. Lin, and Dinesh Manocha. Cullide: Interactive collision detection between complex m odels in larg e environments using graphics hardware. In M. Doggett, W. Heidrich, W. Mark,andA. Schilling,editors, SIGGRAPH/Eurographics Workshop on Graphics Hardware, pages 025–032, San Diego, California, 2003. Eurographics Association [65]P. M. Hubbard. Collision detection for interactive graphicsapplications. EEETransactionson Visualization and Computer Graphics, 1(3):218–230, September 1995. ISSN 10772626. [64] Pablo Jiménez, Federico Thomas, and Carme Torras. 3d collision detection: a survey. Computers & Graphics, 25(2):269–285, 2001 [65]Overmars. Point location in fat subdivisions. IPL: Information Processing Letters, 44, 1992. [66] Przemy slaw Prusinkiewicz, modeling and visualization of biological s tructures, P roceedings of Graphics Interface ’93, Held in Toronto, Ontario, May1993, 128-137. [67]Przemyslaw Prusinkieicz and Mark Hammel , Languagerestricted iterated function sy stem , Koch constructions, and Lsystems , Ne w Dire ctions for Fractals Modeling in Computer Graphics,Siggraph’94 Course Notes , ACM Press, 1994. [68] S . Kockara, T. Halic, K. Iqbal, C. Bay rak, and Richard Rowe. Collision detection: A survey . Sy stems, Man and Cybernetics, 2007. ISIC. IEEE International Conference on, pages 4046–4051, Oct. 2007. [69] Sean Quinlan. Efficient distance computation between nonconvex objects. In ICRA, pages 3324–3329, 1994. [70] Stéphane Redon, Abderra hmane Kheddary, and Sabine Coquillart. Fast continuous collision detection between rigid bodies. Computer Graphics Forum, 21(3):279–288, September 2002. [71] Srikanth Bandi and Daniel Thalmann. An adaptive spatial subdivision of the object space for fast collision detection of animated rigid bodies. Comput. Graph. Forum, 14(3):259–270, 1995.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 www.IJCSI.org [72] Stephen Cameron. Enhanc ing GJK: Computing minimum and penetration distances betw een convex polyhedra, January 27 1997. [73] Susan Fisher and Ming C. Lin. Fast penetration depth estimation for elastic bodies using deformed distance fields, UNC. July 17 2001. [74] S tefan Gotts chalk, M ing Lin, and Dinesh Manocha. Obbtree: A hierarchical structure for rapid interference detection. In Proceedings of the ACM Conference on Com puter Graphics, pages 171–180, New York, August 4–9 1996. ACM. [75] S. Morosawa, Y. Nishimura, m. Tangiguchi and T. Ueda, Holomorphic Dynamics, Cambridge University Press(2000). [76] Sri Pinggalacary a, chandos Sastrum (Com mentry by Sri Halyadha Bhatta and edited by pandita Kedarnatha, Chaukhambha publishers, varansi,2002) [77] Tan lei , Sim ilarity between the Mandelbrot sets and Julia sets, Commun. Maths.phys.134(1990),587-617. [78] V.a. Norton , Julia sets in quaternions, Computer and Graphics 13,2(1989)267-278. [79]W.r.Mann , Mean value methods in iteration , Proc. Amer.math. Soc. 4(1953),506-510. [80] Yu.A. Shashkin , Fixed points, Amer.Math.Soc,1991. [81] Young J. Kim, Ming C. Li n, and Dinesh Manocha. Deep: Dual-space expans ion for es timating penetration depth between convex polytopes. In ICRA, pages 921– 926. IEEE, 2002. [82] Y. Sato, M . H irata, T. M aruyama, and Y . A rita. Efficient collision detection using fast distance- calculation algorithm s for convex and non-convex objects. In Proc. IEEE Intern. Conf. on Robotics and Automation (Minn eapolis, Minnesota 1996), pages 771–778. IEEE, 1996.

36

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

37

A High Certificate Authority Scheme for Authentication in Mobile Ad hoc Networks 1

2

A.Rajaram and 2Dr.S.Palaniswami 1 Anna University Coimbatore Coimbatore, India

Registrar, Anna University Coimbatore Coimbatore, India

Abstract: In mobile ad hoc networks (MANETs), it is easy to launch wormhole, man-in-the-middle and denial of service (DoS) attacks, or to impersonate another node. Trust based cross layer approach established a network consisting confidentiality and authentication of packets in both routing and link layers., in this paper, we propose to develop an enhanced distributed certificate authority scheme to provide data integrity, thus making the network more secure from both inside and outside attacks. The proposed scheme makes use of Shamir’s secret sharing scheme along with a redundancy technique to support certificate renewal and revocation. The malicious nodes are detected by the trusting mechanism by monitoring the behavior hop by hop. By simulation results, we show that the proposed scheme achieves more packet delivery ratio while attaining less delay and overhead, compared with the trust based cross layer approach. Keywords: Mobile ad hoc networks (MANETs), denial of service (DoS), Routing cum forwarding (RCF), Certificate revocation, Certification revival.

1. Introduction 1.1 Mobile Ad-Hoc Network (MANET) A mobile ad-hoc network (MANET) is a temporary infrastructure less multi-hop wireless network in which the nodes can move arbitrarily. Such networks extend the limited wireless transmission range of each node by multi-hop packet forwarding, thus, well suited for the scenarios in which pre deployed infrastructure support is not available. In an ad hoc network, there is no fixed infrastructure such as base stations or mobile switching centers. Mobile nodes that are within each

other’s radio range communicate directly via wireless links, while those that are far apart rely on other nodes to relay messages as routers. The mobility of the routers are provided randomly and organized themselves arbitrarily; thus, the network's wireless topology may alter rapidly and unpredictably. [1] These types of networks function in the absence of any fixed infrastructure, which provides easy deployment. [2] However, due to the lack of any fixed infrastructure, it becomes complicated to exploit the present routing techniques for network services, and this provides some huge challenges in providing the security of the communication, which is not done effortlessly as the number of demands of network security conflict with the demands of mobile networks, largely due to the nature of the mobile devices (e.g. low power consumption, low processing load). [3] MANET has various potential applications, which are usually set up in situations of emergency for temporary operations or simply if there are no resources to set up elaborate networks. Some typical examples include emergency search-rescue operations, meeting events, conferences, and battlefield communication between moving vehicles and/or soldiers. [4] With the abilities to meet the new demand of mobile computation, the MANET has a very bright future. 1.2 Threats in MANET The broadcasting nature of transmission and the nodes self routing environment opens up the perception of security in MANET. The security issue

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

of MANET is of large concern taking into account its various factors like its open network, mobility factor and other factors. When taking into security aspects, the attacks on MANET can be classified into two; internal attacks and external attacks [5,6,7,8]. Internal attacks are those attacks which are caused by inside node of a network. These attacks are produced by either malicious nodes or by selfish nodes inside a network. These internal attacks are tough to detect as nodes affected by such an attack generate themselves the valid signatures using their private keys. Examples of internal attack are internal eavesdropping, where the nodes extracts copy of all information and exploitat it without the knowledge of other nodes and packet dropping.

  



38

Confidentiality: should safeguard certain information which is not to be disclosed to unauthorized entities. Integrity: Transmitted Message should be genuine and should never be corrupted. Authentication: Enables a node to safeguard the characteristics of the peer node it is communicating, without which an attacker would duplicate a node, thus attaining unauthorized admission to resource and sensitive information and snooping with operation of other nodes. Non-repudiation safeguards that the source of a data should not reject having sent the data.

In external attacks, the attackers are from outside the network but cause damage or compromises network within the network. Attacks from external nodes can be prevented from cryptographic techniques such as encryption and authentication. As per routing, external attacks can be divided into active and passive attacks. Active external attacks use to degrade or stops message flow between the nodes. DoS attacks, packet dropping or flooding of packets are some examples of active external attacks. Passive external attacks are formally done by compromising the nodes and extracting vital information of the network. In passive attack, the attacker does not disrupt the network operation but only extracts information to damage further network operation. These type of attacks are basically impossible to detect, thus making it hard to produce security for such attacks.

In mobile ad hoc networks (MANETs), it is simple to launch wormhole, man-in-the-middle and denial of service (DoS) attacks, or to impersonate another node. To resist against such attacks from outsider nodes, we propose a hop-by-hop authentication protocol. It authenticates packets at every hop by using a CA based approach and drops any packets that originate from outsiders. Each node monitors and evaluates the behavior of its successors by itself, and as soon as it accuses a node it launches a procedure to approve this accusation. In our previous work [14], we have analyzed about the confidentiality and authentication of data in MANET environment. In this paper, we analyze the integrity of data along with the external attack.

1.3 Security Challenges in MANET

2. Related Work

The nature of MANET makes it vulnerable to attacks. Challenges in MANET securities are discussed briefly [4];

Rehan Akbani et.al. [9] have proposed a hop-by-hop, proficient authentication protocol, called HEAP. It authenticates packets at each hop using a modified HMAC-based algorithm including two keys and drops any packets that are initialized from outsiders. The method used here can be appropriate for all application like multicast, unicast or broadcast applications. Discovering an insider attack using this protocol is highly improbable. But if a third party intrusion detection system (IDS) happens to detect a compromised insider node and raise an alarm to other nodes, HEAP will offer a framework for an effective response system.



Availability: should withstand survivability regardless of Denial-of-Service (DOS) attacks like in physical and media access control layer attacker uses jamming techniques for hinder with communication on physical channel. On network layer the attacker can interrupt the routing protocol. On higher layers, the attacker could bring down high level services e.g.: key management service.

1.4. Problem Identification & Proposed Solution

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

Wenbo He et.al. [10] have proposed a self-contained public key-management scheme, a scalable means of cryptographic key management (SMOCK), which acquires negligible communication overhead for authentication, and offers maximum service availability. Here a combinatorial design of publicprivate key pairs is created which provides each node with extra protection of more than one key pair to encrypt and decrypt messages. This format helps in earning higher stability in terms of nodes and storage space. The scheme also achieves controllable resilience against node compromise by defining required benchmark resilience. Nitesh Saxena et.al [11] have discussed about various signature scheme and have studied about the various techniques used. Here they tried the threshold in constructing decentralized access control mechanisms for ad hoc groups. They tried to first, point out the drawbacks of known threshold RSA signatures and tried to build access control mechanisms based on a variety of flavors of distinct logarithm based threshold signatures in this paper they tried to implement three access control mechanisms based on discrete-logarithm based threshold signatures, threshold DSA (TS-DSA), threshold Schnorr (TS-Sch) and threshold BLS (TSBLS). Nikos Komninos et.al [12] have proposed a twophase detection procedure of nodes that are not authorized for specific services and nodes that have been compromised during their operation in MANET. The detection framework' is enabled with the major operations of ad hoc networking, which are found at the link and network layers. The proposed framework is based on zero knowledge techniques, which are particularly designed to achieve node identification but do not rely on symmetric or asymmetric encryption algorithms, digital signatures, sequence numbers and timestamps. The zero knowledge techniques are presented through proofs. Binod Vaidya et.al [13] have put forward AODV with Multiple Alternative Paths (AODV-MAP) scheme and its security extension SAODV-MAP scheme. AODV-MAP scheme is robust and efficient multipath ad hoc routing protocol. It was intended to have secured AODV-MAP in order to provide security against various attacks. Security analysis

39

shows that SAODV-MAP is much more robust against various known adversaries than SRP. The simulation results show that SAODV-MAP is better than AODV and as efficient as AODV-MAP in discovering and maintaining routes. Overall, in presence of various malicious nodes, SAODV-MAP scheme outperforms SRP scheme in all of the performance metrics that we examined. In our previous work [14] we present a solution for node selfishness to attain confidentiality and authentication of packets in both routing and link layers of MANETs. The technique is a double phase; one for detecting and isolating the malicious nodes using the routing layer information and second phase is for link-layer security. For detecting and isolating the malicious nodes we use the packet forwarding by maintaining a trust counter for each node. A node is punished or rewarded by decreasing or increasing the trust counter. If the trust counter value falls below a trust threshold, the corresponding intermediate node is marked as malicious. this provides an efficient and more secure protocol, as we use only nodes which are stored in the current route need to perform this cryptographic computation as well as authentication is performed for route reply operation. For link-layer security, in the next phase, we use CBC-X mode of authentication and encryption. 3. Proposed Scheme In the paper, we add integrity factor into our work to secure the network. We provide a certificate authority scheme and increase the security to tackle both internal and external attacks. Our scheme is contributed with three components;   

Monitoring Routing cum forwarding (RCF) behavior Certificate revival. Certificate revocation.

Monitoring Routing cum forwarding (RCF) behavior which is based on our previous work, involves detecting misbehaviors in both the routing as well as the packet forwarding in the network. Certificate revival uses a redundancy scheme [15] in which a node is allocated more than one key share by incorporating redundancy into the network. This mechanism guarantees that genuine nodes can

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

continue to stay in the network by revival of their certificates along a periodical time period. Certificate revocation provides the authority to isolate any malicious nodes or regain the nodes which turn up to its best state after any attack or failure. Thus, Certificate revival and Certificate revocation added to our previous work brings forth the integrity factor along with confidentiality and authentication. 3.1 Monitoring: Routing Cum Packet Forwarding (RCF) Behavior Monitoring of routing packets and forwarding packets are done using our previous work of Trust based packet forwarding scheme by punishing or rewarding the nodes with decreasing or increasing a trust counter. Each intermediate node marks the packets by adding its hash value and forwards the packet towards the destination node. The destination node verifies the hash value and check the trust counter value. If the hash value is verified, the trust counter is incremented, other wise it is decremented. If the trust counter value falls below a trust threshold, the corresponding the intermediate node is marked as malicious. Before proposing the modification, we can analyze how the trust based packet forwarding scheme works from our previous work. Each node keeps track of the number of packets it has forwarded through a route using a forward counter (FC). Each time, when node nk receives a packet from a node ni, then nk increases the forward counter of node ni . FCni = FCni +1,

i = 1,2.... (1)

The incremental value, saved in a data structure called Neighbor’s Trust Counter Table (NTT), of node nk is modified with the values of FCni . Similarly each node determines its NTT and finally the packets reach the destination D. When the destination D receives the accumulated RREQ message, it measures the number of packets received Prec . Then it constructs a MAC on Prec with the key shared by the sender and the destination. The RREP contains the source and destination ids,

40

The MAC of Prec , the accumulated route from the RREQ, which are digitally signed by the destination. The RREP is sent towards the source on the reverse route R1. Each intermediate node along the reverse route from D to S checks the RREP packet to compute success ratio as,

SRi 

FCni Pr ec

(2)

Where Prec is the number of packets received at D in time interval t1 . The FCni values of ni can be got from the corresponding NTT of the node. The success ratio value SRi is then added with the RREP packet. For any node nk, if SRk is either minimum or maximum than SRmin( where SRmin is the minimum threshold value ) the trust counter value is further decreased or increased respectively. The incentive value provided to each successful node helps in determining the trustworthiness of the node and shows the misbehaving nodes apart from the network. To increase the integrity of these forward packets we introduce certification revival scheme using redundancy of [15] to guarantee that genuine nodes can continue to stay in the network by revival of their certificates along a periodical time period. 3.2 Certification Revival scheme To communicate between the nodes inside the network, every legitimate node carries a certificate, issued by an offline certificate authority (CA). The certificate comprises of 3 basic fields: Node id (NID), Initiation time (IT) and Expiry time (ET). For CA, we use the concept of secret sharing based upon Shamir’s “secret sharing model” [16,17] with the use of redundancy. Shamir’s secret sharing scheme provides security as well as is extendable and flexible. Along with redundancy the mobility factors of adhoc network becomes less concerned. Shamir’s Secret Sharing Model: The CA key is shared to a set of nodes using the Shamir’s secret sharing model. Using the model we provide secrecy among a set of nodes from N nodes such that at least k nodes are needed to reconstruct the secrecy among the nodes. Consider the set of nodes be P1, P2, P3, ...,

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

Pn. Under such condition we follow the following steps. Step 1: Dealer D constructs polynomial f(x) of degree (k-1), f(x) = a0 + a1x + a2 x 2 + a3 x3 + ... + ak-1 x k 1

(3)

Polynomial f(x) is constructed over finite field, then a0 = secret (s). All other coefficients are random elements in the field. Step 2: Dealer D chooses n random distinct evaluation points: Xj != 0, and secretly distributes to each participants Pj the share sharej(s) = (Xj, f(Xj)), j=1, 2, ..., n. (4) The above two steps provides a sharing key among subset of k shares out of n shares. To reconstruct the sharing, the model uses Lagrange interpolation, Step 3: Using the Lagrange interpolation the unique polynomial f(x) such that degree f(x) < k and f(j) = sharej(s) for j=1, 2, 3, ..., k f(x)=



k

i 1

f (i )  Li ( X )

(5)

Where Li ( X ) is the Lagrange polynomial. Li ( X ) =  j  i ( x  xj )

 j  i ( xi  xj )

(6)

We evaluate the above steps using an example for sharing and reconstructing the CA among the sets of nodes. Consider an example where n= 6, are the partcipent nodes, secret s= 1234, then as per the polynomial eq (2) we have, f(x) = a0 + a1x + a2 x 2

(7)

by taking a random value a1 and a2 as 166 and 94, we get the equation as. f(x) = 1234 + 166x + 94 x 2

(8)

41

Computing the above equation and distributing the above equation, we are provided with 6 points as (1, 1494); (2, 1942); (3, 2578); (4, 3402); (5, 4414); (6, 5614). This provides the sharing values for each node of the sets. We recreate the secret, if at least 3 nodes are present. Let us consider we have 3 random nodes, (x0y0) = (2, 1942); (x1y1) = (4, 3402); (x2y2) = (5, 4414). Using the above equations (5) and (6) we get the same polynomial value as eq (8), f(x) = 94 x 2 +166x + 1234 = eq (8)

(9)

Modified Sharing Scheme With Redundancy: Deepti Joshi et.al. [15] have modified Shamir’s secret sharing works by introducing witness to each node along with adding redundancy. We add this modified technique in our Certification revival scheme. This scheme helps in reconstructing shared keys even if the minimum set of necessary key (k) is not available during reconstruction. For this we provide q shares of value to each node against the traditional value which is 1 shared value for each node. Increasing the number of shares per node increases the chance of the node recreating the CA key even if the neighboring nodes are less than k. Hence the total number of nodes requisite to recreate the CA key can be less than (k − 1), as any node trying to recreate the CA key can get the k required shares from less than (k−1) nodes. As the number of shares per node increases, the number of nodes needed to recreate the CA key is descendent. The probability value for recreating such a scenario is given below. It is estimated that maximum the value of k available, maximum the success rate will be. We consider from the above example, if one of the values (from k=3) moves away, then the existing value will be 2 nodes available to recreate the sharing value. Under such circumstances, the redundant value provides the necessary non-available value to recreate the sharing values. To calculate the total number of ways ( f (y +  )) in which the CA key can be recreated, consider the number of ways in which the key shares can be distributed among y nodes such that we have y, y + 1, y + 2, . . . , n distinct keys. The number of ways (y +  ) key shares can be gathered from y neighbors is given by

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

f (y +  ) = a * b * c * d

(10)

Where, a = the number of ways (y+  ) keys can be selected from n keys, given by ( nCy   ) . b = the number of ways y keys can be selected from (y +  ) keys, given by (( y   )Cy ) . c = the number of ways these y shares can be allocated to the y nodes, given by ( y!) . d = the number of ways in which the remaining shares can be allocated to the y nodes, given by

(( y   1)Cq 1)

y

The probability of recreating the CA key given y neighbors is given by;  n  y f (y +  )   k  y if ( y  q )  n,  n - y f (y +  )  0 P(y) =  (11) yq - y f (y + )     k  y f ( y  q )  n,  yq - y   0 f (y +  ) The above equation also takes into account the maximum number of distinct key shares a legitimate node can gather from a coalition of y nodes, which is either (y·q), where q is the number of shares per node, or n depending on whether (y·q) is greater than or equal to n or less than n. 3.3 Certification Revocation Scheme In our previous work, we increase and decrease a trust counter depending on the behavior of the node. These trust values are saved in a Neighbors’ Trust Counter Table (NTT) where nodes which have trust value lower than the threshold trust value TCthr are termed as malicious. In the certificate revocation scheme, when the node’s “Expiry time” (ET) elapsed, the node broadcasts a renewal request packet (RWREQ) to its neighbors. Node which receives a RWREQ, checks its node status from the NTT. If the nodes have value less than the TCthr value, then the RWREQ is dropped or else the node sends a renewal reply packet (RWREP), along with a new IT and ET field, back to the node. Due to the redundancy technique, the renewal of nodes does not consume

42

time or halts, even if any movement of nodes or node failure or even disconnection in network occurs. Thus our work increases the integrity factor of the data in the network due to certificate authority scheme along with resisting against the outside attackers. Our scheme also reduces the overhead of nodes because of the redundancy factor, as it reduces the time consumption and dependency over the nodes. 4. Performance Evaluation 4.1 Simulation Model and Parameters We use NS2 to simulate our proposed algorithm. In our simulation, the channel capacity of mobile hosts is set to the same value: 2 Mbps. We use the distributed coordination function (DCF) of IEEE 802.11 for wireless LANs as the MAC layer protocol. It has the functionality to notify the network layer about link breakage. In our simulation, mobile nodes move in a 1000 meter x 1000 meter square region for 50 seconds simulation time. We assume each node moves independently with the same average speed. All nodes have the same transmission range of 250 meters. In our simulation, the speed is varied from 10 m/s to 50m/s and the number of nodes is varied from 20 to 100. We fix 10% of the total nodes as attackers. The simulated traffic is Constant Bit Rate (CBR). Our simulation settings and parameters are summarized in table 1. Table 1.Simulation Settings No. of Nodes 20,40,60,80 and 100 Area Size 1000 X 1000 Mac 802.11 Radio Range 250m Simulation Time 50 sec Traffic Source CBR Packet Size 512 Mobility Model Random Way Point Attackers 10% of the nodes Speed 10,20,30,40,50m/s Pause time 5

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

43

4.2 Performance Metrics We evaluate mainly the performance according to the following metrics. Control Overhead: The control overhead is defined as the total number of routing control packets normalized by the total number of received data packets. Average End-to-End Delay: The end-to-end-delay is averaged over all surviving data packets from the sources to the destinations.

. Fig. 2 Nodes Vs Delay

Average Packet Delivery Ratio: It is the ratio of the number .of packets received successfully and the total number of packets transmitted The simulation results are presented in the next section. We compare our EDCA protocol with our previous TCLS protocol [14] in presence of malicious node environment. 4.3 Results A. Based On Nodes In our First experiment, we vary the number of nodes as 20,40,60,80 and 100 by keeping the node speed as 10m/s.

Fig. 1 Nodes Vs Delivery Ratio

Fig. 3 Nodes Vs Overhead Figure 1 show the results of average packet delivery ratio for varying the nodes from 20 to 100. Clearly our EDCA scheme achieves more delivery ratio than the TCLS and TMLS scheme since it has both reliability and security features. Figure 2 shows the results of average end-to-end delay for varying the nodes from 20 to 100. From the results, we can see that EDCA scheme has slightly lower delay than the TCLS and TMLS scheme because of authentication routines. Figure 3 shows the results of routing overhead for the varying nodes. From the results, we can see that EDCA scheme has less routing overhead than the TCLS and TMLS scheme since it does not involve route re-discovery routines. B. Based On Speed In our Second experiment, we vary the node speed as 10,20,30,40 and 50, with 100 nodes.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

44

can see that EDCA scheme has slightly lower delay than the TCLS and TMLS scheme because of authentication routines. Figure 6 shows the results of routing overhead for the speed 10, 20….50. From the results, we can see that EDCA scheme has less routing overhead than the TCLS and TMLS scheme. 5. Conclusion Fig. 4 Speed Vs Delivery Ratio

Fig.5 Speed Vs Delay

In this paper, The trust counters by using a certificate authority to provide integrity of our network along with resisting attacks from outside. Our work is a three phase scheme consisting of; Routing cum forwarding (RCF) of packet monitoring, Certification revival and Certification revocation. we monitor the routing and packet forwarding behaviors of the nodes in each hop. We use Shamir’s secret sharing model with redundancy for Certification revival and revocation. When we use redundancy the challenges of node mobility reduces as it states that the total number of nodes requisite to recreate the CA key can be less than (k − 1). This increases the integrity of the network and provides the network nodes to be more mobile. Certification revocation is done using the trust values of the nodes. By simulation results, we have shown that the proposed scheme achieves more packet delivery ratio while attaining less delay and overhead, compared with the previous existing scheme. References

Fig. 6 Speed Vs Overhead Figure 4 show the results of average packet delivery ratio for the speed 10, 20…50 for the 100 nodes scenario. Clearly our EDCA scheme achieves more delivery ratio than the TCLS and TMLS scheme since it has both reliability and security features. Figure 5 shows the results of average end-to-end delay for the speed 10, 20….50. From the results, we

[1] Mohd Anuar Jaafar and Zuriati Ahmad Zukarnain, “Performance Comparisons of AODV, Secure AODV and Adaptive Secure AODV Routing Protocols in Free Attack Simulation Environment”, European Journal of Scientific Research, Vol.32, No.3, pp.430-443, 2009. [2] Mark E. Orwat, Timothy E. Levin, and Cynthia E. Irvine, “An Ontological Approach to Secure MANET Management”, In Proceedings of the Third International Conference on Availability, Reliability and Security, p.p 787794 , 2008. [3] C. Sreedhar, S. Madhusudhana Verma and N. Kasiviswanath, “A Survey on Security Issues in Wireless Ad hoc Network Routing Protocols”, International Journal on Computer Science and Engineering, Vol. 02, No. 02, p.p 224-232, 2010. [4] Bing Wu, Jianmin Chen, Jie Wu and Mihaela Cardei, “A Survey on Attacks and Countermeasures in Mobile Ad Hoc Networks”, Wireless Network Security, Springer Book, ISBN: 978-0-387-28040-0, pp. 103--135, 2007.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

[5] Yan Zhang, Jun Zheng and Honglin Hu, “Security in Wireless Mesh Networks ”, Auerbach publications, ISBN – 13 978-0-8493-8250-5, 2009 [6] Amitabh Mishra, “Security and quality of service in ad hoc wireless networks ” Cambridge university press, ISBN 9780-521-87824-1, 2008 [7] Prasant Mohapatra and Srikanth Krishnamurthy, “ad hoc networks:technologies and protocols”, springer , ISBN 0387-22689-3, 2005. [8] Farooq Anjum and Petros Mouchtaris, “ Security for wireless ad hoc network ”, john willy and sons, ISBN 978-0-47175688-0, 2007. [9] Akbani R., Korkmaz T. and Raju G, “HEAP: A packet authentication scheme for mobile ad hoc networks”, Ad Hoc Networks vol 6, issue :7, p.p - 1134-1150, 2008. [10] Wenbo He, Ying Huang, Ravishankar Sathyam, Klara Nahrstedt, and Whay C. Lee, “SMOCK: A Scalable Method of Cryptographic Key Management for Mission-Critical Wireless Ad-Hoc Networks”, IEEE Transactions on information forensic and security, Vol. 4, Issue 1, p.p 140150, march 2009 [11] Nitesh Saxena, Gene Tsudik and Jeong H. Yi, “Threshold Cryptography in P2P and MANETs: the Case of Access Control”, Elsevier Computer Networks, Volume 51 , Issue 12, August 2007. [12] N. Komninos, D. Vergados, and C. Douligeris, "Detecting unauthorized and compromised nodes in mobile ad hoc networks", Ad Hoc Networks, pp.289-298, 2007. [13] Vaidya Binod, Yeo Sang-Soo and Choi Dong-You, “Robust and secure routing scheme for wireless multihop network”, In proceeding to the Personal and Ubiquitous Computing (2009) vol: 13, p.p 457-469, August 29, 2009. [14] A.Rajaram and S.Palaniswami, “A Trust-Based Cross-Layer Security Protocol for Mobile Ad hoc Networks”, International Journal of Computer Science and Information Security, Vol. 6, No. 1,p.p 165 – 172, 2009. [15] Deepti Joshi, Kamesh Namuduri and Ravi Pendse, “Secure, Redundant, and Fully Distributed Key Management Scheme for Mobile Ad Hoc Networks: An Analysis”, Journal on Wireless Communications and Networking 2005, vol: 4, p.p: 579–589, 2005. [16] Stamatios V. Kartalopoulos, “Security of Information and Communication Networks ”, Wiley-IEEE publications, ISBN: 978-0-470-29025-5, 2009. [17] “Shamir's Secret Sharing” from http://en.wikipedia.org/wiki/Shamir’s_Secret_Sharing

AUTHORS PROFILE S. Palaniswami received the B.E. degree in electrical and electronics engineering from the Govt., college of Technology, Coimbatore, University of Madras, Madras, India, in 1981, the M.E. degree in electronics and communication engineering (Applied Electronics) from the Govt., college of Technology, Bharathiar University, Coimbatore, India, in 1986 and the Ph.D. degree in electrical engineering from the PSG Technology, Bharathiar University, Coimbatore, India, in 2003. He is currently the Registrar of Anna University Coimbatore,

45

Coimbatore, India, Since May 2007. His research interests include Control systems, Communication and Networks, Fuzzy logic and Networks, AI, Sensor Networks. . He has about 25 years of teaching experience, since 1982. He has served as lecturer, Associate Professor, Professor, Registrar and the life Member of ISTE, India. A. Rajaram received the B.E. degree in electronics and communication engineering from the Govt., college of Technology, Coimbatore, Anna University, Chennai, India, in 2006, the M.E. degree in electronics and communication engineering (Applied Electronics) from the Govt., college of Technology, Anna University, Chennai, India, in 2008 and he is currently pursuing the full time Ph.D. degree in electronics and communication engineering from the Anna University Coimbatore, Coimbatore, India. His research interests include communication and networks mobile adhoc networks, wireless communication networks (WiFi, WiMax HighSlot GSM), novel VLSI NOC Design approaches to address issues such as lowpower, cross-talk, hardware acceleration, Design issues includes OFDM MIMO and noise Suppression in MAI Systems, ASIC design, Control systems, Fuzzy logic and Networks, AI, Sensor Networks.

IJCSI CALL FOR PAPERS JANUARY 2011 ISSUE Volume 8, Issue 1 The topics suggested by this issue can be discussed in term of concepts, surveys, state of the art, research, standards, implementations, running experiments, applications, and industrial case studies. Authors are invited to submit complete unpublished papers, which are not under review in any other conference or journal in the following, but not limited to, topic areas. See authors guide for manuscript preparation and submission guidelines. Accepted papers will be published online and indexed by Google Scholar, Cornell’s University Library, DBLP, ScientificCommons, CiteSeerX, Bielefeld Academic Search Engine (BASE), SCIRUS, EBSCO, ProQuest and more. Deadline: 05th December 2010 Notification: 10th January 2011 Revision: 20th January 2011 Online Publication: 31st January 2011                

Evolutionary computation Industrial systems Evolutionary computation Autonomic and autonomous systems Bio-technologies Knowledge data systems Mobile and distance education Intelligent techniques, logics, and systems Knowledge processing Information technologies Internet and web technologies Digital information processing Cognitive science and knowledge agent-based systems Mobility and multimedia systems Systems performance Networking and telecommunications

              

Software development and deployment Knowledge virtualization Systems and networks on the chip Context-aware systems Networking technologies Security in network, systems, and applications Knowledge for global defense Information Systems [IS] IPv6 Today - Technology and deployment Modeling Optimization Complexity Natural Language Processing Speech Synthesis Data Mining

For more topics, please see http://www.ijcsi.org/call-for-papers.php All submitted papers will be judged based on their quality by the technical committee and reviewers. Papers that describe on-going research and experimentation are encouraged. All paper submissions will be handled electronically and detailed instructions on submission procedure are available on IJCSI website (www.IJCSI.org). For more information, please visit the journal website (www.IJCSI.org)

© IJCSI PUBLICATION 2010 www.IJCSI.org

               

IJCSI

           

The International Journal of Computer Science Issues (IJCSI) is a well‐established and notable venue  for  publishing  high  quality  research  papers  as  recognized  by  various  universities  and  international  professional  bodies.  IJCSI  is  a  refereed  open  access  international  journal  for  publishing  scientific  papers  in  all  areas  of  computer  science  research.  The  purpose  of  establishing  IJCSI  is  to  provide  assistance  in  the  development  of  science,  fast  operative  publication  and  storage  of  materials  and  results of scientific researches and representation of the scientific conception of the society.  It also provides a venue for researchers, students and professionals to submit ongoing research and  developments  in  these  areas.  Authors  are  encouraged  to  contribute  to  the  journal  by  submitting  articles that illustrate new research results, projects, surveying works and industrial experiences that  describe significant advances in field of computer science.  Indexing of IJCSI  1. Google Scholar  2. Bielefeld Academic Search Engine (BASE)  3. CiteSeerX  4. SCIRUS  5. Docstoc  6. Scribd  7. Cornell's University Library  8. SciRate  9. ScientificCommons  10. DBLP  11. EBSCO  12. ProQuest 

© IJCSI PUBLICATION www.IJCSI.org